【问题标题】:Virtual Hosts XAMPP [Linux Ubuntu] not working虚拟主机 XAMPP [Linux Ubuntu] 不工作
【发布时间】:2026-02-24 09:35:02
【问题描述】:

我尝试使用 XAMPP 在 Ubuntu 12.04 中创建虚拟主机 magento.developers.com
首先,我编辑了 /opt/lampp/etc/extra/httpd-vhosts.conf 并添加了以下几行:

<VirtualHost *:80>
    ServerAdmin webmaster@magento.developers.com
    DocumentRoot "/opt/lampp/htdocs/magento"
    ServerName magento.developers.com
    ErrorLog "logs/magento.developers.com-error_log"
    CustomLog "logs/magento.developers.com-access_log" common
</VirtualHost>


我已经使用命令 sudo /opt/lampp/lampp restart 重新启动了 XAMPP,然后我进行了编辑
hosts 文件并添加:

127.0.0.1   magento.developers.com

然后我尝试使用浏览器访问magento.developers.com,但无法访问

/opt/lampp/htdocs/magento

我必须做些什么才能使其工作并访问magento 文件夹而不是htdocs(根)?

【问题讨论】:

    标签: ubuntu xampp vhosts


    【解决方案1】:

    httpd.conf 中默认禁用了虚拟主机配置,以便允许虚拟主机
    在 XAMPP Ubuntu 中,您必须取消注释行 480 in httpd.conf:

    MAINSTEP:取消注释行480如下:

    479. # Virtual hosts
    480. Include etc/extra/httpd-vhosts.conf
    

    httpd.conf 文件位于/opt/lampp/etc 下,修改它的步骤如下:

    1.运行sudo gedit /opt/lampp/etc/httpd.conf
    2.申请MAINSTEP

    【讨论】:

    • @AmitGarg:启用虚拟主机后,您的 htdocs 是否工作?如果我启用虚拟主机,我在 htdocs 中的项目不会显示出来。这很奇怪:/
    • @GhazanfarMir 创建 vartualhost 后,我​​在 localhost 上的其他项目无法正常工作。所以我禁用了虚拟主机。
    • @AmitGarg:好的 - 我已经弄清楚为什么我的虚拟主机不工作了。我错过了默认 htdocs 目录的条目,即&lt;VirtualHost *:80&gt; DocumentRoot "/opt/lampp/htdocs" ServerName localhost ErrorLog "logs/localhost-error.log" CustomLog "logs/localhost-access.log" combined &lt;/VirtualHost&gt;
    • 一旦我将 htdocs 的这个条目放在其他虚拟主机之上,它就开始工作了。我希望这会有所帮助
    • 不要忘记正确设置您的 /etc/hosts 文件(相当于 DNS 条目)。添加虚拟主机时,DNS表必须由您编辑,系统不会自动进行!
    【解决方案2】:

    第 1 步:编辑 apache 配置

    sudo nano /opt/lampp/etc/httpd.conf

    在该行下方找到并取消注释(删除#)并保存

    Include etc/extra/httpd-vhosts.conf

    第 2 步:编辑虚拟主机配置以添加虚拟主机

    sudo nano /opt/lampp/etc/extra/httpd-vhosts.conf

    并在您的 DocumentRoot (/opt/lampp/htdocs/example) 和 ServerName (URL)(example.local) 中添加以下代码

    <VirtualHost *:80> ServerAdmin your@email.com DocumentRoot "/opt/lampp/htdocs/example" ServerName "example.local" ErrorLog "logs/example.local-error_log" CustomLog "logs/example.local-access_log" common </VirtualHost>

    第 3 步:编辑主机文件以添加您的 URL(example.local)

    sudo nano /etc/hosts

    并将这一行与您的 URL (example.local) 一起添加到底部并保存

    127.0.1.1 example.local

    第四步:重启服务器

    sudo /opt/lampp/lampp restart

    【讨论】:

      【解决方案3】:

      创建虚拟主机:-

      sudo vi /opt/lampp/etc/httpd.conf
      

      并取消注释以下行

      Include etc/extra/httpd-vhosts.conf
      

      现在在命令下面创建 n 个主机:

      sudo nano /opt/lampp/etc/extra/httpd-vhosts.conf(输入主机条目)。

      sudo nano /etc/hosts                 (do host file entry)
      

      然后重启xampp

      sudo /opt/lampp/lampp restart
      

      【讨论】: