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

lor*_*orm 7 apache-2.4

我最初以为我有这个问题:

/sf/ask/2000084061/

但这对我没有帮助。

我在这里cd:

  /etc/apache2/sites-enabled
Run Code Online (Sandbox Code Playgroud)

我知道 a2ensite 的路径:

  which a2ensite
  /usr/sbin/a2ensite
Run Code Online (Sandbox Code Playgroud)

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

  apachectl configtest
Run Code Online (Sandbox Code Playgroud)

我得到:

  Syntax OK
Run Code Online (Sandbox Code Playgroud)

我有这个文件:

  ralph.stagingv2.example.conf
Run Code Online (Sandbox Code Playgroud)

开头是:

  ServerName ralph.stagingv2.example.com
  DocumentRoot "/home/ralph/example/current/web"
  DirectoryIndex index.php
Run Code Online (Sandbox Code Playgroud)

我创建了 DocumentRoot :

  mkdir -p /home/ralph/example/current/web
Run Code Online (Sandbox Code Playgroud)

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

  chown -R ubuntu /home/ralph/
  chgrp -R www-data /home/ralph/
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时:

  a2ensite ralph.stagingv2.example
Run Code Online (Sandbox Code Playgroud)

我得到:

  ERROR: Site ralph.stagingv2.example does not exist!
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Col*_*olt 8

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

为了工作,您的 .conf 文件必须在“sites-available”目录中,即

 /etc/apache2/sites-available/ralph.stagingv2.example.conf
Run Code Online (Sandbox Code Playgroud)

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

  • 请注意,文件必须以`.conf` 结尾,否则无法识别。 (4认同)
  • 那么,你到底想要什么帮助呢? (2认同)