一般ユーザーがホーム・ディレクトリ内に作成したWebページを公開できるようにします。

 ここまでは,システム管理者(スーパーユーザー)がWebページを公開する方法を説明してきました。しかし,Linuxシステムの一般ユーザーが各々のWebページを作成したい場合もあるでしょう。今まで紹介してきた方法では,管理者権限など特定の権限を持つユーザーでないと,Webページを保存しているディレクトリに書き込みができません。

 Apacheは,一般ユーザーがWebページを公開するための機能を備えています。この機能は「mod_userdir」モジュールで提供されています。一般ユーザーが書き込めるディレクトリを用意し,Apacheはそのディレクトリを外部に公開します。ユーザーはそのディレクトリにHTMLファイルを入れておくことでWebページを発信できます。

 では,Fedora 8で,一般ユーザーがWebページを公開できるようにしてみましょう。最初に,一般ユーザーがWebページを格納するためのディレクトリをホーム・ディレクトリに用意します。このディレクトリにHTMLファイルなどを配置すると,外部にWebページを公開できます。

 一般に,公開用のディレクトリ名は「public_html」とします。例えば,fukudaユーザーであれば,「/home/fukuda/public_html」ディレクトリが,Webページを格納して公開するディレクトリになるわけです。

 外部からユーザーのディレクトリを閲覧する場合には,ホスト名の後にチルダ(~)を付けて,その後にユーザー名を指定します(図1)。すると,ユーザーのpublic_html以下を示したことになり,公開用ディレクトリにあるファイルを閲覧できます。

図1●一般ユーザーの公開用ディレクトリとURLの関係
図1●一般ユーザーの公開用ディレクトリとURLの関係

 例えば,fukudaユーザーの公開用ディレクトリ上にあるdocument.htmlファイルを閲覧したい場合は,「http://ホスト名/~fukuda/document.html」を指定することになります。

一般ユーザーのディレクトリを公開

 Fedora 8を利用している場合,最初は一般ユーザーの公開機能が無効になっているので,公開できるように設定を変更する必要があります。

 初期状態では,mod_userdirモジュールの設定部分に「UserDir disable」という記述があり,一般ユーザーのディレクトリを公開できません。そこで,/etc/httpd/conf/http.confファイルの336行目から380行目付近にある設定を変更します(図2)。

図2●Fedora 8で一般ユーザーのディレクトリを有効にする
図2●Fedora 8で一般ユーザーのディレクトリを有効にする
/etc/httpd/conf/http.confファイルの336行目から380行目付近の設定を変更する。

 一般ユーザーのディレクトリの公開機能を有効にします。それには,354行目付近にある「UserDir disable」の行頭に「#」を付け,コメントアウトします。代わりに361行目付近にある「UserDir public_html」の行頭にある「#」を取り除きます。

 次に,一般ユーザーの公開ディレクトリのアクセス制限などを行う<Directory>項目を有効にしておきます。369行目から380行目付近にある「<Directory /home/*/public_html>~</Directory>」の各行頭ある「#」を取り除きます。

 これで,準備が完了しました。Apacheを再起動して設定を有効にしておきます。

# /etc/init.d/httpd restart