Computer
Apache 2.0.x バーチャルサーバの設定 DiCE の導入 UserDir について SSL 通信の設定

Apache 2.0.x

Apacheは2005/01/08現在,2.0.52が最新である. しかし,Vine3.1のapt-getでは2.0.50である.そこで,Vine3.1にApache 2.0.52をインストールすることにした.
インストールしてあるApacheをapt-get remove apacheでアンインストール. php-apaceh2とかも消えるはず.
その後,ApacheをDLしてきて展開し,
./configure --enable-rewrite \
--enable-so \
--enable-suexec \
--with-suexec-caller=nobody \
--with-suexec-docroot=/home \
--with-suexec-userdir=public_html \
--with-suexec-uidmin=500 \
--with-suexec-gidmin=500 \
--with-suexec-bin=/usr/local/apache2/bin/suexec \
--enable-modules="so ssl" \
--enable-ssl
とし,make,make installする.
インストール先は/usr/local/apache2である.
Apacheサーバのルートディレクトリ(インストール先)は/usr/local/apache2, httpdの実行可能ファイルのパスは/usr/local/apache2/bin/httpdである.

さらにPHP5のインストールは,パッケージをDLしてきて,展開し,
./configure --with-suexec-bin=/usr/local/apache2/bin/suexec --enable-mbstring \
--enable-mbstr-enc-trans --with-apxs2=/usr/local/apache2/bin/apxs --prefix=/usr/local/php5 \
--enable-mbregex --enable-i18n --with-xml \
--enable-versioning --enable-safe-mode --enable-sockets --enable-track-vars \
--enable-discard-path --disable-debug --enable-debug=no --enable-ftp --enable-debugger=yes \
--enable-memory-limit=yes --enable-magic-quotes=yes --with-exec-dir=/usr/bin \
--without-system-regex --with-dbase=yes --enable-bcmath=yes
とした. (エラーが出るようであれば,apt-get install flex,apt-get install libxml-devel,apt-get install libxml2-develをする.)
で,make,make installする.

(2005/08/12追加:PHP5.0.4だと,libxml2関係でエラーが起きるかも.
apt-get install automake14 python-develなどをしたり,libxmlを取り除きもう一回入れなおしたりしたもののうまくいかず, 結局,一旦make cleanを行ってからconfigureをやり直したらうまくいきました.)
そして,make install(/usr/local/apache2/modulesのパーミッションをいったん777にしておかないとかも.)すればよい.

Apacheの設定ファイル(/usr/local/apache2/conf/httpd.conf)には,
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
LoadModule php5_module modules/libphp5.so
のような形で記述した.

また,文字化け対策として/usr/local/apache2/conf/httpd.confに
AddDefaultCharset off
を記述した.

最後に,Apacheを再起動(もしくは終了して起動)する.

参考:
http://ponk.jp/linux_memo/index.php?page=2
http://www.pi-co-pi-co.com/pg/PHP.html
http://httpd.apache.org/docs-2.0/
http://www.php.gr.jp/
http://bitarts.jp/tech/linux/suexec.html

バーチャルサーバの設定

バーチャルサーバの設定には,/usr/local/apache2/httpd.confに,
Include /usr/local/apache2/conf/www.satze.net.conf
Include /usr/local/apache2/conf/satze.net.conf
などと記述し,/usr/local/apache2/conf/www.satze.net.confファイルに,
NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.satze.net
DocumentRoot /home/satoru/www/public_html
ServerAlias silvia
SuexecUserGroup satoru satoru
<Directory />
    Options -Indexes FollowSymLinks ExecCGI
    AllowOverride All
</Directory>
</VirtualHost>
などと記述する.
(NameVirtualHost *:80は下から数行のところをコメントアウトで可.)
また,http://satze.net にアクセスした際,http://www.satze.net に自動的にリダイレクトさせるためには,
Redirect / http://www.satze.net/
をsatze.netの設定に記述しておけばよい.

DiCE の導入

ADSLなどでサーバを運用しているとグローバルIPアドレスが変化してしまい, Webサーバなどにアクセスできなくなってしまうことがあります.
そこで,DiCEのLinux版をDLしてインストールします. 再起動時に自動的に起動する設定にもしておきます.
echo "/usr/local/bin/DiCE/diced -d -l" >> /etc/rc.local
もしくは,Webminから起動及びシャットダウンの設定で追加しても良い.

satze.netはVALUE DOMAINで運用しているので,ダイナミックDNSにも対応しています.
対応していない場合は,DDNSのサービスも利用しましょう.
DiCEを起動して,イベントを追加します.
mydomain, *.mydomainがIPアドレス変化時に変わるような設定でよいと思います. 私は念のため,mydomainだけは1日1回強制的に更新する設定もしておきました.
これによってIPアドレスが変化しても最長で1日でサーバが復活します.

UserDir について

デフォルトだと,mod_userdirがインストールされていて,
UserDir public_html
とUserDirが設定されているため,/home/public_html ディレクトリを作ると, http://ドメイン/~ユーザ名/ でアクセスできてしまう.
(ディレクトリのパーミッションによってはrootのpublic_htmlディレクトリも・・・.)
そこで,
#UserDir public_html
UserDir disabled
と設定する.
バーチャルサーバの場合はこれでOK.

参考:Apache モジュール mod_userdir

SSL 通信の設定

参考:こちら
Valid HTML 4.01 Transitional Valid CSS!
Copyright© Satze.net All rights reserved.