我在 Mac(主机)上运行 Vmware Fusion,在其中运行 VM(Ubuntu + LAMP)托管网站,例如 example.com(以及其他一些网站)。
当我尝试从 Guest 内部访问 example.com 时,它运行正常,我得到了正确的网页。我的 example.com.conf 是
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
VM 采用默认网络适配器配置(使用 NAT)设置。
我能够从主机(mac)正确访问 WebServer,例如 172.XXX/ 将带我进入“Apache2 Ubuntu 默认页面”或 172.XXX/phpmyadmin/index.php 将允许我登录到 php 管理员帐户。
但当我尝试 172.XXX/example.com/ 时,我得到了
Not Found
The requested URL /example.com was not found on this server.
Apache/2.4.7 (Ubuntu) Server at 172.X.X.X Port 80
只要可能,我就想使用 NAT。
答案1
在查看 apache 日志和其他人的帮助后,我找到了自己的问题的答案
我首先将网站的 apache conf 文件更改为
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerName <ServerIpAddress>
DocumentRoot /var/www
<Directory /var/www/example.com/public_html**/>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我还对 /etc/hosts 文件进行了更改,将网站包含为
<localhostIp> localhost
<localhostIp> ubuntu
<ServerIpAddress> example.com example.com
完成更改后,我可以从服务器外部访问网站