Mac Apache WebServer 伺服器配置
阿新 • • 發佈:2018-12-21
前言
- Apache 是目前使用最廣的 Web 伺服器,可以支援各種指令碼的執行。
- Mac 系統自帶,無需單獨安裝,只需要修改幾個配置就可以,簡單,快捷。
- 有些特殊的伺服器功能,Apache 都能很好的支援。例如:HTTP PUT/DELETE 等操作。
1、配置準備工作
-
1)配置伺服器需要做的工作
- 在 Finder 中建立一個 “ApacheWebServer” 的資料夾,可直接建立在 /Users/QianChia(當前使用者名稱)目錄下。
- 修改配置檔案中的 “兩個路徑”,指向剛剛建立的資料夾。
- 修改一個 Options 配置項。
- 反註釋一個檔案路徑配置。
- 拷貝一個檔案。
-
2)配置伺服器時的注意事項
- 關閉中文輸入法。
- 命令和引數之間需要有 “空格”。
- 修改系統檔案一定記住 “sudo”,否則會沒有許可權。
- 目錄要在 /Users/QianChia(當前使用者名稱)目錄下。
-
3)示例配置環境
- macOS 10.11.6
- macOS 10.13.3
-
4)WebServer 伺服器測試檔案
-
WebServer 伺服器測試檔案下載地址,點選檢視軟體下載密碼獲取方法。
-
下載檔案解壓後直接放在新建立的 ApacheWebServer 資料夾中。
-
2、配置伺服器
-
開啟終端,按照下面的操作開始配置,$ 開頭的,可以直接拷貝,但是不要拷貝 $。
# 建立 ApacheWebServer 資料夾 $ mkdir ApacheWebServer # 切換工作目錄 $ cd /etc/apache2 # 備份檔案,以防不測,只需要執行一次就可以了,格式 cp (copy 的縮寫) (原始檔) (目標檔案) # 如果後續操作出現錯誤,可以使用以下命令恢復 $ sudo cp httpd.conf.bak httpd.conf $ sudo cp httpd.conf httpd.conf.bak # 用 vim 開啟 httpd.conf 檔案(sudo 操作需要輸入系統密碼) $ sudo vim httpd.conf # 查詢 DocumentRoot,命令模式下輸入 /(查詢內容),區分大小寫,回車跳轉到查詢的內容處 /DocumentRoot # 將游標移動到 DocumentRoot 所在行 DocumentRoot "/Library/WebServer/Documents" <Directory "/Library/WebServer/Documents"> # 進入編輯模式,將游標移動到 DocumentRoot 所在行,直接按鍵盤上的 i 鍵 i # 修改引號中的路徑為上面在 Finder 中建立的路徑,如下 DocumentRoot "/Users/QianChia/ApacheWebServer" <Directory "/Users/QianChia/ApacheWebServer"> # 往下滑動找到 Options FollowSymLinks Multiviews 行 # Mac 10.10+ 系統的 Apache 需要修改這一行 Options FollowSymLinks Multiviews # 在 Options 與 FollowSymLinks 之間插入 Indexes Options Indexes FollowSymLinks Multiviews # 進入命令模式,直接按鍵盤上的 esc 鍵 esc # 查詢 php,命令模式下輸入 /(查詢內容),區分大小寫,回車跳轉到查詢的內容處 /php # 將游標移動到 #LoadModule php5_module libexec/apache2/libphp5.so 行首 # 高版本系統為 #LoadModule php7_module libexec/apache2/libphp7.so 行首 # 命令模式下直接按鍵盤上的 0 鍵 0 #LoadModule php5_module libexec/apache2/libphp5.so 或 #LoadModule php7_module libexec/apache2/libphp7.so # 刪除行首註釋 #,命令模式下直接按鍵盤上的 x 鍵 x LoadModule php5_module libexec/apache2/libphp5.so 或 LoadModule php7_module libexec/apache2/libphp7.so # 儲存並退出,命令模式下輸入 :wq ,不儲存退出為 :q! :wq # 切換工作目錄,etc 目錄有點類似於 windows/system32,存放配置檔案的目錄 $ 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 MacBookAir.local. Set the 'ServerName' directive globally to suppress this message # 設定開機自動啟動 $ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist # 將伺服器指令碼檔案放到前面設定的 ApacheWebServer 資料夾中。 # 開啟瀏覽器,在瀏覽器位址列中輸入伺服器地址 # 如 http://127.0.0.1 # 或者輸入 http://localhost # 或者輸入 http://本機 IP 地址 進行測試, # 能夠進入到 “Index of /” 頁面表示配置成功。
3、常見問題
-
1)如果點選伺服器網站資源中的 info.php 檔案,出現下載,或者只是顯示一小段文字
在終端中輸入以下兩個命令: $ sudo apachectl -k stop // 關閉 apache 伺服器 $ sudo apachectl -k start // 重新再次啟動 apache 伺服器
-
2)每次啟動計算機,Apache 伺服器預設是不會自動啟動
可以啟動計算機之後,開啟終端,輸入以下命令: $ sudo apachectl -k start // 啟動 apache 伺服器 設定開機啟動: $ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist 關閉開機啟動: $ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
-
3)執行指令碼的時候,顯示沒有許可權,拒絕訪問。或者在 “Index of /” 頁面無法顯示具體內容。
- 用 NTFS 格式的 U 盤拷貝網路素材,會把檔案本身的許可權過濾掉。
在終端中修改檔案的許可權: 將指定的檔案許可權修改為 -rw-r--r-- -讀寫-只讀-只讀-,644(110 100 100) $ ls -la // 檢視當前資料夾中的檔案訪問許可權 $ chmod 644 info.php (沒有許可權的檔名) // 將指定的檔案許可權修改為 -rw-r--r-- $ chmod 644 *.* // 將所有的檔案許可權修改為 -rw-r--r--