访问在 Max 上运行的 Guest VM(Ubuntu LAMP)Web 服务器内运行的站点

访问在 Max 上运行的 Guest VM(Ubuntu LAMP)Web 服务器内运行的站点

我在 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

完成更改后,我可以从服务器外部访问网站

相关内容