読者です 読者をやめる 読者になる 読者になる

ボールを蹴りたいシステムエンジニア

ボール蹴りが大好きなシステムエンジニア、ボールを蹴る時間確保の為に時間がある時には勉強する。

LinuxへのApacheインストール(さくらVPS)

さくらVPSでの環境構築、続いてはApacheの導入

現時点では特にサービス運営とか何も考えていないけど

いずれは利用しそうだし勉強用にって事で

・環境

さくらVPS
Linux
CentOS release 6.4 (Final)
Apache2.2.25


ちなみにディストリビューションの確認コマンド

cat /etc/redhat-release

手順

さくらは最初からyum入ってますが
せっかくなのでソースからインストール

依存ライブラリインストール

yum -y install gcc
yum -u install zlib-devel

1.Apacheダウンロード、解凍

cd /usr/local/src
wget http://ftp.kddilabs.jp/infosystems/apache//httpd/httpd-2.2.25.tar.gz
tar xzf httpd-2.2.25.tar.gz 

Apacheのダウンロードは

Download - The Apache HTTP Server Project

より

今回は2.2系の最新版2.2.25をダウンロード

※2013/9/5時点

ちなみに過去バージョンをダウンロードする場合には

http://httpd.apache.org/download.cgi での「archive download site.」のリンクにあります

これいつも忘れる…


2.インストール

コンパイル

cd httpd-2.2.25
./configure --prefix=/usr/local/apache \
--enable-so \
--enable-mods-shared=all \
--enable-ssl \
--enable-rewrite \
--enable-proxy \
--enable-proxy-balancer \
> configure.log

コンパイル時のオプションは基本的なものを指定

Apacheホームディレクトリパス

    • enable-so

Apache を自前でビルドする時に指定するもの
 後々モジュールインストールする為には指定しておく必要あるみたい
 mod_so というモジュールが、DSO(Dynamic Shared Object - 実行時に、モジュールをロード、アンロードする形式)をサポートしている。

    • enable-mods-shared=all

→基本的な共有モジュールがインストールされるみたい
 APACHE_HOME/moduule/にモジュールが生成される。

その他モジュール指定時、

    • enable-モジュール名=shared

と記述すると、httpd.confで当該モジュールのコメントアウトが外れてロードされた状態でApacheがインストールされる。

※インストールされるモジュール参考
http://www.ahref.org/tech/server/apacche/276.html



Apache 2.4からはソースにAPRとAPR-utilが同梱されなくなったので、自分でインストールしなくてはいけないらしい。

コンパイル時エラー
早速つまづきました…

checking for zlib location... not found

zlibがありませんよって事らしい
ちなみにzlibはデータの圧縮解凍関連のフリーのライブラリ
って事で
zlibのインストール、yumにて

yum install zlib-devel

zlibインストール後、もっかいApacheコンパイル

…エラーメッセージぽいのは出なかったので恐らくOK?

・ビルド
make

だーっとログが流れます、、結構長い
こちらもエラーっぽいのは出なかったのでOK

・インストール
make install

エラーメッセージは無さそう
って事でインストールは完了(だよね?)

2.設定

とりあえず基本的な設定を

vi /usr/local/apache/conf/httpd.conf 

Listen 80
↑ポート変更なら任意の番号に

ServerName localhost:80
↑任意のサーバー名

あれ、そんなにないや
ま、後々気づいた時に修正って事で

3.起動・停止チェック

起動
/usr/local/apache/bin/apachectl start
プロセス確認
ps ax|grep httpd

 7624 ?        Ss     0:00 /usr/local/apache/bin/httpd -k start
 7625 ?        S      0:00 /usr/local/apache/bin/httpd -k start
 7626 ?        S      0:00 /usr/local/apache/bin/httpd -k start
 7627 ?        S      0:00 /usr/local/apache/bin/httpd -k start
 7628 ?        S      0:00 /usr/local/apache/bin/httpd -k start
 7629 ?        S      0:00 /usr/local/apache/bin/httpd -k start

apacheのプロセス確認できればOK

停止
/usr/local/apache/bin/apachectl stop

4.Apache起動スクリプト作成

一応上記のコマンドでも起動・停止行えるがchkconfigコマンドでの自動起動設定できるように
起動スクリプト作成


※CentOS7の場合は起動スクリプト自動起動設定の方法が異なります、下記記事参考。
toriaezu-engineer.hatenablog.com

cp build/rpm/httpd.init /etc/rc.d/init.d/httpd
vi /etc/rc.d/init.d/httpd

httpd=/usr/local/apache/bin/httpd
pidfile=/usr/local/apache/logs/httpd.pid
CONFFILE=/usr/local/apache/conf/httpd.conf 

httpd=、pidfile=、CONFILE=
を環境に合わせて設定する

作成後は起動確認

/etc/init.d/httpd start
Starting httpd:                                            [  OK  ]

大丈夫みたい

5.Apache自動起動設定

chkconfigコマンドでの自動起動設定を行う

chkconfig --add httpd
chkconfig httpd on

実行しても何もメッセージ出ないので心配になりますが
これでサーバー起動時にも自動的にApacheが起動します

ちなみにchkconfigの確認

chkconfig --list | grep httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

ランレベル2~5で設定、基本的な設定らしいが…

6.ブラウザからの表示確認

「It works!」が表示されればOK
この状態が公開されているってなんか恥ずかしいですね・・


とりあえずこれでApacheインストールが完了し
webサーバー公開まで出来ました。