Apacheインストール+イントラネット向け設定
目次
構成
想定環境
サーバ構成
OSバージョン
CentOS release 5 (Final) 32bit
パッケージ一覧
apr-1.2.7-11.i386.rpm
apr-util-1.2.7-6.i386.rpm
httpd-2.2.3-6.el5.centos.1.i386.rpm
gmp-4.1.4-10.el5.i386.rpm
php-common-5.1.6-5.el5.i386.rpm
php-cli-5.1.6-5.el5.i386.rpm
php-5.1.6-5.el5.i386.rpm
php-mbstring-5.1.6-5.el5.i386.rpm
クライアント構成
OSバージョン
Windows XP Professional Service Pack 3
ソフトウェア一覧
Firefox 3.5.8
環境構築
インストール
HTTPサーバに必要なパッケージを8つインストールします。
内訳は最低限必要なパッケージ3つとPHPを実行するために必要なパッケージ5つです。
SSIを有効化するために必要な追加パッケージはありません。
DVDドライブにCentOS 5のDVD-ROMをセットし、以下のコマンドを実行します。
# mount /dev/cdrom /media/cdrom # cd /media/cdrom/CentOS/ # rpm -ihv apr-1.2.7-11.i386.rpm Preparing... ########################################### [100%] 1:apr ########################################### [100%] # rpm -ihv apr-util-1.2.7-6.i386.rpm Preparing... ########################################### [100%] 1:apr-util ########################################### [100%] # rpm -ihv httpd-2.2.3-6.el5.centos.1.i386.rpm Preparing... ########################################### [100%] 1:httpd ########################################### [100%] # rpm -ihv gmp-4.1.4-10.el5.i386.rpm Preparing... ########################################### [100%] 1:gmp ########################################### [100%] # rpm -ihv php-common-5.1.6-5.el5.i386.rpm php-cli-5.1.6-5.el5.i386.rpm php-5.1.6-5.el5.i386.rpm Preparing... ########################################### [100%] 1:php-common ########################################### [ 33%] 2:php-cli ########################################### [ 67%] 3:php ########################################### [100%] # rpm -ihv php-mbstring-5.1.6-5.el5.i386.rpm Preparing... ########################################### [100%] 1:php-mbstring ########################################### [100%] # cd / # umount /media/cdrom
設定
ここではApacheの一般的な設定を行います。
基本的にはインストールしただけで何もしなくても動きます。
しかし、初期状態ではユーザに見せたくない情報まで見せてしまうような
設定になっているため、セキュリティ上あまり好ましくありません。
できるだけ不要な機能は利用しない設定とし、
HTTPサーバとしてのセキュリティを向上させます。
また、PerlなどのCGIプログラム、PHP、SSIにも対応します。
これらプログラムは公開用ディレクトリのどの階層へ配置しても実行可能な設定とします。
HTTPサーバの設定
viエディタで設定ファイル(httpd.conf)を開き、設定を変更します。
# vi httpd.conf
※以下、該当箇所のみ変更※ ServerTokens OS ↓変更 ServerTokens Prod
LoadModule dav_module modules/mod_dav.so
↓変更
#LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
↓変更
#LoadModule dav_fs_module modules/mod_dav_fs.so
ServerAdmin root@localhost
↓変更
ServerAdmin webmaster@ranonet.ne.jp
User apache
Group apache
TraceEnable off ←この行を追加
### Section 2: 'Main' server configuration
#ServerName www.example.com:80 ↓変更 ServerName www.ranonet.ne.jp:80 ←#を消して変更
※コメント行を除外して表示しています※ <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> ↓変更 <Directory "/var/www/html"> Options FollowSymLinks ExecCGI IncludesNOEXEC ←変更 AllowOverride None Order allow,deny Allow from all <Limit GET POST> ←この行を追加 Order allow,deny ←この行を追加 Allow from 192.168.0.0/24 ←この行を追加 </Limit> ←この行を追加 <LimitExcept GET POST> ←この行を追加 Order deny,allow ←この行を追加 Deny from all ←この行を追加 </LimitExcept> ←この行を追加 </Directory>
DirectoryIndex index.html index.html.var
↓変更
DirectoryIndex welcome.htm index.shtml index.php index.cgi index.html index.html.var
LogLevel warn
↓変更
LogLevel info
ServerSignature On
↓変更
ServerSignature Off
<IfModule mod_dav_fs.c> # Location of the WebDAV lock database. DAVLockDB /var/lib/dav/lockdb </IfModule> ↓変更 #<IfModule mod_dav_fs.c> ←#を付ける # Location of the WebDAV lock database. # DAVLockDB /var/lib/dav/lockdb ←#を付ける #</IfModule> ←#を付ける
AddDefaultCharset UTF-8
↓変更
AddDefaultCharset off
#AddHandler cgi-script .cgi ↓変更 AddHandler cgi-script .cgi ←#を消す
AddType text/html .shtml AddOutputFilter INCLUDES .shtml ↓変更 AddType text/html .shtml AddOutputFilter INCLUDES .shtml AddHandler server-parsed .shtml ←この行を追加
perlのシンボリックリンク作成
CentOS 5ではperlのモジュールは /usr/bin/perl にインストールされています。 しかし一般に配布されているサンプルのCGIでは /usr/local/bin/perl を 指定しているものも多いのが実状です。 これらを実行する際にその都度perlのソースを修正するのは手間がかかるので /usr/bin/perl、/usr/local/bin/perlのいずれが指定されていても perlのプログラムを実行できるようにシンボリックリンクを作成します。
HTTPサーバの起動ランレベル変更
OSの起動に併せてデーモンを自動起動する設定に変更します。
以上で設定が終了しましたのでrcスクリプトを使用してデーモンを起動します。
# /etc/rc.d/init.d/httpd start Starting httpd: [ OK ]
設定ファイル
/etc/httpd/conf.d/php.conf
/etc/httpd/conf/httpd.conf
クライアント設定
インストール
使い慣れたブラウザをインストールして下さい。
設定
特に設定は必要ありません。
動作テスト
HTTPサーバのプロセス起動確認
プロセスが起動していることを確認します。
# ps -ef | grep httpd root 2405 1 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2458 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2459 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2460 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2461 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2462 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2463 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2464 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2465 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd root 3555 3528 0 00:24 pts/0 00:00:00 grep httpd