安裝Apache
sudo apachectl -k start
一、目的:
1. 能夠有一個(gè)測(cè)試的服務(wù)器,不是所有的特殊網(wǎng)絡(luò)服務(wù)都能找到免費(fèi)的!
二、為什么是 "Apache"
1. 使用最廣的 Web 服務(wù)器
2. Mac自帶,不需要額外的安裝,只需要修改幾個(gè)配置就可以,簡(jiǎn)單,快捷
3. 有些特殊的服務(wù)器功能,Apache都能很好的支持
例如:HTTP PUT/DELETE 操作,知識(shí)補(bǔ)充涉及的 HTTPS 服務(wù)
三、 準(zhǔn)備工作
1. 設(shè)置用戶(hù)密碼
四、 配置服務(wù)器
1.? 配置服務(wù)器的工作
1>? 在Finder中創(chuàng)建一個(gè)"Sites"的文件夾,直接創(chuàng)建在/Users/apple(當(dāng)前用戶(hù)名)目錄下
2>? 修改配置文件中的"兩個(gè)路徑",指向剛剛創(chuàng)建的文件夾
3>? 拷貝一個(gè)文件
2. 配置服務(wù)器注意事項(xiàng)
1>? 關(guān)閉中文輸入法
2> 命令和參數(shù)之間需要有"空格"
3> 修改系統(tǒng)文件一定記住"sudo",否則會(huì)沒(méi)有權(quán)限
4>? 目錄要在/Users/apple(當(dāng)前用戶(hù)名)
3. 配置服務(wù)器
提示:$開(kāi)頭的,可以拷貝,但是不要拷貝$
// 切換工作目錄
$cd /etc/apache2
// *** 備份文件,以防不測(cè),只需要執(zhí)行一次就可以了
$sudo cp httpd.conf httpd.conf.bak
// 提示:如果后續(xù)操作出現(xiàn)錯(cuò)誤!可以使用以下命令,恢復(fù)備份過(guò)的 httpd.conf 文件
$ sudo cp httpd.conf.bak httpd.conf
// vim里面只能用鍵盤(pán),不能用鼠標(biāo)
// 用vim編輯httpd.conf
$sudo vim httpd.conf
// 查找DocumentRoot
* /DocumentRoot
"將光標(biāo)移動(dòng)到首行"
// 進(jìn)入編輯模式
* i
"修改引號(hào)中的路徑"
// 進(jìn)入命令模式
> Mac 10.10 的 Apache 配置略微有一些不一樣!
在 httpd.conf 中找到
Options FollowSymLinks Multiviews
加一個(gè)單詞 Indexes,修改后的結(jié)果如下:
Options Indexes FollowSymLinks Multiviews
* ESC
// 查找DocumentRoot
* n
"將光標(biāo)移動(dòng)到首行"
// 進(jìn)入編輯模式
* i
"修改括號(hào)中的路徑"
// 進(jìn)入命令模式
* ESC
// 查找php
* /php
"將光標(biāo)移動(dòng)到首行"
// 刪除行首注釋#
* x
// 保存并退出
* :wq
// 不保存退出!!!!!!!!!
* :q!
// 切換工作目錄
$cd /etc
// 拷貝php.ini文件
$sudo cp php.ini.default php.ini
// 重新啟動(dòng)apache服務(wù)器
$sudo apachectl -k restart
如果提示以下錯(cuò)誤是正常的:
httpd: Could not reliably determine the server's fully qualified domain name, using teacher.local for ServerName
httpd not running, trying to start
================================================================================
常見(jiàn)問(wèn)題:
1. 如果點(diǎn)擊info.php文件,出現(xiàn)下載,或者只是顯示一小段文字
解決辦法:
在終端中輸入以下兩個(gè)命令:
// 關(guān)閉 apache 服務(wù)器
$sudo apachectl -k stop
// 重新再次啟動(dòng) apache
$sudo apachectl -k start
#如果上面命令無(wú)效,可執(zhí)行下面命令試試
// 啟動(dòng) apache 服務(wù)器
$ sudo /usr/sbin/apachectl start
// 關(guān)閉 apache 服務(wù)器
$ sudo /usr/sbin/apachectl stop
2. 每次啟動(dòng)計(jì)算機(jī),Apache服務(wù)器默認(rèn)是不會(huì)自動(dòng)啟動(dòng)的!
可以啟動(dòng)計(jì)算機(jī)之后,打開(kāi)終端,輸入以下命令:
// 啟動(dòng) apache
$sudo apachectl -k start
3. 最常見(jiàn)的問(wèn)題
交換文件已經(jīng)存在,直接按字母 d,可以刪除交換文件!
4. Mac 10.10 的 Apache 配置略微有一些不一樣!
在 httpd.conf 中找到
"Options FollowSymLinks Multiviews"
加一個(gè)單詞 Indexes,修改后的結(jié)果如下:
"Options Indexes FollowSymLinks Multiviews"
提示:目前不要花一分鐘去學(xué)習(xí)vim。
5. 執(zhí)行腳本的時(shí)候,顯示沒(méi)有拒絕訪問(wèn)!大家用 NTFS 格式的 U 盤(pán)拷貝網(wǎng)絡(luò)素材!會(huì)把文件本身的權(quán)限過(guò)濾掉!
以下是在終端中修改文件權(quán)限的指令!
$ chmod 644 info.php(沒(méi)有權(quán)限的文件名)
$ chmod 644 *.*
問(wèn)題解惑
1> 為什么要設(shè)置用戶(hù)密碼?
答:apache是一個(gè)web服務(wù)器,一旦啟動(dòng)了服務(wù)器,從互聯(lián)網(wǎng)上的任何一個(gè)人都有可能訪問(wèn)到我們的電腦,不設(shè)置密碼意味著我們的電腦在互聯(lián)網(wǎng)上是裸奔的,非常不安全。
2> 為什么Sites文件夾要?jiǎng)?chuàng)建在/Users/apple(當(dāng)前用戶(hù)名)目錄下?在 Desktop 或 Document文件下創(chuàng)建可以不?
答:不可以。因?yàn)镈esktop 或 Document文件是用戶(hù)私人的文件夾目錄。而我們配置的服務(wù)器是需要讓所有網(wǎng)絡(luò)用戶(hù)以匿名的身份能夠有權(quán)限訪問(wèn)這個(gè)目錄,因此文件夾必須放在根目錄里面。
3> 為什么修改系統(tǒng)文件一定用sudo?
答:因?yàn)樾薷南到y(tǒng)文件只有系統(tǒng)管理員才能修改,所以要以系統(tǒng)管理員的身份去修改,使用 sudo 就代表是系統(tǒng)管理員的權(quán)限。
4> 為什么下面命令只需要執(zhí)行一次就可以了?
$sudo cp httpd.conf httpd.conf.bak
答:如果 httpd.conf 文件在修改壞了之后再執(zhí)行一次該命令,那么副本也是壞的了,所以只需要在修改之前執(zhí)行一次就行了。
補(bǔ)充:
> /etc文件夾下的文件都是跟 mac 配置相關(guān)的文件。相當(dāng) window 下 system32文件夾。