apacheを使っています。設定ファイルhttpd.confには
LoadModule userdir_module modules/mod_userdir.so
という記述があるにも関わらず、
$ httpd -lコマンドを実行しても、
mod_userdir.c
が表示されていません。
これでは、httpd.conf中に、
UserDir /home/*/public_html
を記述しても、public_htmlにアクセスされても
Pages not found
となってしまいます。
mod_userdir.cを組み込む方法をご教授ください。
No.4ベストアンサー
- 回答日時:
> 今度は、
> 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が吐き出すアクセスログを調べてみると良いだろう。
No.2
- 回答日時:
# httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
# httpd -M
---------------------
---------------------
speling_module (shared)
userdir_module (shared)
alias_module (shared)
rewrite_module (shared)
------------------------
$ man httpd
-l Output a list of modules compiled into the server.
This will not list dynamically loaded modules included
using the LoadModule directive.
public_html の 下に、index.html が有れば
特に問題はないと思うし、問題は無かった。
No.1
- 回答日時:
$ httpd -l
というコマンドは、Apache 1.3.4~、Apache 2.0.x、Apache 2.2.xの場合、「httpdという実行ファイルの中に直接埋め込まれている*.cを表示する」ものだ。なので、LoadModuleで動的にロードするモジュールの*.cは表示されない。変わりに
$ httpd -M
とすると、ロードされるモジュールが全て表示される。この時、右にstaticと書かれているものが、先ほどのhttpd -lで表示されたものと一致しているはずだ。LoadModuleで動的にロードされるモジュールはsharedと書かれているだろう。このsharedの中にuserdir_moduleがあれば、mod_userdirは正しく動的に組み込まれている事になる。
UserDir /home/*/public_html
というディレクティブが設定されている場合、そのOS中にmksaというユーザーが居たとして、OS自身から
http://127.0.0.1/~mksa/public_html ・・・(1)
にアクセスしてるなんて事はないよね?
http://127.0.0.1/~mksa/index.html
にアクセスすると/home/mksa/public_html/index.htmlを返すので、(1)だと/home/mksa/public_html/public_htmlを探しにいってNot Foundになる。ブラウザでURLを正しく打ってるのにダメとなるとhttpd.confがおかしい事になるのでもう一度確認されたし。
この回答への補足
ご回答ありがとうございます。今度は、
Forbidden
You don't have permission to access ~
というエラーが出てしまいました。
対象のディレクトリやファイルは
chmod 755
としているのでアクセス権はあるはずなのですが・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL Mac です。ローカルホストの phpMyAdmin にアクセスできません。 1 2023/06/06 17:14
- その他(ゲーム) SkyrimSEのMod organizer で困っています。誰か助けてください。 1 2022/12/05 01:49
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Excel(エクセル) ExcelでA1に「年」B2に「干支」を表示する関数 6 2023/08/17 15:51
- Java マイクラでPythonのプログラミングができません 3 2023/05/28 07:15
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- ホームページ作成・プログラミング chromeでhttpdを使うと 2 2022/03/23 10:54
- Visual Basic(VBA) EXCEL VBAの記述を教えてください。 3 2022/12/01 20:10
- 数学 一次合同式と連立合同式の問題について 3 2022/05/07 15:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
lsでディレクトリのサイズが409...
-
Index.html表示しない!!
-
ファイルが移動できません。
-
ファイル「所有者」と「所有グ...
-
FTPでファイルがダウンロードで...
-
シンボリックリンクでパミッシ...
-
shellscript内のコマンドを、su...
-
Apacheのドキュメントルート配...
-
/varの容量を変更の仕方
-
RPM のソースパッケージが展開...
-
嫌ってるのに真似してきたりマ...
-
マウントを取ろうとする心理 マ...
-
onedriveの中身を削除したらパ...
-
Winmerge ファイルの中身は同じ...
-
同期センターのマークが出てま...
-
Mac bookで録画ファイル.movを...
-
mrl→midファイルへ
-
教えてgooの常連ってどのカテに...
-
ワードでページ数がどんどん増える
-
転職して4月から新しい職場です...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPでファイルがダウンロードで...
-
lsでディレクトリのサイズが409...
-
ファイルが移動できません。
-
Ubuntu、ファイル移動によるエ...
-
shellscript内のコマンドを、su...
-
シンボリックリンクでパミッシ...
-
Index.html表示しない!!
-
あり得ない!アーカイブを展開...
-
RPM のソースパッケージが展開...
-
PHPでchmod()を使えるようにす...
-
SFTPでファイルのアップロード...
-
rootでも権限が無いようです
-
rootユーザのメールボックスへ...
-
umask757をvar/www/htmlへ適用?
-
ダウンロードしたファイル
-
ファイル所有者を「apache」へ...
-
書き込み権限がありません
-
apacheに詳しい方教えてください
-
winSCPでlinuxフォルダを作りたい
-
ファイル「所有者」と「所有グ...
おすすめ情報