2013年3月19日火曜日

apache2 その2

前回の記事を元に
sites-available
sites-enabled
を編集していけば良い事が分かった。

なので~
今回はバーチャルホストの設定に進んでみることにする。

今回参考にするサイト一覧

http://d.hatena.ne.jp/UDONCHAN/20101027/1288155504
http://linuxer.seesaa.net/article/41624641.html

http://sj6.org/apache2%E3%81%AE%E7%90%86%E8%A7%A3%E3%82%92%E6%B7%B1%E3%82%81%E3%82%8B/

http://www.infra.jp/debian/apache2_ab.html
http://hishou.ddo.jp/modules/pico/index.php?content_id=19



まずはsites-available
サイト定義ファイルが置かれるディレクトリに置かれているdefaultをバックアップ
sudo cp default default_2013_03_18
その後編集するファイルをコピー
sudo cp default domain_s
以降domain_sを変更していく事にする。
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

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

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
以下説明
NameVirtualHost
ネームベースのバーチャルホスト (一つの IP アドレスに複数のウェブサイト)を設定したいときに必要となるもの
そんなときはIPを指定するのですが、現在は*でOK。
つまり、192.168.100.999:80 みたいにして書くのかしら。

<virtualhost>~</virtualhost>
特定のバーチャルホストに対してのみ適用されるディレクティブ群を括るためのもの
バーチャルホストを設定する場合は*の部分にIPアドレスを入力しますが、
こちらも*でOK。
他にこの階層に記述してあるものを見てみます。

---------------------------------------------------------------------------------
以下サイトに記載されていたもの
ServerAdmin webmaster@localhost
    -->管理者のメールアドレスです。
DocumentRoot /var/www/
    -->ドキュメントルートの場所です。
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
-->対象ディレクトリに mod_cgi の cgi-script ハンドラで処理される CGI スクリプトがある場合、ドキュメントを ローカルファイルシステムの DocumentRoot 以外の場所に保管することができます。
この場合は、/cgi-bin/ ディレクトリから処理対象CGIが呼び出された場合、/usr/local/cgi_bin ディレクトリにあるファイルが呼び出されます。

うん、意味不明・・・

ErrorLog /var/log/apache2/error.log
    -->サーバがエラーログを収集する場所を指定しています。
LogLevel warn
-->ログに記録するメッセージのレベルを設定します。

emerg,alert,crit,error,warn,notice,info,debugの8種で、運用時はnotice,warn、テスト時はinfo,debugを指定することが多い。
CustomLog /var/log/apache2/access.log combined
-->サーバへのリクエストログを収集する場所を指定します。

2番目の引数はログの書式で、よく使われるものは以下のとおり。

Common Log Format (CLF)
    "%h %l %u %t \"%r\" %>s %b"
バーチャルホスト付き Common Log Format
    "%v %h %l %u %t \"%r\" %>s %b"
NCSA extended/combined ログ書式
    "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
Referer ログ書式
    "%{Referer}i -> %U"
Agent (ブラウザ) ログ書式
    "%{User-agent}i"

ServerSignature On
-->サーバが生成するドキュメントに付与するフッタの設定で、on|Off|Emailがあり、
OnにするとServerNameに書かれた行を追加し、EmailはさらにServerAdminを追加します。
Alias /doc/ "/usr/share/doc/"
-->ドキュメントを ローカルファイルシステムの DocumentRoot 以外の場所に保管することができます。
この場合は、/doc/ ディレクトリからファイルが呼び出された場合、/usr/share/doc/ ディレクトリにあるファイルが呼び出されます。

あとは、ServerNameを追加します。
ServerName
-->サーバが自分自身を示すホスト名とポートです。例えば、www.example.com:80のように設定します。

ServerAdmin webmaster@localhost
DocumentRoot /var/www

Options FollowSymLinks
    #FollowSymlinks:ディレクトリ内でシンボリックリンクをたどれるようなる

AllowOverride None
    #.htaccess で許可されるディレクティブの種類を設定します。以下のキーワードから設定します。
        ALL:.htaccessの全てのディレクティブを許可
        None:.htaccessが無効
        AuthConfig:認証に関するディレクティブの使用を許可
        FileInfo:ドキュメントタイプを制御するためのディレクティブの使用を許可
        Indexes:ディレクトリインデックスを制御するためのディレクティブの使用を許可
        Limit:ホストへのアクセス制御を行うためのディレクティブの使用を許可
        Options:特定のディレクトリにおける機能を指定するためのディレクティブの使用を許可
 




Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
    #サーバのある領域にアクセスできるホストを制御します。
        設定できる値は、ドメイン(とその一部)やIPアドレス
        (とその一部)、ネットワーク/ネットマスク の対、ネットワーク/nnn CIDR 指定が設定できます。
        例> Allow from 10.1.2.3

#Deny
#Allowと同様の形式でアクセスを拒否するホストを制御します。


       


        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
       
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny

    #デフォルトのアクセス可能な状態と、Allow と Deny が評価される順番を制御します。
    #Deny,Allow:Denyが Allowの前に評価。アクセスはデフォルトで許可。
    #Allow,Deny:AllowがDenyの前に評価。アクセスはデフォルトで拒否。
    #Mutual-failure:Allow,Denyと同様で、非推奨設定。



Allow from all
       


        ErrorLog ${APACHE_LOG_DIR}/error.log

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

        CustomLog ${APACHE_LOG_DIR}/access.log combined




混乱してきた。
とりあえず設定を反映させてみよう 
----------------------------------------------------------------

はい、だめー。。。

後半へ続く

0 件のコメント :

コメントを投稿