• ベストアンサー

apacheの設定

フォルダ構成とapacheの設定について教えてください。  /hone/   + httpd/    + html/      + index.html   + nearn/    + index.htm http://aaaaaa.com/でindex.htmlが見れますが、 http://aaaaaa.com/~nearn/でindex.htmを見るためにはどうしたらいいですか? http://aaaaaa.com/~nearn/だと Forbidden You don't have permission to access /~nearn/ on this server. です。 存在していないものを http://aaaaaa.com/~nearnxxxx/ このように試すと Not Found The requested URL /~nearn/ was not found on this server. でした。 apacheは DocumentRoot /home/httpd/html です。  /hone/   + httpd/    + html/      + nearn/        + index.htm にすれば見れると思いますが、 /hone/nearn/ /hone/他のユーザ/ のようなディレクトリの配置は変更したくないです。

  • nearn
  • お礼率36% (25/69)

質問者が選んだベストアンサー

  • ベストアンサー
  • hikaly
  • ベストアンサー率39% (47/119)
回答No.3

httpd.confの中に「UserDir」という項目があります。無ければ追加してください。 次のように書きます。 UserDir public_html すると、/home以下の、各ユーザのhomeディレクトリ(ややこしいですが、/home/ユーザ名 のこと)に作られた、public_htmlという子ディレクトリが、http://~/~ユーザ名/ というURLで公開されます。 図にするとこう↓なります。 /home/  +httpd/   +html/  ← http://~/ でアクセス  +nearn/   +public_html/ ← http://~/~nearn/ でアクセス  +oshiete/   +public_html/ ← http://~/~oshiete/ でアクセス しかし、Forbiddenエラーが出ていることからして、UserDirが原因ではなく、ディレクトリのパーミッションの設定に誤りがあるのかもしれません。公開しようとしているディレクトリ(上の場合、public_html)のパーミッションは705や775にになっていますか?

nearn
質問者

お礼

さらにその近くの英文のコメントに従ってnearnを711にしました。 すると解決しました。 ついでに、デフォルトのhttpd.confで UserDir public_html が書いてあったので、 <IfModule mod_userdir.c> UserDir public_html </IfModule> と同じ効果は既にあったのかもしれないと思い、その3行をコメントアウトしました。 それでもきちんと表示できました。 ありがとうございました。

nearn
質問者

補足

UserDir public_htmlの記述はデフォルトでありました。 フォルダの階層もそのようになっています。 コメントの英語の説明に従ってpublic_htmlを755にしましたが、結果は同じでした。

その他の回答 (3)

  • joe-
  • ベストアンサー率34% (11/32)
回答No.4

もしかしたら、index.htmはINDEXにできない設定なのかもしれません。 <IfModule mod_dir.c> DirectoryIndex index.html </IfModule> に index.htmを追加してみて下さい。 <IfModule mod_dir.c> DirectoryIndex index.html index.htm </IfModule>

nearn
質問者

お礼

ありがとうございます。 それも考えられる原因でしたね。

  • joe-
  • ベストアンサー率34% (11/32)
回答No.2

http.confに <IfModule mod_userdir.c> UserDir public_html </IfModule> という記述はありませんか? もしあるとすると、/home/nearn/public_html/index.htmlとするとできるはずです。

nearn
質問者

補足

http.confにその記述は無かったのですが、その場合の http://aaaaaa.com/~nearn/ でapacheが提供しようとするindex.htm?のパスはデフォルトでどうなっているんでしょうか?

  • baoyakey
  • ベストアンサー率0% (0/3)
回答No.1

# # UserDir: The name of the directory which is appended onto a user's home # directory if a ~user request is received. # #<IfModule mod_userdir.c> # UserDir public_html #</IfModule> # # Control access to UserDir directories. The following is an example # for a site where these directories are restricted to read-only. # #<Directory /home/*/public_html> # AllowOverride FileInfo AuthConfig Limit # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec # <Limit GET POST OPTIONS PROPFIND> # Order allow,deny # Allow from all # </Limit> # <LimitExcept GET POST OPTIONS PROPFIND> # Order deny,allow # Deny from all # </LimitExcept> #</Directory> とかかれている部分がhttpd.confファイル内に有ると思います。 <IfModule mod_userdir.c> UserDir public_html </IfModule> のようにコメントアウトを外して、apacheを再起動すればお望みのようになると思います。

nearn
質問者

補足

httpd.confに <IfModule mod_userdir.c> という文字列が存在していませんでした。 webminでapacheのモジュールの一覧を見ると、mod_userdir.cが有り、チェックされていたので、使える状態であると思ったので <IfModule mod_userdir.c> UserDir public_html </IfModule> を追記して再起動しましたが、結果は変わりませんでした。 /hone/nearn/public_html/index.htm を作りました。 nearn以下は全てnearnの所有物で、その他の人の読み取りを有効にしました。

関連するQ&A

  • Apache2.2 Aliasについて

    http://www.adminweb.jp/apache/docroot/index3.html 上のサイトを参考に、ドキュメントルート以外の場所へアクセスできるようにしたいんですが 参考サイト通りにやっても、うまく動きません。 httpd.confは <IfModule alias_module> Alias /labo/ "C:/Apache_Server/data/" <Directory "C:/Apache_Server/data"> Allow from all </Directory> ScriptAlias /cgi-bin/ "C:/Apache_Server/Apahce2.2/cgi-bin/" </IfModule> このように書いています。 (ServerRoot は "C:/Apache_Server/Apahce2.2" DocumentRoot は "C:/Apache_Server/Apahce2.2/htdocs"です) C:\Apache_Server\data に index.htmlを置き http://localhost/labo/index.html へアクセスしても Not Found The requested URL /labo/index.html was not found on this server. と表示されます。 環境はApache2.2、windows7です。 どこか間違っているところがあるのでしょうか? よろしくお願いいたします。

  • apache2.2 の設定に関して

    過去ににはlinux で apache1.3x の頃だと思いますが、apache の設定を行ったことがあります。 今回さくらインターネットと契約して、各種サーバの設定をコンソール上から行うことになりました。OS が FreeBSD (バージョンは未確認、確認方法が不明な為)ですが、apche の基本的設定は同じだと理解しました。 apache のバージョンが、2.2 になっていますが、基本的設定は httpd.conf で良いことは調べて確認しました。 現状(契約した後)では、取得した独自ドメインで確認ページを見れることは確認しています。 http://www.hogehoge.jp/ 独自ドメインでのアクセスは OK でした。 httpd.conf を確認して、DocumentRoot "/home/htdocs" も確認しました。 次に個々のユーザが、public_html でホームページを公開出来るように、httpd.conf に以下の情報を追加しました。 <Directory "/home/*/public_html"> Options FollowSymLinks ExecCGI Includes AllowOverride All Order allow,deny Allow from all </Directory> と記載して、apache を再起動させ、 http://www.hogehoge.jp/~hoge/index.html にアクセスすると。 Not Found The requested URL /~hoge/index.html was not found on this server. と出ます。 httpd.conf には他には何も追記していません。他にも何処か設定する項目が有るのでしょうか、アドバイスを頂ければ幸いです。 ユーザ hoge は、ディレクトリ public_html を作成して、index.html は置いてあります。 # hogehoge.jp は架空のドメインで、取得したドメインではありません。

  • apacheとphpを入れたのですが上手く動作してくれません。

    apacheを起動すると次の様なものが表示されます。 The requested URL /phpinfo was not found on this server. Apache/2.0.53 (Win32) Server at localhost Port 80 restartすると表示されません、これは何か問題あるのでしょうか? またphpを実装して実行したら The requested URL /phpinfo was not found on this server. Apache/2.0.53 (Win32) Server at localhost Port 80 この様なエラー?が発生しました。 どうしたらいいのうでしょうか??色々調べてやってみても駄目だした、皆様宜しくお願いします。

    • 締切済み
    • PHP
  • WIN版のアパッチの設定

    windowsの環境でアパッチを使ったHTTPサーバーの設定の質問です。 アパッチを使ったサーバーにアクセスした時にDocumentRoot下にあるindex.htmにアクセスできるようにしたいのですが、ブラウザでHttp://DocumentRoot(仮に)/だけでは、アクセスできません。当然Http://DocumentRoot/index.htmであれば大丈夫です。 昔使ってたときはindex.htmまで指定しなくてもアクセスできてたと思うんですが、随分と前の話で設定があったような?どうだったかなぁと頭抱えてます。 わかる方宜しくお願いします。

  • ユーザーページの設定および公開について

    ユーザーページの設定および公開について教えてください。  /var/   + www/    + html/      + index.html  /home + test/    + public_html + index.htm http://aaaaaa.com/でindex.htmlが見れますが、 http://aaaaaa.com/~test/でindex.htmを見るためにはどうしたらいいですか? http://aaaaaa.com/~test/だと HTTP 404 - ファイル未検出 Internet Explorer が表示されます。 apacheのエラーログには [Sat Sep 24 22:04:00 2005] [error] [client 192.168.11.3] File does not exist: /var/www/html/~akaeda [Sat Sep 24 22:04:00 2005] [error] [client 192.168.11.3] File does not exist: /var/www/html/favicon.ico と表示されています。 documentrootは/homeに変更しているのですが、有効になっていないのでしょうか。 httpd.comの設定は DocumentRoot "/home" # This should be changed to whatever you set DocumentRoot to. # #<Directory "/var/www/html"> <Directory "/home"> # UserDir: The name of the directory that is appended onto a user's home # directory if a ~user request is received. # #UserDir public_html UserDir public_html と、しています。 なにか抜けているところがあればご教授お願いいたします。

  • アパッチでAccessForbiddenがでてしまう。

    今日アパッチのhttpd.confを変更して DocumentRootを変えて見たのですが・・・ Forbiddenのメッセージが・・・ ディレクトリにはちゃんとデータはいってるのですが 分かるかたぜひ教えてください。

  • パーミッションについて

    度々お世話になります。 Forbidden You don't have permission to access /xxx/xxxxxxx.cgi on this server. -------------------------------------------------------------------------------- Apache/1.3.27 Server at www.xxxxxxx Port 80 入力フォームで送信ボタンを押すと上記メッセージが表示されてしまいます。 パーミッションは755に設定しているのですが、何が悪いのでしょうか? また、所定の位置にファイルはあるのに Not Found The requested URL /xxx/xxxxxxx.cgi was not found on this server. -------------------------------------------------------------------------------- Apache/1.3.27 Server at www.xxxxxxx Port 80 と表示されます。 原因は何なのでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • CGI
  • apache2の設定 public_html?

    こんにちは。 apacheを自分で設定してみてふと気になったことがあります。 httpd.confでDocumentRootを指定する、というのはわかるのですが、 よくプロバイダのWebスペースの設定はPublic_html以下にindex.htmlを 作ってくださいと書いてあります。 そしてそのページを見る時は、 http://www.kakuuno.net/username/index.html になると思います。 これってどうやってDocumentrootを指定しているんでしょうか? /home以下を指定したらきっとページを見る時は、 http://www.kakuuno.net/username/public_html/index.html でないと 見ることが出来ないような気がするんですけど・・・。

  • ApacheとPHPの設定で

    Apacheの設定は「あなたの予想に反して、このページが見えているでしょうか?」と初期画面が出たのですが、PHPは「ページが表示されません」と出てしまい、 その後、http://localhost/につなげると、 Forbidden You don't have permission to access / on this server. Apache/2.0.54 (Win32) Server at localhost Port 80 と表示されました。 何がどう悪いのかわかりません。

    • 締切済み
    • PHP
  • PHPが実行できない

    CentOSでPHPの勉強をしています。 ですが、実行ができません。というより、ファイルを見つけることができません。 以下のようにやりました。 まずrootでログインし、httpdを起動させました。 [root@new-host ~]# /etc/init.d/httpd start httpd を起動中: 次にstudentというホストに切り替え、「studentのホーム」というフォルダにtest.phpを作成しました。 この後、 http://new-host/~student にアクセスすればtest.phpが選択できるかと思ったのですがそうすると Not Found The requested URL /~student was not found on this server. Apache/2.2.3 (CentOS) Server at new-host Port 80 と書いてある404 Not Foundの画面になってしまいます。 どこがいけないのでしょうか。よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう