2012年3月14日水曜日

CentOS Apache2.2の設定(ユーザーディレクトリ)

Apache 2.4.1(安定版)がリリースされたようだ、認証の改良や複数のMPMを動的に読み込みできるなど、追加モジュールも増えたが、 Apache 2.2と比べてCPU使用率やメモリー消費が多いようだ。現段階、我が家では Apache 2.2 を使用する。

ユーザーディレクトリの設定



httpd.confを編集
# vi /etc/httpd/conf/httpd.conf

#AddDefaultCharset UTF-8 <-コメントアウト(文字化け対策)

//これより以下の部分は、Aliasでのエラー回避のため
最終行へ移動( ~ を表示しない場合)

<IfModule mod_userdir.c>
#
# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#
#UserDir disabled <-コメントアウト

#
# To enable requests to /~user/ to serve the user's public_html
# directory, remove the "UserDir disabled" line above, and uncomment
# the following line instead:
#
UserDir public_html <-コメント解除

//ユーザは~(チルダ)なしでアクセスできるよう設定を追加
AliasMatch ^/([^/]+)/(.*) /home/$1/public_html/$2
</IfModule>

//下記を追加
<Directory /home/*/public_html>
AllowOverride All <- .htaccess許可
Options IncludesNoExec ExecCGI FollowSymLinks <- CGI許可
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>


設定の反映
# /etc/rc.d/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]


ユーザディレクトリ作成
# mkdir /home/user/public_html
# chmod 755 /home/ <- パーミッション確認
# chmod 755 /home/user/ <- パーミッション変更
# chmod 755 /home/user/public_html/ <- パーミッション変更



確認
$ vi /home/seiji/public_html/index.html







※SELinuxが有効のときに、"Permission denied..." エラーが出る場合がある。SELinuxが有効か無効かは "getenforce" コマンドで確認する

# getenforce
Enforcing <-SELinux有効
Permissive <-SELinux無効


無効にするには、rootで下記コマンド。
# setenforce 0


また、起動時に無効になるよう設定しておく。
# vi /etc/sysconfig/selinux

#SELINUX=enforcing
SELINUX=disabled

0 件のコメント: