我在/etc/apache2/sites下有cmsplus.dev -可用以下代码,

<VirtualHost *:80>
    ServerAdmin master@server.com
    ServerName www.cmsplus.dev
    ServerAlias cmsplus.dev

    DocumentRoot /var/www/cmsplus.dev/public

    LogLevel warn
    ErrorLog /var/www/cmsplus.dev/log/error.log
    CustomLog /var/www/cmsplus.dev/log/access.log combined
</VirtualHost>

现在当我使用sudo /usr/sbin/a2ensite cmsplus.dev时,我得到了错误,

ERROR: Site cmsplus.dev does not exist!

我的web服务器Apache/2.4.6 (Ubuntu)

如何解决这个问题?


当前回答

还有另一个好方法,就是编辑apache2.conf文件,最后有一行

IncludeOptional sites-enabled / * . conf

只需要在最后删除.conf,就像这样

IncludeOptional sites-enabled / *

并重新启动服务器。

(我只在Ubuntu 13.10更新时尝试了这个功能。)

其他回答

我在配置文件中加入了。conf之后就工作了

试着这样做。

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin master@server.com
    ServerName www.cmsplus.dev
    ServerAlias cmsplus.dev

    DocumentRoot /var/www/cmsplus.dev/public

    LogLevel warn
    ErrorLog /var/www/cmsplus.dev/log/error.log
    CustomLog /var/www/cmsplus.dev/log/access.log combined
</VirtualHost>

并在/etc/hosts中添加条目

127.0.0.1 www.cmsplus.dev

重新启动apache . .

通过在站点配置文件中添加.conf扩展名解决了这个问题。

Apache a2ensite的结果:

错误!网站不存在

问题;如果您在尝试使用以下方法启用站点时发现错误:

sudo a2ensite example.com

但它返回:

错误:example.com不存在

a2ensite只是一个Perl脚本,它只适用于以.conf结尾的文件名

因此,我必须将example.com的设置文件重命名为example.com.conf,具体操作如下:

mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf

成功

我刚刚将Ubuntu服务器版本从12.04 LTS升级到14.04 LTS。

事实上,如上所述,.conf扩展到Apache 2.4。需要X的网站vhost文件,驻留在网站可用目录。

在阅读这个问题之前,我不知道服务器上发生了什么。

很好的解决方案。

总结一下,我在Terminal上做了以下步骤:

1)访问启用站点的文件夹

$ cd /etc/apache2/sites-enabled

2)因为a2dissite命令对已弃用的文件(没有.conf)不起作用,请删除已发布的旧网站文件

$ sudo rm <my-old-website-without-.conf>

3)重命名网站vhost文件,更改其扩展名,最后添加.conf

$ sudo mv /etc/apache2/sites-available/mywebsite /etc/apache2/sites-available/mywebsite.conf

4)重新发布新的正确的vhost文件

$ sudo a2ensite mywebsite.conf

5)在浏览器上查看网站,玩得开心!:)

所以. . 最快的方法是重命名以“。conf”结尾的站点配置名称

mv /etc/apache2/sites-available/mysite /etc/apache2/sites-available/mysite.conf

a2ensite mysite.conf

关于以前意见的其他说明:

IncludeOptional直到apache 2.36才被引入——在2.2重新启动之前做以上改变会让你的服务器瘫痪! 此外,版本2.2 a2ensite不能被黑客攻击

同样,因为你的sites-available文件实际上是一个配置文件,所以无论如何都应该这样命名。


一般不重启服务(web服务器是一种类型的服务):

如果他们不跑,人们就找不到他们!想想linux,而不是微软Windows..

服务器可以运行多年——实时更新、重新加载配置等等。

云并不意味着必须重新启动才能加载配置文件。

当更改服务配置时,使用“reload”而不是“restart”。 重启将停止服务,然后启动服务-如果您对配置的更改有任何问题,服务将不会重新启动。 重新加载会给出一个错误,但服务永远不会关闭,让你有机会修复配置错误,这可能只是糟糕的语法。

Debian或ubunto[此线程的服务名是apache2]

service {service-name} {start} {stop} {reload} ..

其他的os留给读者作为节选。