Apacheのインストール
Apacheとは
ブラウザで何らかのサイトを表示するときには、その背後でウェブサーバーが動いています。
Apacheは、ウェブサーバーの一種で、ウェブサイトを表示するためのソフトウェアです。
無料で使えます。
ここでは、CentOS 6.4にApache2.4系(2.4.6)をソースインストールする方法について説明していますが、開発用サーバーなどで、特にApacheの最新バージョンが必要でないということであれば、
$ sudo yum -y install httpd
と入力すれば、あっという間にインストール完了です。:-)
ただし、ソースインストールしたときと設定ファイルの場所が変わります。
OpenSSLヘッダファイルのインストール
Ruby on Railsなどで必要になるためインストールします。
$ sudo yum -y install openssl-devel
PCREのインストール
PCREは、ApacheでPerl互換の正規表現を使用するためのライブラリです。
これもApacheのコンパイルに必要なのでインストールします。
$ sudo yum -y install pcre-devel
APR/APR-utilのインストール
これらを先にインストールしておかないと、ソースコンパイルの時に「APR not found.
」エラーになります。
Apache Portable Runtime(APR)から、APRとAPR-utilのソースファイルをダウンロードして、以下の手順でコンパイルとインストールを行ってください。
» ダウンロードページ
この記事でダウンロードしたのは、apr-1.4.8.tar.gzとapr-util-1.5.2.tar.gzです。
$ tar xvzf apr-1.4.8.tar.gz $ cd apr-1.4.8 $ ./configure --prefix=/usr/local $ make $ sudo make install
※ configureを実行すると、
`libtoolT': No such file or directory
と表示されるかもしれませんが、特に問題はありません。
$ tar xvzf apr-util-1.5.2.tar.gz $ cd apr-util-1.5.2 $ ./configure --prefix=/usr/local --with-apr=/usr/local/apr $ make $ sudo make install
最後におまじない。
$ sudo ldconfig
ソースファイルのダウンロード
Apache公式サイトより、Apache2のソースファイルをダウンロードします。
> ダウンロードページ
この記事でダウンロードしたのは、httpd-2.4.6.tar.gzです。
Apache用アカウントの作成
rootユーザーでApacheを起動するのはセキュリティー的に好ましくないので、Apache専用のユーザーアカウントを作成します。
$ sudo /usr/sbin/groupadd apache $ sudo /usr/sbin/useradd -g apache -d /usr/local/apache -s /sbin/nologin apache
Apacheのコンパイル&インストール
以下の手順にしたがって、ソースファイルのコンパイルとインストールを行ってください。
$ tar xvzf httpd-2.4.6.tar.gz $ cd httpd-2.4.6 $ ./configure --enable-so --enable-ssl --enable-modules=rewrite \ --prefix=/usr/local/apache $ make $ sudo make install
Apacheの起動
CentOSの初期状態では、80番ポートが塞がっているので、ファイアーウォールの設定を変更し、これを開けます。
まず、ファイル/etc/sysconfig/iptablesを開きます。
$ sudo vi /etc/sysconfig/iptables
そして、「--dport 22」を含む行の下あたりに、以下の行を追加します。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
作業手順としては、「--dport 22」の行をコピー&ペーストして、「22」を「80」に書き換えます。
修正が終わったら、ファイアーウォールを再起動してください。
$ sudo /etc/rc.d/init.d/iptables restart iptables: ファイアウォールルールを消去中: [ OK ] iptables: チェインをポリシー ACCEPT へ設定中filter [ OK ] iptables: モジュールを取り外し中: [ OK ] iptables: ファイアウォールルールを適用中: [ OK ]
※sudoコマンド、またはrootユーザーで実行しないと何も表示されないので注意して下さい。
以下のコマンドを入力すれば、Apacheを起動することが出来ます。
$ sudo /usr/local/apache/bin/apachectl start
apachectlの引数をstopにすれば、Apacheが停止します。
また、restartにすれば、Apacheが再起動します。
Apacheの自動起動の設定
OSを再起動するたびにapachectlコマンドを打ち込むのはめんどくさいので、自動起動するように設定しましょう。
$ sudo cp httpd-2.4.6/build/rpm/httpd.init /etc/rc.d/init.d/httpd $ sudo chmod 755 /etc/rc.d/init.d/httpd
/etc/rc.d/init.d/httpdの一部を修正する。
httpd=${HTTPD-/usr/local/apache/bin/httpd} #60行目付近
pidfile=${PIDFILE-/var/run/httpd.pid} #61行目付近
CONFFILE=/usr/local/apache/conf/httpd.conf #67行目付近(check13()の下)
httpd.confに以下の行を追加する。
PidFile /var/run/httpd.pid
Apacheを起動サービスに登録する。
$ sudo chkconfig httpd on
これで、OS起動時にApache2が自動起動します。
また、以下のコマンドでもApache2の起動/停止/再起動ができます。
$ sudo service httpd start #起動 $ sudo service httpd stop #停止 $ sudo service httpd restart #再起動
エラー対処
Apache起動時に「error while loading shared libraries: libapr-1.so.0:」が出るとき。
$ sudo vi /etc/ld.so.conf
で設定ファイルを開き、
/usr/local/apache/lib
を追加する。
その後、
$ sudo ldconfig
を打ち込む。