カテゴリー:サーバー

質問

ホーム・ディレクトリ以下のpublic_htmlディレクトリをWebで公開してのに,アクセスできない

回答

public_htmlディレクトリの読み出しと実行権限を与えておく必要があります。


難易度:★★ 対象ソフトウェア:Apahce HTTP Server

 Apache HTTP Serverには,mod_userdirと呼ぶ機能があります。これは,個々のユーザーが利用できるWebページを作成する機能です。

 mod_userdirを用いると,各ユーザーのホーム・ディレクトリ内にあるpublic_htmlディレクトリ以下を公開できます。例えば,/home/penguin/public_html/index.htmlファイルに対して,http://www.example.net/~penguin/index.htmlでアクセスできるようになります。

 しかし,「Forbidden You don't have permission to access」とエラーが出てアクセスできないことがあります。これは,ホーム・ディレクトリ内のファイルにApache HTTP Serverのデーモン・プロセスであるhttpdがアクセスできないことが理由です*3。実際に,ホーム・ディレクトリのパーミッションを確認すると,所有者・所有グループ以外のユーザーにアクセス権限が付与されていないはずです。

 他のユーザーがホーム・ディレクトリ以下のファイルにアクセスできるように,「chmod o+x /home/penguin 」を実行して,権限を付与します。

出典:日経Linux 2005年12月号 61ページより
記事は執筆時の情報に基づいており、現在では異なる場合があります。