一般ユーザーがホーム・ディレクトリ内に作成した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の関係 |
例えば,fukudaユーザーの公開用ディレクトリ上にあるdocument.htmlファイルを閲覧したい場合は,「http://ホスト名/~fukuda/document.html」を指定することになります。
一般ユーザーのディレクトリを公開
Fedora 8を利用している場合,最初は一般ユーザーの公開機能が無効になっているので,公開できるように設定を変更する必要があります。
初期状態では,mod_userdirモジュールの設定部分に「UserDir disable」という記述があり,一般ユーザーのディレクトリを公開できません。そこで,/etc/httpd/conf/http.confファイルの336行目から380行目付近にある設定を変更します(図2)。
図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を再起動して設定を有効にしておきます。
|