CentOS 6 で Apache HTTP Server を構築する時の基本を確認します。CentOS 6 の Apache は httpd 2.2 系を前提とするため、CentOS 7 以降や Apache 2.4 の設定とは書き方が異なります。古い環境を読む時は、この違いを意識します。
CentOS 6 の Apache で見ること
httpdサービスの起動状態/etc/httpd/conf/httpd.confとconf.d- DocumentRoot と VirtualHost
- アクセス制御の書式
- ログの場所
- SELinux と iptables
Apache 2.2 系では、アクセス制御に Order、Allow、Deny を使う構成が一般的です。Apache 2.4 の Require 前提で読むと混乱します。
インストールと起動確認
yum install httpd
chkconfig httpd on
service httpd start
service httpd status
httpd -v設定ファイルの確認
httpd -t
grep -E "^(ServerName|DocumentRoot|Listen)" /etc/httpd/conf/httpd.conf
ls -l /etc/httpd/conf.d
tail -f /var/log/httpd/error_loghttpd -t で文法確認を行い、ログを見ながら起動状態を確認します。古い環境では、複数の conf.d ファイルが継ぎ足されていることがあります。
VirtualHost の基本例
<VirtualHost *:80>
ServerName www.example.local
DocumentRoot /var/www/example
<Directory /var/www/example>
Order allow,deny
Allow from all
</Directory>
ErrorLog logs/example-error_log
CustomLog logs/example-access_log combined
</VirtualHost>Apache 2.2 の古い書式では、Order と Allow の意味を確認する必要があります。外部公開する場合は、ディレクトリ単位の公開範囲を慎重に見ます。
確認コマンド
service httpd reload
curl -I http://127.0.0.1/
netstat -lntp | grep :80
iptables -L -n
getenforceApache が起動していても、iptables や SELinux によって外部から見えない場合があります。Web サーバーの確認では、httpd、OS の通信制御、ログを分けて確認します。
まとめ
CentOS 6 の Apache は httpd 2.2 系の前提で読む必要があります。サービス、設定ファイル、VirtualHost、アクセス制御、ログ、iptables、SELinux を分けて確認すると、古い Web サーバー構成を読み解きやすくなります。
関連する記事
- CentOS 6 サーバー管理ガイド
CentOS 6 系の記事を役割別に確認できるハブページです。 - CentOS 6 Yum EPEL リポジトリ設定
追加パッケージ利用の前提を確認します。 - CentOS 6 rsyslog ログサーバー構築
ログ基盤との関係を確認します。
参考書籍
参考書籍
参考書籍
ストーリーで覚える Linux CLI 入門
CentOS 6 のような古い Linux サーバー記事を読み直す時にも、コマンドライン操作の考え方を確認しやすい参考書籍です。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
CentOS 6 Apache Web サーバー構築 – httpd 2.2 系の基本

