まず共通ディレクトリの設定を行う。
仮想ホスト、ユーザー別の設定等でその都度を
書かなくても済むように共通に有効となるファイルを設定する
#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 件のコメント:
コメントを投稿