/etc/apache2 中没有 sites-available/000-default.conf

/etc/apache2 中没有 sites-available/000-default.conf

我正在尝试为 Apache2 设置虚拟主机。有很多教程,但它们都假定该文件/etc/apache2/sites-available/000-default.conf存在。但如果我运行:

$ cd /etc/apache2/
$ ls
conf-available
$ cd conf-available
$ ls
javascript-common.conf

我找不到遇到同样问题的人。在开始此类教程之前我需要做什么吗?

https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-16-04

一切都是最新的。Ubuntu 是 16.04 LTS。

答案1

其中的文件/etc/apache2/conf-available是管理员可以自由创建、重命名、删除、填写适当内容等的文件。如果您没有 000-default.com,只需创建一个。

然后你应该打电话

sudo a2ensite 000-default.conf

注意事项:

  • 虚拟主机共存 - 据我所知,您已经有一些非标准配置。请注意虚拟主机相互冲突。您可能需要全新安装 apache2 及其配置。

  • 最终加载(包含)哪些文件作为配置取决于其他一些配置文件,例如/etc/apache2/apache2.confinclude命令(然后包含指定的文件)。也可以在包含的文件中调用 Include。

仅供参考,apache2(版本 2.4.7)的 000-default.conf 如下:

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

最好使用以下命令来启用/禁用站点,而不是通过创建符号链接来创建站点(您仍然可以这样做,但是......它通常依赖于辅助脚本,例如为了避免拼写错误)

a2ensite 000-default
a2dissite 000-default

如果某些配置不起作用,您可以尝试:

sudo service apache2 reload

甚至更深层次的配置重新加载发生在:

sudo service apache2 restart

重新加载确实会在内存中保留一些与连接相关的数据,并且在典型的全新安装中,这两者都只需几分之一秒。

编辑:我添加了关于四个有用命令的注释:a2ensite、a2dissite、service apache2 restart/reload,并在随后的编辑中重新组织了答案以更好地适应问题。

相关内容