• 締切済み

403forbiddenがなおりません。

以下はMacintosh板で聞いたものなんですが、あまり回答が得られないのでこちらでも書かせてください。 先日こちらのMacintosh掲示板にて、Macintosh OSXでPHPファイルが動かないといった質問をしたものです。 ?http://oshiete1.goo.ne.jp/qa2719598.html? それで解決後に自分が今公開しているサイトを見に行ったら、今まで見えていたCGIのページが突然you don't have permission to access 403 forbiddenになってしまいました。 それで、何度もターミナルでchmod 705 /Users/*/Sites/****.cgi とパーミッションの設定をしてもテストファイルすら見れなくなって しまいました。 <Directory /Users/*/Sites/cgi-bin> AllowOverride FileInfo AuthConfig Limit Options +ExecCGI AddHandler cgi-script .cgi </Directory> としていたのを、 <Directory /Users/*/Sites> AddType text/html shtml AddHandler server-parsed shtml AddHandler cgi-script cgi Options Indexes MultiViews ExecCGI Includes AllowOverride None Order allow,deny Allow from all </Directory> としただけなのですが、何が問題だったのでしょうか、、、、、。 誰か助けてください。よろしくお願いいたします。

  • CGI
  • 回答数1
  • ありがとう数0

みんなの回答

  • yukimican
  • ベストアンサー率70% (112/159)
回答No.1

確認です。 (1)「自分が今公開しているサイト」というのは  自分のMacではなく、どこかのサーバのレンタルスペースのことですか?  つまり、前回の質問と今回とでPHPやHTML等の置き場所が違うのか?ということです。 (2)(1)が同じ環境だとして、  前回の質問では   <Directory /Users/*/Sites/>    AddType text/html shtml    AddHandler server-parsed shtml    AddHandler cgi-script cgi    AllowOverride FileInfo AuthConfig Limit    Options Indexes MultiViews    Order allow,deny    Allow from all   </Directory>  でOKだったんですよね?今回はこれではダメなのですか?  というか、そもそも何故変えたのでしょうか?

関連するQ&A

  • 助けてください!パーミッションの設定が出来ません。

    先日こちらの掲示板にて、Macintosh OSXでPHPファイルが動かないといった質問をしたものです。 http://oshiete1.goo.ne.jp/qa2719598.html それで解決後に自分が今公開しているサイトを見に行ったら、今まで見えていたCGIのページが突然you don't have permission to access 403 forbiddenになってしまいました。 それで、何度もターミナルでchmod 705 /Users/*/Sites/****.cgi とパーミッションの設定をしてもテストファイルすら見れなくなって しまいました。 <Directory /Users/*/Sites/cgi-bin> AllowOverride FileInfo AuthConfig Limit Options +ExecCGI AddHandler cgi-script .cgi </Directory> としていたのを、 <Directory /Users/*/Sites> AddType text/html shtml AddHandler server-parsed shtml AddHandler cgi-script cgi Options Indexes MultiViews ExecCGI Includes AllowOverride None Order allow,deny Allow from all </Directory> としただけなのですが、何が問題だったのでしょうか、、、、、。 誰か助けてください。よろしくお願いいたします。

    • ベストアンサー
    • Mac
  • CGI

    MacOS10.10のApache2でCGIが動きません。 httpd.confの最後にこう記述してます。 <VirtualHost *:80> DocumentRoot "/Users/ユーザー/Sites/www" ServerName ドメイン <Directory /Users/ユーザー/Sites/www> AllowOverride All Options Indexes MultiViews ExecCGI FollowSymLinks AddType application/x-httpd-cgi .cgi .pl AddHandler cgi-script .pl .cgi DirectoryIndex index.html index.htm index.cgi </Directory> </VirtualHost> 記述は合ってると思うんですが……どこが間違ってるのでしょう?

    • ベストアンサー
    • Mac
  • apacheで「You don't have permission to access 」

    Nagiosというソフトをインストールしているのですが(Webベースで動く)、 http://localhost/nagios にアクセスすると、「You don't have permission to access /nagios/ on this server.」と出てしまいます。Apacheのhttpd.confは最後の行に、 ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin <Directory "/usr/local/nagios/sbin"> AllowOverride AuthConfig Options ExecCGI Order allow,deny Allow from all </Directory> Alias /nagios /usr/local/nagios/share <Directory "/usr/local/nagios/share"> Options None AllowOverride AuthConfig Order allow,deny Allow from all </Directory> を加えて、以下も加えました。 <Directory /> Options FollowSymLinks AllowOverride Options </Directory> AddHandler cgi-script .cgi 何か原因は考えられるでしょうか?これだけではやはり、情報不足でしょうか?

  • httpd.confを添削してください!!(長文)

    こんにちわ いろいろと調べながらhttpd.confを自分の理想の動作を得るたねに設定したつもりです。 添削をお願いします。 /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ DocumentRoot /var/www/html <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory "/var/www/html"> #←home Options FollowSymLinks Includes AllowOverride All Order allow,deny Allow from all </Directory> #.htaccessを許可、cgiは不可、ssiは許可、シンボリックリンク許可 Order~略 <IfModule mod_userdir.c> UserDir public_html </IfModule> <Directory /home/*/public_html> AllowOverride AuthConfig Limit Options +ExecCGI +Includes </Directory> #ユーザー領域では.htaccessで認証、アクセス元などで制御の許可。 それ以外は不可。 homeでcgiが不可ですがここでは許可したいので+を付けた。 <Directory "/var/www/cgi-bin"> AllowOverride All Options ExecCGI Order allow,deny Allow from all AddHandler image .gif .jpg AddHandler text/html .htm .html </Directory> /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ こんな感じなんですがどこかおかしいでしょうか?

  • Fedora Core1サーバーでCGIが利用できません

    Fedora Core1でwebサーバーを立てたのですが、実行しようとすると「500 Internal Server Error」となってCGIが動きません。 perlへのパスやパーミッションの設定も見直しましたが、どこの設定が間違っているか分からないので、設定方法を教えてもらえないでしょうか? 現在の環境は ホスト名:saba.dyndns.org perlのパス:/usr/local/bin/perl CGIを仕えるようにしたいユーザー:guest CGIを設置するディレクトリ:/home/guest/cgi-bin/ Apacheのバージョンは2.0.49 となっています。 また以下はhttpd.confの抜粋です。 Listen *:80 #ScriptAlias /cgi-bin/ "/var/www/html/" ScriptAlias /cgi-bin/ "/home/guest/public_html/cgi-bin/" AddHandler cgi-script .cgi .pl <Directory "/home/guest/public_html/"> Options ExecCGI AllowOverride None Allow from all Order allow,deny </Directory> <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options Includes ExecCGI FollowSymLinks <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> 長文失礼しました。

  • Mac OS X 10.5 LeopardのApache2でCGIを動かせない

    MacPro Mac OS X 10.5にてローカルでCGIの動作確認をしようと試み、Apache2を起動し、http://localhost/~ユーザー名/xxx.cgiで確認しようとしたところ、Internal Service Errorが発生します。定石通り以下を設定したのですが、改善しません。どなたか同じ症状の方で解決された方、もしくは解決法をご存じの方、お知恵を拝借させてください。 Leopardは10.4以前と違い、CGIを動かすのに、httpd.confの設定ではなく、etc/apache2下のユーザー名.confを直すということだったので、以下のようにユーザー名.confを設定しました。改行コードはLFです。 //---------------- <Directory "/Users/ユーザー名/Sites/"> AddHandler cgi-script .cgi AddHandler cgi-script .pl AddType text/html .shtml AddHandler server-parsed .shtml Options Indexes MultiViews ExecCGI Includes AllowOverride None Order allow,deny Allow from all </Directory> ターミナルでapachectl configtestを行い、Syntax OKと出た後、apachectl restartを実行し、apache2を再起動させ、 perlコマンドのパスがターミナルのwhich perlで/usr/bin/perlだったので、!# /usr/bin/perlを指定したcgiファイルをつくり、ユーザーのホームディレクトリ下のサイト下に置き、パーミッションを755に設定。これでブラウザで確認すると、internal server errorが出ます。もちろんlocalhostやlocalhost/~ユーザー名はブラウザ上で表示されます。Error_logを確認しても、Premature end of script headersと出るだけです。 お心当たりのございます方、どうかご教授ください。

    • 締切済み
    • CGI
  • xamppでcgiが動かない

    Mac OS10.6.8でXAMPPをインストールした後 htdocs/test/というフォルダを作って http://test/ となるような環境を作りました。 httpd-vhosts.confファイルには <VirtualHost *:80> DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/test" ServerName test </VirtualHost> <Directory "/Applications/XAMPP/xamppfiles/htdocs/test"> Options Indexes FollowSymLinks MultiViews Includes ExecCGI AddType text/html .shtml .html AddHandler server-parsed .shtml .html AddHandler cgi-script .cgi .pl AllowOverride All Order allow,deny Allow from all </Directory> このように記述しております。 http://test/test.cgiにアクセスしたら Error message: Premature end of script headers: test.cgi このように言われてしまいました。 これは何が原因なのでしょうか? パスが間違っているのかな?と思ったのですが、XAMPPを使った場合 test.cgiファイルのパスはどうすればいいのでしょうか? よろしければ教えて下さい。 ※ とりあえず usr/bin/perl としました。

  • PHP実行でファイルのダウンロードのダイアログが開きます。

    OSはDebian GNU/Linux 3.0です。 PHP4.3.7とapache1.3.31において PHPファイルが正常に開けません。 下記のファイルを作成しパーミッション777で FFFTPを用いてアップロードしました <? phpinfo(); ?> しかしながらブラウザでアクセスすると、ファイルの ダウンロードのダイアログが開きます。 設定はapache側のみしており、 <Directory /var/www> options All AllowOverride All Order allow,deny allow from all </Directory> addhandler cgi-script .cgi .pl addtype text/html .shtml addhandler server-paresd .shtml を変更しました。PHPの方は変更していません。 どうしてファイルのダウンロードのダイアログが 開くのでしょうか?

  • apacheのScriptAliasの記述について

    どなたか,ご教授いただければ幸いです。 WindowsXp Proでapacheを動かしています。次の設定で,cgiはうまく動作していました。 --- <IfModule alias_module> ScriptAlias /cgi-bin/ \"C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/\" </IfModule> <Directory \"C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin\"> AllowOverride None Options ExecCGI Order allow,deny Allow from all AddHandler image/gif .gif AddHandler image/jpeg .jpg </Directory> --- これに, http://www.miloweb.net/win/server/apache.html を参考にして,各ユーザーフォルダでcgiが実行できるようにしようと,次のようにしました。 --- <IfModule alias_module> ScriptAlias /cgi-bin/ \"C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/\" ScriptAlias /cgi/ \"C:/www/users/*/cgi/\" </IfModule> <Directory \"C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin\"> AllowOverride None Options ExecCGI Order allow,deny Allow from all AddHandler image/gif .gif AddHandler image/jpeg .jpg </Directory> <IfModule mod_userdir.c> UserDir \"C:/www/users/*/\" </IfModule> <Directory \"C:/www/users/*/cgi/\"> AllowOverride None Options ExecCGI Order allow,deny Allow from all AddHandler image/gif .gif AddHandler image/jpeg .jp </Directory> --- その結果, http://localhost/~user/ としてuserのホームページにアクセスできるようになったのですが, cgiについては, http://localhost/~user/cgi/・・・ としてもアクセスできません。どなたか原因をご教授いただけないでしょうか。 ScriptAlias /cgi-bin/ \"C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/\" ScriptAlias /cgi/ \"C:/www/users/*/cgi/\" の行を入れ替えると,\"C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/\"においてあるcgiが実行できなくなります。ScriptAliasは1行目しか有効でないようにも見えるのですが,上に書いた参考URLではできているようなので,戸惑っています。

  • Apach2.0 ホームディレクトリでCGIが

    こんにちは。 CGIの勉強をしています。 わかる方がいらっしゃいましたら、おしえてください。 ソースは、poderosaでつないでviにて作成。 ブラウザからのアクセス http://XXX.XXX.XXX.XXX/~admin/cgi-bin/test.cgi (test.cgi)755 #!/usr/bin/perl print "Content-type: text/html\n\n"; print "Hello\n"; ./test.cgi にて、Helloと表示される (httpd.confに追加したもの) UserDir public_html <Directory /home/*/public_html> AllowOverride All Options IncludesNoExec ExecCGI FollowSymLinks <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> 以下を追加したこともあり↓ <Directory /home/*/public_html/cgi-bin/> AllowOverride None Options ExecCGI SetHandler cgi-script Order allow,deny Allow from all AddHandler cgi-script .cgi </Directory> よろしくおねがいします。

専門家に質問してみよう