Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
サーバー構築 セキュリティ 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
九十九電機




Apacheは「デフォルト無効」の理論に基づいているため、「httpd.conf」を編集していかなければ自分がやりたい事はデフォルトではほぼ実現できないように設定されています。これついては、Apache初心者は不便だなぁと思うかもしれませんが、セキュリティ上のことを考えると妥当なレベルに設定されていると言えるのです。しかし、いざ「httpd.conf」を実際に編集していくとなると文章が長くて、どこをどういじれば良いのかがわかりにくいものです。そこで、このページでは「早いところ設定したい」もしくは「やりたいことが明確である」方に絞って、局所的にその編集箇所を解説していきます。なお、ここではApacheの基本動作は理解しているものとして話を進めさせていただきます。「httpd.conf」を編集した際には必ず、Apacheを再起動してください。もし、基本的なことがわかっていない方は「Apacheの構造」を参照してください。バージョンは2.0.55のものを使用(一部、1.3.xの解説)しています。



 

Apacheをインストールしたあと、すぐにApacheを動作させて自分で制作したWebページが表示できるように編集します。この時、「httpd.conf」はデフォルトの状態として解説しています。以下の設定で、Webサイトが正常に閲覧できなかった方は「DocumentRoot」のパスが間違っていないかどうかもう一度確認してください。大抵はここのPATH が間違っていることがほとんどです。

 Listen 80

WebサーバーがListenするポート番号です。Webサーバーはデフォルトポートが80番なので特別な理由がない限り、80で問題ありません。


 ServerAdmin kororin@kororo.jp

自分のメールアドレスを入力してください。ここで指定するメールアドレスは、サーバーエラーなどが発生した際などに、クライアントのブラウザに表示されるものです。

 ServerName 127.0.0.1:80

ここには、自分自身を指すループバックアドレス「127.0.0.1」を指定してください。また、DynamicDNSによるサブドメインや独自ドメインを既に取得している方は、そのアドレスを入力しても構いませんが、LAN内で自マシンの名前解決がきちんとできている必要があります。よくわからない方は、上記のように127.0.0.1 と入力しておきましょう。なお、コロン「:」の後にある80という数字は、Webサーバーを80番ポートで動作させるという意味です。デフォルトで問題ありません。

 DocumentRoot "G:/public_html"

ドキュメントルートのパスを指定します。つまり、自分のWebサイトのコンテンツがあるディレクトリを指定します。例えばWebページがGドライブの「public_html」というフォルダに格納されている場合は"G:/public_html"となります。ここで指定したディレクトリ以下が公開の対象となり、これより上位のディレクトリはインターネットに公開されません。なお、PATHの指定をする際は、「¥」ではなく、「/」で区切るようにしましょう(例 G:/www/)。



ここまでの段階で、自分のWebサイトが正常に閲覧されるかどうか、確認してみましょう。もし、正常に表示されなかったら、G:/public_html 以下に、拡張子 index.html のHTMLファイルが存在するか確かめてください。Apache のデフォルトでは、index.htm では、Fobidden 画面(アクセス禁止)が表示されてしまいます。



 


■CGIを使えるようにする

# First, we configure the "default" to be a very restrictive set of
# permissions.
#
<Directory "G:/public_html/cgi-bin">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

デフォルトでは「Options」の値に「none」と設定されていますが、CGIを動作させるようにするためには、ExecCGI を追記する必要があります。
 ScriptAlias /cgi-bin/ "G/public_html/cgi-bin/"

CGIを格納しているパスを指定します。

 AddHandler cgi-script .cgi //先頭の#を取り除く

ここでは、CGIプログラムと拡張子の関連付けを行います。デフォルトではコメントアウトされているので、先頭にある「#」を取り除いてください。



■SSIを使えるようにする(Apache2.0.xの場合)

Options ExecCGI Includes

もしくは、

Options ExecCGI IncludesNoExec

SSI(Server Side Include)を使えるようにするには、「Includes」を追記します。なお、SSIはセキュリティ上、危険性を孕んでいるために、安定した運用をしていくためには以下のように「IncludesNoExec」としてください。「IncludesNoExec」とすることによって、「SSIは許可するが、ExecコマンドとCGIスクリプトのIncludeは含まない」ようになります。

 AddType text/html .shtml
 AddOutputFilter INCLUDES .shtml //先頭の#を取り除く

ここでは、SSIと拡張子の関連付けを行います。デフォルトではコメントアウトされているので、先頭にある「#」を取り除いてください。このディレクティブを有効にすることによって、SSIが使用できるようになります。



■SSIを使えるようにする(Apache1.3.xの場合)


Options ExecCGI Includes

もしくは、

Options ExecCGI IncludesNoExec

SSI(Server Side Include)を使えるようにするには、「Includes」を追記します。なお、SSIはセキュリティ上、危険性を孕んでいるために、安定した運用をしていくためには以下のように「IncludesNoExec」としてください。「IncludesNoExec」とすることによって、「SSIは許可するが、ExecコマンドとCGIスクリプトのIncludeは含まない」ようになります。

 AddType text/html .shtml
 AddHandler server-parsed .shtml //先頭の#を取り除く

ここでは、SSIと拡張子の関連付けを行います。デフォルトではコメントアウトされているので、先頭にある「#」を取り除いてください。


 



Apache2.0 では、デフォルトでインデックス表示されなくなりました。

(Apache1.3.xの場合)

# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
Options Indexes

Apache1.3.x にはデフォルトでファイルを一覧表示させる機能が有効になっています。これは、セキュリティ上、好ましいことではないし、意味もなく階層構造を見せる必要性も感じないので、意図的にそのように設定しているのでなければ、一覧表示しないように設定した方が無難でしょう。上記に記述されている「Indexes」という部分を取り除くことによって一覧表示を中止させることができます。なお、ここでの設定は制御ファイル「.htaccess」に「Options -Indexes」と記述することによっても可能です。Apacheの設定ファイルを極力、いじりたくないのであれば「.htaccess」に記述した方がよいかもしれません。

 



         
<Directory "f:/www/public_html">
Options FollowSymLinks ExecCGI Includes
AllowOverride all
Order allow,deny
Allow from all

</Directory>

アクセス制限は基本的には「httpd.conf」をいじらずに「.htaccess」で制御した方が良いと思います。一応、解説をしておくと、「Order allow deny」では、「allow(許可)」と「deny(拒否)」の評価順を指定しています。デフォルトの指定では、以下に「Allow」と「Deny」の両方が指定されていた場合、「Allow」の指定を先に処理し、「Deny」の指定を後から処理するようにしています。よって、指定に矛盾が生じた場合には後から指定した処理が有効となります。

◎アクセス制限設定例
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」のホストだけ受け入れる(大分類)。




 


カスタムエラーメッセージとは「ファイルが存在しない」「アクセスを禁止されている」「サーバーが要求を実行できない(プログラムにバグがあるなど)」などの理由でページが表示されなかった場合にクライアントに対して表示するエラーメッセージのことです。マイクロソフト社のInternet Explorerを使用している方は、このエラーコードを受け取り、独自のメッセージを表示するようにしてくれますが、他のブラウザを使用している方は必ずしも表示されるとは限らないので是非、作っておくとよいでしょう。カスタムエラーメッセージを作成するにはCGIを利用する方法と、HTMLを作成する方法の2つがありますが、要領は同じ(URLの指定が異なるだけ)なので参考にしてください。

■404 Not Found 「ページが表示されない場合」

 ErrorDocument 404 /404.html  //先頭の#を取り除く

デフォルトでは、「#ErrorDocument 404 /missing.html 」となっています。コメントアウトされている状態なので、先頭の#を取り除いて「/missing.html 」の個所にエラーメッセージが格納されているパスを相対パス、もしくは絶対パスで記述します。ここで注意しておきたいのは、作成した404.htmlが600byte以下であると表示されませんので、HTMLコメントタグなどを使用してバイト数を600byte以上にしてください。



■403 Forbidden 「指定されているパスへのアクセスの禁止」

 ErrorDocument 403 /403.html  //先頭の#を取り除く

デフォルトでは、「# ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi 」となっています。コメントアウトされている状態なので、先頭の#を取り除いて「http://phf.apache.org/phf_abuse_log.cgi 」の個所にエラーメッセージが格納されているパスを相対パス、もしくは絶対パスで記述します。



IEでの404エラーメッセージ 当サイトでの404エラーメッセージ

◎エラーコード
Status-Code 内容 意味
401  Unauthorized ユーザー認証が必要なページで認証に失敗。ID、パスワードの入力ミスなどが原因。
403  Forbidden 指定されたリソースへのアクセスを拒否。許可されていないディレクトリへアクセスを試みたのが原因。
404  Not Found 指定されたファイルが存在しない。URLの入力ミスや指定されたファイルがすでに削除されていると考えられます。
500  Internet Service Error サーバーがリクエストを実行できない。CGIが正常に動作していない(バグがある)ことが考えられます。
501  Not Implementer リクエストを処理できる機能がサーバーにない。



 



# "AuthConfig", and "Limit"
#
AllowOverride All #「none」を「All」に変える

「httpd.conf」はデフォルトでは「.htaccess」でのアクセス制御を許可しないようになっています。つまり、ここの値を変えないといくら「.htaccess」を何十個、設置しようとも有効にならないので注意してください。初期値の「Override」は「none」(アクセス権を指定しない)になっていますが、「.htaccess」での制御を有効にするためには、「All 」に変える必要があります。なお、「All 」にすると、Multiviews以外の全てのオプションが有効になりますが、場合によっては必要に応じて許可するようにしようにしてください。参考までに以下にOverrideオプションを掲載します。




◎Override(上書き)のオプション
オプション名 解説
None 全てのオーバーライド(上書き)を禁止します。
All MultiViewsを除いた全てのオプションを許可します。
Options Optionsディレクティブの使用を許可します。
例:)ExecCGI、Includes、Indexes
Indexes ディレクトリ一覧表示を許可します。
例:)FancyIndexing、AddIcon、AddDescription
AuthConfig 認証設定を許可します。
例:)AuthName、AuthType
FileInfo ドキュメントタイプを制御するディレクティブの使用を許可します。
Limit 特定のホストからのアクセスを制御するディレクティブの使用を許可します。
例:)GET、POST


 


Apacheには基本HTTP認証とダイジェスト認証によるふたつのアクセス制限方法があります。両方ともアクセス要求が発生すると、ユーザー名とパスワードを入力させる画面をクライアントに対して表示させます。そして、そのユーザー名とパスワード名が一致した場合、そのコンテンツへのアクセスを許可するようになります。このような認証によるアクセス制限を行うことによって仲間内での秘密のページを作成することが可能になります。ここでは基本HTTP認証を紹介していくわけですが、注意しておきたいことは基本HTTP認証は、プレーンテキスト(平文)を用いているため、パケットスニッファリング(ネットワークを流れるパケットを盗聴し、そこからIDやパスワードを拾い出すこと)が容易にできてしまいます。そのため、認証ページを用いたページを作成したとしても、誰にも見られる心配がない、とは決して思わないようにしてください。とはいえ、パスワード自体は暗号化されるため、あなたによほど恨みを持っている方以外は時間をかけてパスワードを解読しようなどとは露にも思わないでしょう。

ユーザー認証を行うための設定は主に以下の3つです。

1.AllowOverrideディレクティブを編集する(httpd.conf)
2.認証をかけたいディレクトリに「.htaccess」を作成する
3.パスワードファイルの作成

※なお、「.htaccess」を使用しなくても、「httpd.conf」を編集してBasic認証を行うこともできますが、ここでは敢えて「.htaccess」を使用してのBasic認証の方法を解説しています。


1.AllowOverrideディレクティブの編集(httpd.conf)

# "AuthConfig", and "Limit"
#
AllowOverride AuthConfig Limit

「httpd.conf」を開いてください。AllowOverrideのオプションを「AuthConfig」、もしくは「All 」に変えてください(デフォルトの状態では「none」となっています)。「AuthConfig」とすると認証の設定を許可するようになります。




2.認証をかけたいディレクトリに「.htaccess」を作成する

AuthType Basic
AuthName "パスワードを入力してください。"
AuthUserFile G:/www/.htpasswd
<Limit GET POST>
require valid-user
</Limit>

「.htaccess」に上記のように記述し、認証をかけたいディレクトリに格納します。なお、「.htaccess」についてわからない方は「制御ファイル「.htaccess」」を参照してください。赤文字で記されたオプションについては下記の表を参考にしてください。



◎オプションの説明
オプション名 解説
AuthType 認証方式を記述します。Basicあるいはdigestを入力します。

AuthName ユーザー名とパスワードを入力するダイアログボックスに表示されるメッセージを入力します。日本語で表示することもできるのでわかりやす名前を設定するようにしてください。この時、メッセージの始めと終わりに「"」(ダブルクォーテーション)をつけるのを忘れないようにしてください。

AuthUserFile 認証に用いるパスワードファイルのパスを指定します。なお、ここでのパスの指定と保存先は、ファイル名さえ一致していれば、どのディレクトリ(フォルダ)におこうとも構いません。セキュリティを高める意味では、Apacheのディレクトリやドキュメントルートと同ディレクトリに保存することは避けた方が良いでしょう。つまり、できる限りhttpでアクセスできない場所に置いておくようにしてください。例えば、ドキュメントルートが「G:/www/public_html」であるとしたら、「G:\www」に置くといった感じです。こうしておけば、外部からパスワードファイルへとアクセスされることはなくなります。

Require ここにはアクセスを許可するユーザー、もしくはグループを指定します。「valid-user」とすることでパスワードファイルに記述されている全てのユーザーがアクセス許可の対象となります。もしも、特定のユーザー、もしくは特定のグループをアクセスの対象とする場合は以下のようにします。

<Limit GET POST>
Require koro goro siro neko
</Limit>





3.パスワードファイルの作成

最後にパスワードファイルをコマンドプロンプトを使用して作成します。まず、コマンドプロンプトでApacheの「bin」ディレクトリへ移動します。htpasswdコマンドを使用して以下のように打ち込みます。ここでは「G:\www」ディレクトリにパスワードファイルを作成することにします。なお、パスワードファイルは一般的に「.htpasswd」というファイル名が使われています。ここで、htpasswdコマンドを使用してパスワードファイルを作成することによって、パスワードはシステム上には残らないように配慮されています。

C:\Apache\bin>htpasswd -c G:\www\.htpasswd koro←ユーザー名
Automatically using MD5 format on Windows.
New password: ****** ←パスワードして[Enter]
Re-type new password: ******
Adding password for user koro



◎htpasswd 「-c 」オプション

 htpasswd -c パスワードファイル名 ユーザー名

htpasswdの「-c」オプションはパスワードをはじめて作る際に使用します。新たにユーザーを追加する場合には「-c」オプションをつける必要はありません。既にユーザーが作成されているのに、「-c」オプションをつけてユーザーを追加しようとした場合は新規に上書きされてしまい、最初から作り直すハメになるので注意してください。


ユーザーを追加する場合は以下のように「-c」オプションをつけずにhtpasswdコマンドを実行します。

C:\Apache\bin>htpasswd G:\www\.htpasswd neko
Automatically using MD5 format on Windows.
New password: ******
Re-type new password: ******
Adding password for user koro



「G:\www」にある「.htpasswd」をメモ帳などのテキストエディタで開いてみると、ユーザー名と暗号化されたパスワードが作成されていることがわかると思います。このように暗号化されているため、仮に中身が見られてしまったとしてもすぐには解読できないようになっています。




 


リダイレクションとは、簡単に言えば訪問者(クライアント)を別の場所(URL)へ転送させることです。例としては、サーバーを移転させるにあたり、Webページのアドレスを変えたい時や、一時的に見せたいコンテンツがある場合にそのURLへ転送させたりするといった使い方をします。このように、URLを別の場所へ転送させることで、もともとあるトップページのデザインやファイル名を一切変えることなく、特定のページへ訪問者をいざなうことができるようになります。しかも、このリダイレクションを使うと、一瞬にして他のURLへ転送されるため、よほど注意深く観察していない限りはクライアントに対してページが移動したことを意識させることはありません。通常、URLを変更する際は、「URLが変更しました。ブックマークを変更してください」などのような告知をしますが、実際、URLが変更されたことでブックマークに追加するのを忘れてしまい、アドレスがわからなくなってしまったという経験は誰もがしたことがあるでしょう。リダイレクションはそんな問題を解決してくれるのです。ただし、実際にリダイレクションを行う場合には、CGIやPHPを使った方がより実用的かもしれません。


■別ホストへのリダイレクション

Redirect /index.html http://siro.yyy.yyy.jp/

「httpd.conf」内に上記の行を追記します。上記の設定では、仮に「http://koro.xxx.xxx.jp」というURLを入力したときに、自動的に「http://siro.yyy.yyy.jp」のURLへと転送させるようにしています。なお、この時、「index.html」を省略して、
Redirect / http://http://siro.yyy.yyy.jp/
のようにすることもできます。別ホストへのリダイレクションはサーバー引越しの場合などで十分な威力を発揮してくれます。



 


バーチャルホストとはその名の通り、仮想ホストのことで、これによって一台のコンピュータを使用して複数のWebサイトを運用することができるようになります。即ち、バーチャルホストを使うとあたかも、複数台のコンピュータが稼動しているかのように見せかけることができるのです。趣味の多い方などはそれぞれにジャンル分けして、多数のWebサイトを運営していくと良いでしょう。バーチャルホストには大きく分けて2つの方法があります。ひとつは最も一般的であるとされている、ひとつのIPアドレス、一枚のNICだけで構築されるネームベースによる方法と、もうひとつは複数のIPアドレスを使用してそれぞれにホストを割り当てるIPベースによる方法です。以下にその詳細を解説していきます。


■ネームベース

ネームベースによるバーチャルホストはIPアドレスがひとつで、NICも1枚しかない環境下でもWebサイトを複数運営できるようにした方法です。ネームベースによる方法は至って単純で、ホスト名とそれに対応するIPアドレスを「httpd.conf」で編集してあげるだけです。

ServerName kororo.xxx.jp

まず「ServerName」ディレクティブで、メインとなるサーバーの名前を記述しておきます。

NameVirtualHost *

行頭の「#」(ハッシュマーク)を削除し、ディレクティブを有効にします。

<VirtualHost *>
ServerName win.kororo.jp
DocumentRoot f:/www/public_html
</VirtualHost>

<VirtualHost *>
ServerName kororo.dyndns.org
DocumentRoot f:/koro
</VirtualHost>


「httpd.conf」の最後の行に上記のバーチャルホスト設定を追記します。上のバーチャルホストが「win.kororo.jp」のホストを指定しており、下のバーチャルホストでは「kororo.dyndns.org」のホストを指定しています。なお、「httpd.conf」の最後の行にはデフォルトでもバーチャルホストのサンプルの設定が記述されており、コメントアウトされた状態になっています。ハッシュマークを削除すれば、デフォルトで記述されたバーチャルホストも有効になります。なお、バーチャルホストはいくつでも記述することができます。また、上記の「ServerName」「DocumentRoot」ディレクティブの他にも「ServerAdmin」「ErrorLog」「CustomLog」ディレクティブを追記することができます。



■IPベース

IPベースでは、あらかじめ設定するホストに複数のNICを装着し、それぞれにIPアドレスを設定する必要があります。NICを複数枚挿さなくてはいけないため、ハードウェアの関係上、ネームベースのバーチャルホストと比べて実用性に乏しいの欠点です。ここでは、「win.kororo.jp」と「kororo.dyndns.org」のドメインに対してIPアドレス「192.168.0.1」と「192.168.0.2」をそれぞれ割り当てるものとします。

NameVirtualHost 192.168.0.1

「NameVirtuakHost」ディレクティブでIPアドレスの指定を行います。

<VirtualHost 192.168.0.1>
ServerName win.kororo.jp
DocumentRoot f:/www/public_html
</VirtualHost>

<VirtualHost 192.168.0.2>
ServerName kororo.dyndns.org
DocumentRoot f:/koro
</VirtualHost>


「httpd.conf」の最後の行に上記のバーチャルホスト設定を追記します。上のバーチャルホストが「win.kororo.jp」のホストに対して、IPアドレス「192.168.0.1」を割り当て、下のバーチャルホストでは「kororo.dyndns.org」のホストに対して「192.168.0.2」を割り当てています。また、上記の「ServerName」「DocumentRoot」ディレクティブの他にも「ServerAdmin」「ErrorLog」「CustomLog」ディレクティブを追記することができます。

なお、DNSを使用していない環境下では「\winnt\system32\drivers\etc」内に格納されている「hosts」ファイルを以下のように編集します。
192.168.0.1 win.kororo.jp
192.168.0.2 kororo.dyndns.org





 


プロバイダのHPスペースを借りている方のWebページのURLは、「http://ocn3.ne.jp/~ユーザー名」のように「~」(チルダ)を間に挟んでユーザー名がくるケースがほとんどでしょう。これは、ユーザー(会員)ごとにディレクトリがプロバイダ側で専用に設けられているためです。ここで、チルダの意味を知らない方のために簡単に説明すると、URLに「~」がついている場合、そのユーザー用ディレクトリが2階層以上、下の階層に設けられていることを表しています。
 
■「~」チルダの概要

具体的な例を挙げてみましょう。例えば「http://koro.xxx.jp」というホスト名を持つ企業があったとして、その会員のURLが「http://koro.xxx.jp/~kororo」であったとしましょう。その場合、企業のWebコンテンツが「C:\www\public_html\」の中に格納されていたとすると、その会員のWebページは「C:\www\public_html\users\kororo」に格納されていることになります。つまり、2階層以上、下のディレクトリ自分のホームディレクトリが格納されているということです。しかし、必ずしも「users」ディレクトリの中に「kororo」フォルダが格納されているわけではなく「C:\www\public_html\users\male\kororo」でも「C:\www\public_html\users\male\birthday\kororo」でもなんでも良いわけです。しかし、仮に後者のように「birthday」ディレクトリの中に「kororo」ディレクトリが格納されていると実際のURLは「http://koro.xxx.jp/users/male/birthday/kororo/」のように非常に長いURLを打ち込まなくてはなりません。これを回避するためにチルダが用いられ、その間のディレクトリ名は省略してしまうという役割を担っています。もし、ドキュメントルートから1階層下に、個人用ディレクトリが設置されていた場合は、通常どおり、「http://koro.xxx.jp/kororo」のようにチルダではなく、スラッシュになります。


チルダの意味が理解できたところで、実際にApacheでチルダを用いる方法を解説しましょう。このチルダを利用する用途としては、バーチャルホストを使って複数のドメイン名を用いるほどでもないようなWebページを作成する際や、家庭内で親兄弟もWebページを運営したいといった場合、ミラーサイトを作りたい場合などに重宝することでしょう。

<IfModule mod_userdir.c>
UserDir "G:/www/public_html/users/"
</IfModule>

「httpd.conf」で上記のようにドキュメントルートの下に適当なフォルダを格納して、その下に個人用ディレクトリを置くようにします。ここでは、「users」ディレクトリの中に個人用のディレクトリを入れるように設定しています。編集し終わったら、Apacheを再起動して、「http://koro.xxx.jp/~XXX」や「http://koro.xxx.jp/YYY」などのようにURLを打ち込んでみてください。XやYには自分で作成したディレクトリの名前を指定します。






 

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