よたか2009.11.10 03:18:39
作業のおぼえです。各ドメインのconfディリクトリにある、vhost.confを使えば簡単かと思ってましたが、こいつは、なかなか曲者で、同じディリクトリにある、httpd.includeの<VirtualHost xx.xx.xx.xx:80>の中に埋め込まれるので、ドメインを追加するには使えません。
plesk側でテンプレートがあるようで、何度書き換えても元に戻ってしまいます。
そこで、原点にかえって、httpd.confを読み直すと、下記の一文が目に入った。
Include conf.d/*.conf
conf.dのconfファイルを無条件に読み込んでいる様です。
該当ディリクトリを見ると、色々なconfファイルがありますね。
そこで、下記一文を書いたconfファイルを保存。
include /var/www/vhosts/DOMAIN/private/httpd.include
これで、いちいちルートにならなくても更新出来る。
privateディリクトリにhttpd.includeを作って保存。
内容は、こんな感じ
<VirtualHost xx.xx.xx.xx:80>
ServerName DOMAIN:80
DocumentRoot /var/www/vhosts/DOMAIN/httpdocs/DIR
CustomLog /var/www/vhosts/DOMAIN/statistics/logs/access_log plesklog
ErrorLog /var/www/vhosts/DOMAIN/statistics/logs/error_log
<IfModule mod_ssl.c>
SSLEngine off
</IfModule>
<Directory /var/www/vhosts/DOMAIN/httpdocs/DIR>
<IfModule sapi_apache2.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir "/var/www/vhosts/DOMAIN/httpdocs:/tmp"
</IfModule>
<IfModule mod_php5.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir "/var/www/vhosts/DOMAIN/httpdocs:/tmp"
</IfModule>
Options -Includes +ExecCGI
</Directory>
</VirtualHost>
そのままアパッチをリスタート。
# /etc/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
でも、phpファイルがそのままダウンロードされてしまう。まずいなぁ。
もう一度設定を見直すけど、間違いが見当たらない。
/etc/httpd/conf.dディリクトリをもう一度見直すと…。
ファイル名がちょっと不自然…。
なぜ、zzから始まるファイルが2つも…?
中身は、ユーザーのconfファイルのincludeが数行…。
どうやら、こいつらに上書きされてしまったようです。
そこで、読み込ませるファイル名の先頭に適当にzを付けて順番を調整しました。
これで、アパッチをリスタートすると、ちゃんと表示されました。
いや、めでたい。
そろそろサーバーの引っ越しも大詰め。
後は旧サーバのメールチェックで終わりかな。
ちょっと疲れた。