如何配置 /etc/hosts 文件以指向 apache 网络服务器?

J.O*_*sen 8 configuration hosts apache-httpd

我已经安装了 apache 网络服务器,我需要用别名(www.someaddress.lan)将 127.1.1.1 指向本地 apache。什么是正确的方法呢?如何将 someaddress.lan 指向默认的 apache 页面并将 www.someaddress.lan 指向 /var/www/wordpress/?

one*_*our 11

对于您的主机文件:

127.1.1.1     someaddress.lan www.someaddress.lan
Run Code Online (Sandbox Code Playgroud)

顺便说一句,你不是说127.0.0.1吗?那是本地主机的环回 IP 地址。如果是这样,请使用以下方法:

127.0.0.1     someaddress.lan www.someaddress.lan localhost.localdomain localhost
Run Code Online (Sandbox Code Playgroud)

然后你需要编辑你的 apache 服务器配置文件。通常 /etc/httpd/conf/httpd.conf 这是您将子域(虚拟主机)与包含 apache 服务器服务内容的目录相关联的地方。

基于 Apache 名称的虚拟主机

NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.someaddress.lan
ServerAlias www.someaddress.lan
DocumentRoot /var/www/wordpress
</VirtualHost>

<VirtualHost *:80>
ServerName someaddress.lan
ServerAlias someaddress.lan
DocumentRoot /var/www/html
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)


pra*_*tri 5

如果你不想在你的机器上安装任何类型的 DNS 服务器,那么你可以将一个条目放入/etc/hosts文件中。

 127.1.1.1    www.someaddress.lan    someaddress.lan
Run Code Online (Sandbox Code Playgroud)

实际上曾经主机在通过联系其 DNS 服务器解析域名之前,首先检查其自己的/etc/hosts文件。如果它在该文件中找到该域条目,则它不会联系其 DNS 服务器。

编辑:您必须为每个条目添加条目/etc/apache2/sites-enabled/000-default

<VirtualHost *>
   ServerName    someaddress.lan
   DocumentRoot  /var/www/html
</VirtualHost>

<VirtualHost *>
   ServerName    www.someaddress.lan
   DocumentRoot  /var/www/wordpress
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

注意:apache2通过以下命令更改上述配置文件后,不要忘记重新启动服务器:

$ sudo /etc/init.d/apache2 restart