【Apache備忘録④】ユーザーごとの公開ディレクトリを設定する

サーバーのユーザーが限られているような場合、公開するファイルを配置するディレクトリが1箇所に限定されていても問題にならないが、ユーザーの数が増えてきた場合、1箇所に全ての公開用ファイルを配置する方法では管理が難しくなる。

ユーザーそれぞれに、公開用ファイルを配置するディレクトリを個別に用意することができる。


※ 一般的なWebアプリケーションのコンテンツを公開する場合はあまり使うことはないので知識程度に抑えておく。


ユーザーごとのディレクトリを公開する

特定のディレクトリを、ユーザーごとのURLに対応させることができる。

例えば、以下のようになる。

「/home/kento/public_html/index.html」 → 「http://www.kento.co.jp/~kento/index.html」


ユーザーディレクトリを有効にする

設定ファイルを依頼て、修正を行う。

$ sudo vi /etc/httpd/conf.d/userdir.conf

11~25行目あたりにある設定から、「UserDir disabled」コメントアウトして「UserDir enabled <ユーザー名>」を追加、「UserDir public_html」のコメントを解除する。

<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
    UserDir enabled kento

    #
    # 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
</IfModule>

ファイルを配置する

ユーザーの「~/」直下に 「public_html」ディレクトリを作成する。

# パーミッションは701か710にしないと403エラーとなってしまうので変更
$ chmod 701 ~


$ mkdir ~/public_html

# パーミッションの変更
$ chmod 755 ~/public_html

ユーザーの「~/public_html/」下に「index.html」ファイルを作成する。

$ vi ~/public_html/index.html
<html>
  <head>
    <title>Kento public page</title>
  </head>
  <body style="background: linear-gradient(-135deg, #E4A972, #9941D8);">
    <h1>Kento home >>  public_html/index.html</h1>
  </body>
</html>

「パブリックIPアドレス/~ユーザー名/index.html」にアクセスして配置したHTMLファイルの内容がブラウザに表示されることを確認する。

apache-learn-4-1

arrow_back

Previous

【Apache備忘録⑤】ディレクトリ毎の設定ファイルの適用

Next

【Apache備忘録③】文字コードの設定
arrow_forward