4

こんにちは専門家と教祖、Apache php 構成の問題についての助けを探しています。

etc/apache2/conf.d/virtual.conf ファイルで NameVirtualHost * 行を使用して問題なく、ubuntu サーバーで apache2 セットアップからいくつかの Web サイトを実行しています。最近、サーバーのバージョンを最新の lts バージョンに更新しましたが、php ファイルを実行できなくなりました。

「/home/www/[site-name]/htdocs」という場所ですべてのサイトを実行しており、/etc/apache2/sites-available ですべてのサイトをセットアップして有効にしています。デフォルトのサイトも無効にしました。

各サイトファイルについて、次を指定しました。

    # Indexes + Directory Root.
    # DirectoryIndex index.html index.htm index.php
    DocumentRoot /home/www/[site-name]/htdocs/

    # CGI Directory
    ScriptAlias /cgi-bin/ /home/www/[site-name]/cgi-bin/
    <Location /cgi-bin>
            Options +ExecCGI
    </Location>

    # Logfiles
    ErrorLog  /home/www/[site-name]/logs/error.log
    CustomLog /home/www/[site-name]/logs/access.log combined

Apache を再起動し、サーバー上の php テスト ページの URL を入力すると、「内部サーバー エラー」が発生します。エラーログを確認すると、次のようになります。

スクリプト "/home/www/[site-name]/htdocs/test.php" は、構成された docroot 内にない "/home/www/[site-name]/htdocs/test.php" に解決されます。

4

3 に答える 3

14

エラーを調べているとなぜかsuphpがたくさん出てきました。このリンクによると:

これは Apche 仮想ホスト ドキュメント ルートと関係があると思い込まないでください。実際には、これは suphp 構成ファイルの別の設定です。RoundCube スクリプトを含むパスを含めると、これが修正されました。例: docroot=/var/www:/usr/share/roundcube:/var/lib/roundcube:${HOME}/public_html

/etc/suphp/suphp.confファイルを編集して、docroot適切なものに変更する必要があります。

于 2011-11-21T07:44:18.720 に答える
1

すべてのサイト名の仮想ホスト構成を見逃しているようです:

<VirtualHost IP:80>
    ServerName      yourdomainname
    ServerAlias  www.yourdomainname
    DocumentRoot /home/www/[site-name]/htdocs/
    ScriptAlias /cgi-bin/ /home/www/[site-name]/cgi-bin/
    <Location /cgi-bin>
        Options +ExecCGI
    </Location>
    ErrorLog        /home/www/[site-name]/logs/yourdomainname.ua-error.log
    CustomLog       /home/www/[site-name]/logs/yourdomainname-access.log combined
</VirtualHost>

<Directory "/home/www/[site-name]/htdocs/">
    Options         FollowSymLinks
    AllowOverride   None
    Order           allow,deny

    <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>

    <LimitExcept GET POST OPTIONS>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>
于 2011-11-21T07:38:40.940 に答える
0

すべての助けをありがとう、私は最後にそこに着きました。Ubuntu 10.04 にアップグレードすると、suPHP が有効になったようです。エラーが発生した理由は、htdocs のファイル管理がずさんになったためでした。

私の問題を解決するには、いくつかのことをしなければなりませんでした:

まず、/etc/apache2/sites-available/[site-name] で suphp エラー メッセージを有効にしました。これにより、実際のエラーが発生し、ページの一部に間違ったアクセス許可が設定されていることがわかりました。次に、www のすべてのフォルダー許可を 755 に設定し、ファイルを 644 に設定しました。また、suphp.conf の min_uid および min_gid フィールドを 33 に下げる必要がありました。

于 2011-11-24T05:46:22.977 に答える