Apach

Last-modified: 2012-04-28 (土) 19:27:54

Apach

パッケージ名はhttpd
Apachのあの字も無い

インストール

yum install httpd

または

yum update httpd

でインストール完了

バージョン

現在以下のようになっている
とりあえず2.2で様子見かなぁ

2012/04/24現在
2.4.2 - 2012年4月17日
2.2.22 - 2012年1月31日
2.0.64 - 2010年10月19日

ポート

/etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 80 -j ACCEPT

と記述し

/etc/init.d/iptables restart

でおk
もしくわ

system-config-securitylevel

で設定してやっても問題なし
デフォルトならば80をあけていれば何でもおk

設定

/etc/httpd/conf/httpd.confを編集

待ちうけポートの変更

Listen 81

読み込みディレクトリの変更

DocumentRoot "/var/www/html/root_dir"
<Directory "/var/www/html/root_dir">

と変更することでデフォルトで読み込まれるファイルが
/var/www/html/root_dir下のindex.htmlに変更される

Auth認証

設定ファイル

<Directory "/var/www/html/Auth">        #認証を要求するディレクトリ
    AuthType Basic                      #認証方式
    AuthName "Basic 認証"               #認証名
    AuthUserFile /etc/httpd/Auth/password  #認証をするためのファイル
    Require user user1                  #認証を要求するユーザー名
</Directory>

認証ファイル作成

初回のみ "-c" オプションを必要とする

htpasswd -c /etc/httpd/Auth/password user1

でパスワードを入力すると/etc/httpd/Auth/user1というファイルができる
2回目以降は同じファイルに追加したい場合 "-c" オプションは必要ない

httpsの構築

結構面倒くさい

準備

1.OpenSSLのインストール
2.mod SSLのインストール
3.証明書をどうにかする
これらをまず行う必要がある

1.OpenSSL

http://www.openssl.org/source/

でパッケージをDL

tar zxvf openssl-0.9.8w.tar.gz
cd openssl-0.9.8w
./config --prefix=/usr/local/openssl
make
make test
make install

2.mod SSLのインストール

yum install mod_ssl

終了

3.証明書あれこれ

めんどうなのでやってない

4.ポート

443あける

リダイレクト

mod_rewrite有効化

インストールする

httpd.confを以下のように書き換える

#LoadModule rewrite_module modules/mod_rewrite.so
↓コメント外す
LoadModule rewrite_module modules/mod_rewrite.so

httpd.conf最後に以下の分を書き加える

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteLog "logs/rewrite_log"
 RewriteLogLevel 0
 RewriteCond %{SERVER_PORT} !^443$
 RewriteRule ^/hogehoge/(.*)?$ https://%{HTTP_HOST}/hogehoge/$1 [L,R]
</IfModule>

RewriteEngine moduleのonf/off
RewriteLog logの出力先
RewriteLogLevel logレベル基本的に0
RewriteCond ここで設定した条件に当てはまった場合、以下のRuleでリダイレクトを行う
RewriteRule リダイレクトルール
設定例では
http://www.imymeminecraft.dip.jp/hogehoge/ というように、/hogehogeというディレクトリにアクセスがあった場合httpsにredirectする