お知らせ

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

#26 2010-09-04 01:44:37

petitbootang
メンバ
From: 東京都
登録日: 2009-02-12

Re: apache2でのCGI実行環境設定について

$ sudo chown -R www-data:www-data /var/www
のような感じにしたら、うまく動かないですかね。

オフライン

 

#27 2010-09-04 04:51:56

einundzwanzighundertsechs
メンバ
登録日: 2008-12-28

Re: apache2でのCGI実行環境設定について

- www-data が /var/www/test.cgi を Permission Denied で実行できない.
- www-data に su できない.-- www-data が /bin/sh を Permission Denied で実行できないから.
- 一般ユーザでログインできない.-- おそらく一般ユーザが /bin/bash を実行できないから.

共通するのは / (ルートディレクトリ)です./ のパーミッションはどうなっていますか?

それが原因でないで無い場合は,トピックを立て直しては如何でしょうか?
現状が, -- もちろん自然にそうなるとは考えられないので root 権限で何かをやってしまったはずですが,--

root アカウントを有効にして,ずっと root で作業を続けていたら,
いつの間にか一般ユーザで実行ファイルが実行できず,ログインも出来なくなっている.
root 以外のユーザが実行ファイルを Permission Denied で実行できない.

という解釈で正しいのなら,タイトルが問題点から外れているので,このままでは情報が集まらないでしょう.

オフライン

 

#28 2010-09-04 07:34:27

ry
メンバ
登録日: 2008-07-30

Re: apache2でのCGI実行環境設定について

merrow さんの投稿 (#22):

そもそもwww-dataや一般ユーザへsu、直接ログインができませんでした。
おそらくこれが原因だと思います。

コード:

# su - www-data
Cannot execute /bin/sh: Permission denied

root ユーザーで作業しているようですが、そもそもどのようにして root ユーザーになったのでしょうか

ubuntu では、root ユーザーでの作業を推奨していない (元々はパスワードがロックされている) ので、最初に一般ユーザーでログインしてから sudo su や sudo - コマンドで root ユーザーに成り代わる必要があるはずです

root ユーザーにパスワードを付加してしまえば、最初から root ユーザーでログインすることも不可能ではありませんが、その状態で一般ユーザーに su <ユーザー名> などとしたときに Permission denied になるのなら、/etc/passwd ファイルがおかしくなっているか、/bin フォルダのアクセス権がおかしくなっているかの可能性もあります

オフライン

 

#29 2010-09-07 02:03:04

merrow
メンバ
登録日: 2010-08-27

Re: apache2でのCGI実行環境設定について

petitbootangさん による投稿:

$ sudo chown -R www-data:www-data /var/www
のような感じにしたら、うまく動かないですかね。

状況変わりませんでした。

einundzwanzighundertsechsさん による投稿:

共通するのは / (ルートディレクトリ)です./ のパーミッションはどうなっていますか?

ホームディレクトリ/ログインシェルの全階層のパーミッションは問題なし。
ログインシェルやホームディレクトリを変更してみましたがNGでした。

ryさん による投稿:

root ユーザーで作業しているようですが、そもそもどのようにして root ユーザーになったのでしょうか

SheevaPlug+という製品を買いまして、初期ユーザがrootでした。



einundzwanzighundertsechsさんの書き込みのとおり、トピックの本題とはズレてしまってきているので、いったんこのトピックは終了します。
環境も自分で簡易に作り直せますので、インストールから再度やり直してみます。
色々とありがとうございました。

オフライン

 

#30 2010-09-07 02:42:05

zagan
メンバ
登録日: 2008-08-12

Re: apache2でのCGI実行環境設定について

Xubuntuでサーバを建てて、検証しました。
1) ドメインをexample.comと仮定
2) /var/www/exampleディレクトリを作成し、DocumentRootに
3) cgi-binは作らないで、DocumentRoot直下にCGI環境を構築する。
4) CGIスクリプトは、Movabletypeを使用。

パーミッション関連

drwxr-xr-x   root    root  var
drwxr-xr-x www-data  user   www
drwxrwxr-x    user      user   example
drwxr-xr-x      root      root   mt

apache2がperlを使えるようにする。

コード:

sudo apt-get install libapache2-mod-perl2

/etc/apache2/conf.d/securityに以下を追加

AddHandler cgi-script .cgi
AddHandler cgi-script .pl

/etc/apache2/httpd.confに以下を書き込み

DirectoryIndex index.html index.cgi index.pl index.php

virtualhost別設定

コード:

sudo mkdir /var/www/example

a2ensiteする設定ファイルに以下を記述。

NameVirtualHost 192.168.xxx.xxx:80
NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName www.example.com
    ServerAlias example.com

    DocumentRoot /var/www/example
    <Directory /var/www/example>
        Options FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
        ServerSignature Off
        AddHandler cgi-script .cgi
        AddHandler cgi-script .pl
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    <Directory "/var/www/example">
        AllowOverride None
        Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Includes
        Order allow,deny
        Allow from all
        ServerSignature Off
        AddHandler cgi-script .cgi
        AddHandler cgi-script .pl。
    </Directory>
</VirtualHost>

コード:

sudo a2ensite example

コード:

sudo apache2ctl configtest

コード:

sudo /etc.init.d/apache2 restart

apache.orgのドキュメントを基本に、あちらこちらのサイトでの設定例を元に作成しました。
正統な設定方法なのかどうか分かりませんが、動いてるようです。実際の構築は先に延ばしますが。。。
では、おやすみなさい。

オフライン

 

#31 2010-09-07 13:32:43

zagan
メンバ
登録日: 2008-08-12

Re: apache2でのCGI実行環境設定について

リンク間違ってました。
正しくはこちらです。

オフライン

 

#32 2010-09-07 18:11:31

einundzwanzighundertsechs
メンバ
登録日: 2008-12-28

Re: apache2でのCGI実行環境設定について

merrow さん による投稿:

SheevaPlug+という製品を買いまして、初期ユーザがrootでした。

そういう特殊な環境だということは初めに書いておいてくれないと,スレッドが長引くだけです.
トピックは閉じられたようですが,一般ユーザの登録に苦労した人のブログが有りました.
SheevaPlug+セットアップ開始(その2) - toyoforeの日記

オフライン

 

Board footer

Powered by FluxBB