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 ~]#
設定ファイルの詳細
httpd.conf.txt
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 を参照するpublic_html内にサブドメインと同じディレクトリを作成する
<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/起動設定
0 件のコメント:
コメントを投稿