Mac OS X Yosemite 10.10 配置 Apache+PHP

查看當前系統的apache版本,終端下輸入:httpd -vphp

 

1. 啓動Apache 服務html

      sudo apachectl startweb

      打開safari,訪問:http://localhost,顯示「It works!」表示Apache啓動正常apache

 

      當前訪問的是Apache的默認目錄,/Library/WebServer/Documents/vim

 

   2. 配置用戶訪問目錄瀏覽器

      由於以前已經配置過用戶目錄,這裏提一下,首先建立用戶目錄:mkdir  ~/Sites 此時會在當前用戶的根目錄下建立一個Sites目錄服務器

      能夠在Sites目錄下建立一個測試的html,或者cp /Library/WebServer/Documents/index.html.en ~/Sites/ide

      

      修改當前用戶目錄的訪問權限,這個與上一個版本一致沒有變化,這裏提一下修改方式:wordpress

      cd /etc/apache2/users測試

      sudo vim username.conf

      注意:這裏的username是當前用戶名,請根據實際狀況修改

   

      輸入如下內容:

<Directory "/Users/username/Sites/">

    Options Indexes MultiViews

    AllowOverride None

    Require all granted

</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>

 

若是須要.htaccess支持僞靜態rewirte,須要在 httpd.conf 開啓代碼行:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so 

注:在 MAC OS 系統下 .htaccess 文件是不能直接新建的,並且是隱藏狀態!

例如給wordpress添加僞靜態,以下命令:

cd ~/Sites/Wordpress

touch .htaccess

vi .htaccess

添加以下內容:

 

RewriteEngine On

RewriteBase /~haibor/Wordpress/

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /~haibor/Wordpress/index.php [L]

 

記得給予權限及重啓:

 

chmod 777 .htaccess

sudo apachectl restart

 

  重啓apache,sudo apachectl restart

  此時訪問:http://localhost/~username/,顯示:「It works!」,恭喜你,Apache配置成功!

 

4.配置虛擬主機支持

 

編輯httpd.conf,找到

#Include conf/extra/httpd-vhosts.conf 取消這一行的註釋

 

編輯/etc/apache2/extra/httpd-vhosts.conf

 

<VirtualHost *:80>

    #ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot "/Users/hinet/Sites/shanxiang/trunk"

    ServerName localhost

    #ServerAlias www.dummy-host.example.com

    ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"

    CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common

    <Directory "/Users/hinet/Sites/shanxiang/trunk"> #rewrite需指明路徑

        Options Indexes FollowSymLinks MultiViews

        AllowOverride All #AllowOverride None改成AllowOverride All以支持.htaccess

        Require all granted

    </Directory>

 

</VirtualHost>

 

<VirtualHost *:80>

    #ServerAdmin phpmyadmin@dummy-host2.example.com

    DocumentRoot "/Users/hinet/Sites/phpMyAdmin"

    ServerName phpmyadmin.com

    #ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"

    #CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common

    <Directory />

        Options Indexes FollowSymLinks MultiViews

        AllowOverride None

        Order deny,allow

        Allow from all

        Require all granted

    </Directory>

</VirtualHost>

 

編輯/etc/hosts文件,添加

127.0.0.1 phpmyadmin.com

  

5. 配置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安裝配置成功~

相關文章
相關標籤/搜索