さくらVPS/CentOS 6.4 Apache 2.2導入[Railsサーバへの道]


さくらVPS 2GB SSDのCentOS 6.4にApacheを導入するための手順です。ApacheはもっともメジャーなWebサーバのひとつで、競合にはnginxがあります。Webサーバはミッション・クリティカルですので、エンジニアさんの慣れた方をチョイスしてください。


😀 Apacheのインストール確認

まずは、Apacheのインストール済かどうかを確認します。

yum list installed | grep httpd
> httpd.x86_64 2.2.15-15.el6.centos.1
> httpd-devel.x86_64 2.2.15-15.el6.centos.1
> httpd-tools.x86_64 2.2.15-15.el6.centos.1

上のような結果がでるならすでにインストール済なのでApacheの設定へ。
まだインストールしていないなら次のコマンドを実行。

sudo yum install httpd httpd-devel

🐹 Apacheの設定

設定の実施前にhttpd.confのバックアップを取る。

sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org

Apacheの設定を行う。
sudo vim /etc/httpd/conf/httpd.confを実行して以下を編集。

# 44行目 OS情報を表示しないようにする
ServerTokens Prod

# 150行目以降の LoadModule ...の部分について
# 下は使いそうなモジュールだけ残しています。
# 他はコメントアウトしてください(#を先頭につける)
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule env_module modules/mod_env.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule info_module modules/mod_info.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule substitute_module modules/mod_substitute.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule version_module modules/mod_version.so

# 262行目 自分のメールアドレスに変更
ServerAdmin email@example.com

# 331行目 -(ハイフン)を追加
Options -Indexes FollowSymLinks

# 536行目 OS情報を表示しないようにする
ServerSignature Off

# キャッシュ強化(以下の行を追加)
# Apache Expire Header
ExpiresActive On
ExpiresByType application/javascript "access plus 1 days"
ExpiresByType application/x-javascript "access plus 1 days"
ExpiresByType text/javascript "access plus 1 days"
ExpiresByType text/css "access plus 1 days"
ExpiresByType image/jpeg "access plus 3 days"
ExpiresByType image/png "access plus 3 days"
ExpiresByType image/gif "access plus 3 days"
ExpiresByType image/x-icon "access plus 3 days"

# ETags
FileETag MTime Size

設定が完了したら、チェック。

sudo apachectl configtest
> Syntax OK <= 成功< span>

Apacheを起動および、自動起動を設定。

sudo service httpd start
sudo chkconfig httpd on

自動機能の確認。次のようになっていれば成功。

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

👽 参考リンク

さくらのVPS を改めて使いはじめる 4 – Apache をセットアップする

🎉 変更来歴

12/23 11:40キャッシュ強化のための設定を追加
09/22 14:55 CentOS 6.4対応 & 記述ミスの修正

🎃 検証環境

今回の記事の検証環境は以下のとおりです。

Local/Server:
  Ruby: 2.0.0
  Rails: 4.0.0

Local:
  OS: Mac Mountain Mountain Lion(macOS 10.8.4)

Server(さくらVPS 2G SSD):
    CentOS release 6.4 (Final)

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍