基本設定
/etc/httpd/conf/httpd.confを編集します。以下の項目は全て設定ファイル内に記述されています。初期設定値から適切な値に変更してください。
初期状態の設定は必要最小限になっているので、ここで変更する項目はあまりありません。
# 適切なメールアドレスに変更 #ServerAdmin root@localhost ServerAdmin ymkn@jibunstyle.net # 適切なサーバ名に変更 #ServerName www.example.com:80 ServerName saba:80 # 日本語を最優先の言語にする #LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW # 文字コードがらみのトラブルを未然に防ぐためにAddDefaultCharsetを無効にする #AddDefaultCharset UTF-8
基本的なセキュリティ対策
引き続きhttpd.confを編集し、基本的なセキュリティ対策を施します。
# サーバ情報の表示を最小限にする #ServerTokens OS ServerTokens Prod # ServerSignature On ServerSignature Off <Directory "/var/www/html"> # インデックス表示を無効にします。 # Options FollowSymLinks Indexes Options FollowSymLinks
あっさりですが、いったんはこれで設定完了です。
サービスとファイアウォールの起動設定
おなじみsetupコマンドを使ってシステム起動時にhttpdが起動するようにします。もちろん、ファイアウォールの設定で80番を解放するのを忘れずに。
# setup [サービス]を選択して[httpd]を有効に [ファイヤーウォールの設定]を選んで[カスタマイズ]を選び、[受信を許可]で[WWW (HTTP)]を有効にする
httpdの起動
# /etc/init.d/httpd start
動作確認
WindowsでWebブラウザを起動し、自宅サーバのURLに接続します。
http://saba/
CentOS Test Pageが表示されればOKです。
ユーザディレクトリ
次に、ユーザディレクトリの設定を行います。今回は、ユーザディレクトリを開発用ディレクトリとして使うこととし、公開範囲はLAN内限定にします。
再び/etc/httpd/conf/httpd.confを編集しましょう。
# UserDirを有効にするためにコメントアウト #UserDir disable # UserDirを有効にするためにアンコメント # デフォルトの/home/*/public_htmlでは、 # httpdの実行ユーザのアクセスを許可するために # /home/*のアクセス権をゆるめる必要があるため、 # /home以下でない場所に専用のディレクトリを別途用意する #UserDir public_html UserDir /var/www/users/* # UserDirにはLAN内からのみアクセス可能にする #<Directory /home/*/public_html> # AllowOverride FileInfo AuthConfig Limit # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec # <Limit GET POST OPTIONS> # Order allow,deny # Allow from all # </Limit> # <LimitExcept GET POST OPTIONS> # Order deny,allow # Deny from all # </LimitExcept> #</Directory> <Directory /var/www/users/*/> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST PUT DELETE OPTIONS> Order deny,allow Deny from all Allow from 192.168.1. </Limit> <LimitExcept GET POST PUT DELETE OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> # cgiとして認識する拡張子を追加する(お好みで) #AddHandler cgi-script .cgi AddHandler cgi-script .cgi .pl .rb
ディレクトリの作成
これで/var/www/users以下のディレクトリがユーザディレクトリとして扱われるようになりました。実際にフォルダを作成し、テストページを配置して動作確認します。
# mkdir /var/www/users # mkdir /var/www/users/ymkn # chown ymkn /var/www/users/ymkn
利便性のために、ホームディレクトリへ/var/www/users/ymknのシンボリックリンクを張ります。この作業は一般ユーザで行います。
$ ln -s /var/www/users/ymkn ~/public_html
続いて、動作確認用のテストページを適当に作成します。
$ vi ~/public_html/index.html <html><head><title>ymkn's home</title></head><body><h1>hello!</h1></body></html>
設定反映
今編集した内容を反映させます。
# /etc/init.d/httpd reload
動作確認
公開用ディレクトリの時と同様に、WindowsからWebブラウザで下記URLにアクセスします。
http://saba/~ymkn/
先ほど作成したテストページが表示されたでしょうか? 無事表示が確認できたら、公開用ディレクトリのテストページを削除します。
# rm -f /etc/httpd/conf.d/welcome.conf # rm -f /var/www/error/noindex.html
最後にもう一度設定を反映して完了です。
# /etc/init.d/httpd reload