自從系統從OS X Mavericks 10.9升級到OS X Yosemite 10.10 后之前配置apache和php均不能正常使用了,
重新設置配置如下:
首先,查看當前系統的apache版本,終端下輸入:httpd -v
Apache/2.4.9
1. 啟動Apache 服務
sudo apachectl start
打開safari,訪問:http://localhost,顯示“It works!”表示Apache啟動正常
當前訪問的是Apache的默認目錄,/Library/WebServer/Documents/
2. 配置用戶訪問目錄
因為之前已經配置過用戶目錄,這里提一下,首先創建用戶目錄:mkdir ~/Sites 此時會在當前用戶的根目錄下創建一個Sites目錄
可以在Sites目錄下創建一個測試的html,或者cp /Library/WebServer/Documents/index.html.en ~/Sites/
修改當前用戶目錄的訪問權限,這個與上一個版本一致沒有變化,這里提一下修改方式:
cd /etc/apache2/users
sudo vim username.conf
注意:這里的username是當前用戶名,請根據實際情況修改
輸入以下內容:
<Directory "/Users/username/Sites/"> Options Indexes MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
保存文件,重啟apache ,sudo apachectl restart
修改當前文件的訪問權限:sudo chmod 775 username.conf
此時打開safari,訪問http://localhost/~username/ , 此時頁面提示~username服務器不存在,我們還需要進入下一步的設置
3. 修改apache的httpd.conf文件
cd /etc/apache2/
sudo vim httpd.conf
找到以下信息,將其前面的#去掉:
LoadModule php5_module libexec/apache2/libphp5.so LoadModule authz_core_module libexec/apache2/mod_authz_core.so LoadModule authz_host_module libexec/apache2/mod_authz_host.so LoadModule userdir_module libexec/apache2/mod_userdir.so Include /private/etc/apache2/extra/httpd-userdir.conf
修改/etc/apache2/extra/httpd-userdir.conf
sudo vim /etc/apache2/extra/httpd-userdir.conf
找到一下信息修,將其前面的#去掉:
Include /private/etc/apache2/users/*.conf
此時訪問http://localhost/~username/, 依然無法訪問,提示:You don't have permission to access /~username/ on this server.
這里是就是新版本與老版本的區別了,需要重新打開httpd.conf文件,
sudo vim /etc/apache2/httpd.conf
找到
<Directory />
AllowOverride none
Require all denied
</Directory>
修改為:
<Directory />
AllowOverride none
Require all granted
</Directory>
重啟apache,sudo apachectl restart
此時訪問:http://localhost/~username/,顯示:“It works!”,恭喜你,Apache配置成功!
4. 配置PHP
cd /etc
sudo cp /etc/php.ini.default /etc/php.ini
sudo apachectl restart
創建info.php文件測試php是否安裝成功
cd ~/Sites
vim info.php
輸入以下信息:
<html>
<body>
<h1>It works!</h1>
<?php phpinfo(); ?>
</body>
</html>
打開瀏覽器,訪問http://localhost/~username/info.php,顯示一下信息表示php安裝配置成功~