Apache 虚拟主机的 httpd 配置问题

Apache 虚拟主机的 httpd 配置问题

简洁版本

  • 尝试按照教程,在旧计算机上使用虚拟主机通过链接到同一 IP 地址的不同域在我的家庭网络上提供网络内容。

  • 按照教程操作后,我收到错误:

    $sudo service httpd restart
    $Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details
    
  • 按照指示检查了 systemctl 和 journalctl 的输出、阅读了论坛并浏览了内容后,发现在 /etc/httpd/conf/httpd.conf 中注释掉以下行可以启动 httpd:

    IncludeOptional sites-enabled/*.conf
    
  • 我认为与 sites-enabled 符号链接的目录有问题,但无法找出与本教程不符的地方。所有信息都发布在下面。

必要信息

  • 我正在关注的教程链接

  • Apache 版本:2.4.6

  • /etc/httpd/sites-available 中的文件(sites-enabled 符号链接到此目录)

    • example2.com.conf
    • 例如.com.conf
  • example.com.conf 内容

    <VirtualHost 192.168.1.4:80>
      ServerName www.example.com
      ServerAlias example.com
      DocumentRoot /var/www/example.com/public_html
      ErrorLog /var/www/example.com/error.log
      CustomLog /var/www/example.com/requests.log combined
    </VirtualHost>
    

example2.com.conf 的内容相同,只是用“example2”替换了“example”的每个瞬间

请让我知道解决此问题所需的任何其他文件或输出。

答案1

类似这样的操作应该可以正常工作 - 确保文件名以 .conf 结尾。我为我和我的朋友托管了不少域名,因此DocumentRoot每个域名的 都是/var/www-domain。我命名文件/etc/apache2/sites-available/domain.conf,然后将其链接或使用a2ensite,然后重新启动/重新加载 apache。确保创建目录/var/www-example.com!最后,apache2ctl -S将显示/测试您的配置

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www-example.com
    <directory /var/www-example.com>
        Options All
                AllowOverride All
                Require all granted
    </directory>
</VirtualHost>

答案2

发生这种情况是因为您的某个配置文件中存在错误。运行apachectl -t以查找它。

相关内容