|
[ CentOS/Apache ] [ CentOS/Apache/インストール ] [ CentOS/Apache/起動設定 ] Apache 設定ファイル(httpd.conf)編集 †httpd.conf のバックアップ †[root@linux ~]# cd /etc/httpd/conf ←■ ディレクトリ移動 [root@linux conf]# cp -a httpd.conf httpd.conf.org ←■ httpd.conf バックアップ [root@linux conf]# vi httpd.conf /etc/httpd/conf/httpd.conf 編集 †[root@linux ~]# vi /etc/httpd/conf/httpd.conf [root@linux ~]# 設定ファイルの詳細 VirtualHost 設定(複数ドメイン使用の場合) †VirtualHost専用のインクルードファイルを作成します。 [root@linux ~]# vi /etc/httpd/conf.d/virtualhost.conf ←■ インクルードファイルを新規作成 ########################### #---- Virtual Hosts ----# ########################### # デフォルトのドキュメントルート <VirtualHost _default_:80> SuexecUserGroup apache apache DocumentRoot /home/apache/public_html </VirtualHost> # ドメイン毎のVirtualHost設定 <VirtualHost *:80> SuexecUserGroup User Group ←■ suexec 有効にする場合 DocumentRoot /home/example/public_html ←■ ドキュメントルート指定 ServerName example.jp ←■ ドメイン名指定 ServerAlias *.example.jp ←■ 別のホスト名へのリクエストに対して全く同じ内容を提供 Options FollowSymLinks ExecCGI ←■ オプション指定 </VirtualHost> ##### SSL ##### ←■ SSL(https)でアクセスする場合(SSLの設定が出来ている事) # ドメイン毎のVirtualHost設定 <VirtualHost *:443> SuexecUserGroup User Group ←■ suexec 有効にする場合 DocumentRoot /home/example/public_html ←■ ドキュメントルート指定 ServerName example.jp ←■ ドメイン名指定 ServerAlias *.example.jp ←■ 別のホスト名へのリクエストに対して全く同じ内容を提供 Options FollowSymLinks ExecCGI ←■ オプション指定 </VirtualHost> 管理サイト用等に使用 †# admin
<VirtualHost *:80>
DocumentRoot /home/admin/public_html
ServerName admin.example.jp
# https forward # ←■ httpでアクセスした場合、httpsへ転送する
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1 [L,R]
</IfModule>
</VirtualHost>
# admin SSL
<VirtualHost *:443>
SuexecUserGroup admin admin
DocumentRoot /home/admin/public_html
ServerName admin.example.jp
Options FollowSymLinks ExecCGI
</VirtualHost>
ログを残す場合 †<VirtualHost *:80> SetEnvIf Request_URI "\.(gif|jpg|png|swf)$" image nolog ←■ 画像に環境変数を設定 SetEnvIf Request_URI "\.(css|js)$" link nolog ←■ CSS JSに環境変数を設定 CustomLog "|/usr/sbin/rotatelogs /home/example/log/access_%Y%m%d.log 604800 540" combined env=!nolog CustomLog "|/usr/sbin/rotatelogs /home/example/log/image_%Y%m%d.log 604800 540" combined env=image CustomLog "|/usr/sbin/rotatelogs /home/example/log/link_%Y%m%d.log 604800 540" combined env=link ErrorLog "|/usr/sbin/rotatelogs /home/example/log/error_%Y%m%d.log 604800 540" </VirtualHost> mod_rewrite 設定例 †動的URLを静的URLに書き換えることが可能です。 <VirtualHost *:80>
RewriteEngine on
RewriteCond %{HTTP_HOST} [^.]+\.sv0\.example\.jp$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ([^.]+)\.sv0\.example\.jp/(.*) /home/$1/public_html/$2
</VirtualHost>
Server status, server info 設定 †LoadModule status_module modules/mod_status.so ←■ モジュールが読み込まれていない場合は追記 LoadModule info_module modules/mod_info.so ←■ モジュールが読み込まれていない場合は追記 <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 192.168.1.200/24 </Location> <Location /server-info> SetHandler server-info Order deny,allow Deny from all Allow from 192.168.1.200/24 </Location> バーチャルホストの動的設定 †sub.example.jp → /home/example.jp/public_html/sub.example.jp を参照する <VirtualHost *:80> SuexecUserGroup example example DocumentRoot /home/example.jp/public_html ServerName example.jp ServerAlias *.example.jp <Directory "/home/example.jp/public_html"> Options MultiViews -Indexes FollowSymLinks Includes ExecCGI </Directory> ※ 動的バーチャルホストの設定 UseCanonicalName off VirtualDocumentRoot /home/example.jp/public_html/%0 </VirtualHost> ※ Apache 起動 → CentOS/Apache/起動設定 |