少し情報が古いですが、ここでは、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 実行ユーザーに読み書きの権限があるかなどの確認が必要です。