トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   一覧 最終更新   ヘルプ   最終更新のRSS
 


動作確認ディストリビューション

Apache 2.3.10 Alphaのインストール

あらかじめ、必要なパッケージをインストールしておく。
「--enable-ssl」を指定する場合、「openssl」、「openssl-devel」が必要となるため、事前にインストールする。

# yum -y install openssl
# yum -y install openssl-devel

Apacheのソースファイルを取得

# cd /usr/local/src/
# wget http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.3.10-alpha.tar.bz2

展開

# tar jxvf httpd-2.3.10-alpha.tar.bz2

コンパイル準備

# cd httpd-2.3.10
# ./configure \
> --enable-so \     <=== DSO対応
> --enable-ssl \    <=== SSL対応
> --enable-rewrite  <=== mod_rwrite対応

コンパイル

# make
・
・
省略
・
・
以下のエラーが発生して、コンパイル失敗。どうやら、aprのパスが不明といってるっぽい。
/usr/local/src/httpd-2.3.10/support/rotatelogs.c:367: undefined reference to `apr_file_link'
collect2: ld returned 1 exit status

ココを参考にaprとapr-utilをインストールしようと思ったが、 いつもの場所(/usr/local/src/httpd-2.3.10/srclib配下)にaprとapr-utilのインストールディレクトリがない。。。
仕方がないので、aprとapr-utilについては、2.2.17のソースをダウンロードしてきて、別途インストールした。
で、configureから、またやり直し。

# ./configure \
> --enable-so \       <=== DSO対応
> --enable-ssl \      <=== SSL対応
> --enable-rewrite \  <=== mod_rwrite対応
> --with-apr=/usr/local/apr/bin/apr-1-config \    <=== APR対応
> --with-apr-util=/usr/local/apr/bin/apu-1-config <=== APR-Utils対応

コンパイル

# make

インストール

# make install

起動スクリプトをコピー

# install -m755 ./build/rpm/httpd.init /etc/init.d/httpd

Apacheの起動スクリプトを修正

# vi /etc/init.d/httpd

apachectl=/usr/sbin/apachectl
↓↓↓↓↓↓↓↓↓↓↓↓↓↓
apachectl=/usr/local/apache2/bin/apachectl

httpd=${HTTPD-/usr/sbin/httpd}
↓↓↓↓↓↓↓↓↓↓↓↓↓↓
httpd=/usr/local/apache2/bin/httpd

CONFFILE=/etc/httpd/conf/httpd.conf
↓↓↓↓↓↓↓↓↓↓↓↓↓↓
CONFFILE=/usr/local/apache2/conf/httpd.conf

自動起動の設定

# chkconfig --add httpd
# chkconfig httpd on

自動起動の設定内容を確認

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

上記手順により/usr/local/apache2配下にApache2がインストールされます。

起動

# service httpd start
httpd を起動中:                                            [  OK  ]

起動済み確認

# service httpd status
httpd (pid 24745 24744 24743 24742 24741 24739) を実行中...

または

# netstat -at |grep http
tcp        0      0 *:http                      *:*                         LISTEN

停止

# service httpd stop

Apache2.3の新機能と思われるmod_authz_coreの「Require〜」という設定があると、Apache2.2までと同様の設定では正常に動かない場面が多々あるようですので、以下の箇所をコメントアウトします。

# vi /usr/local/apache2/conf/httpd.conf

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>
↓↓↓↓↓↓↓↓↓↓↓↓
<Directory />
    Options FollowSymLinks
    AllowOverride None
    #Require all denied
</Directory>

<Directory "/usr/local/apache2/htdocs">
・
・
省略
・
・
    Require all granted
</Directory>
↓↓↓↓↓↓↓↓↓↓↓↓
<Directory "/usr/local/apache2/htdocs">
・
・
省略
・
・
    #Require all granted
</Directory>

<Files ".ht*">
    Require all denied
</Files>
↓↓↓↓↓↓↓↓↓↓↓↓
<Files ".ht*">
    #Require all denied
</Files>

<Directory "/usr/local/apache2/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>
↓↓↓↓↓↓↓↓↓↓↓↓
<Directory "/usr/local/apache2/cgi-bin">
    AllowOverride None
    Options None
    #Require all granted
</Directory>

設定ファイルの再読み込み

# service httpd reload

Last-modified: 2011-03-02 (水) 01:03:30 (2885d)