使用 Ubuntu 16.04 在 VirtualBox 上设置 vhost

使用 Ubuntu 16.04 在 VirtualBox 上设置 vhost

我对开发还很陌生,这就是为什么我会陷入这样的“初学者”问题。

我想要一个目录/var/www/我的网站索引.html并通过我的电脑(Win10 64 位)上的网络浏览器访问它,输入mysite.example进去。

我不想用这个在互联网上发布任何东西。我只想测试和开发一个以后可能会托管的网站。

我已经使用 Oracle VirtualBox 创建了一个虚拟机并安装了 Ubuntu16.04(64 位,还在 Bios 中在我的 i5 2500 上启用了虚拟化,因此我显示了这些 64 位)。

然后我安装了阿帕奇2mysqlphp

ip addr show给了我一个地址:192.168.178.31

因此,如果我在浏览器中输入,http://192.168.178.31/我就会进入 apache2 默认页面 - 它有效!

我创建了目录/var/www/我的网站并提出一个简单的索引.html进行测试目的。我说sudo chown -R 775 to /var/www/

现在我需要创建一个虚拟主机,以便可以访问它索引.html通过在浏览器中输入特定字符串来进入此特定目录。但是它不起作用!

我去了/etc/apache2/站点可用/并创造了我的站点配置文件

以下是内容:

<VirtualHost *80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/mysite
ServerAlias mysite.example
</VirtualHost>

我做到了a2ensite mysite.confsudo service apache2 reloadrestart

这就是我的情况。如果我输入mysite.example进入我的浏览器只会出现错误。

未到达站点。未找到 mysite.example 的 DNS 服务器等等 (ERR_NAME_NOT_RESOLVED)。

答案1

请注意,如果您使用mysite.local* mysite.org(或其他流行扩展名),您可能http://每次都在其前面输入,因为浏览器可能无法识别.local为域扩展名。

如果要从本地机器访问mysite.local和,请编辑并将这两个域名绑定到环回接口- :www.mysite.local/etc/hosts127.0.0.1

127.0.0.1    localhost mysite.local www.mysite.local
  • 在 的某处添加此行/etc/hosts

  • 请注意,在这种情况下,本地“机器”是装有 Ubuntu 的虚拟机。

如果您想mysite.local通过局域网中的另一台计算机访问,请编辑其host文件并将两个域名绑定到服务器的 IP 地址:

192.168.178.31    mysite.local www.mysite.local

另一个选择是创建本地 DNS:


以下是适合您情况的基本虚拟主机配置:

<VirtualHost *:80>

        ServerName mysite.local
        ServerAlias www.mysite.local

        ServerAdmin [email protected]

        DocumentRoot /var/www/mysite

        <Directory /var/www/mysite>
                Options Indexes FollowSymLinks
                AuthType None
                AllowOverride All
                Order allow,deny
                Allow from all
                Require all granted
        </Directory>

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

</VirtualHost>
  • 一开始在 中放入一些基本内容/var/www/mysite。该函数phpinfo();是一个好主意:

      echo '<?php phpinfo(); ?>' | sudo tee /var/www/mysite/index.php
    

重新启动Apache并尝试http://mysite.local通过浏览器访问。


另请阅读:

相关内容