3

仮想ホストのセットアップに関する数十のチュートリアルを何時間も読んだり試したりした後、すべてが正しい方法で設定されているようです。基本的に、Ubuntu ディストリビューションをアップグレードした後 (わかっていますよね?)、Apache が 2.4 にアップグレードされ、すべてが壊れてしまいました。それを理解しようとした後、私はすべてを吹き飛ばして、新たに始めることにしました。PHP/Apache は現在のものです。

ルート インデックス ("It Works!") が返されますが、指定した DocumentRoot は返されません。

/etc/apache2/sites-available/domain.com.conf

<VirtualHost *:80>
    ServerName domain.com
    ServerAlias www.domain.com

    # Indexes + Document Root
    DirectoryIndex index.php index.html
    DocumentRoot /var/www/domain.com/htdocs/

    # Logging
    ErrorLog  /var/www/domain.com/logs/error.log
    CustomLog /var/www/domain.com/logs/access.log combined

    <Directory "/var/www/domain.com/htdocs/">
            Options Indexes FollowSymLinks Includes
            AllowOverride All
            Require all granted
    </Directory>
</VirtualHost>

「sudo a2ensite domain.com.conf」と入力すると、予想どおり /enabled-sites に表示されます。

apache2ctl -S

VirtualHost configuration:
*:80     is a NameVirtualHost
     default server domain.com (/etc/apache2/sites-enabled/domain.com.conf:1)
     port 80 namevhost domain.com (/etc/apache2/sites-enabled/domain.com.conf:1)
             alias www.domain.com
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used

イライラする夜だったので、考えられることはすべて試したので、これで皆さんに迷惑をかける必要はありません(申し訳ありません!)。起動/再起動時にApacheからエラーが発生せず、エラーログにも何も表示されません。これが適用可能かどうかはわかりませんが、DirectoryRoot 権限は 755 に設定されています。


更新 (11/05/13)

どうやら「魔法のフィクサー妖精」が舞い降りて解決したらしい。私の知る限り、キャッシュエンジンはインストールされていません(Apache 2.4がデフォルトでインストールされていない限り?)、週末に正しいディレクトリに解決するために何が変更されたのかわかりません(私はそうしませんでした)仕事)、しかし、そこに行きます。やじのために:はい、Apacheを再起動しました(100万回)ので、それは修正されませんでした。

4

3 に答える 3

6

Ubuntuの「生意気な」リリースにアップグレードするときに同じ問題が発生しました。私の場合、接尾辞「.conf」のない構成(「サイト利用可能」)がいくつかありました。

apache2.conf には、このサフィックスを持つ有効なサイトのみを含むディレクティブがあるため、適切にロードされた唯一の構成はデフォルトのものでした。したがって、「sites-enabled」フォルダ内のすべてのリンクを削除し、「sites-available」内のすべての構成に接尾辞 .conf が付いていることを確認し、「a2ensite」プログラムを使用してサイトを再度有効にすることをお勧めします!

よろしく、 ガース

于 2013-11-04T16:57:58.113 に答える
0

これが古い質問であることは知っていますが、それでも本当の答えはありませんでした. 今日も同じ問題が発生しました。サービスを再起動すると次のようになります。

service apache2 restart

またはリロード:

service apache2 reload

a2ensite が示唆するように、「十分ではない」か、単に機能しません。結果なしでサービスを数回再起動しました。それから私はしました:

service apache2 stop

その後、次のようにサービスを再起動しました。

service apache2 start

そして、これで問題は解決しました。この動作を見るのは奇妙ですが、runscript の設定ミスが原因である可能性があります。

于 2015-10-25T13:38:52.263 に答える