最近、Apache の動作が不安定な状況が続いています
何が原因なのか特定する事が困難な状態が続いてます
このまま稼動する事が困難だと思い
最新版のApacheを導入する事にしました
また、mpm-prefork ⇒ mpm-worker に変更する事にしました
mpm-prefork と mpm-worker の違いについては
こちらを参照して頂いた方が分かり易いと思います
筆者的に簡単に説明すると mpm-worker方が優れてるはず
早速、以下の手順でアップデートの準備を行いました
①.apt-get source apache2
source プログラムを入手します。
②.rpm ivh apache2-2.2.14-7vl5.src.rpm
source プログラムを解凍します。
③.cd ~/rpm/SOURCES
解凍した source プログラムの場所に移動します。
④.wget http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.2.17.tar.bz2
httpd-2.2.17.tar.bz2 をダウンロードします。
⑤.rm httpd-2.2.14.tar.bz2
古いバージョンのソフトを削除します。
⑥.vi httpd.conf
MaxClientsの値を変更します。
変更前
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
変更後
StartServers 2
MaxClients 10000
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
MaxClientsの値を変更する事で
同時接続数の制限値が変更出来ます
⑦.cd ~/rpm/SPECS
apache2-vl.specがある場所に移動します。
⑧.vi apache2-vl.spec
apache2-vl.spec を編集します。
変更前
Summary: Apache HTTP Server
Name: %{pkgname}
Version: 2.2.14
Release: 7%{_dist_release}
# Security fixes
Patch100: apache2-2.2.14-CVE-2010-0408.patch
Patch110: httpd-2.2.x-CVE-2010-0434.diff
Patch120: httpd-2.2.x-CVE-2010-1452.diff
%patch100 -p4 -b .CVE-2010-0408
%patch110 -p0 -b .CVE-2010-0434
%patch120 -p0 -b .CVE-2010-1452
変更後
Summary: Apache HTTP Server
Name: %{pkgname}
Version: 2.2.17
Release: 0%{_dist_release}
変更内容
2.2.14 ⇒ 2.2.17 に変更します。
7%{_dist_release} ⇒ 0%{_dist_release} に変更します。
# Security fixes
#Patch100: apache2-2.2.14-CVE-2010-0408.patch
#Patch110: httpd-2.2.x-CVE-2010-0434.diff
#Patch120: httpd-2.2.x-CVE-2010-1452.diff
変更内容
#としてコメントアウトにしています。
#%patch100 -p4 -b .CVE-2010-0408
#%patch110 -p0 -b .CVE-2010-0434
#%patch120 -p0 -b .CVE-2010-1452
変更内容
#としてコメントアウトにしています。
⑨.rpmbuild -bb --clean apache2-vl.spec
リビルドを実行します。
無事にリビルドが完成する事を祈って放置します
■リビルド後
apache2-2.2.17-0vl5.x86_64.rpm
apache2-devel-2.2.17-0vl5.x86_64.rpm
apache2-manual-2.2.17-0vl5.x86_64.rpm
mod_ssl-apache2-2.2.17-0vl5.x86_64.rpm
MaxClientsの値を変更したはずが・・・
ちゃんと反映されてなかったです
次回、リビルドする時に調べる事にします