Apache2 在用户目录工作

当前 Apache2 在 Debian 及衍生版系统下默认访问路径是 /var/www ,这在生产环境下工作良好,但是开发的时候我们希望它能访问 /home/$USER/ 路径,这样可以便于我们的开发,现有的许多教程已经失去时效性,新版本的设定变得更加简单。

userDir 模块

假设你已经配置完成了 LAMP 环境,我们借助于 userdir 模块可以轻易的启用访问用户目录。

sudo a2enmod userdir
# 重启生效
sudo systemctl restart apache2
# 默认访问 ~/public_html 目录
mkdir ~/public_html

这个时候你就可以直接访问 http://localhost/~username/ 以访问 ~/public_html 目录。

启用 PHP

如果你在用户目录下放置了 PHP 程序,你会发现直接访问显示的是代码,并没有执行。我们需要修改 php 模块的配置:

# 具体名称依版本号而定
sudo vim /etc/apache2/mods-available/php7.2.conf

在文件底部会存在如下配置,我们把 Off 修改成 On,接着重启 Apache 生效即可。

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注