気ままなつぶやき

おべんきょしたこととか

【apache】インストールめも

作業めも(ΦωΦ)♪

とある検証環境を急遽たてなきゃいけなくなったので
apache 2.2系をインストールする必要があったのでその時の作業メモ

環境

$ cat /etc/issue
CentOS release 6.2 (Final)

ダウンロード

ここから落としてきた
Download - The Apache HTTP Server Project

# apacheのパッケージをインストール
$cd /usr/local/src/
$ wget http://ftp.tsukuba.wide.ad.jp/software/apache//httpd/httpd-2.2.29.tar.gz
#解答
$ tar -xzvf httpd-2.2.29.tar.gz

apacheのインストール

オプションで指定するのは大きく2種類

  • prefixオプションでapacheのホームディレクトリを指定
  • 必要なオプションを有効にする

とりあえず、今回はすでにあるサーバの検証環境用なので、同様のモジュールが入っているように気をつけた
不要なモジュールがありそうだけど・・・

#### 本番側のモジュールの確認
$ /usr/local/apache/bin/apachectl -M
Loaded Modules:
 core_module (static)
 authn_file_module (static)
 authn_default_module (static)
 authz_host_module (static)
 authz_groupfile_module (static)
 authz_user_module (static)
 authz_default_module (static)
 auth_basic_module (static)
 filter_module (static)
 deflate_module (static)
 log_config_module (static)
 env_module (static)
 headers_module (static)
 usertrack_module (static)
 setenvif_module (static)
 version_module (static)
 proxy_module (static)
 proxy_connect_module (static)
 proxy_ftp_module (static)
 proxy_http_module (static)
 proxy_scgi_module (static)
 proxy_ajp_module (static)
 proxy_balancer_module (static)
 mpm_worker_module (static)
 http_module (static)
 mime_module (static)
 status_module (static)
 cgid_module (static)
 dir_module (static)
 alias_module (static)
 rewrite_module (static)
 so_module (static)
Syntax OK

この中で、明示的に指定しないと入らなそうなものを探して指定する事にした。
grep。。。

とりあえず明示的に enableってのがないモジュールは標準で入るのであろうと・・・

インストール実行

$cd httpd-2.2.29
$./configure --prefix=/usr/local/apache2  --enable-deflate --enable-headers --enable-usertrack --enable-proxy --enable-proxy  --enable-proxy-connect --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-scgi --enable-proxy-ajp  --enable-proxy-balancer --with-mpm=worker --enable-http --enable-cgid --enable-rewrite --enable-so 
$ make
$make install
メモ:INSTALLファイルはちらみした
#######ヘルプ
$cd httpd-2.2.29
#ヘルプ:インストールするモジュールたちなど、オプションがのってる
$./configure --help

#######INSTALLファイル
$cd httpd-2.2.29
$ less INSTALL
メモ:configureのhelp
$cd httpd-2.2.29
$./configure --help
メモ:deflate_moduleのエラー

deflate_moduleはconfigureのときにエラーがでた。
zlib や zlib-develがないと怒ってくるらしい。今回はzlibさんはいたのでzlib-develさんだけインストール

$ yum install zlib-devel.x86_64

ちょこちょこ

$ln -s /usr/local/apache2 /usr/local/apache

バージョンアップの時とか、必要になったら付け替えられるように

構築してからユーザ作ってないの気づいた・・orz

$ groupadd cy_httpd
$ useradd cy_httpd -g cy_httpd
# 確認
$ id cy_httpd
uid=21552(cy_httpd) gid=20278(cy_httpd) 所属グループ=20278(cy_httpd)
$ chown -R cy_httpd. apache2

起動

$/usr/local/apache/bin/apachectl start

追記

モジュールの有効化について

今回は、必要なモジュールが事前にわかっていたのだけど、わかっていない状態であれば、
soモジュールさえいれていれば、あとで動的モジュールを追加することができるので
標準モジュールだけでmakeしてしまってもいいかもしれない