サーバー構築 セキュリティ TCP/IP基礎 TIPS 書籍 ブログ

Web全体 サイト内検索

 サーバー構築導入編
はじめにお読みください
自宅サーバー構築前の準備
固定IPアドレスのススメ
参考:自宅サーバー環境
 ルータ設定編
ルータとは何か/ルータの賢い選び方
手動でIPアドレスを設定する
NAT/IPマスカレードとDMZの違い
 Apacheでのサーバー構築
WWWサーバー構築の流れ
Apache2.0の導入/インストール
Apacheの構造
Apache とにかくこれがやりたい!
ブラウザでの確認/Webページ公開
Apache(1.3)の設定 PART①
Apache(1.3)の設定 PART②
制御ファイル「.htaccess」
付録:Apacheの設定 索引
AN HTTPDの設定
ApacheLogViewer でアクセスログ解析
 DynamicDNSを利用する編
Dynamic DNSとは?
Dynamic DNSの管理
無通信状態での自動切断の防止策
急げ!新ドメインは早いもの勝ち!
 FTPサーバーの構築編
War FTPのインストール[ Ver.1.82 ]
War FTPの設定[ Ver.1.82 ]
War FTPの設定:基礎編 [ Ver1.65 ]
FTPサーバーの動作確認/ログイン
コラム:パーミッションの設定
FTPコマンドでファイル転送する
TFTPサーバーの構築/コマンド
 メールサーバーの構築編
メールサーバーソフトのインストール
メールサーバーソフトの基本設定
 VNCサーバーの構築編
TightVNCによるVNCサーバーの構築
 バックアップ編
True Imageのインストール
True Imageによるイメージバックアップ
True Imageによるバックアップからの復元
 自宅サーバー関連書籍

「全部フリーソフトで作るシリーズ」のWindowsXP版。初心者でもわかりやすい解説で人気のある1冊です。これから初めてサーバー構築する方には特にオススメ!


Apache2の逆引きリファレンス。知りたいと思ったディレクティブが簡単に引けて大変重宝しています。内容も非常に濃いのでこんな機能があったのか~と思わず感動してしまう事も。お勧め。
 レンタルサーバー
Xbit(エクスビット)
さくらインターネット
ロリポップ!
 個人情報(IPアドレス)の確認
SSI環境変数
 関連ソフトウェアDOWNLORD
AN HTTPD
Apache
BlackJumboDog
Tiny FTP
War FTP
3CDaemon
ArGoSoft Mail Server
DiCE
九十九電機




次にセクション2の「'Main' Server Configuration」を説明していきます。ディレクティブが有効な場合は「赤の太字」、ディレクティブを無効にしている場合はハッシュマーク(#)を付け足して、「青の太字」で記述しています。



### Section 2: 'Main' server configuration
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# <VirtualHost> definition. These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
#
# All of these directives may appear inside <VirtualHost> containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#

#
# Port: The port to which the standalone server listens. Certain firewall
# products must be configured before Apache can listen to a specific port.
# Other running httpd servers will also interfere with this port. Disable
# all firewall, security, and other services if you encounter problems.
# To help diagnose problems use the Windows NT command NETSTAT -a
# 
Port 80
⇒ポート番号
WWWサーバー(http)は通常80番を使用するので特に変更する必要はありません。ASSLを用いる場合は、HTTPSとして割り当てられている443番、社内などの限られた範囲で使用する場合には 8080番を用いるのが一般的です。もし。80番以外を使用する場合は、他のサービスで使用されている番号以外、特にウェルノウンポート以外の番号を用いるようにしてください。

#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents.
# 
ServerAdmin koro@mydomain.com
⇒エラーメッセージの送付先(サーバーの管理者)
インストール時に記入したメールアドレスが表示されています。これは、致命的なエラーが発生した際にWebマスターとして登録されているE-Mailに送るようになっています。その送り先を指定しているのがServerAdminのディレクティブです。送り先を変更したい場合は各自で変更してください。

#
# ServerName allows you to set a host name which is sent back to clients for
# your server if it's different than the one the program would get (i.e., use
# "www" instead of the host's real name).
#
# Note: You cannot just invent host names and hope they work. The name you
# define here must be a valid DNS name for your host. If you don't understand
# this, ask your network administrator.
# If your host doesn't have a registered DNS name, enter its IP address here.
# You will have to access it by its address (e.g., http://123.45.67.89/)
# anyway, and this will make redirections work in a sensible way.
#
# 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your
# machine always knows itself by this address. If you use Apache strictly for
# local testing and development, you may use 127.0.0.1 as the server name.
# 
ServerName kororo.dyndns.org
⇒サーバー名
インストール時に記入したホスト名、もしくはIPアドレス(127.0.0.1など)が表示されています。LAN内での動作確認を行った後は、本格的な公開前に必ず独自のドメイン名、あるいはDynamic DNSサービスで取得したサブドメイン名を入力しておくようにしてください。


#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
# 
DocumentRoot "C:/Program Files/Apache Group/Apache/htdocs"
⇒ドキュメントルート(公開ディレクトリ)
Webコンテンツのルート(最上位)ディレクトリを指定します。デフォルトでは「C:/Program Files/Apache Group/Apache/htdocs」となっていますが、好きな場所に指定しても構いません。個人的には、デフォルトだと階層が奥深いこともあり、管理面で面倒くさい事も多いので違うドライブを指定しています(例:G:/Public_Html ) 。なお、ここで指定したディレクトリのみが公開の対象となり、これより上位のディレクトリへはアクセスできないようになります。

#
# Each directory to which Apache has access, can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# permissions.
# 
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
⇒ルートディレクトリのアクセス権
ルートディレクトリのアクセス権を設定します。ここでは、シンボリックリンクの使用を許可し、「.htaccess」を用いた固有のアクセス権は認めない指定になっていますが特に変更する必要はありません。なお、CGIを使用する際には「Options ExecCGI」のように「ExecCGI」を付け加えます。

■all Multiviews以外の全てのオプションを指定します。
■Indexes インデックスの一覧表示を許可します。
■Includes SSIの使用を許可します。なお、「IncludesNoExec」とすることでExecコマンドとCGIのincludeは含まなくなります。
■ExecCGI CGIの使用を許可します。

#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#

#
# This should be changed to whatever you set DocumentRoot to.
# 
<Directory "C:/Program Files/Apache Group/Apache/htdocs">

#
# This may also be "None", "All", or any combination of "Indexes",
# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
Options Indexes FollowSymLinks MultiViews

#
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
#
AllowOverride None

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
⇒ドキュメントディレクトリのアクセス権
Options Indexes FollowSymLinks MultiViews
<Directory>・・・</Directory>の範囲は、ドキュメントディレクトリへのアクセス権を設定しています。デフォルトでは、インデックスの一覧表示とシンボリックリンクを許可しています。ウィンドウズにはシンボリックリンクの機能がないので、コメントアウトしても構いません。

AllowOverride None

アクセス権を指定していません。

Order allow,deny
4行目の「Order allow,deny」では、アクセス「allow(許可)」と「deny(拒否)」の評価の順番を指定しています。この指定では、それ以下に「Allow」と「Deny」の両方が指定されていた場合、「Allow」の指定を先に処理し、「Deny」の指定を後から処理しています。指定に矛盾が生じた場合には後から処理したものが有効となります。

Allow from all
5行目の「Allow from All」では、アクセスの制限を指定しています。「Allow from All」だと、「アクセス制限を設けない」=「全てのアクセスを許可する」という設定になっています。仮に制限を設けたい場合は、IPアドレス、またはホスト名(FQDN)のいずれかで指定することになります。以下の例を参考にしてください。

◎アクセス制限の設定例

Allow from 192.168.0.150 ←「192.168.0.150」のIPアドレスだけ受け入れる。
Deny from 192.168.0.150 ←「192.168.0.150」のIPアドレスだけ拒否する。
Allow from 192.168.0 ←「192.168.0」を含む全てのホストを受け入れる。
Allow from koro.mydomain.com ←「koro.mydomain.com」のホストだけ受け入れる(小分類)。
Allow from mydomain.com ←「mydomain.com」のホストだけ受け入れる(大分類)。


#
# UserDir: The name of the directory which is appended onto a user's home
# directory if a ~user request is received.
#
# Under Win32, we do not currently try to determine the home directory of
# a Windows login, so a format such as that below needs to be used. See
# the UserDir documentation for details.
# 
<IfModule mod_userdir.c>
UserDir "C:/Program Files/Apache Group/Apache/users"
</IfModule>
⇒ユーザーのホームディレクトリ
ユーザー個別のディレクトリの作成を行うモジュールの「mod_userdir.c」の指定を行います。「IfModule」は「モジュールが組み込まれている場合は」という判断を行い、もし組み込まれている場合にはその指定をおこなうようになっています。デフォルトでは「C:/Program Files/Apache Group/Apache/users」となっています。個人用ディレクトリを作成する場合は、随時、パスを変更してください(参考:「個人用ディレクトリの作成」)。

#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#
#<Directory "E:/Apache/users">
# AllowOverride FileInfo AuthConfig Limit
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# <Limit GET POST OPTIONS PROPFIND>
# Order allow,deny
# Allow from all
# </Limit>
# <LimitExcept GET POST OPTIONS PROPFIND>
# Order deny,allow
# Deny from all
# </LimitExcept>
#</Directory>

#
# DirectoryIndex: Name of the file or files to use as a pre-written HTML
# directory index. Separate multiple entries with spaces.
# 
<IfModule mod_dir.c>
DirectoryIndex index.html
</IfModule>
⇒ディレクトリインデックス(索引)表示
ディレクトリインデックス表示の作成を行うモジュールが組み込まれているかどうかを判断し、もし組み込まれていた場合には、その指定を行います。ディレクトリインデックスとは、Webページを最初に表示するファイルのことで、通常は「index.html」となっています。しかし、「http://win.kororo.jp」のような場合、「index.html」の表記が省略されています。この時、クライアントからファイル名の指定がないリクエストを受けたときに、はじめに検索するファイル名を指定するものです。一般的には「index.html」ですが、仮に間違って「index.htm」のようにしてしまった場合は、そのWebページにアクセスすることができなくなるので、以下のように考えられる全てのインデックスファイルを記述しておくのも良いでしょう。

例:)
<IfModule mod_dir.c>
DirectoryIndex index.html index.htm welcom.html welcom.htm default.html default.htm
</IfModule>


まぁ、実際はこのようなことをしなくてもちゃんと「index.html」を置いておけば問題ないわけです。

#
# AccessFileName: The name of the file to look for in each directory
# for access control information.
# 
AccessFileName .htaccess
⇒個別ディレクトリのアクセス制御ファイル名
公開するディレクトリ中で特定のディレクトリだけを公開したり、アクセスできないようにしたりすることができます。ここで指定したファイルに記述されている内容をアクセス権として設定します。アクセス制御ファイルとして、一般的には「.htaccess」というファイル名が使われます。アクセス制御ファイルについては「AN HTTPDの設定」でも説明しましたが、AN HTTPDでは「.www_browsable」を作成してアクセス制御を行っています。

#
# The following lines prevent .htaccess files from being viewed by
# Web clients. Since .htaccess files often contain authorization
# information, access is disallowed for security reasons. Comment
# these lines out if you want Web visitors to see the contents of
# .htaccess files. If you change the AccessFileName directive above,
# be sure to make the corresponding changes here.
#
# Also, folks tend to use names such as .htpasswd for password
# files, so this will protect those as well.
# 
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>
⇒.htaccessドキュメントへのアクセス権
<Files ~ "^\.ht">
上記で説明した「.htaccess」ファイルはアクセス制限を行うディレクトリの中へ格納します。しかし、アパッチのバージョンによってはWebブラウザなどで正確にパスを記述すると、その中身を閲覧することが可能となってしまいます。そこで、このディレクティブでは「.ht」で始まるファイル名には基本的にアクセスできないように指定しています。

Deny from all

「.htaccess」のファイルが格納されたディレクトリはアクセスを拒否するという設定です。

Satisfy All
ファイルへのアクセス条件を設定するためのディレクティブです。指定値は「Any」と「All」があります。「Any」にすると、アクセス時に要求されるユーザー名とパスワードの組み合わせだけが正しいか、またはアクセス許可されているホストからのアクセスであるかのどちらかの条件を満たせば、アクセスを許可します。「All」にした場合は、その両方を満たさない限りアクセスを許可しません。厳格にアクセス制限かける場合には「All」のままにしておいてください。

 

#
# CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each
# document that was negotiated on the basis of content. This asks proxy
# servers not to cache the document. Uncommenting the following line disables
# this behavior, and proxies will be allowed to cache the documents.
#
#CacheNegotiatedDocs

#
# UseCanonicalName: (new for 1.3) With this setting turned on, whenever
# Apache needs to construct a self-referencing URL (a URL that refers back
# to the server the response is coming from) it will use ServerName and
# Port to form a "canonical" name. With this setting off, Apache will
# use the hostname:port that the client supplied, when possible. This
# also affects SERVER_NAME and SERVER_PORT in CGI scripts.
# 
UseCanonicalName On
⇒仮想ホストにおけるホスト名の扱い
Webサイトを参照するURLを作成する場合に、ServerNameディレクティブとPortディレクティブで指定したものを使用するかどうかを指定します。デフォルトの「On」の設定のままで構いません。「On」になっているとCGIで「SERVER_NAME」や「SERVER_ROOT」を参照する場合に便利となります。「Off」に指定した場合は、クライアントが指示したURLがそのまま使われます。

#
# TypesConfig describes where the mime.types file (or equivalent) is
# to be found.
# 
<IfModule mod_mime.c>
TypesConfig conf/mime.types
</IfModule>
⇒MIMEタイプ記述ファイル
ディレクトリのインデックス表示を行うモジュールである「mod_mine.c」が組み込まれているかどうか判断し、もし組み込まれている場合にはその指定を行います。このディレクティブではMIMEに関する設定を記述したファイルを指定するためのもので、デフォルトでは「conf」フォルダにある「mime.types」ファイルが指定されています。特に変更の必要はありません。

#
# DefaultType is the default MIME type the server will use for a document
# if it cannot otherwise determine one, such as from filename extensions.
# If your server contains mostly text or HTML documents, "text/plain" is
# a good value. If most of your content is binary, such as applications
# or images, you may want to use "application/octet-stream" instead to
# keep browsers from trying to display binary files as though they are
# text.
# 
DefaultType text/plain
⇒MIMEファイルに記述がなかった場合の扱い
もしも、「mime.types」に特定のWebサービスやプラグインに対応する拡張子の記述がなかった場合に、どのように扱うかを指定するディレクティブです。デフォルトでは、記述のない拡張子のMIMEタイプが要求された場合、テキストファイルとして扱うようになっています。特に変更の必要はありません。

#
# The mod_mime_magic module allows the server to use various hints from the
# contents of the file itself to determine its type. The MIMEMagicFile
# directive tells the module where the hint definitions are located.
# mod_mime_magic is not part of the default server (you have to add
# it yourself with a LoadModule [see the DSO paragraph in the 'Global
# Environment' section], or recompile the server and include mod_mime_magic
# as part of the configuration), so it's enclosed in an <IfModule> container.
# This means that the MIMEMagicFile directive will only be processed if the
# module is part of the server.
# 
<IfModule mod_mime_magic.c>
MIMEMagicFile conf/magic
</IfModule>
⇒MIMEマジック
「mod_mime_magic.c」が組み込まれているかを判断し、もし組み込まれている場合にはMIME Magic Fileディレクティブが有効になるように指定します。「mod_mime_magic.c」は、MIMEタイプを調べる機能を追加するモジュールで、ファイル内容から様々な手がかりを探り出しMIMEタイプを決定できるようにしてくれます。特に変更の必要はありません。

#
# HostnameLookups: Log the names of clients or just their IP addresses
# e.g., www.apache.org (on) or 204.62.129.132 (off).
# The default is off because it'd be overall better for the net if people
# had to knowingly turn this feature on, since enabling it means that
# each client request will result in AT LEAST one lookup request to the
# nameserver.
# 
HostnameLookups Off
⇒ホストネームルックアップ(IPアドレスをFQDNに変換)
DNSの逆引きを可能にしてくれるディレクティブです。Apacheには「どこからリクエストがあったのか」というログ記録機能がありますが、その際にわかりにくい数字の羅列であるIPアドレスではなく、視覚的にわかりやすいホスト名(FQDN)で記録してもらった方が便利なこともあります。しかしながら、DNSの逆引きは、変換する際にサーバーに余計に負荷をあたえてしまい、パフォーマンスが低下し、レスポンスも鈍くなるので、必要に応じて「On」「Off」を切り替えるといった方法を取った方が良いでしょう。

また、コマンドプロンプトで「nslookup」コマンドを使用したり、Whoisデータベースを用いることでも、IPアドレスからホスト名を求めることができます。以下の例は「nslookup」コマンドで、IPアドレスを入力して結果としてホスト名「www.ocn.ne.jp」を求めた例です(参照:「NSLOOKUPコマンド」)。

C:\>nslookup 211.129.15.51
Server: XXX.plala.or.jp
Address: www.xxx.yyy.zzz

Name: www.ocn.ne.jp
Address: 211.129.15.51


■logresolve.exeを利用する

上述の「nslookup」コマンドを使っても良いのですが、Apacheにはインストール時に標準で「logresolve.exe」というルックアップを容易にしてくれるツールも用意されています。このファイルは標準では「C:/Program Files/Apache Group/Apache/bin」の中に格納されています。「logresolve.exe」では、IPアドレスを入力するだけでホスト名が求められます。ランチャーに登録したり、デスクトップなどにショートカットなどを作っておくと良いでしょう。

211.129.15.51
www.ocn.ne.jp


#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
# 
ErrorLog logs/error.log
⇒エラーログ
Apache動作中にエラーが発生した場合に、時刻、概要を記述するパスおよびファイル名を指定します。Internet Server Errorが発生したときなどに、エラーログを参照するとどういったことが原因でエラーが発生したのかを特定しやすくなります。デフォルトでは「C:/Program Files/Apache Group/Apache/logs/error.log」に格納されています。メインサーバーの他、VirtualHostの両方が対象となります。特に変更の必要はありません。

#
# LogLevel: Control the number of messages logged to the error.log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
# 
LogLevel warn
⇒ログレベル
上記のエラーログは、リクエストに対して応答できなかったものだけがエラーとして記録されます。その他にもApacheではログとして記録できるものを調整することができます。デフォルトでは「warn」となっています。

■emerg 緊急のメッセージを記録。動作不能な状況。
■alert 警告メッセージの記録。修正しなければ(部分的に)動作できない問題。
■crit 致命的なエラーメッセージの記録。上記に該当しない動作上の問題。
■error エラーメッセージの記録。存在しないファイルへのアクセスなどの原因が考えられます。
■warn Apacheからクライアント(Webブラウザ)に送られた警告のみを記録。設定ミスなどが考えられます。
■notice 通知メッセージの記録。起動停止や設定が変更された場合など。
■info 情報メッセージの記録。プロセスの起動や停止などを記録します。
■debug Apache関連のデバッグに必要な情報を記録します(ソースファイルの名前と行番号)。

#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
# 
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
⇒ログのフォーマット(形式)
ログの形式を指定します、デフォルトでは4つの書式を指定しています。ログの記述方法については以下のとおりです。

LogFormat <指定子> <コマンドログ形式>

指定子に関してはYahoo!JapanやGoogleなどで「Logformat」と検索すればヒットしますので、各自でお調べください。

コマンドログには一般的には以下の4つが用いられます。

■combined NCShttpd型ログ形式であるECLF(Extended Common Log Format)
■common 共通のログ形式
■referer リファラー。どこのサイトに記述されたリンクを辿ってきたのかを記述してくれます。
■agent 使用しているWebブラウザを記述する形式。


#
# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a <VirtualHost>
# container, they will be logged here. Contrariwise, if you *do*
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
# 
CustomLog logs/access.log common
⇒ログのカスタマイズ
アクセスログの記録形式を指定するディレクティブです。「access.log」のログ形式をLogFormatディレクティブで指定した「common」の形式にするという設定です。combined、common、referer、agentの中の4種類があり、デフォルトでは「common」のログ形式が指定されています。

#
# If you would like to have agent and referer logfiles, uncomment the
# following directives.
#
#CustomLog logs/referer.log referer
#CustomLog logs/agent.log agent

#
# If you prefer a single logfile with access, agent, and referer information
# (Combined Logfile Format) you can use the following directive.
#
#CustomLog logs/access.log combined

#
# Optionally add a line containing the server version and virtual host
# name to server-generated pages (error documents, FTP directory listings,
# mod_status and mod_info output etc., but not CGI generated documents).
# Set to "EMail" to also include a mailto: link to the ServerAdmin.
# Set to one of: On | Off | EMail
# 
ServerSignature On
⇒サーバー署名
クライアント(Webブラウザ)に返信したエラーメッセージにApacheサーバーのヴァージョンと、サーバー提供者のホスト名(FQDN)の署名行を表示させる設定です。デフォルトでは「On」になっています。「Off」にした場合は署名の行が追加されなくなります。なお、E-Mailを表示させたい場合は、mailto:ServerAdminのHTMLタグを追加してあげます。特に必要がなければコメントアウトしても問題ないでしょう。

#
# Apache parses all CGI scripts for the shebang line by default.
# This comment line, the first line of the script, consists of the symbols
# pound (#) and exclamation (!) followed by the path of the program that
# can execute this specific script. For a perl script, with perl.exe in
# the C:\Program Files\Perl directory, the shebang line should be:

#!c:/program files/perl/perl

# Note you _must_not_ indent the actual shebang line, and it must be the
# first line of the file. Of course, CGI processing must be enabled by
# the appropriate ScriptAlias or Options ExecCGI directives for the files
# or directory in question.
#
# However, Apache on Windows allows either the Unix behavior above, or can
# use the Registry to match files by extention. The command to execute
# a file of this type is retrieved from the registry by the same method as
# the Windows Explorer would use to handle double-clicking on a file.
# These script actions can be configured from the Windows Explorer View menu,
# 'Folder Options', and reviewing the 'File Types' tab. Clicking the Edit
# button allows you to modify the Actions, of which Apache 1.3 attempts to
# perform the 'Open' Action, and failing that it will try the shebang line.
# This behavior is subject to change in Apache release 2.0.
#
# Each mechanism has it's own specific security weaknesses, from the means
# to run a program you didn't intend the website owner to invoke, and the
# best method is a matter of great debate.
#
# To enable the this Windows specific behavior (and therefore -disable- the
# equivilant Unix behavior), uncomment the following directive:
#
#ScriptInterpreterSource registry
#
# The directive above can be placed in individual <Directory> blocks or the
# .htaccess file, with either the 'registry' (Windows behavior) or 'script'
# (Unix behavior) option, and will override this server default option.
#

#
# Aliases: Add here as many aliases as you need (with no limit). The format is
# Alias fakename realname
# 
<IfModule mod_alias.c>

#
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL. So "/icons" isn't aliased in this
# example, only "/icons/". If the fakename is slash-terminated, then the
# realname must also be slash terminated, and if the fakename omits the
# trailing slash, the realname must also omit it.
#
Alias /icons/ "C:/Program Files/Apache Group/Apache/icons/"

<Directory "C:/Program Files/Apache Group/Apache/icons/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

# This Alias will project the on-line documentation tree under /manual/
# even if you change the DocumentRoot. Comment it if you don't want to
# provide access to the on-line documentation.
#
Alias /manual/ "C:/Program Files/Apache Group/Apache/htdocs/manual/"

<Directory "C:/Program Files/Apache Group/Apache/htdocs/manual">
#Options Indexes FollowSymlinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
⇒エイリアス
「mod_alias.c」が組み込まれているかを判断し、組み込まれている場合はその指定を行います。「mod_alias.c」は最新のニュース、広告などを掲載するときに、ファイルを一時的に別の場所へとマッピングしたり、URLをリダイレクト(転送)したりすることができます。

■アイコンのエイリアス
Alias /icons/ "C:/Program Files/Apache Group/Apache/icons/"
これは、アイコンのエイリアスを指定するディレクティブです。エイリアスとは、「分身」「別名」等の意味をもっており、マッキントッシュを使用している方はごく当たり前のように口に出す言葉ですね。複雑なファイル構成をシンプルな構成に見せかける機能を提供するディレクティブです。「icons」フォルダにはApacheアイコンの他に多数のアイコンが収納されています。この値をむやみに変えるとアイコンが表示されなくなることもありますので、パスを変える際には、アイコンも同時に他のフォルダへとコピーしてください。特に変更する必要はありません。


■アイコンディレクトリのアクセス権
<Directory "C:/Program Files/Apache Group/Apache/icons/"></Directory>
アイコンディレクトリのアクセス権を指定します。デフォルトのアイコンを見られて困るような事もないと思いますので、値を変更する必要はありません。


■マニュアルのエイリアス
Alias /manual/ "C:/Program Files/Apache Group/Apache/htdocs/manual/"
マニュアルのエイリアスを指定しています。特に変更する必要はありません。


■マニュアルディレクトリのアクセス権
<Directory "C:/Program Files/Apache Group/Apache/htdocs/manual"></Directory>
マニュアルディレクトリのアクセス権を指定します。デフォルトのマニュアルを見られて困るような事もないと思いますので、値を変更する必要はありません。 なお、ウィンドウズではシンボリックリンクの機能はないので、コメントアウトして構いません。

#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing "/" apply to ScriptAlias directives as to
# Alias.
# 
ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache/cgi-bin/"
⇒実行可能ファイル
ScriptAliasディレクティブで指定されたディレクティブにあるファイルを実行可能ファイルとして認識します。CGIを使用する際は、「cgi-bin」フォルダにファイルを格納してください。なお、運用上で必要があればパスを変更してください。

#
# "E:/Apache/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
# 
<Directory "E:/Apache/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
⇒cgi-binディレクトリのアクセス権
cgi-binディレクトリへのアクセス権を設定します。

</IfModule>
# End of aliases.

#
# Redirect allows you to tell clients about documents which used to exist in
# your server's namespace, but do not anymore. This allows you to tell the
# clients where to look for the relocated document.
# Format: Redirect old-URI new-URL
#

#
# Directives controlling the display of server-generated directory listings.
# 
<IfModule mod_autoindex.c>

#
# FancyIndexing is whether you want fancy directory indexing or standard
#
# Note, add the option TrackModified to the IndexOptions default list only
# if all indexed directories reside on NTFS volumes. The TrackModified flag
# will report the Last-Modified date to assist caches and proxies to properly
# track directory changes, but it does _not_ work on FAT volumes.
#
IndexOptions FancyIndexing
⇒動的インデックスファイル
「index.html」「index.htm」などのインデックスファイルがない場合に、ブラウザ上でどのように表示するかを指定するディレクティブです。デフォルトでは「FancyIndexing」となっており、ディレクトリをリスト表示してくれます。この他にも引数としていくつかあります。英語ですが、以下のリンクで確認してください。

■IndexOptions directive
http://cvs.apache.jp/apache/manual/mod/mod_autoindex.html#indexoptions:fancyindexing

#
# AddIcon* directives tell the server which icon to show for different
# files or filename extensions. These are only displayed for
# FancyIndexed directories.
#
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

 AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*

AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
⇒アイコン
「icons」フォルダにはテキストファイルや画像ファイル、スクリプトなどの汎用的なファイルを示すアイコンが入っていますが、そのアイコンを変更したい場合に指定するディレクティブです。このディレクティブは「FancyIndexing」ディレクティブが「On」になっている場合に、エンコード方式、またはファイルタイプで任意に変更できるようになっています。上記の指定で「AddIconByEncoding」はエンコード方式による指定で、「AddIconByType」はファイルタイプによる指定、「AddoIcon」は拡張子による指定をします。デフォルトでおおまかなものは指定されているので特に変更の必要はありません。

#
# DefaultIcon is which icon to show for files which do not have an icon
# explicitly set.
# 
DefaultIcon /icons/unknown.gif
⇒デフォルトアイコン
AddIconディレクティブで指定がないファイルに適用するアイコンファイルを指定します。デザインを変えたいなど場合などは別ですが、特に変更の必要はありません。

#
# AddDescription allows you to place a short description after a file in
# server-generated indexes. These are only displayed for FancyIndexed
# directories.
# Format: AddDescription "description" filename
#
#AddDescription "GZIP compressed document" .gz
#AddDescription "tar archive" .tar
#AddDescription "GZIP compressed tar archive" .tgz

#
# ReadmeName is the name of the README file the server will look for by
# default, and append to directory listings.
#
# HeaderName is the name of a file which should be prepended to
# directory indexes.
#
# If MultiViews are amongst the Options in effect, the server will
# first look for name.html and include it if found. If name.html
# doesn't exist, the server will then look for name.txt and include
# it as plaintext if found.
# 
ReadmeName README
HeaderName HEADER
⇒ディレクトリ一覧表示のヘッダおよびフッタ
ディレクトリ一覧を表示するときにヘッダ、およびフッタとして表示する内容を記述したファイルを指定します。「ReadmeName」がフッタの内容を記述したファイルで、「HeaderName」がヘッダの内容を記述したファイルです。特に変更の必要はありません。

#
# IndexIgnore is a set of filenames which directory indexing should ignore
# and not include in the listing. Shell-style wildcarding is permitted.
#
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

</IfModule>
# End of indexing directives.

#
# Document types.
# 
<IfModule mod_mime.c>

#
# AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress
# information on the fly. Note: Not all browsers support this.
# Despite the name similarity, the following Add* directives have nothing
# to do with the FancyIndexing customization directives above.
#
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
⇒符号化ファイルの識別
「mod_mime.c」が組み込まれているか判断し、組み込まれている場合はその指定を行います。「mod_mime.c」はドキュメントやファイルタイプに対応するハンドラを定義できるようにして、Apacheがそれらほ処理する方法を判別できる機能を追加するモジュールです。もし、「mod_mime.c」が組み込まれている場合には、上のように指定します。

■エンコーディング
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz

エンコードの情報をブラウザに送信するための設定です。エンコード方式に対応する拡張子を指定します。特に変更する必要はありません。


#
# AddLanguage allows you to specify the language of a document. You can
# then use content negotiation to give a browser a file in a language
# it can understand.
#
# Note 1: The suffix does not have to be the same as the language
# keyword --- those with documents in Polish (whose net-standard
# language code is pl) may wish to use "AddLanguage pl .po" to
# avoid the ambiguity with the common suffix for perl scripts.
#
# Note 2: The example entries below illustrate that in quite
# some cases the two character 'Language' abbreviation is not
# identical to the two character 'Country' code for its country,
# E.g. 'Danmark/dk' versus 'Danish/da'.
#
# Note 3: In the case of 'ltz' we violate the RFC by using a three char
# specifier. But there is 'work in progress' to fix this and get
# the reference data for rfc1766 cleaned up.
#
# Danish (da) - Dutch (nl) - English (en) - Estonian (ee)
# French (fr) - German (de) - Greek-Modern (el)
# Italian (it) - Korean (kr) - Norwegian (no) - Norwegian Nynorsk (nn)
# Portugese (pt) - Luxembourgeois* (ltz)
# Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)
# Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
# Russian (ru)
# 
AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .ee
AddLanguage fr .fr
AddLanguage de .de
AddLanguage el .el
AddLanguage he .he
AddCharset ISO-8859-8 .iso8859-8
AddLanguage it .it
AddLanguage ja .ja
AddCharset ISO-2022-JP .jis
AddLanguage kr .kr
AddCharset ISO-2022-KR .iso-kr
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddCharset ISO-8859-2 .iso-pl
AddLanguage pt .pt
AddLanguage pt-br .pt-br
AddLanguage ltz .lu
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .sv
AddLanguage cz .cz
AddLanguage ru .ru
AddLanguage tw .tw
AddLanguage zh-tw .tw
AddCharset Big5 .Big5 .big5
AddCharset WINDOWS-1251 .cp-1251
AddCharset CP866 .cp866
AddCharset ISO-8859-5 .iso-ru
AddCharset KOI8-R .koi8-r
AddCharset UCS-2 .ucs2
AddCharset UCS-4 .ucs4
AddCharset UTF-8 .utf8
⇒言語
「AddLanguage」ディレクティブは、ブラウザの使用言語の設定に応じ、ドキュメントの言語を特定します。「AddCharset」は、拡張子で指定したファイルをcharsetにマップします。

# LanguagePriority allows you to give precedence to some languages
# in case of a tie during content negotiation.
#
# Just list the languages in decreasing order of preference. We have
# more or less alphabetized them here. You probably want to change this.
# 
<IfModule mod_negotiation.c>
LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
</IfModule>
⇒言語の優先順位
「mod_negotiation.c」が組み込まれているか判断し、組み込まれていた場合は各言語の優先順位を指定します。クライアント(Webブラウザ)がブラウザでの優先順位を指定していない場合に有効です。デフォルトでは日本語(ja)の優先順位は9番目となっていますが、引数の先頭に持っていった場合、多少はパフォーマンスの向上が見込めるらしいです。

#
# AddType allows you to tweak mime.types without actually editing it, or to
# make certain files to be certain types.
# 
AddType application/x-tar .tgz
⇒ファイルタイプの追加
「AddLanguage」ディレクティブは、ブラウザの使用言語の設定に応じ、ドキュメントの言語を特定します。「AddCharset」は、拡張子で指定したファイルをcharsetにマップします。

#
# AddHandler allows you to map certain file extensions to "handlers",
# actions unrelated to filetype. These can be either built into the server
# or added with the Action command (see below)
#
# If you want to use server side includes, or CGI outside
# ScriptAliased directories, uncomment the following lines.
#
# To use CGI scripts:
#
#AddHandler cgi-script .cgi

#
# To use server-parsed HTML files
#
#AddType text/html .shtml
#AddHandler server-parsed .shtml

#
# Uncomment the following line to enable Apache's send-asis HTTP file
# feature
#
#AddHandler send-as-is asis

#
# If you wish to use server-parsed imagemap files, use
#
#AddHandler imap-file map

#
# To enable type maps, you might want to use
#
#AddHandler type-map var

</IfModule>
# End of document types.

#
# Action lets you define media types that will execute a script whenever
# a matching file is called. This eliminates the need for repeated URL
# pathnames for oft-used CGI file processors.
# Format: Action media/type /cgi-script/location
# Format: Action handler-name /cgi-script/location
#

#
# MetaDir: specifies the name of the directory in which Apache can find
# meta information files. These files contain additional HTTP headers
# to include when sending the document
#
#MetaDir .web

#
# MetaSuffix: specifies the file name suffix for the file containing the
# meta information.
#
#MetaSuffix .meta

#
# Customizable error response (Apache style)
# these come in three flavors
#
# 1) plain text
#ErrorDocument 500 "The server made a boo boo.
# n.b. the single leading (") marks it as text, it does not get output
#
# 2) local redirects
#ErrorDocument 404 /missing.html
# to redirect to local URL /missing.html
#ErrorDocument 404 /cgi-bin/missing_handler.pl
# N.B.: You can redirect to a script or a document using server-side-includes.
#
# 3) external redirects
#ErrorDocument 402 http://some.other-server.com/subscription_info.html
# N.B.: Many of the environment variables associated with the original
# request will *not* be available to such a script.

#
# Customize behaviour based on the browser
# 
<IfModule mod_setenvif.c>

#
# The following directives modify normal HTTP response behavior.
# The first directive disables keepalive for Netscape 2.x and browsers that
# spoof it. There are known problems with these browser implementations.
# The second directive is for Microsoft Internet Explorer 4.0b2
# which has a broken HTTP/1.1 implementation and does not properly
# support keepalive when it is used on 301 or 302 (redirect) responses.
#
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0

#
# The following directive disables HTTP/1.1 responses to browsers which
# are in violation of the HTTP/1.0 spec by not being able to grok a
# basic 1.1 response.
#
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

</IfModule>
⇒ブラウザ
「mod_setenvif.c」が組み込まれているかを判断し、組み込まれていた場合は、その指定を行います。「mod_setenvif.c」は[User-Agent]に基づいて適切なアクションを実行したりする機能を追加するモジュールです。[User-Agent]フィールドを見ればブラウザの種類がわかるようになっています。特に変更する必要はありません。


# End of browser customization directives

#
# Allow server status reports, with the URL of http://servername/server-status
# Change the "192.168.0.1" to match your domain to enable.
#
#<Location /server-status>
# SetHandler server-status
# Order deny,allow
# Deny from all
# Allow from 192.168.0.1
#</Location>

#
# Allow remote server configuration reports, with the URL of
# http://servername/server-info (requires that mod_info.c be loaded).
# Change the "192.168.0.1" to match your domain to enable.
#
#<Location /server-info>
# SetHandler server-info
# Order deny,allow
# Deny from all
# Allow from 192.168.0.1
#</Location>

#
# There have been reports of people trying to abuse an old bug from pre-1.1
# days. This bug involved a CGI script distributed as a part of Apache.
# By uncommenting these lines you can redirect these attacks to a logging
# script on phf.apache.org. Or, you can record them yourself, using the script
# support/phf_abuse_log.cgi.
#
#<Location /cgi-bin/phf*>
# Deny from all
# ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi
#</Location>

#
# Proxy Server directives. Uncomment the following lines to
# enable the proxy server:
#
#<IfModule mod_proxy.c>
# ProxyRequests On

# <Directory proxy:*>
# Order deny,allow
# Deny from all
# Allow from 192.168.0.1
# </Directory>

#
# Enable/disable the handling of HTTP/1.1 "Via:" headers.
# ("Full" adds the server version; "Block" removes all outgoing Via: headers)
# Set to one of: Off | On | Full | Block
#
# ProxyVia On

#
# To enable the cache as well, edit and uncomment the following lines:
# (no cacheing without CacheRoot)
#
# CacheRoot "E:/Apache/proxy"
# CacheSize 5
# CacheGcInterval 4
# CacheMaxExpire 24
# CacheLastModifiedFactor 0.1
# CacheDefaultExpire 1
# NoCache a-domain.com another-domain.edu joes.garage-sale.com

#</IfModule>
# End of proxy directives.





以上で「Section2: Global Environment」の設定は完了です。



 

Copyrights©KORO 2002-08 All Rights Reserved.Since 02/08/15 | サイトのプライバシーポリシー