[Apache] PHP + Apache 環境指南 (libapache-mod-php) on Ubuntu

Intro

雖然Nginx已經...如要架設Apache,可以使用Apache mod PHP去介接PHP(目前Apache不使用PHP-FPM)。


安裝

快速LAMP安裝檔

  1. 安裝Apache:

    $ sudo apt-get install apache2

  2. 安裝Apache mod PHP

    $ sudo apt-get install libapache2-mod-php


PHP版本切換

Ubuntu Manpage: a2enmod, a2dismod

Ubuntu系列使用Aapche指令工具a2dismoda2enmod切換,省去修改零散設定檔。基本上版本支援已裝的libapache2-mod-php各版本:

$ sudo a2dismod php7.0
$ sudo a2enmod php5.6

Apache MOD PHP 設定要至/etc/php/apache2/


Server執行使用者

Apache 的執行使用者的設定檔為/etc/apache2/envvars

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

改完重啟即可。


site-enabled

Apache VirtualHost Examples
Apache httpd.conf預設已經 inlcude 多個關聯設定檔。
一般 vhost 設定如同 Nginx,資料夾site-enabled內可以建立sites-available/內的conf捷徑,每次reload將會載入站台設定檔。
virtual host site 的範例設定(支援 MOD PHP):

<VirtualHost *:80>
    DocumentRoot "/home/user/site"
    ServerName yourname.com
    ServerAlias www.yourname.com
    ServerAlias test.yourname.com

    # Directory access setting
    <Directory "/home/user/site">
    # Disable DirectoryListings; enable symbol links
    Options -Indexes +FollowSymLinks
    AllowOverride All
    # Access Control to all
    Require all granted
    Allow from all
    </Directory>
</VirtualHost>

Alias

Apache Module mod_alias
用於增加別名(alias),以將 URL path 映射到 server 上的實際 file/folder。

Alias /myweb "/Users/Shared/myweb"

<Directory "/Users/Shared/myweb">
    # Enable DirectoryListings
    Options +Indexes
    AllowOverride All
    # Access Control only to local client
    Require local
    Allow from all
</Directory>

Directory 設定選項

Leave a Reply

Your email address will not be published. Required fields are marked *