Apache 虚拟主机

Apache 虚拟主机

我希望在我的网站上创建链接,例如 support.mydomain.com 或 management.mydomain.com,而不是 mydomain.com/support 等。我听说可以使用 apache 虚拟主机来实现,但我不确定如何设置。

我在 apache 2.4 和 ubuntu 16.04 上

答案1

Apache2发行版带有一个非常易于使用的模块化配置

将您的000-default.conf内容复制/etc/apache2/sites-available到一个文件中,然后按名称命名您的虚拟站点。使用配置文件000-default.conf作为模板。

在这种情况下,您已指示mydomain.com。您还指示management.mydomain.com。您可以使用两者来指代访问同一站点。在这些步骤中,我将使用mydomain.com

配置文件可以使用任意名称。如果您创建了多个网站,使用包含虚拟主机名称的名称将使管理网站更加容易。

运行这些步骤。我给它们编号,以便您轻松指出哪个步骤(如果有)卡住了或不明白。 表示$您输入命令的终端提示符。 命令是提示符后看到的文本$

1. $ mkdir -p /home/web/mysite/www
2. $ mkdir -p /home/web/mysite/log
3. $ cd /etc/apache2/sites-available
4. $ sudo cp 000-default.conf mydomain.conf
5. $ gksudo gedit mydomain.conf

更改自:

<虚拟主机 *:80>
    # ServerName 指令设置请求方案、主机名和端口
    # 服务器用来标识自己。这在创建时使用
    # 重定向 URL。在虚拟主机上下文中,ServerName
    # 指定请求的 Host: 标头中必须出现的主机名
    # 匹配此虚拟主机。对于默认虚拟主机(此文件),此
    # 值不是决定性的,因为无论如何它都被用作最后的手段主机。
    # 但是,您必须为任何其他虚拟主机明确设置它。
    #服务器名称 www.example.com

    ServerAdmin webmaster@localhost
    文件根目录 /var/www/html

    # 可用的日志级别:trace8,...,trace1,debug,info,notice,warn,
    # 错误,严重,警报,紧急。
    # 也可以为特定
    # 模块,例如
    #日志级别 info ssl:warn

    错误日志 ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log 合并

    # 对于 conf-available/ 中的大多数配置文件,它们是
    # 在全球范围内启用或禁用,可以
    # 只包含一个特定虚拟主机的行。例如
    # 以下行仅为该主机启用 CGI 配置
    # 在使用“a2disconf”全局禁用它之后。
    #包括conf-available/serve-cgi-bin.conf
</虚拟主机>

# vim: 语法=apache ts=4 sw=4 sts=4 sr noet


改成:

<虚拟主机 *:80>
    # ServerName 指令设置请求方案、主机名和端口
    # 服务器用来标识自己。这在创建时使用
    # 重定向 URL。在虚拟主机上下文中,ServerName
    # 指定请求的 Host: 标头中必须出现的主机名
    # 匹配此虚拟主机。对于默认虚拟主机(此文件),此
    # 值不是决定性的,因为无论如何它都被用作最后的手段主机。
    # 但是,您必须为任何其他虚拟主机明确设置它。
    #服务器名称 www.example.com

    服务器名称 mydomain.com
    服务器别名 www.mydomain.com
    服务器别名 management.mydomain.com

    ServerAdmin webmaster@localhost

    文件根目录 /home/web/www
    <目录 /home/web/ubunzeus/www>
        选项 +FollowSymLinks +ExecCGI +Includes
        # 允许覆盖所有
        # Apache 2.4.3 需要的新指令:
        要求所有已授予
    </目录>
    
    # 可用的日志级别:trace8,...,trace1,debug,info,notice,warn,
    # 错误,严重,警报,紧急。
    # 也可以为特定
    # 模块,例如
    #日志级别 info ssl:warn

    错误日志 /home/web/mydomain/log/error.log
    CustomLog /home/web/mydomain/log/access.log 合并

    # 对于 conf-available/ 中的大多数配置文件,它们是
    # 在全球范围内启用或禁用,可以
    # 只包含一个特定虚拟主机的行。例如
    # 以下行仅为该主机启用 CGI 配置
    # 在使用“a2disconf”全局禁用它之后。
    #包括conf-available/serve-cgi-bin.conf
</虚拟主机>

# vim: 语法=apache ts=4 sw=4 sts=4 sr noet

继续以下命令来激活更改:

6. $ sudo a2ensite mydomain.conf
7. $ sudo 服务 apache2 重启

通过这些步骤,您现在可以通过在 Web 浏览器中输入您指定的名称来访问新的虚拟主机。

放置您的网页内容(你的html将文件 (.docx) 放入您为虚拟主机创建的目录中。在此示例中,它是:/home/web/www。您的 Web 目录可以放在系统上的任何位置。您只需使用这些信息配置虚拟主机配置文件即可。

每当您更改 Apache2 配置文件时,请务必重新加载它以使更改生效。

$ sudo service apache2 restart

相关内容