導入方法
- ApacheやPHPモジュール等をインストール及び設定。
- httpdの停止(セキュリティの都合上)
- ドキュメントルート(デフォルトなら/var/www/html/)にファイルを置く
- サーバサイドプログラムが無ければ特別なパーミッションは必要無し
- アクセス制限は.htaccessや.htpasswd等で
(.htaacessの設定で指定の.htpasswdを使用するようにしたり。.htpasswdのパスワードは暗号化しておくこと。
また、.htpasswdと.htaccessのパーミッションも任意[セキュリティ上の観点から適切にという意味]に設定すること。)。
httpd.confでAuthTypeやAuthName,AuthUserFile,Require user,secretを設定する。
- httpdを開始して導入修了
1.Apache設定
- IPアドレスやホスト名、ポート番号ごとに表示するサイトを振り分ける。
- virtualhostを利用する(*)。virtualhostはhttpd.confを直接編集する方法と、httpd.confにInclude sample.confと記述してsample.confを編集する方法がある。
- apacheのバージョンを表示させない。apacheのtest-pageを表示しない。ディレクトリトラバーサル対策。
- httpd.confを編集する
- SSLへの対応(必要に応じて)
- ssl.confを編集する。httpd.confはconf.dフォルダにあるconfファイルを全て読み込むように記述してあったりするので、そこのフォルダにconfファイルを作っても良い。
- ディレクトリトラバーサル対策
- httpd.confを編集し、<Directory>タグ内でDeny Allする
- .htaccessファイルを置く等の方法がある。
- Options Indexes FollowSymLinksの部分をOptions -Indexes FollowSymLinksに変更し、ファイル一覧を表示させない。
- apacheの設定確認
- /usr/sbin/httpd -S
- apacheがforbiddenされる場合は、selinux,パーミッションの設定やファイルタイプ(ls -lZで確認できる)を見てみるべし。ファイルタイプはuser_homeだとapacheがアクセスできないらしい。
(*)バーチャルホスト設定例
<VirtualHost IPアドレス:ポート番号>
DOCUMENTROOT "ドキュメントルートのパス"
PROXYPASS /外部アクセスしてくるフォルダ名 ajp://IPアドレス:8009/アクセスして欲しいフォルダ名
SERVERNAME "サーバ名"
・・・
</VirtualHost>
最終更新:2014年07月17日 07:57