2008年5月26日月曜日

■apache2.2の設定

まず共通ディレクトリの設定を行う。
仮想ホスト、ユーザー別の設定等でその都度
書かなくても済むように共通に有効となるファイルを設定する

#nano /etc/apache2/conf.d/directory_settings
として新規にファイル作成し、以下の通り書き込む


Options All # ←CGI等用に
Options -Indexes # ←ディレクトリ一覧表示しないため
AllowOverride All # ←.htaccessで設定上書き用
Order allow,deny
allow from all # ←全ホストからアクセス


以上で保存。

次にメインのサイトの設定を行う
# cd /etc/apache2/sites-available/
# cp default my_site
# nano my_site
共通ディレクトリ<directory>は上記で設定したので以下では消去した

ログ用のディレクトリを作成する。/var/logは廃止する。
あらかじめ
#mkdir /home/www-logを作成しておく


NameVirtualHost *

ServerAdmin mail@localhost # ←管理者メールアドレス

DocumentRoot /var/www/html # ←HTMLとか、置く場所

# ↓ログは、/var/logに保存しないようにしている
ErrorLog /home/www-log/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

customlog /home/www-log/access.log combined

Alias /doc/ "/usr/share/doc/"

異なるホストはここに続けて記述し、保存する
以上

# a2dissite default ← defaultを無効にする
# a2ensite my_site ← my_siteを有効にする

設定を変えたので再読込と再起動する
# /etc/init.d/apache2 reload  ← 再読込み
# /etc/init.d/apache2 restart ← 再起動


もしものエラーメッセージ
apache2: Could not determine the server's fully qualified domain name,
using 127.0.0.1 for ServerName
とかが出たら
httpd.confに
ServerName 127.0.0.1
を記述しておく
もしくは、DNSの逆引き設定を行うか
あるいは/etc/hostsに ホスト.ドメインなどを追加してやる。
以上

ユーザー別のディレクトリの設定
すでに共通のディレクトリ設定をおこなっていますので
/etc/apache2/mods-available/usrdir.confにて

<Directory />
 #を付してコメントアウトしておく
</Directory>
以上

CGIを有効にしておく設定
#nano /etc/apache2/conf.d/enable_cgiというファイルを作成する。
中に
AddHandler cgi-script.cgi
と記述して保存する。
以上 ←しかしこの設定はエラーが出たので後で削除しました。

以上 参照URLhttp://d.hatena.ne.jp/satake7/20080212


ユーザー毎のディレクトリを有効にした
~USERNAME/public_html/を有効にする
# /usr/sbin/a2enmod userdir
# /etc/init.d/apache2 restart
とした
以上

文字コードの設定
# nano /etc/apache2/conf.d/charset
AddDefaultCharset EUC-JP
設定ファイルの再読込
# /etc/init.d/apache2 reload
サービスの再起動
# /etc/init.d/apache2 restart

以上 ←しかしこの設定も未設定

*********************************************

mod_rewiteの設定

mod_rewiteを用い、動的URLを静的URLにリアルタイムに書き換える設定
# usr/sbin/a2enmod rewrite
# cd /etc/apache2/sites-available/my_site

<Directory /var/www/html/>
  ・
  ・
  ・
 Options FollowingSymLinks
RewriteEngine ON
RewriteCond %{REQEST_FILNAME} !-f
RewriteCond %{REQEST_FILNAME} !-d
RewriteRule ^(.*)$ index.html?q=$1 [L,QSA]

  ・
  ・
以上の書き込み追加と保存まで

Digest認証の設定
できればBasic認証より安全なDigest認証にしたい

# usr/sbin/a2enmod auth_digest        ←auth_digestを有効にする
# nano /etc/apache2/sites-available/my_site  ←追加編集
<Directory /var/www/html/nins/>
  AuthType Digest
AuthName "Member's Only"
AuthDigestDomain /nins/
AuthUserFile /etc/apache2/.htdigest
Require user USERNAME

以上
続いて認証ユーザの登録も
# htdigest -c /etc/apache2/.htdigest "Member's Only" USERNAME
# chmod o+r /etc/apache2/.htdigest
以上

以上 参照URLhttp://www.mkjinet.com/etch/apache2/

0 件のコメント: