ソースコードからビルド

公式のページ*1からソースコードをダウンロードし、ビルドする。
Apache2.2までは、Apacheのビルド・動作に必要なAPRおよびAPR-Utilが同梱されているので、これらを追加ダウンロードする必要はない。

#sh(bash){{

cd /usr/local/src

wget -O "httpd-2.2.24.tar.gz" "http://archive.apache.org/dist/httpd/httpd-2.2.24.tar.gz"

tar zxf httpd-2.2.24.tar.gz

cd httpd-2.2.24



./configure --prefix=/usr/local/httpd-2.2.24 --enable-so --enable-headlers



# 単純にビルドするだけの場合
./configure --prefix=/usr/local/httpd-2.2.24 --enable-so --enable-headlers


# mod_sslも併せてビルドする場合
# (+OpenSSLがソースからビルドして、/usr/local/opensslにある場合)
./configure --prefix=/usr/local/httpd-2.2.24 --enable-so --enable-headlers --enable-ssl --with-ssl=/usr/local/openssl



# configureが正常終了したらmakeしてビルド&インストール
make

make install

}}

mod_sslビルド中に"Error, SSL/TLS libraries were missing or unusable"と出力されてエラー終了している場合はOpenSSLの設定を見直す。
"-with-ssl="で/usr/local/srcを指定していないか、x86_64環境なのにOpenSSLのconfigureオプションに-fPICをつけ忘れていないか、など。

ソースコードからビルド(レイアウト指定)

configureオプションにlayoutを指定することで、RedHatやAIXなど、さまざまなパッケージでインストールした時のインストール先に似せた構成でインストールすることができる。
例えばRedHatレイアウトを指定すると、RPMのhttpdのような構成にできる。
${HOME}以下にRedHatレイアウトを適応するとこんな感じ。

${HOME}/usr/bin/
           /sbin/
           /lib/
       /etc/httpd/conf/
       /var/www/html/
               /cgi-bin/
           /run/
           /log/httpd/

#sh(bash){{

# OpenSSLが${HOME}/etc/pkiでインストールされている(--openssldir=${HOME}/etc/pki)ものとする
./configure --enable-layout=RedHat \
--prefix=${HOME}/usr \
--sysconfdir=${HOME}/etc/httpd/conf \
--datadir=${HOME}/var/www \
--localstatedir=${HOME}/var \
--mandir=${HOME}/usr/share/man \
--enable-headers --enable-so -enable-ssl --with-ssl=${HOME}/etc/pki --disable-userdir


make

make install

}}

パッケージを利用する(RPM)

標準のリポジトリに含まれているので、そのままYUMを使いインストールすればよい。
apacheユーザが存在しない場合には自動で作成される。

#sh(bash){{

yum install httpd

}}

構成

  • /etc/httpd/conf/httpd.conf
    • 標準のApache設定ファイル
  • /usr/sbin/httpd
    • 実行ファイル
  • /usr/sbin/apachectl
    • 制御スクリプト
  • /etc/init.d/httpd
    • 制御スクリプト(initd用)

使い方

#sh(bash){{

# 設定確認
/etc/init.d/httpd configtest


# 起動
/etc/init.d/httpd start


# 強制停止
/etc/init.d/httpd stop


# 再起動
/etc/init.d/httpd graceful


# 強制再起動
/etc/init.d/httpd restart

}}

apachectlを利用する場合

#sh(bash){{

# 設定の確認
apachectl configtest


# 起動
apachectl start


# 停止
apachectl grafeful-stop


# 強制停止
apachectl stop


# 再起動
apachectl graceful


# 強制再起動
apachectl restart

}}

httpdから直接操作する場合

#sh(bash){{

_httpd=/usr/sbin/httpd
_conf=/etc/httpd/conf/httpd.conf


# 設定の確認
${_httpd} -t -f ${_conf}


# 起動
${_httpd} -k start -f ${_conf}


# 停止
${_httpd} -k graceful-stop -f ${_conf}


# 強制停止
${_httpd} -k stop -f ${_conf}


# 再起動
${_httpd} -k graceful -f ${_conf}


# 強制再起動
${_httpd} -k restart -f ${_conf}

}}

パッケージを利用する(DEB)

標準リポジトリに含まれているため、パッケージマネジャーを利用しインストールする。
www-dataユーザが存在しない場合には自動で作成される。

#sh(bash){{

apt-get install apache2 apache2-dev

}}

構成

  • /etc/init.d/apache2
    • 制御スクリプト
  • /etc/apache2/apache2.conf
    • 設定ファイル
  • /usr/sbin/apache2
    • 実行ファイル
  • /usr/sbin/apxs
    • モジュール作成ツール

インストーラを利用する(Windows)

アーカイブサイト*2から該当のバージョンのインストーラを入手し実行する。


*1 http://archive.apache.org/dist/httpd/
*2 https://archive.apache.org/dist/httpd/binaries/win32/

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-07-04 (月) 23:10:34