お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2008-02-04 08:37:32

itw
メンバ
From: tokyo,koganei
登録日: 2008-01-29

perlプログラムでpermissionエラーが表示されます。

Ubuntu7.04にApache2とperlをインストールし、ユーザディレクトリの権限を777、cgiプログラムは755に設定していますがyou don't have permission・・(403のエラーが返されます)。Windowsのapatch環境で動いていたものを移植してテストしています。

オフライン

 

#2 2008-02-04 09:19:50

CMasami
拒否
From: Utsunomiya
登録日: 2007-12-13

Re: perlプログラムでpermissionエラーが表示されます。

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#3 2008-02-04 10:44:31

itw
メンバ
From: tokyo,koganei
登録日: 2008-01-29

Re: perlプログラムでpermissionエラーが表示されます。

CMasami さん 早速のアドバイスありがとうございます。
Apache、Perlが正常にインストールされていないためpermissionのエラーが表示されていると思います。
perlのスクリプトエラーはありません。マニュアル本に書いてあったApatcheへのオプション(ExecCGI)は登録済です。
全ての.CGIスクリプトに対するエラーでerror.logには403エラー以外の特別なエラーメッセージは表示されていません。
UBUNTUの初心者で不足ファイルやフォルダ、権利などをどのようにチェックすべきかわかっていません。
できれば詳細にアドバイスを頂ければ幸いです。

オフライン

 

#4 2008-02-04 11:53:14

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: perlプログラムでpermissionエラーが表示されます。

>Apache2とperlをインストールし、ユーザディレクトリの権限を777

間違っていいたら、何方か訂正をお願いします。

*ユーザディレクトリを公開する場合は、公開ディレクトリまでの実行権をothersに与え、
  chmod o+x /home/$USER
  chmod o+x /home/$USER/public_html
 Apache2の実行ユーザが、公開ディレクトリまで辿り着ける様にする。

*httpd.confをしかるべく設定。

*ディレクトリやファイルの権限を777等のように、与えすぎるとエラーになる
(セキュリティー違反、 775 もしくは 755 までしか許可されてなかった様な気がする?)。

*何かを参考にして設定したなら、それを参照するのは止めた方が良い。

*Ubuntuには、AppArmorというセキュリティーシステムが入ったそうです。
 公開するなら、これを On にして使うことも考えた方が良いかもしれない。

オフライン

 

#5 2008-02-04 19:41:51

RxOrca
メンバ
登録日: 2007-03-02

Re: perlプログラムでpermissionエラーが表示されます。

これを試してみれば環境が整ってるかどーか分かるカモです。
https://wiki.ubuntulinux.jp/UbuntuTips/Server/ApacheServer

オフライン

 

#6 2008-02-04 22:00:19

itw
メンバ
From: tokyo,koganei
登録日: 2008-01-29

Re: perlプログラムでpermissionエラーが表示されます。

RxOrcaさん ありがとうございます。
wifky!のページは表示されました。(環境が整っているということですね)
しかし、自分のperlスクリプトは相変わらずpermissionエラーが表示されます。
ファイルの権限は755、705、700といろいろ変えてみましたが効果なしです。

オフライン

 

#7 2008-02-04 23:01:30

RxOrca
メンバ
登録日: 2007-03-02

Re: perlプログラムでpermissionエラーが表示されます。

ユーザーディレクトリ以下の cgi-bin (public_html/cgi-bin/) で動かしたいのなら, (例えば) mods-enabled/userdir.conf を変更するとよいカモです。
でもこれが付いてないからって permissionエラーにはならないと思う …

コード:

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride FileInfo AuthConfig Limit
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
        </Directory>

# これ以降追加部分
    <Directory /home/*/public_html/cgi-bin/>
        Options ExecCGI
        SetHandler cgi-script
    </Directory>
</IfModule>

オフライン

 

#8 2008-02-05 01:05:49

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: perlプログラムでpermissionエラーが表示されます。

公開ユーザディレクトリ上の html は、きちんと表示されますか?
表示されるなら、cgi の設定(httpd.confや.htaccess)の問題か、
perlスクリプト(行末コード)の問題(これは、Ubuntu上で書いたCGIを実行してみれば、すぐ分かる)。

オフライン

 

Board footer

Powered by FluxBB