Apache
Apache2.4
Apache2.2


Apache2.4の設定

Apacheは、2.2 と 2.4 で設定項目が微妙に異なるので注意する事。


ServerName

ServerNameを設定しないと、Configファイルのロード時に以下のようなエラーが表示される。

httpd: Could not reliably determine the server's fully qualified domain name, using (ホスト名). Set the 'ServerName' directive globally to suppress this message

これは、ServerNameが空のため。以下のように設定する。

ServerName example.com:80


任意のディレクトリをドキュメントルートにする

ドキュメントルート とは、サイトのルート / になるディレクトリの事。

多くのディストリビューションでは /var/www/html になっている。

htdocspublic_html の場合もある。

デフォルトは / 以下をアクセス不可にしてある。


httpd.conf

<Directory />

AllowOverride none
Require all denied
</Directory>

例えば、/var/www/localhost をドキュメントルートにしたい場合は、以下のようにアクセス許可を追加する。


httpd.conf

<Directory "/var/www/localhost">

Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>


任意の設定ファイルの読み込み方法

追加の設定は、なるべく http.conf に追記せず、別のファイルに分けた方が管理しやすい。

設定項目のサンプルファイルは /etc/apache2/extra/ などにある。

任意のファイルをロードしたい場合は httpd.conf に追記する。


httpd.conf

Include /etc/apache2/extra/httpd-vhosts.conf


ワイルドカードを使うこともできる。


httpd.conf

Include /etc/apache2/extra/*.conf


この方法は、拡張子で、ロード・非ロードを設定できるのでお勧めである。


仮装ホストの設定

仮想ホストを使うと、1つのサーバーで、複数のドメインを運用することが可能になる。

ポイントは、最低2つ以上の仮想ホストが必要な事だ。


httpd-vhosts.conf

<VirtualHost *:80>

ServerName localhost
DocumentRoot "/var/www/localhost"
ErrorLog "/var/log/apache2/localhost.log"
CustomLog "/var/log/apache2/localhost-access.log" common
</VirtualHost>

<VirtualHost *:80>
ServerName example.com
DocumentRoot "/var/www/example/com"
ErrorLog "/var/log/apache2/example.com.log"
CustomLog "/var/log/apache2/example.com-access.log" common
</VirtualHost>



PHPの設定

PHPを実行するためには、以下の2つの設定が必要になる。

パッケージでインストールした場合は、適切に設定されていることが多い。


  1. PHPモジュールの読み込み場所(パス)の設定

  2. PHPを実行する拡張子の設定


PHPモジュールの読み込み場所(パス)の設定

httpd.confLoadModule php7_module lib/apache2/modules/mod_php70.so というモジュールを読み込む記載があるか確認する。もし無ければ追記する。


http.conf

cat /etc/apache2/httpd.conf | grep php7_module



PHPを実行する拡張子の設定

/etc/apache2/extra/mod_php70.conf が作成されているはずなので、これを読み込めば良い。


httpd.conf

Include /etc/apache2/extra/mod_php70.conf


もし作成されていなければ、追記する。


httpd.conf

AddType  application/x-httpd-php         .php

AddType application/x-httpd-php-source .phps