CentOS 6/apache2.2



前書き

ここでは Apache を RPM のパッケージでインストールする方法を記載します。


Apacheのインストール

# rpm -qa | grep http
httpd-2.2.15-15.el6.centos.1.x86_64
httpd-manual-2.2.15-15.el6.centos.1.noarch
httpd-tools-2.2.15-15.el6.centos.1.x86_64

足りないものがあれば下記のコマンドでインストール

# yum install httpd httpd-manual httpd-tools


モジュールのインストール

Apache2用のモジュールはたくさんあります。
運用に合わせて必要なモジュールをインストールします。
用意されているモジュールを確認する場合は下記のコマンドで調べることができます。

# yum list | grep  mod_


SSLの設定

VirtualHost を利用して複数ドメインで運用する場合は別途ドメイン毎の証明書の作成とSSL設定が必要です。

サーバー用秘密鍵・証明書作成

https用のSSL設定を行います。
ディレクトリを移動します。

# cd /etc/pki/tls/certs/

サーバー用の証明書有効期限を1年から10年に変更します。

# sed -i 's/365/3650/g' Makefile

サーバー用秘密鍵・証明書を作成します。

# make server.crt
umask 77 ; \
        /usr/bin/openssl genrsa -aes128 2048 > server.key
Generating RSA private key, 2048 bit long modulus
.......................................................................................................+++
...+++
e is 65537 (0x10001)
Enter pass phrase: (パスフレーズを入力)
Verifying - Enter pass phrase: (パスフレーズの再入力)
umask 77 ; \
        /usr/bin/openssl req -utf8 -new -key server.key -x509 -days 3650 -out server.crt -set_serial 0
Enter pass phrase for server.key: (サーバー鍵のパスフレーズを入力)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP(国名)
State or Province Name (full name) []:Tokyo(都道府県名)
Locality Name (eg, city) [Default City]:Minato(市区町村名)
Organization Name (eg, company) [Default Company Ltd]:example.net(組織名、サイト名)
Organizational Unit Name (eg, section) []:(部署名)
Common Name (eg, your name or your server's hostname) []:example.net(一般名、サーバー名)
Email Address []:webmaster@example.net(管理者メールアドレス)

サーバー用秘密鍵からパスワードを削除します。

# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:(サーバー鍵のパスフレーズを入力)
writing RSA key

Apache SSL設定の修正

設定ファイルを編集します。

# vi /etc/httpd/conf.d/ssl.conf
  • ドキュメントルートのPATH指定
    #DocumentRoot "/var/www/html"
     ↓↓
    DocumentRoot "/var/www/html"
  • サーバードメイン名を指定
    #ServerName www.example.com:443
     ↓↓
    ServerName example.net
  • サーバー用証明書のPATHを指定
    SSLCertificateFile /etc/pki/tls/certs/server.crt 
  • サーバー用秘密鍵を指定
    SSLCertificateKeyFile /etc/pki/tls/certs/server.key


自動起動設定

現在の起動設定を確認します。

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

すべて off になっている場合は下記のコマンドで on に変更します。

# chkconfig httpd on

再度確認します。

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


ログローテーションの設定

Apache の ログは デフォルト設定では /var/log/httpd/ 配下にあります。
ログファイルは logrotate のサービスによってローテーション処理されています。
Apache2 のローテーション管理は /etc/logrotate.d/httpd に設定されています。

# less /etc/logrotate.d/httpd
/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    delaycompress
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

この設定では /var/log/httpd/*log に該当するものがローテーション処理されます。
ログファイルを指定する場合はこれに該当するような命名をすると保守が楽になります。
個別にログファイルを指定する場合は下記の方法で行えます。
/etc/logrotate.conf に追記します。

# vi /etc/logrotate.conf
# system-specific logs may be also be configured here.
(ログファイルのフルPATH) {
        rotate 5
        weekly
        compress
        postrotate
        /etc/rc.d/init.d/httpd graceful ; sleep 5
        endscript
}




Last-modified: 2015-04-23 (木) 17:51:15 (1005d)