如何在macOS版XAMPP VM中修改DocumentRoot为本地目录?
解决macOS XAMPP VM修改DocumentRoot不生效的问题
我之前也碰到过完全一样的困扰——Windows上改个httpd.conf就能轻松切换网站根目录,到了macOS的XAMPP VM这里却怎么都不生效。其实核心原因是XAMPP VM是运行在独立Linux虚拟机里的,不是直接部署在macOS系统上,光挂载编辑配置还不够,得把几个关键步骤做全:
1. 正确编辑httpd.conf(直接操作虚拟机更可靠)
- 打开XAMPP控制面板,点击VM旁的「Open Terminal」按钮,直接进入虚拟机的命令行(比挂载后编辑更不容易出问题)
- 用编辑器打开配置文件:
sudo nano /opt/lampp/etc/httpd.conf - 找到
DocumentRoot "/opt/lampp/htdocs"这一行,替换成你想要的路径,比如DocumentRoot "/opt/lampp/mysite" - 一定要同步修改下方对应的
<Directory>块,路径要和DocumentRoot完全一致:<Directory "/opt/lampp/mysite"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory>
2. 给目标文件夹设置正确权限
虚拟机里的Apache进程需要有访问目标文件夹的权限,执行以下命令:
sudo chmod -R 755 /opt/lampp/mysite sudo chown -R daemon:daemon /opt/lampp/mysite
3. 若要使用macOS本地文件夹:设置共享映射
如果你不想把网站放在虚拟机内部,想用macOS本地目录(比如~/Documents/mysite):
- 打开XAMPP控制面板的「Volumes」标签页,点击「Mount」挂载虚拟机文件系统
- 点击「Explore」打开挂载目录,找到
opt/lampp,把你的macOS本地文件夹拖入;或者点击「Add Volume」,选择本地文件夹并设置挂载点为/opt/lampp/mysite - 回到虚拟机终端,重复第2步的权限设置
4. 重启Apache服务
在XAMPP控制面板里点击「Stop」再「Start」Apache,或者在终端执行:
sudo /opt/lampp/lampp restart apache
做完这些步骤,再访问localhost就能看到新根目录的内容了。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

