我对开发还很陌生,这就是为什么我会陷入这样的“初学者”问题。
我想要一个目录/var/www/我的网站和索引.html并通过我的电脑(Win10 64 位)上的网络浏览器访问它,输入mysite.example进去。
我不想用这个在互联网上发布任何东西。我只想测试和开发一个以后可能会托管的网站。
我已经使用 Oracle VirtualBox 创建了一个虚拟机并安装了 Ubuntu16.04(64 位,还在 Bios 中在我的 i5 2500 上启用了虚拟化,因此我显示了这些 64 位)。
然后我安装了阿帕奇2,mysql和php。
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.conf
,sudo service apache2 reload
restart
这就是我的情况。如果我输入mysite.example进入我的浏览器只会出现错误。
未到达站点。未找到 mysite.example 的 DNS 服务器等等 (ERR_NAME_NOT_RESOLVED)。
答案1
请注意,如果您使用mysite.local
* mysite.org
(或其他流行扩展名),您可能http://
每次都在其前面输入,因为浏览器可能无法识别.local
为域扩展名。
如果要从本地机器访问mysite.local
和,请编辑并将这两个域名绑定到环回接口- :www.mysite.local
/etc/hosts
127.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
运行 Oracle VirtualBox 的主机必须被视为您在设置 VirtualBox 期间创建的虚拟 LAN 中的机器。
另一个选择是创建本地 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
通过浏览器访问。
另请阅读: