OSS Fan ~OSSでLinuxサーバ構築~

作成日: 2010/02/28
更新日: 2011/03/26

OSSでLinuxサーバ構築

Apacheインストール+イントラネット向け設定

トップページOSSでLinuxサーバ構築 > 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にも対応します。 これらプログラムは公開用ディレクトリのどの階層へ配置しても実行可能な設定とします。

(1) HTTPサーバの設定

 viエディタで設定ファイル(httpd.conf)を開き、設定を変更します。

# cd /etc/httpd/conf/
# vi httpd.conf
ファイル名:/etc/httpd/conf/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 ←この行を追加

(2) perlのシンボリックリンク作成

 CentOS 5ではperlのモジュールは /usr/bin/perl にインストールされています。 しかし一般に配布されているサンプルのCGIでは /usr/local/bin/perl を 指定しているものも多いのが実状です。 これらを実行する際にその都度perlのソースを修正するのは手間がかかるので /usr/bin/perl、/usr/local/bin/perlのいずれが指定されていても perlのプログラムを実行できるようにシンボリックリンクを作成します。

# ln -s /usr/bin/perl /usr/local/bin/perl

(3) HTTPサーバの起動ランレベル変更

 OSの起動に併せてデーモンを自動起動する設定に変更します。

# chkconfig httpd on

 以上で設定が終了しましたので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

利用方法

 <準備中>

プロフィール

らのっち

損害保険会社のIT企画部に勤務するSEです。OSSを勉強中です。

<所属>
日本PostgreSQLユーザ会とくしまOSS普及協議会

■■■ 当サイトは Internet Explorer 11 と Mozilla Firefox 43 で動作確認済みです。 ■■■