Linux で自宅サーバ [ Home Server Techncial ]

>>トップページに戻る

 ユーザを /~username で分ける

ここでは、プロバイダやフリーのwebスペースがくれるwebスペースの様に「 http://www.example.com/~ユーザ名 」でアクセスできる方法をご紹介します。
自宅サーバの利点の一つである「 短いURL 」とは逸脱してしまいますが、
カンタンにできるので、家族や友人用に作ってみても面白いですよ。

ページ内コンテンツ一覧

▲ページの最上部に戻る

 Apache の設定

では早速設定に入ります。
設定は Apache の設定ファイルの httpd.conf を直接編集します。

httpd.conf 中の 490 行目付近に以下を追加します。

<IfModule mod_userdir.c>
UserDir "/home/*/public_html/"
<Directory /home/*/public_html/cgi-bin>
AllowOverride All
</Directory>
</IfModule>

この文の意味は、「 UserDir "/home/*/public_html/" 」で、
ユーザのホームディレクトリが「 /home/*/public_html/ 」なります。
「 * (アスタリスク)」は「何でもいい」という意味です。
この「 * (アスタリスク)」の部分がユーザ名になり、「 /~username 」の「 username 」部分になります。
そして、「 public_html 」ディレクトリ以下に、HTML ファイル、画像ファイルなどを設置します。

<Directory /home/*/public_html/cgi-bin> 」から「 </Directory> 」の記述で、
AllowOverride All 」を許可しています。
これは、「 /home/*/public_html/cgi-bin 」ディレクトリ以下に「 .htaccess 」ファイルが置ける事を意味しています。

ユーザに CGI の実行を許可しないのであれば、この「 <Directory> 」タグは必要ありません。
また、ユーザの CGI の実行に関して、httpd.conf 中に記述する方法もありますが、ただでさえ長い httpd.conf がさらに長くなるので、先述の制御ファイル「 .httaccess 」を用います。
これにより「 .htaccess 」ファイルに変更がかかっても Apache の再起動は不要というメリットもあります。

/~username で web スペースを与えられたユーザが、家族などの管理者と直接会って、ファイルのアップロードを管理者自身が行う場合は、この設定で問題ありません。
しかし、外部から FTP ソフトを使ってファイルのアップロードをする場合、ユーザに「 .htaccess 」ファイルを触られるのは、
ちょっとよろしくありません
。そこで、FTP サーバである ProFTPD の設定を変更しなければなりません。
「 /~username で区切られたユーザに外部からのアップロードを可能にし、.htaccess ファイルの変更・追加は不可にする
という設定は、当サイト内の FTP サーバ(ProFTPD) > .htaccessをアクセス不可にする で行っています。ご一読下さい。

▲ページの最上部に戻る

Copyright© Home Server Technical. All Right Reserved.
webmaster@miloweb.net