WEBサーバー:Apache

Apacheとは

現在最も使用されているフリーのサーバーソフトウェア。
WEBページを公開するにはこの種類のアプリケーションが必要。
サーバーソフトウェアには他に、IIS(Microsoft)、lighttpd等がある。

インストール

インストール
# yum install httpd
アンインストール
#yum remove httpd

起動/終了

起動
# service httpd start
終了
# service httpd stop
再起動
# service httpd restart

起動設定

自動起動設定
# chkconfig --level 3 httpd on
自動起動設定確認
# chkconfig --list httpd
httpd 0:off 1:off 2:off 3:on 4:off 5:off 6:off
と表示されると成功。

バージョン確認

httpd -v
または
apachectl -v

設定ファイル編集

設定ファイル編集後は、
service httpd restart
が必要

場所

/etc/httpd/conf/httpd.conf

エラーページ

エラーページ等でサーバー情報を表示しない
ServerSignature On

ServerSignature Off

サーバー名

#ServerName www.example.com:80

ServerName office-yone.com:80

ポート番号

Listen 80

外部設定ファイル読み込み

Include (ファイルパス)

モジュール読み込み

LoadModule (モジュール名) (モジュールファイルパス)

ログ出力設定

access.log
CustmLog "logs/access.log" common
#CustmLog "logs/access.log" combined

error.log
ErrorLog "logs/error.log"

モジュール

LoadModule (モジュール名) (モジュールファイルパス)

mod_rewriteモジュール

URLの書き換えを行うモジュール
ユーザー(検索エンジン)からのリクエストURLを変更し別URLへリダイレクトする
アパッチは個別の機能を持つ各モジュールをアパッチサーバー起動時に読み込む
Webサーバに対する静的なURL要求→動的URLへの書き換え
(WordPressで利用)
※httpd.conf
rewrite_module読み込み
#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so
<Directory />
 400~500~エラー時でも独自のページへ遷移させる場合
 ErrorDocument (ステータスコード) (遷移先ページパス)
 ErrorDocument 503 /maintenance.html
 

 書き換え実行設定
 RewriteEngine On
 

 実行条件
 RewriteCond (実行条件)
 RewriteCond %{REQUEST_URI} !=/maintenance.html
 

 書き換え
 RewriteRule (書き換え前) (書き換え後)
 RewriteRule ^old/test\.html$ new/test.html
 RewriteRule ^.*$ – [R=503,L]
 
</Directory>

Tomcat連携

リバースプロキシ設定を行うモジュール
プロキシサーバー/リバースプロキシ」参照
※httpd.conf
proxy_module読み込み
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#proxy setting
Include conf/httpd-proxy.conf
※httpd-proxy.conf
<Location />
 ProxyPass ajp://localhost:8009/AppTest/
</Location>

公開ディレクトリ

<Directory "/var/www/html">
 Options Includes FollowSymLinks
 AllowOverride None
</Directory>

.htaccess設定

サイト毎に設定を分ける場合に利用
.htaccessファイルを自分で作成し公開ディレクトリに配置する事で優先的に.htaccessの設定値が利用される。
WordPressにおいて、投稿名によるパーマリンク設定を行う場合には必須
AllowOverride None

AllowOverride All

Options

オプション 意味
All 全て許可
None 全て不許可
ExecCGI CGIを許可
FollowSymLinks シンボリックリンクを許可
Includes SSIを許可
IncludesNOEXEC execを除くSSIを許可
Indexes ファイル一覧表示を許可
SymLinksIfOwnerMatch ファイル所有者に限り、シンボリックリンクを許可

エラー表示

php_value display_errors on
php.ini等よりこちらが優先される