Enable UserDir

Enable userdir, users can create websites with this setting.

[1] Configure httpd.

[root@futurelinux ~]# vi /etc/httpd/conf.d/userdir.conf

# line 17: comment out
#UserDir disabled

# line 24: uncomment
UserDir public_html

# line 31-35
<Directory "/home/*/public_html">
    AllowOverride All  # change
    Options None       # change
    Require method GET POST OPTIONS

[root@futurelinux ~]# systemctl restart httpd

[2] If SELinux is enabled and also enable CGI except default location like above, add rules like follows.

[root@futurelinux ~]# dnf install checkpolicy policycoreutils-python-utils -y
[root@futurelinux ~]# setsebool -P httpd_enable_homedirs on
[root@futurelinux ~]# restorecon -R /home

[3] Create a test page with a user and access to it from client PC with web browser. It's OK if following page is shown.

[future@futurelinux ~]$ mkdir -p public_html
[future@futurelinux ~]$ chmod 711 /home/future
[future@futurelinux ~]$ chmod 755 /home/future/public_html
[future@futurelinux ~]$ echo "UserDir Test Page" > /home/future/public_html/index.html