『ユーザホームページを公開するには?(その1:"~"チルダ付き):http://kajuhome.com/tips/tips_03_002.shtml』では、 「http://・・・/~xxx」でアクセスする方法ですが、ここでは「http://・・・/xxx」の様に"~"チルダなしでアクセスする方法を紹介します。 一般ユーザのホームディレクトリ配下「public_html」を公開します apacheの設定ファイル「/etc/httpd/conf/httpd.conf」の以下の行を追加・修正します。 # vi /etc/httpd/conf/httpd.conf <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 disable # # To enable requests to /~user/ to serve the user's public_html # directory, remove the "UserDir disable" line above, and uncomment # the following line instead: # #UserDir public_html 公開するユーザのパス AliasMatch ^/([^/]+)/(.*) /home/$1/public_html/$2 </IfModule> ユーザパスの「public_html」をapacheでアクセスできる様にする 以下は「.htaccess」を有効、SSI・CGI実行の許可に設定 <Directory /home/*/public_html> AllowOverride All Options Includes ExecCGI FollowSymLinks Order allow,deny Allow from all </Directory> 修正した後は、apacheを再起動してください。 # /etc/rc.d/init.d/httpd reload ※:起動時のメッセージで以下が出力される場合があります。 [warn] The Alias directive in /etc/httpd/conf/httpd.conf at line xxx will probably never match because it overlaps an earlier AliasMatch. これは、apache設定ファイル内の「Alias」が今回追加した「AliasMatch」より後方に定義されている為、効力(設定有効)に欠けると言う意味です。 対処するには、UserDir関連のディレクティブ部分を設定ファイルの最終行に移動する事によって可能です。 分かりやすくする為、コメント部を含め以下の範囲を移動する事をお勧めします。 縺薙%縺九i # # UserDir: The name of the directory that is appended onto a user's home # directory if a ~user request is received. # # The path to the end user account 'public_html' directory must be # accessible to the webserver userid. This usually means that ~userid # must have permissions of 711, ~userid/public_html must have permissions # of 755, and documents contained therein must be world-readable. # Otherwise, the client will only receive a "403 Forbidden" message. # # See also: http://httpd.apache.org/docs/misc/FAQ.html#forbidden # <IfModule mod_userdir.c> : : : </IfModule> <Directory /home/*/public_html> AllowOverride All Options Includes ExecCGI FollowSymLinks Order allow,deny Allow from all </Directory> ここまで 「一般ユーザのホームディレクトリに「public_html」を作成します。 例)一般ユーザ名「linux」のホームページを公開する場合。 ※:一般ユーザであることに注意して下さい。(カレントパスも「/home/linux」です) 「public_html」パスを作成 $ mkdir public_html パーミッション「other」が読み取れる様にする $ chmod 701 /home/linux 実行権を付与する $ chmod 755 /home/linux/public_html 作成した「public_html」に適当なHTMLを作成し「http://・・・・/linux/」("~"チルダなし)でアクセス出来るようになります。 |