Hack in tosh!

素人が苦しみながら何かを作っていくのを観察するBLOG

サーバー設定 2日目 続き

Apache2.4.3導入

Apache最新版を公式サイトからダウンロードしましょう

Apache公式サイト

Apacheインストール

$ wget http://ftp.tsukuba.wide.ad.jp/software/apache//httpd/httpd-2.4.3.tar.gz
$ tar xzf httpd-2.4.3.tar.gz
$ cd httpd-2.4.3
$ ./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-so --enable-ssl --enable-rewrite --enable-usertrack --enable-asis --enable-cache --enable-mem-cache --with-mpm=worker --with-ssl=/usr/local/openssl --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --disable-ipv6
(正直なところconfigureは殆ど要らない気がします。後ででも設定出来ます。aprとopenssl関係だけは必須でしょうか。mod_asisはprobe対策する人だけ。)

$ make
$ sudo paco -D make install

インストール完了。

いつものlibパス通し

$ sudo touch /etc/ld.so.conf.d/apache.conf
$ sudo vi /etc/ld.so.conf.d/apache.conf
    /usr/local/apache/lib
$ sudo ldconfig

Apache自体のパスも通します

$ sudo ln -s /usr/local/apache /usr/local/httpd
$ sudo touch /etc/profile.d/apache.sh
$ sudo vi /etc/profile.d/apache.sh
      # apache path Setting
      export APACHE_HOME=/usr/local/httpd
      export PATH=$APACHE_HOME/bin:$PATH

しかしこれではまだhttpdとしては機能しない

HTTPDとして機能させるために

$ sudo cp /build/rpm/httpd.init /etc/init.d/httpd
$ sudo vi /etc/init.d/httpd
    #httpd=${HTTPD-/usr/sbin/httpd}                            (コメントイン)
    httpd=${HTTPD-/usr/local/apache/bin/httpd}           (インストールしたパスを追加)
    #pidfile=${PIDFILE-/var/run/${prog}.pid}                   (コメントイン)
    pidfile=${PIDFILE-/usr/local/httpd/logs/${prog}.pid} (インストールしたパスを追加)
    lockfile=${LOCKFILE-/var/lock/subsys/${prog}}
    RETVAL=0

    # check for 1.3 configuration
    check13 () {
    #       CONFFILE=/etc/httpd/conf/httpd.conf              (コメントイン)
             CONFFILE=/usr/local/apache/conf/httpd.conf  (インストールしたパスを追加)

以前のバージョンまでと変わってるので見落としがちだが

pidfile=${PIDFILE-/usr/local/httpd/logs/${prog}.pid}

を追加しないとパスがわからないからstopしてくれない

これで

$ sudo service httpd start
httpd を起動中:                                            [  OK  ]

$ sudo service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

問題なく作動するはずだ

後は自動起動させるために

# chkconfig httpd on

でOKなはず