在 MacOS 主机上的 Multipass 中无法将 UserDir 设置为 ~/Home/public_html

在 MacOS 主机上的 Multipass 中无法将 UserDir 设置为 ~/Home/public_html

我在 MacOS 主机上运行 Multipass 实例,并将其用作 LAMP 服务器。Multipass 将 ~/Home 目录映射到 MacOS 用户目录,并且我希望在该目录中拥有 public_html 目录,这样我就可以从 MacOS 进行开发,并且更改可以反映在 Ubuntu LAMP 中。

好吧,我已通过运行sudo a2enmod userdir并注释掉以下内容成功启用了 UserDir:

<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_flag engine Off
    </Directory>
</IfModule>

/etc/apatche2/mods-enabled/php8.1.conf

并替换:

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

export APACHE_RUN_USER=ubuntu
export APACHE_RUN_GROUP=ubuntu

/etc/apache2/envvars

有了这些,我现在~/public_html可以把 html 和 php 文件放进去,它工作正常,但如果我/etc/apache2/mods-enabled/userdir.conf从编辑/home/*/public_html它就/home/*/Home/public_html不起作用!我得到了 403。

public_html及其内部文件的权限如下:

ubuntu@primary:~$ ls -la ~/Home/public_html/
total 12
drwxr-xr-x 1 ubuntu ubuntu   96 Jan 16 18:19 .
drwxr-xr-x 1 ubuntu ubuntu 1792 Jan 16 17:52 ..
-rwxr-xr-x 1 ubuntu ubuntu   17 Jan 16 18:19 test.php

我做错了什么?如何才能达到我在一开始解释的预期结果?

答案1

只需将您想要的任何目录符号链接回 ~/public_html 即可,如下所示:ln -s ~/Home/public_html/ ~/public_html/public_html解决该问题。

相关内容