CentOS WEB開発 フォルダパーミッションの設定方法
- Linux経験が無い状況でのCentOS WEB開発時にフォルダパーミッションが設定できない問題の解決方法について説明します。
- CentOS 6.9 Apache 2.2.15という環境でフォルダパーミッションを設定し、WEBサイトのファイルを表示できるようにする方法について解説します。
- フォルダパーミッションを適切に設定することで、403 Forbiddenエラーが発生せずにWEBサイトのファイルを閲覧することができます。
- ベストアンサー
CentOS WEB開発 フォルダパーミッション
職場で、Linuxの経験が無いにも関わらず WEBサイトのサーバ移行をしていまして、躓きました。 新サーバはAWSにてCentOS 6.9 Apache 2.2.15 php 5.3.3となっています。 httpd.conf内にて、デフォルトのDocument Rootから 変更し、そのフォルダ以下にhtmlやphpといった必要な ファイルを置いています。 デフォルトのDocument Rootやその近辺(一つ上の階層)では 置いたhtmlやphpをブラウザで表示することができますが 新たにDocument Rootに設定したフォルダだと 403 Forbidden You don't have permission to access /index.html on this server. と表示されたので、該当のフォルダのパーミッションを 755(775や777も試しました)、ファイルのを644に設定し WEBで見ても現象は変わりません。 -rw-r--r--. 1 apache apache 24 Dec 25 01:52 index.html -rw-r--r--. 1 apache apache 3049 May 16 2017 index.php drwxr-sr-x. 9 apache apache 4096 Dec 25 08:13 www(←Document Rootに設定したフォルダ) .htaccessも変更したDocument Rootフォルダに置いてます。 (中身は下記2行ですが) AddHandler x-httpd-php5 .php .phps DirectoryIndex index.php index.html index.htm 他に何か考慮する点はありますでしょうか? 宜しくお願いします。
- garigarisama
- お礼率54% (44/81)
- PHP
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
たとえば、 DocumentRootが/var/www/htmlでなら そこにおいたindex.htmlにWebアクセスできる のに、 DocumentRootを /home/mydir/www にしたら そこにおいたindex.htmlのWebアクセスが拒否される ということでしょうか? このとき、 /home/mydir/wwwのパーミッションが755であっても、その親ディレクトリの /home/mydirのパーミッションが700 だと、apacheというアカウントにとっては /home/mydir/wwwへのアクセス権限がありませんので そういう状況になります。 設置するディレクトリそのものだけでなく、親ディレクトリの状態を確認してみてはどうでしょう。
その他の回答 (1)
- muuming2001
- ベストアンサー率23% (202/845)
/var/log/httpd/ 以下のエラーログ 接続方法が書かれていませんが、httpとhttpsのdocument rootの設定は別ですので、httpのほうのdocument root変更しても httpsのdocument rootかわりまへん。 あとhttpd.confを変更した後にconfigtestはしましたか?
お礼
ご回答ありがとうございます。 解決しました。
関連するQ&A
- public_htmlフォルダについて
現在webサーバを構築し、ドキュメントルート(/var/www/html)に「index.php」を置いてクライアントからの表示は確認したのですが、 このドキュメントルートに「test」というフォルダを置いて、その中に「index.php」を置くと、「このページの表示が認められていません」というメッセージが表示されてしまいます。 http://centos.server-manual.com/apache.html こちらのサイトが参考になるかなと思い見ていたのですが、「public_html」って何なのでしょうか? この類の質問は色々あがっているのですが、自分が知りたい答えがなかなか見つけられなかったので新規に質問させていただきました。 知りたいことは・・・ 1.「public_html」の設定(ファイル内の編集)は必要なのか? 2.ドキュメントルート直下の「index.php」と「test」フォルダとtestフォルダ内の「inde.php」は全て同じパーミッション(646)なのに表示出来ないのは何故なのか・・・ 以上、有識者の方がおられたらご教授お願いいたします。
- 締切済み
- Linux系OS
- ファイルのパーミッション
FTPでウェブサーバー(ローカル)にファイルをコピーすると、ファイルのパーミッションが640になってしまいます。 デフォルトで644になるように設定したいのですが、どうするのでしょう? ・OSはDebian3.1、httpdはApache1.3、ftpdは標準のものを使用しています。
- ベストアンサー
- Linux系OS
- フォルダのパーミッションが変わってしまう
レンタルサーバーを借りて、CGIを設置してあります。フォルダのパーミッションは755というのが決まりで、それ以外だと正常に動作しないとのことです。デフォルトで755です。 ところが、フォルダのパーミッションが何もしていなくても、777に変わってしまいます。当然、CGIも動作しなくなってしまいます。 以上のような症状なのですが、どのような原因でパーミッションが変わってしまうと考えられますでしょうか? 考えられる可能性を教えてください。
- ベストアンサー
- Perl
- Web上からパーミッションの変更
Web上から、majordomoの定義ファイルを変更しようと考えています。 管理は別のツールを使用するのですが、一部カスタマイズしたいところ があるので、独自に作ろうと思います。 対象のファイルは、下記のような設定になっています。 -rw-r--r-- 1 majordomo majordomo 108 8月 25 11:10 testml1 「chmod(646, "testml1")」という感じでパーミッションを変更したいの ですが、Webサーバ(apache)はnobodyで動作しているため、そのままでは 変更できません。 上記ファイルをあらかじめ変えておけば良いのではないかと思われるかも しれませんが、別の管理ツールを使用するとパーミッションが元に 戻ってしまうため、プログラム上で変更したいと考えています。
- ベストアンサー
- Perl
- PHPのパーミッションの設定について
PHPのパーミッションの設定について 自分でアパッチを設定したのですが、 自分のサーバーでPHPのテストをするには サーバーと同じようにパーミッションの設定をしないといけないです。 これはどうやったら出来るんでしょうか? また、詳しくファイルの性質ごとに属性を変える基準がかいてるページは無いでしょうか? 分かる方教えていただけますか?
- ベストアンサー
- PHP
- アパッチHTTPサーバーでindex.htmlなしフォルダを禁止する方法。
アパッチHTTPサーバーでindex.htmlなしフォルダを直でurl入力しても自動的なファイル一覧表示をさせない設定がしたいです。 フォルダのパーミッションででななく、httpd.conf内で設定できればいいのですが。 あと、仮にそこまで行ったとして、フォルダを直でurl入力された時にエラーは何番になりますか? どなたか御教授下さい。
- ベストアンサー
- Linux系OS
- Permissionについて
あるCGIを試用させていただいているのですが お客様から登録された情報が少したつと消えてしまうので困ってます・・。 パーミッションの記述で下記1(お借りしているCGIサイトの説明)と下記2(UPしたサーバーの説明)が違うのでどのように変更すればいいのか教えて下さい。よろしくお願いします。 あと、パーミッションの問題以外で考えられることはありますか?何卒宜しくお願いします。 --1--- ba**er_** (フォルダ)[755] - set.cgi [755] in.cgi [755] send.cgi [755] ip.dat [666] ba**er.dat [666] jcode.pl [644] mimew.pl [644] lock(フォルダ) [777] ----2---- CGIホームページご利用方法 WWWサーバについて CGIサーバ cgixx.******.or.jp には、Apache を使用しております。 Permissionについて CGIのPermission(アクセス権)については、FTPで転送された際に、604(-rw----r--)となります。FTPのchmodで、704(-rwx---r--)に変更して下さい。 また、ディレクトリに関しては、FTPで転送された際に、705(drwx---r-x)となります。ディレクトリ内にCGIを設置する場合、そのディレクトリのPermissionは、705(drwx---r-x)のままにして下さい。777(drwxrwxrwx)に変更すると、そのディレクトリ内のCGIが動作いたしませんので、ご注意下さい。 尚、本サーバにおいては、お客様のCGIは、お客様のアカウント権限で実行されます。
- 締切済み
- CGI
- Apache(Webが見れない)
LinuxES3にApache1.3.34を入れました。 エラーログを見ると Permission denied: access to /ante.htm failed because search permissions are missing on a component of the path とでます。 httpd.confでDocumentrootも設定しました。 エラーログよりパーミッションなのですが実際ドキュメントルートに挙げるユーザはローカルユーザです。 root権限じゃいけないのでしょうか? またどういった設定で回避可能でしょうか? よろしくお願いします。
- 締切済み
- その他(ITシステム運用・管理)
- ホームディレクトリのパーミッション!
今日一日これに困っています。優しく教えてください♪m(0_0)m TurboLinux 7 & Apache についてです。 /etc/httpd/conf/httpd.conf を編集しています。 UserDir www と記載しました(public_htmlも含めて) /home/user name/www/index.html (Linux) http://192.168.1.1/~user name/index.html (IE) You don't have permission to access /~user name/ on this server というメッセージが出ます。 おそらくパーミッションの設定が悪いと思って744,755,766,777と試して見たのですが結果は同じでした。 設定変更したと言えば linux側でwww(public_html)のディレクトリで設定変更しました。 (ディレクトリ内のファイルもすべて変更する) ftpソフトでありとあらゆる所を変更してみました。 どうしたらいいのでしょうか? 中に入ってるデータは単なるトップページとその次のページの2枚です。 (どちらもテキストで書いてある簡単なもの) お忙しいとは思いますが少しお知恵をお借りできないでしょうか? お願いします。
- ベストアンサー
- その他(OS)
- パーミッションの変更
rootでll /var/www/html/upを行い 下記の様に表示されました。 合計 140 -rw-rw-rw- 1 apache apache 6158 2008-10-25 23:07 all.html -rw-rw-rw- 1 apache apache 418 2008-10-25 22:48 error.cgi -rw-rw-rw- 1 apache apache 1749 2008-10-25 23:07 log.cgi drwxrwxrwx 3 apache apache 4096 2008-10-25 23:07 src -rwxr-xr-x 1 root root 49173 2008-10-25 23:05 upload.cgi -rw-r--r-- 1 root root 49175 2008-10-25 22:46 upload.cgi~ -rw-rw-rw- 1 apache apache 6155 2008-10-25 23:07 upload.html この、apacheやrootの隣の49173や6155は何でしょうか? 如何すれば変更出来ますか? 初歩的な質問ですみません。
- ベストアンサー
- Linux系OS
お礼
ご回答ありがとうございます。 解決しました。