apache2 が消えた

/usr/local/apache2 にApache2.2 をソースからインストールして、httpd.conf を編集中に突然、apache2 ディレクトリが消えました。yum からパッケージでインストールした OSインストール時に入っていた apache のhttpd.conf から書き写しをしていた折、ダウンロード、解凍した wordpress を当該ディレクトリに mv コマンドで移動しようとしていた矢先でした。こんなことってあるんですかね。たまげたなぁ~。誰かにハッキングされて消された、ハッキリ分かんだね。 仕方がないからソースからのインストール、(一日の) やり直しますよ、するするっ!

Apacheのソースは、 Download – The Apache HTTP Server Project http://httpd.apache.org/download.cgi#apache22 から最新版をダウンロード。2015年7月28日現在で、最新版はバージョンはapache2.2.31 (Apache 2.4 はインストールしたことある?)・・・ないです。ふ~ん。あっ(察し)。

ディレクトリ移動して httpd-2.2.x/を解凍したら

# cd /usr/local/src
# wget http://ftp.riken.jp/net/apache//httpd/httpd-2.2.31.tar.gz
# tar zxvf httpd-2.2.31.tar.gz
# cd httpd-2.2.31/

ディレクトリ移動して、以下の呪文を唱えます。 CentOSへApache2.xをソースビルドしてService登録する – Qiita

# ./configure --prefix=/usr/local/apache2 \
 --enable-suexec \
 --enable-cache \
 --enable-disk-cache \
 --enable-mem-cache \
 --enable-logio \
 --enable-header \
 --enable-ssl \
 --enable-rewrite \
 --enable-so \
 --enable-proxy \
 --enable-mods-shared=all

ちなみに私は、zlib がないっ!って怒られました。解決法は以下。仕事で使える魔法のLAMP(15):ライブラリが足りなくてビルドできないときは? – @IT

# yum install zlib zlib-devel

./configure をやり直して、続いて# root 権限で

# make
# make install

これで、/usr/local/apache2 にインストール完了です。このとき、設定ファイル httpd.conf は、パッケージインストール時の
/etc/httpd/conf/httpd.conf ・・・ではなく、/usr/local/apache2/conf/httpd.conf に作られます。ここから Apache HTTP Server の設定をしてゆくわけですが、諸先輩方の詳細な解説をリンクして割愛します。 コロのLinuxサーバー構築 – httpd.conf の設定 また起動コマンドも、パッケージとソースビルドでは異なっており、

# service httpd start (パッケージインストール)
# /usr/local/apache2/bin/apachectl start (ソースビルド)

となっております。 あと、覚えている限りですが PHP のインストールもメモしておきます。ソースからインストールする場合、以下のサイト(2015年7月28日現在、PHPバージョン 5.6.11)かミラーリンクをたどってWindows に保存または、リンクアドレスをコピーして、wget コマンドからダウンロード解凍します。 PHP: Downloads http://php.net/get/php-5.6.11.tar.gz/from/a/mirror

# cd /usr/local/src
# wget http://jp2.php.net/get/php-5.6.11.tar.gz
# tar zxvf php-5.6.11.tar.gz
# cd php-5.6.11/

php-5.x.x/ にディレクトリ移動して以下の呪文を唱えます。

# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql

すると、apxs がないっ!って怒られました。解決法は以下リンク。 [apache] モジュール追加でapxsが見つからない時の解決方法 | 迷走男子!!

# yum install -y httpd-devel

./configure のやり直し。ところが今度は、libxml2 がないっ!と怒られました。以下のサイトを参考にコマンド入力。 dage.jp » Apache2.2+PHP5.2 完全インストール – part2 – PHPインストール

# yum install -y libxml2 libxml2-devel

./configure のやり直しをします。→ PHP: インストール手順 – Manual

# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-libxml-dir=/usr/bin/xml2-config

今度は成功です。

# make
# make install

(追記)PHP の設定を/usr/local/apache2/conf/httpd.conf で有効にするため下記設定を追加

LoadModule php5_module modules/libphp5.so [新規追加]
<IfModule mine_module>
・・・
AddType application/x-httpd-php .php [新規追加]
AddType application/x-httpd-php-source .phps [新規追加]
</IfModule mine_module>

https://www.stuffy.site/wordpress/index.php/2015/08/15/rebuild-php-on-virtualbox/

してhttpd.conf を編集、

・・・
<Directory "/usr/local/apache2/htdocs/wordpress">
     AllowOverride all
 </Directory>
・・・
 Alias /wordpress/ "/usr/local/apache2/htdocs/wordpress/"

WordPress をインストールして

http://ホストネームアドレス/wordpress/wp-admin/install.php

からセットアップ画面表示できました。

install.php

追記)http://ホストネームアドレス/ でアクセスさせたいときは、httpd.conf のDocumentRoot 設定を

・・・
DocumentRoot /usr/local/apache2/htdocs/wordpress

します。

総じて apache もPHPも、./configure make make install !! ./configure make make install !! て感じで・・・。