第2步:创建用户目录

使用下面的命令中创建名为public_html的主目录中的文件夹。

mkdir ~/public_html

在该文件夹中,通过Web服务器创建要共享和访问HTML文档。

重新启动Apache2 WebServer以加载设置。

sudo systemctl restart apache2.

现在通过浏览到服务器主机名或者IP地址之后的用户名来测试它。

示例:http://192.168.1.136/~jack.

第1步:在Apache2上启用UserDir

要在Apache2 WebServers上启用此功能,请运行以下命令

sudo a2enmod userdir

运行上面的命令后,将启用并准备使用。
配置文件位于/etc/apache2/mods-enabled/userdir.conf。
一般不需要改动。

<IfModule mod_userdir.c>
     UserDir public_html
     UserDir disabled root
        <Directory /home/*/public_html>
             AllowOverride FileInfo AuthConfig Limit Indexes
             Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
             Require method GET POST OPTIONS
        </Directory>
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
如何在Ubuntu 上启用Apache2/Nginx的UserDir

User Directory或者简称Userdir,是Apache2 Web服务器的模块,允许通过Apache2访问特定于用户的目录。
这可以配置nginx webservers,尽管没有模块要启用。

例如,当我们在Apache2或者nginx Web服务器中启用此功能时,系统上的帐户将能够使用WebServer与世界共享其主目录中的内容。

第3步:在nginx webservers上启用userdir

对于nginx webservers,没有安装模块。
必须将代码块添加到服务器块中的默认站点配置文件中。

sudo nano /etc/nginx/sites-available/default

然后在服务器块内添加下面内容并保存。

# Default server configuration
#server {
        listen 80 default_server;
        listen [::]:80 default_server;
        # SSL configuration
        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server;
        root /var/www/html;
        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;
        server_name _;
         location ~ ^/~(.+?)(/.*)?${
         alias /home//public_html;
         index index.html index.htm;
         autoindex on;
           }
}

然后通过运行下面的命令重新启动nginx web服务器

sudo systemctl restart nginx

接下来,用户在名为public_html的主目录中创建一个文件夹。
然后创建一个index.html页面并保存。
浏览到服务器主机名或者IP地址,然后是用户名。

示例:http://192.168.1.136/~jack.

日期:2020-07-07 20:57:16 来源:oir作者:oir