[ CentOS ] apache2.2 をソースコードからインストールして初期設定する

Pocket

少し情報が古いですが、ここでは、CentOS5.3 に apache2.2 をソースコードからインストールして動作するように初期設定を行う参考情報を掲載しています。

スポンサーリンク

apache のソースコードをダウンロードとインストール

初めに apache のソースコードをダウンロードします。ここでは、apache2.2.17 をダウンrードするものとします。

続いて、ダウンロードしたソースコードを適当なディレクトリに解凍します。

[user@host src]$ pwd
/usr/local/src
[user@host src]$ tar zxvf httpd-2.2.17.tar.gz
・・・
[user@host src]$ cd httpd-2.2.17
[user@host httpd-2.2.17]$ pwd
/usr/local/src/httpd-2.2.17
[user@host httpd-2.2.17]$ ./configure --prefix=/usr/local/apache2/ --enable-so --enable-rewrite --enable-ssl
・・・
[user@host httpd-2.2.17]$ make
・・・
[user@host httpd-2.2.17]$ su
パスワード:
[root@host httpd-2.2.17]$ make install
・・・

openssl の確認

ここでは、設定を行っていませんが、上記では –enable-ssl オプションで ssl を有効にしていますので、ssl がインストールされていない場合は、別途インストールしておく必要があります。特に ssl を必要としない場合は オプションから除外しておきます。

# ssl がインストールされているか確認する。
[user@host src]$ rpm -qa | grep openssl
openssl-0.9.8e-7.el5
openssl-devel-0.9.8e-7.el5

ファイアーウォールの設定確認

httpd が listen する 80 番ポート(デフォルトの場合)を開放します。また、ssl を使用して https でも listen する場合は 443 番ポート(デフォルトの場合)も開放する必要があります。

[root@host ]$ vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

#ファイアーウォールの再起動
[root@host ]$ service iptables restart
ファイアウォールルールを適用中:                            [  OK  ]
チェインポリシーを ACCEPT に設定中filter                   [  OK  ]
iptables モジュールを取り外し中                            [  OK  ]
iptables ファイアウォールルールを適用中:                   [  OK  ]
・・・

自動起動の設定

OS 起動時に apache を自動起動する設定は次の通りです。

[root@host rpm]$ pwd
/usr/local/src/httpd-2.2.17/build/rpm
[root@host rpm]$ ls
htcacheclean.init  httpd.init  httpd.logrotate  httpd.spec.in
[root@host rpm]$ cp httpd.init /etc/rc.d/init.d/httpd
cp: `/etc/rc.d/init.d/httpd' を上書きしてもよろしいですか(yes/no)? y

(↑)既存ファイルが存在する場合は、念のため退避しておけばよい

[root@host rpm]$ chkconfig  --list httpd
httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off
[root@host rpm]$ chkconfig  httpd on
[root@host rpm]$ chkconfig  --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

/etc/rc.d/init.d/httpd を修正する

今回の例では、apache を前述の通り –prefix=/usr/local/apache2/ としてインストールしているため、それに合わせて /etc/rc.d/init.d/httpd を以下のように修正します。

[root@host rpm]$ vi /etc/rc.d/init.d/httpd

[修正前]
httpd=${HTTPD-/usr/sbin/httpd}
CONFFILE=/etc/httpd/conf/httpd.conf

[修正後] 
httpd=${HTTPD-/usr/local/apache2/bin/httpd}
CONFFILE=/usr/local/apache2/conf/httpd.conf

また、忘れやすい点としては、pid ファイルへのパス(デフォルト:/var/log/httpd)などの設定も確認しておく必要があります。apache 実行ユーザーに読み書きの権限があるかなどの確認が必要です。

参考

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *