2011年12月16日金曜日

CentOS 6.1でまだまだLAMP環境 Apache HTTP Server 2.2.21 インストール編



新しいサービスなどではWebサーバにNginxが使われることが多くなってきた感じがますが、
既存のサービスでは、まだまだapacheが使われていることが多いと思います。
何が使われているかを調べるには、curlコマンドが便利です。
気になるサイトを調べてみてはいかがでしょうか。
はてなダイアリーとはてなブログでも違うようですね。



  • はてなダイアリー

curl -s -I http://d.hatena.ne.jp/ | grep "^Server"
Server: Apache


  • はてなブログ

curl -s -I http://hatenablog.com/ | grep "^Server"
Server: nginx/1.0.3

※オプション(-I)は、半角英字大文字のアイです。


それでは、前々回(CentOS 6.1)、前回(MySQL 5.5.19)、に引き続きApache HTTP Server 2.2.21をインストールします。

今回のapacheインストール手順と同じ処理を行うバッチを作成しました。
管理者権限があれば次の1行でインストールできます。
ご使用になられた場合の損害は一切責任を負いませんのでご了承ください。
Apache HTTP Server 2.2.21(WebDAV,Proxy関連のオプションは含まれません)
curl http://dl.dropbox.com/u/30648910/install/apache/apache.sh | env APACHE_VERSION=2.2.21 sh

cronolog 1.6.2
curl http://dl.dropbox.com/u/30648910/install/cronolog.sh | sh


必要なモジュールのインストール




yum -y install \
make.x86_64 \
gcc.x86_64 \
gcc-c++.x86_64 \
libtool.x86_64 \
autoconf.noarch \
perl.x86_64 \
openssl.x86_64 \
openssl-devel.x86_64



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




cd /usr/local/src
curl -L -o httpd-2.2.21.tar.gz http://ftp.jaist.ac.jp/pub/apache//httpd/httpd-2.2.21.tar.gz
tar zxfv httpd-2.2.21.tar.gz
cd httpd-2.2.21

追加するオプションはいろいろあるので一例です。

./configure --prefix=/usr/local/apache2 \
--enable-cache \
--enable-disk-cache \
--enable-mem-cache \
--enable-logio \
--enable-headers \
--enable-ssl \
--enable-rewrite \
--enable-so

make
make install



  • gitやsubversionのリポジトリをWebDAV経由で公開したい場合

--enable-dav
--enable-dav-fs
--enable-dav-lock


  • プロキシーサーバの機能を追加したい場合(必要に応じて追加するモジュールを選択)

--enable-proxy
--enable-proxy-connect
--enable-proxy-ftp
--enable-proxy-http
--enable-proxy-scgi
--enable-proxy-ajp
--enable-proxy-balancer



他にもいろいろな拡張モジュールがあるので、気になるのもは試してください。
http://httpd.apache.org/docs/2.2/ja/mod/




apache再起動無しで、ログファイルの日毎自動ローテート




apacheの標準でもrotatelogsがありますが、
日毎(毎日0時0分)にapacheの再起動無しでローテートしたいので、
次の2つをインストールします。


  • mod_log_rotateのインストール


mkdir /usr/local/src/mod_log_rotate
cd /usr/local/src/mod_log_rotate
curl -o mod_log_rotate.c http://hexten.net/assets/apache2/mod_log_rotate.c
/usr/local/apache2/bin/apxs -i -a -c mod_log_rotate.c



  • cronologのインストール


cd /usr/local/src
curl -L -o cronolog-1.6.2.tar.gz http://cronolog.org/download/cronolog-1.6.2.tar.gz
tar zxfv cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make
make install



自動ローテートの設定例




  • mod_log_rotateを有効化(httpd.confに追記)


RotateLogs On
RotateLogsLocalTime On



  • http.confやvirtualhostディレクティブでログファイルの設定をします。


CustomLog "/usr/local/apache2/logs/access_log.%Y-%m-%d" combined
ErrorLog "|/usr/local/sbin/cronolog /usr/local/apache2/logs/error_log.%Y-%m-%d"




yumインストール時に追加されたモジュール




keyutils-libs-devel-1.4-1.el6.x86_64
libsepol-devel-2.0.41-3.el6.x86_64
libselinux-devel-2.0.94-5.el6.x86_64
zlib-devel-1.2.3-26.el6.x86_64
libcom_err-devel-1.41.12-7.el6.x86_64
krb5-devel-1.9-9.el6_1.2.x86_64
openssl-devel-1.0.0-10.el6_1.5.x86_64



次回は、PHPのインストールを予定しています。




0 件のコメント:

コメントを投稿