CentOS に Apache をソースコードからインストール

CentOS 5.7 に Apache2.2.21 をソースコードからインストールしました。

インストール手順をざっとご紹介します。(随時、修正予定)

RPM版のapacheを削除する

CentOSにデフォルトでインストールされているRPM版のapacheを削除します。

# httpd -v
Server version: Apache/2.2.3
# rpm -e --allmatches --nodeps httpd
# httpd -v
-bash: /usr/sbin/httpd: そのようなファイルやディレクトリはありません

Apacheのソースコードをダウンロード・展開

Apacheのソースコードをダウンロードして、展開します。

ソースコードは下記のサイトから Stable 版の Unix Source を wget で取得します。

・DL:Download – The Apache HTTP Server Project はてなブックマーク - Download - The Apache HTTP Server Project

$ su -
# cd /usr/local/src/
# wget http://www.meisei-u.ac.jp/mirror/apache/dist//httpd/httpd-2.2.21.tar.gz
# tar zxvf httpd-2.2.21.tar.gz
# cd httpd-2.2.21

Apache をソースコードからインストール

オプションをいくつか付けてconfigureします。

# cd httpd-2.2.21
# ./configure --prefix=/usr/local/apache2/ \
		--enable-so \
		--enable-rewrite \
		--enable-ssl=/usr/local/openssl

→ opensslが入らないとエラーが出るので、とりあえず、 

# ./configure --prefix=/usr/local/apache2/ \
		--enable-so \
		--enable-rewrite

そして、makeしてインストール

# make
# make install

Apacheがちゃんとインストールされたか確認します。

# /usr/local/apache2/bin/httpd -v
Server version: Apache/2.2.21 (Unix)
Server built:   Nov  2 2011 19:14:14

apacheユーザー作成

# groupadd apache
# useradd -g apache -d /var/empty/ -s /sbin/nologin apache
# vi /usr/local/apache2/conf/httpd.conf
User apache
Group apache

 

apacheの起動スクリプトの設定

# cp /usr/local/src/httpd-2.2.21/build/rpm/httpd.init /etc/rc.d/init.d/httpd
# chmod 755 /etc/rc.d/init.d/httpd

apache の設定ファイルの該当部分を編集します。

# vi /etc/rc.d/init.d/httpd
 
httpd=${HTTPD-/usr/local/apache2/bin/httpd}
pidfile=${PIDFILE-/usr/local/apache2/logs/httpd.pid}
# check for 1.3 configuration
check13 () {
        CONFFILE=/usr/local/apache2/conf/httpd.conf

Apacheの起動を確認します。
 

# service httpd start 
Starting httpd :  [OK]

正常起動を確認しました。

ifconfigコマンドでIPアドレスを確認する。(IPアドレスは環境によって異なります)
 

# ifconfig
inet addr:192.168.16.130

 

ローカルPCのブラウザから、http://192.168.16.130/ にアクセスしてApacheが正常に動いているか確認します。

無事にブラウザが表示されたら完了です。
 

Apacheの自動起動設定

Apacheの自動起動を有効にします。

自動起動を有効にすると、CentOSの起動時にApacheも自動で起動します。

# chkconfig --add httpd
# chkconfig httpd on
# chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

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

httpd が listen する 80 番ポート(デフォルトの場合)を開放する。

# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

ファイアーウォールを再起動させます。

# service iptables restart
ファイアウォールルールを適用中:                            [  OK  ]
チェインポリシーを ACCEPT に設定中filter                   [  OK  ]
iptables モジュールを取り外し中                            [  OK  ]
iptables ファイアウォールルールを適用中:                   [  OK  ]
# service iptables start

 

OpenSSLをソースコードからインストール

# cd /usr/local/src
# wget -c http://www.openssl.org/source/openssl-1.0.0d.tar.gz
# tar zxvf openssl-1.0.0d.tar.gz
# cd openssl-1.0.0d.tar.gz
# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl -fPIC
# make
# make install

 

【参考】

apache2.2 初期設定 はてなブックマーク - apache2.2 初期設定

VMware PlayerにCentOS導入。練習用Webサーバーを構築4 はてなブックマーク - VMware PlayerにCentOS導入。練習用Webサーバーを構築4

apache2.2.15をCentOSにソースからインストール[Linux] | QUALL – blog はてなブックマーク - apache2.2.15をCentOSにソースからインストール[Linux] | QUALL - blog

Apacheサーバー構築(ソースコンパイル) | 自宅サーバー構築 はてなブックマーク - Apacheサーバー構築(ソースコンパイル) | 自宅サーバー構築

Apache2 をソースからインストール はてなブックマーク - Apache2 をソースからインストール