> 今度は、
> Forbidden
> You don't have permission to access ~
> というエラーが出てしまいました。
>
> 対象のディレクトリやファイルは
> chmod 755
> としているのでアクセス権はあるはずなのですが・・・。
うむすばらしい。一歩前に進んだじゃないか。さて、クライアント側にこいつ(403)が返る時、原因は2つある。
1.apacheがファイルシステムにアクセスできない。
質問者が言っているchmod 755のことで、確実に755になっているのであれば問題ない。が、ひょっとしたら/home/mksa/public_htmlは755だけど、/home/mksaが700になっていて、そっちで弾かれているという可能性もある。この辺も、ネット上に「/home/mksa/public_htmlが755ならその親がどうであろうと関係ない」という情報も流れているが、私個人は親が700だったらダメなんじゃないかなぁと思う。
ちなみにapacheは普通ユーザーnobodyさん辺りが所有するプロセスになるため、ユーザーmksaが所有するファイルから見ればothersになる。
ところで、今/home/mksa/public_htmlも/home/mksaも755じゃないといけないと言ったけど、そうすると一般ユーザーがお互いのhomeを見れる事になるので、実際にシステムを構築する際には/var/www/users/*/public_htmlなどとhome以外を使うというのも手だ。
2.apacheの設定でクライアント(Webブラウザ)にアクセスさせない。
これはhttpd.confで<Directory>ディレクティブや<Location>ディレクティブの設定によりアクセス制御を行うもので、例えば
~~~~~~~~start
<Directory />
order deny,allow
deny from All
</Directory>
UserDir /home/*/public_html
~~~~~~~~end
となっていると、ファイルシステム全体が全て拒否されている状態で/home/mksa/public_htmlもその庇護下に置かれる。
~~~~~~~~start
<Directory />
order deny,allow
deny from All
</Directory>
UserDir /home/*/public_html
<Directory "/home/*/public_html">
order deny,allow
deny from All
allow from All
</Directory>
~~~~~~~~end
として、ユーザーごとのディレクトリー以下は基本全て許可するという風に設定してみると良い。ただ、大抵のディストリビューションの標準のhttpd.confはこの辺りは最初から設定されていると思うんだけどね。
これでも403になるようなら、apacheが吐き出すアクセスログを調べてみると良いだろう。
補足
ご回答ありがとうございます。今度は、 Forbidden You don't have permission to access ~ というエラーが出てしまいました。 対象のディレクトリやファイルは chmod 755 としているのでアクセス権はあるはずなのですが・・・。