サーバー構築 セキュリティ 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
九十九電機




「.htaccess」とは、制御用のファイルのことで、このファイルを特定のディレクトリ(フォルダ)に置いておくだけで、そのディレクトリに対してアクセス制御をかけることができるようになります。プロバイダに掲示板やチャットなどを設置している方は一度はこのファイルを使用してアクセス制限をかけたことがあるでしょう。ただし、この「.htaccess」はプロバイダによって設置が禁止されていたり、あるいは、セキュリティの関係上でFTPソフトでは表示されないように設定されている場合もあります。しかし、自宅でサーバーを公開している方にとっては当然、一切の制限がありませんので、これを有効利用しない手はありません。一般的に「.htaccess」というとアクセス制限をすることしかできないというイメージがありますが、実は驚くほどたくさんの設定を行うことができるようになっています。

例えば、Apacheでの例を考えてみましょう。Apacheでは英文がずらずらと並んだ「httpd.conf」を設定していくうちにどこをどう編集したのかわからなくなってきたという方は結構いると思います。けれど、「.htaccess」を利用すれば、その設定内容を追記していくだけで、「httpd.conf」を直接編集することなしにほとんどの機能を有効にしたり、無効にしたりすることができるのです。つまり、Apacheでの「httpd.conf」で設定する多くの機能を「.htaccess」でコントロールすることができるようになります。勿論、全て自分でカスタマイズしていくわけですから、「httpd.conf」ファイルを管理する以上に「.htaccess」を使用して管理した方が見易さ・操作性の面で、便宜上、好都合というわけです。ここでは、その便利な「.htaccess」について説明していきますが、ここで書かれているものが全てではないのでその先は、各自で勉強するようにしてください。基本的にはApacheの「httpd.conf」と記述の仕方は同じです。






それではまず、「.htaccess」の作成の仕方について説明します。「.htaccess」は、ドット「.」ではじまるファイル名のため、どうやって作れば良いのだろう?と思った方が必ずいると思います。このファイルを作る際にはWindows98とWindows2000/XPでは、作成の仕方が多少異なります。

■Windows98の場合

コマンドプロンプトを開いて「edit .htaccess」と入力します。画面がブルーの画面に切り替わったら、「ファイル」→「上書き保存」を選択してください。すると、指定したパスに「.htaccess」というファイルができているはずです。


■Windows2000/XPの場合

メモ帳を起動して、「ファイル」→「名前を付けて保存」で「ファイルの種類」プルダウンメニューから「全てのファイル」を選択してから「.htaccess」というファイル名をつけて「保存」をクリックします。




 


■CGIを使えるようにする

Options ExecCGI
AddType text/html .cgi
AddHandler cgi-script .cgi

「.htaccess」に以下のような記述を加えます。OptionsのExecCGIでCGIの使用を許可し、2行目で「.cgi」がついているファイルも「text/plain」として扱うようにし、3行目でCGIスクリプトとの拡張子の関連付けを行っています。



■SSIを使えるようにする

Options Includes
AddType text/html .shtml
AddHandler server-parsed .shtml

もしくは、

Options IncludesNoExec
AddType text/html .shtml
AddHandler server-parsed .shtml

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






Options -Indexes

Apacheにはデフォルトでファイルを一覧表示させる機能が有効になっています。これは、セキュリティ上、好ましいことではないし、意味もなく階層構造を見せる必要性も感じないので、意図的にそのように設定しているのでなければ、一覧表示しないように設定した方が無難でしょう。上記に記述されている箇所を追記することによって一覧表示を中止させることができます。




order allow,deny
allow from all
deny from xxx.mydomain.com
deny from 209.15.150.XXX
<Files ".*">
deny from all
</Files>

アクセス制限をかける場合は、2つのケースが考えられます。1つは「基本的に全てのアクセスを許可し、特定のアクセスを拒否する」場合と、2つめに「基本的に全てのアクセスを拒否し、特定のアクセスを許可する」場合です。上記の例では前者の例での指定方法です。まず、「Order allow,deny」で「allow(許可)」を先に指定し、後から「deny(拒否)」の指定を行います。もしも、後者の「基本的に全てのアクセスを拒否し、特定のアクセスを許可する」設定を行う場合は、「Order deny,allow」と指定の順序が逆になりますので注意してください。「allow」では「all」を指定しているので基本的に全てのアクセスを受け入れる指定です。次に、「deny」で「xxx.mydomain.com」からのアクセスと「209.15.150.XXX」からのアクセスを拒否するように指定しています。なお、「deny」の指定の数は無限に設定することが可能です。仮にLAN内のみのアクセスだけを許可し、WAN側からのアクセスを拒否したい場合は、
order deny,allow
deny from all
allow from 192.168.0
のようにします。この時、「order」の順番には注意してください。

最後の「<Files ".*">~<Files>」では「.」(ドット)で始まるファイル名には全てのアクセスを拒否する指定を行っています。つまり、「.htaccess」は誰もがアクセスできてしまってはならないものなので「.htaccess」へはアクセスできない指定をしておく必要があります。

なお、HTTPメソッドで制限を行いたい場合は「Limit」を記述する必要があります。例えば、「Get」に限定して指定を行いたい場合は
<Limit Get>
allow from all
deny from xxx.mydomain.com
</Limit>

のように記述します。このように指定すると、「xxx.mydomain.com」からのアクセスであっても、Getメソッドに限定してアクセスを拒否することができるようになります。つまり、「xxx.mydomain.com」からのアクセスでも、Postメソッドでアクセスしてきた場合は許可すると言うことになります。






ErrorDocument 403 /www/public_html/403.html
ErrorDocument 404 /www/public_html/404.html
ErrorDocument 500 /www/public_html/500.html

カスタムエラーメッセージが表示されるように指定します。カスタムエラーメッセージの詳細説明についてはこちらを参照してください>>。ここでは、「404」(ファイルが見つからない)と「403」(アクセスが禁止されている)と「500」(サーバーが要求を実行できない)の3つのエラーメッセージの指定を行っています。


今後、随時、追記していきます・・・。



 

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