web-dev-qa-db-ja.com

Apache2リスニングソケットなし、仮想ホストを構成しようとしているときにログを開くことができない

Apache2で仮想ホストを使用して複数のドメインを設定しようとしています。現在、サイトを参照しようとすると「接続できませんでした」というエラーが発生します。Apache2を再起動しようとすると、「リスニングソケットがありません。ログを開くことができません。シャットダウンしています」というエラーが表示されます。

元々、Apache2.confと/Apache2/sites-enabled/domain1.comを構成した後、500サーバーエラーが発生し、Apache2から「NameVirtualHost *:80にVirtualHostsがない」という警告が出されました。次に、ports.confファイルで余分な(私は思う)NameVirtualHost *:80をコメントアウトしましたが、接続できず、ソケットエラーが発生しません。

これが私のApache2.confの一番下にあるものです:

 NameVirtualHost *:80
#<VirtualHost *:80>                                                            

<IfModule mod_ssl.c>
    NameVirtualHost *:443
</IfModule>

そして私の/Apache2/sites-enabled/domain1.com:

          # domain: domain1.com
          # public: /home/demo/public_html/domain1.com/

<VirtualHost *:80>

 # Admin email, Server Name (domain name) and any aliases
 ServerAdmin [email protected]
 ServerName  domain1.com
 ServerAlias domain1.com


 # Index file and Document Root (where the public files are located)
 DirectoryIndex index.html
 DocumentRoot /home/demo/public_html/domain1.com/public


 # Custom log file locations
 LogLevel warn
 ErrorLog  /home/demo/public_html/domain1.com/log/error.log
 CustomLog /home/demo/public_html/domain1.com/log/access.log combined

</VirtualHost>

そして最後に、私のports.conf:

#NameVirtualHost *:80                                                            
#Listen 80                                                                     

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change      
    # the VirtualHost statement in /etc/Apache2/sites-available/default-ssl    
    # to <VirtualHost *:443>                                                   
    # Server Name Indication for SSL named virtual hosts is currently not      
    # supported by MSIE on Windows XP.                                         
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

提供できる洞察に感謝します。

6
Ana

Listen 80行をコメントアウトしたようです。そのため、Apacheは通常のhttpポートをリッスンしていません。

あなたは他のListenディレクティブがIfModuleブロック内にあるので、それらのモジュールが存在しない場合は、Apacheが実質的にポートをリッスンしないように設定しているため、エラーの原因となる可能性があります。

行のコメントを外してみてください:

Listen 80

あなたのports.confで。

11
larsks