• 締切済み

Apacheのパーミッション

Ubuntu9.04でApacheのホームページ作成をしています。 public_htmlディレクトリの中に、htmlファイルをおいて http://サーバー名/~ユーザー名/public_html/ファイル名 と入力してもNot Fonudという結果です。 これはパーミッションの問題なのではと 自分は考えているのですが、設定方法がわかりません。 パーミッションをどのように変えればよいか。 または他にこんな問題があるのではないか。 という意見ありましたら、教えてください。

みんなの回答

回答No.1

パーミッションの前にいくつか確認する点があると思います。 1. public_htmlは省いて http://サーバー名/~ユーザー名/ファイル名 でアクセスしてください。 2. public_htmlディレクトリを使用するには"userdir"設定をApache側で有効にする必要があります。デフォルトでは無効だと思うので心当りがなければ"ubuntu userdir"で検索すれば方法はわかると思われます。 パーミッションについては"自分(所有者)"、"グループ"、"その他"に対して読み、書き、実行の3権限を設定するのが基本で、Apacheなら最低限"その他"に対してディレクトリなら"実行"、ファイルなら"読み"の権限が必要です。 Ubuntuではパーミッションは初期設定でこのような設定になっているはずですので、まずは考えなくて良いでしょう。 ただトラブルシュートの際には必要なので概念とパーミッションを表示でして確認できるように、"linux パーミッション"ぐらいで検索してヒットした文書をいくつか眺めてみる事をお勧めします。

santa1359
質問者

お礼

ありがとうございました。 yadiaryさんの言う通り、 UserDirを調べてapache2.confのUserDirを操作したところ 閲覧できるようになりました。

関連するQ&A

  • Apacheでユーザディレクトリが公開できません。

    はじめまして。恐れ入りますがぜひともご教示下さい。 今まで自宅サーバにてApacheでサイト運営していたのですが、友人にせがまれ、友人向けのサイトスペースを用意することになりました。 そこで、友人用のユーザアカウントを用意し(今までは特にユーザーディレクトリを用意して運営していなかった)、ドキュメントルート /home/"ユーザ名"/public_html にindex.htmlと.htaccessを用意し、設定を終えたはずなのですがlocalhost/"ユーザ名"/にアクセスするとforbiddenになってしまいます。 /home/"ユーザ名"/public_html以下の全てのディレクトリ/ファイルは所有者nobodyでパーミッションは755です。 また、.htaccessでは、以下の様な設定になっております。 DocumentRoot "/home/"ユーザ名"/public_html/ <Directory "/home/"ユーザ名"/public_html"> Options FollowSymLinks AllowOverride AuthConfig Limit </Directory> です。行き詰まってしまったので考えられる 処置を教えていただけませんでしょうか? OS:Vinelinux3.1 Webサーバ:Apache1.3.33 よろしくお願いします。

  • apache2でユーザーディレクトリが

    apache2でユーザーディレクトリを使いたいんですが ただのapacheではデフォルトでユーザーディレクトリがつかえるんですが 403でパーミッションを直して使えて apache2でいろいろ apache2.confなどにuserdir.cなどのモジュールを読み込ませたり sites-avalias/defaultに /home/*/public_htmlなど試してみたいんですが ダメみたいです ちょっと省略していますが ちなみにバージョンはApache/2.2.3です エラーは http://xxxxx/~ユーザー名 にアクセスすると 403ではなく404エラー フォルダが無いということは sites-avalias/defaultかapache2.confの設定がおかしいんでしょうか? ちゃんと /home/xxxx/public_htmlも作ってありますし パーミッションもあっています しかし <Directory /home/xxx/public_html>などの設定をしたいんですが sites-avalis/defaultに書くのか それともapache2.confに書くのかまぎらわしくて defaultのほうには<Directory /var/www>など書いてあって apache2.confにはmoduleなどいろいろ書いてあります apache2がhttpd.confではなくてまぎらわしくてよくわかりません それとバージョンなど古かったりなど違ったりして できないみたいです Apache/2.2.3でユーザーディレクトリを使っているかた 詳しく教えて下さいお願いします

  • chmodでのパーミッション

    実行すると、同じディレクトリにあるディレクトリとその中のファイルを同じ階層にディレクトリを新規に作って、その中のファイルを全部コピーするスクリプトを組んでいます。 コピーはうまくいったのですが、パーミッションの設定がうまくいきません。 例えば @chmod("$dir/xxx.cgi",0755)or die("エラー"); と書くと、パーミッションは363になってしまいます。 5ファイルくらいあるのですが、他のパーミッション(例えば666など)も137になってしまいます。 Webを検索してもこういった事例にはおめにかからないのですが、私の使っている2つのサーバーで、どちらも同様の結果でした。 何がいけないのでしょうか? よろしくお願いいたします。 #ついでにmkdirも作成はできるのですが、パーミッションが必ず755になってしまいます。 #作成されたディレクトリやファイルのownerは、1つめのサーバーではnobody、もう一つのサーバーではログインユーザーになります。 #サーバーはどちらもLinuxです。 #PHPのヴァージョンは、1つめが4.3.1、2つめが4.3.4です。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • Apache:ディレクトリリストの表示について

    Apacheの設定について教えてください. http://hostname/~user とブラウザに入力したときにindex.htmlが表示されるのですが、 index.htmlを削除すると403 Forbiddenのエラーが表示されてしまいます. index.htmlが存在しない場合はディレクトリのリストが 表示されるようにしたいのですが、 どのようにしたら良いでしょうか. 環境 CentOS 5.1 apache 2.2 userのパーミッション 755 user/public_htmlのパーミッション 755 情報に不足ありましたら追記しますのでご指摘ください. よろしくお願いします.

  • apacheのユーザーディレクトリの設定

    Fedora Core6のapacheのユーザーディレクトリの設定で悩んでいます。 設定ファイル(httpd.conf)には以下のように記述しています。 #UserDir disable UserDir public_html <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> ユーザー登録をして/home/ユーザ名/にpublic_htmlフォルダを作成して、index.htmlページを作り、http://localhost/~ユーザー名/index.htmlにアクセスしましたが、「403 Forbidden」となってしまいます。 http://127.0.0.1/~ユーザー名/でアクセスしても「403 Forbidden」になります。 フォルダやファイルのパーミッションをいろいろと変えてみましたが表示されません。 こちらはLinux勉強中の初心者です。 よろしくお願いします。

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

    度々お世話になります。 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
  • LinuxのWebサーバでユーザのホームページを公開したいです

    RedHatLinux9でWEBサーバを構築しました。 ユーザをいくつかつくりました。 そのいくつかのユーザのホームページを公開しようと思います。 調べた結果、 /home/ユーザディレクトリ に、public_html ディレクトリを作成し、 その中にindex.html を作成。 ユーザディレクトリのパーミッションを711にし、public_html は755になっているのでそのまま。index.htmlのパーミッションも644なのでそのまま。 これで、http://www.aaa.jp/~ユーザディレクトリ とやれば、index.html が表示されるとありました。しかし、index.htmlは表示できませんでした。 何か足りない設定はありますか? また、すべてのユーザにホームページをつくるわけではないのですが、 useradd -s /sbin/nologin でユーザを作成した場合、自動的に、http://www.aaa.jp/~ユーザディレクトリ とやるとLinuxデフォルトのTest Page が表示されてしまいます。 ホームページを公開しないユーザに対しては何も表示しないようにしたいのですが、どのような設定をしたら良いのでしょうか?

  • Apache2のユーザフォルダ設定

    初投稿です。みなさんのお知恵を貸してください。 常時接続のWindows2000の自宅マシン(以下、サーバ)にApache2をインストールして、複数人のユーザが自分用のホームページを置けるようにしたいと考えています。 このとき、サーバ上に各ユーザがデータを置く場所と、URLの関係を以下のようにしたいのですが、設定がよくわかりません。 サーバ E:\home\user1\public_html\index.html URL: ドメイン/user1/index.html おそらく、Apacheのhttpd.confファイルの以下の設定で何とかなるとは思うのですが、どうすればいいのかわかりません。 ネット上で調べてみましたが、これだという情報がありませんでした。 DocumentRoot "E:/home/" <Directory "E:/home/user**/public_html"> よろしくお願いします。

  • suEXECとパーミッションの関係がわかりません

    ホームページ作成初心者です。 (A) suEXECについて http://www.aconus.com/~oyaji/www/apache_linux_suexec.htm では、 ----------------------- なお、CGI 関係以外のファイル( HTML や GIF 等)の扱いは、従来どおり "644" 等としないと見えません。suEXEC はあくまで CGI や SSI の実行に関してのみ機能するものだからです。 ----------------------- 一方 http://tech.bayashi.net/pdmemo/permission.html では、 ----------------------- 拡張子が .html などの HTML ファイル ==> 600 ----------------------- となっています。 600では一般のサイト訪問者がread出来ない様に思えるのですが、問題ないのでしょうか? suEXEC設定がされているサーバーでは、各拡張子のパーミッションはどのように設定すれば良いのか教えてください。 (B) http://tech.bayashi.net/pdmemo/permission.html の ------------------------------- ■UNIX + Apache サーバで nobody権限の場合 UNIXのApacheは通常 nobody権限で実行され ■UNIX + Apache サーバで SuExec環境の場合 SuExec環境では、Apacheがユーザ(オーナ)権限で実行されます。 ------------------------------- 上記のApacheの nobody権限、ユーザ権限、オーナ権限 というのは FTPソフトでパーミッションを設定するときの オーナー権限、グループ権限、ユーザ権限 とは全く関係のない別物なのでしょうか? 特にnobody権限とは何でしょうか? -------------------- ファイルの読み書きもnobody権限しかありません。なので、パーミッションでも第三者に対する許可が必要です -------------------- ↑が何を言っているのか理解できません。 (A)(B)について教えてください。

    • ベストアンサー
    • HTML
  • CentOS 5のApache2 UserDir

    さくらインターネットでCentOS 5の入った専用サーバを借りて勉強中です。 Apache2をインストールし、ユーザーディレクトリの設定をして、各ユーザーのホームディレクトリにあるpublic_htmlの中のディレクトリを参照するよう設定しました。 当初、下記サイトを参考に http://httpd.apache.org/docs/2.0/ja/mod/mod_user … 以下のように設定ファイルで設定したのですがうまくいきませんでした。(コメント部分は省略しています)。 --- <IfModule mod_userdir.c> UserDir public_html </IfModule> --- 上記設定で、http://○○○.com/~ユーザー名/にアクセスすると、ファイルが見つからない旨のエラーが表示されていました。 ログを確認すると以下のようになっていました。 --- [Sun Jul 31 20:56:19 2011] [error] [client ○○.××.△△.□□] File does not exist: /home/ユーザー名/\xe3\x82\xb3\xe3\x83\xa1\xe3\x83\xb3\xe3\x83\x88\xe5\xa4\x96 \xe3\x81\x97\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f --- そこで、apacheの設定ファイルを以下のように書き直したところ --- <IfModule mod_userdir.c> UserDir /home/*/public_html </IfModule> --- 無事にサイトにアクセス出来るようになりました。 一応問題は解決したとはいえ、できれば --- <IfModule mod_userdir.c> UserDir public_html </IfModule> --- の方がなぜうまくいかなかったのかの原因も知りたいです。 原因と考えられるのは、さくらのサーバーを借りたときに最初のサーバーのデフォルトの文字が LANG=C だったのを、日本語を使うために LANG="ja_JP.UTF-8" に変更したことです。 が、英語名のディレクトリ名で問題が起こるか?と言う疑問と、文字コードが原因としてどうやればうまく行くんだ?という疑問があります。 どなたか原因が分かる方はいらっしゃいますでしょうか? よろしくお願いいたします。