为什么 a2ensite 会给我错误“站点不存在”

为什么 a2ensite 会给我错误“站点不存在”

我最初以为我遇到了这个问题:

https://stackoverflow.com/questions/28572629/a2ensite-site-does-not-exist-error-even-with-conf-file

但那对我没有帮助。

我在这里:

  /etc/apache2/sites-enabled

我知道 a2ensite 的路径:

  which a2ensite
  /usr/sbin/a2ensite

我使用这个测试了配置文件:

  apachectl configtest

我得到:

  Syntax OK

我有这个文件:

  ralph.stagingv2.example.conf

开头是:

  ServerName ralph.stagingv2.example.com
  DocumentRoot "/home/ralph/example/current/web"
  DirectoryIndex index.php

我使用以下命令创建了 DocumentRoot:

  mkdir -p /home/ralph/example/current/web

我将权限更改为我们在 AWS 上使用的用户:

  chown -R ubuntu /home/ralph/
  chgrp -R www-data /home/ralph/

但当我这样做时:

  a2ensite ralph.stagingv2.example

我得到:

  ERROR: Site ralph.stagingv2.example does not exist!

我错过了什么?

答案1

a2ensite/etc/apache2/sites-enabled是一个脚本,它创建指向 中的 .conf 文件的符号链接/etc/apache2/sites-available

为了正常工作,你的 .conf 文件必须位于“sites-available”目录中,即

 /etc/apache2/sites-available/ralph.stagingv2.example.conf

您实际上不应该在/etc/apache2/sites-enabled目录中“放置”任何配置文件。

相关内容