Webサーバーを構築したいときにApacheをyumでインストールすれば何かと楽ですが、バージョンが低いためセキュリティに問題があります。
そこで、Apacheの最新版をソースからインストールして安全性を高めたいと思います。
使用したOS
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core)
サーバー構築
必要なソフトをインストール
無いとApacheを構築できないので予めインストールしておいてください。
# Cコンパイラ yum -y install gcc yum -y install gcc-c++ # PCRE yum -y install pcre-devel # OpenSSL yum -y install openssl-devel
APRをインストール
ARP(Apache Portable Runtime)は足りない機能を補完してどのOSでもソフトを使えるようにするライブラリなようです。
今回は記事作成時点での最新版である1.5.1をインストールします。
cd /usr/local/src wget http://ftp.tsukuba.wide.ad.jp/software/apache/apr/apr-1.5.1.tar.gz tar xvf apr-1.5.1.tar.gz cd apr-1.5.1 ./configure make make install
ARP-utilをインストール
同じく最新版である1.5.4をインストールします。
cd /usr/local/src wget http://ftp.tsukuba.wide.ad.jp/software/apache/apr/apr-util-1.5.4.tar.gz tar xvf apr-util-1.5.4.tar.gz cd apr-util-1.5.4 ./configure --with-apr=/usr/local/apr make make install
Apacheをインストール
ここで本題のApacheです。
Apacheは2.2系と2.4系に分かれていますが、今回は2.4系をインストールします。
バージョンは記事作成時点での最新版2.4.12です。
cd /usr/local/src wget http://ftp.riken.jp/net/apache//httpd/httpd-2.4.12.tar.gz tar xvf httpd-2.4.12.tar.gz cd httpd-2.4.12 ./configure --enable-so --enable-rewrite --enable-ssl --enable-mods-shared=all --enable-mpms-shared='prefork worker event' make make install
configureのオプションは構築したいサーバーによって適宜変えてください。
ユーザー作成
最後にapacheユーザーを作ります。
groupadd apache
useradd -g apache apache
サーバーを起動後localhostにアクセスして「It works!」が表示されれば構築完了です。
/usr/local/apache2/bin/apachectl start
MPMについて
Apacheにはリクエストを並列処理するMPM(マルチプロセッシングモジュール)というモジュールがあります。
MPMで処理方法を指定することでサーバーのパフォーマンスを改善できるのですが、2.4系からはpreforkではなくeventがデフォルトの設定になっています。(それぞれの説明は今回は割愛)
サーバーの運用状況によってMPMを変えたい場合そのままだとeventから変更することができなくなるため、configureするときにオプションで–enable-mpms-sharedを指定してください。
コメント
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffddddddddddddddddddddddddddddddddddfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdddddddddddddddddddddddd