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