CentOS/RHELに Apache2.2 を yum でインストールする方法と、いつもやる最低限の初期設定を書きます。
■ Apache2.2 と mod_ssl (yum配布版rpm)
(1) インストール
SSLを入れない理由もないので mod_ssl も同時に入れます。
# yum -y install httpd mod_ssl
(2) ファイル構成
/etc/httpd/conf/httpd.conf /etc/httpd/conf.d/README /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/welcome.conf
この中で重要なのはメインの設定ファイル httpd.conf です。
SSLの設定は ssl.conf で行います。
(3) 設定
メインの設定
/etc/httpd/conf/httpd.conf
KeepAlive On KeepAliveTimeout 2 <IfModule prefork.c> ... ... ServerLimit 100 ※MaxClientsと同じにする MaxClients 100 ※メモリに応じ 100 程度から調整 MaxRequestsPerChild 1000 ※メモリリークを抑えるため 1000以下 </IfModule> # Includeの前に名前ベースのバーチャルホストの宣言 NameVirtualHost *:80 NameVirtualHost *:443 Include conf.d/*.conf <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory "/var/www/html"> Options -Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> DirectoryIndex index.html index.html.var index.htm index.shtml index.phtml index.hdml index.php index.cgi index.pl index.xml LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW #コメントアウトしないと文字化けする場合がある #AddDefaultCharset UTF-8 AddHandler cgi-script .cgi .pl AddType text/html .shtml .html AddOutputFilter INCLUDES .shtml .html
バーチャルホストの設定(ファイルを作成)
/etc/httpd/conf.d/vhosts.conf
# 未定義の場合にデフォルトのDocumentRootを表示 <VirtualHost _default_:80> </VirtualHost> #バーチャルホストの設定 <VirtualHost *:80> #ServerAdmin admin@HOSTNAME DocumentRoot /home/USERNAME/public_html ServerName HOSTNAME ServerAlias DOMAINNAME SetEnvIf Request_URI "\.(gif)|(jpg)|(jepg)|(png)|(js)|(css)|(swf)|(flv)|(hta)$" nolog ErrorLog logs/HOSTNAME-error_log CustomLog logs/HOSTNAME-access_log combined env=!nolog </VirtualHost>
SSLのデフォルト設定(特にSSL使わない場合)
/etc/httpd/conf.d/ssl.conf
<VirtualHost _default_:443> #<VirtualHost xxx.xxx.xxx.xxx:443> ← IPベースの場合はIPを指定 #ErrorLog logs/ssl_error_log ErrorLog logs/error_log ← SSLじゃないログと統合する #TransferLog logs/ssl_access_log CustomLog logs/access_log combined ← SSLじゃないログと統合する LogLevel warn ... ... #コメントアウト #CustomLog logs/ssl_request_log \ # "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost>
Apache(httpd)を再起動
# /etc/rc.d/init.d/httpd start