设置Apache密码保护

在Apache中设置密码保护有一些困难

在.htaccess中,我有

AuthUserFile /var/www/vhosts/domain.net/httpdocs/.htpasswd AuthGroupFile /dev/null AuthName "Test Server" AuthType Basic require user testuser 

然后在.htpasswd,我有类似的东西

 testuser:encrypted password 

现在的问题是我忘了我使用的.htpasswd生成器。 当我尝试添加新的用户和密码时,它不起作用。 例如。 当我把require user newuser它总是失败(提示不断重现)。 然后,当我恢复到testuser它的作品

我如何设置,使我有一个或一些“pipe理员”,可以访问的一切和查看器,只能查看特定的文件夹…例如

 / - only admins /folder1 - only admins or folder1's users /folder2 - only admins or folder2's users 

另外我该怎么做,不允许显示目录列表

require user指令只允许一个用户访问特定的资源。 要允许多个用户,你应该configuration一个AuthGroupFile,并使用Require group指令来允许访问资源。 Apache文档在这里

/folder1/.htaccess

 AuthUserFile /var/www/vhosts/domain.net/httpdocs/.htpasswd AuthGroupFile /var/www/vhosts/domain.net/httpdocs/.GroupFile AuthName "Test Group1" AuthType Basic require group Group1 

/folder2/.htaccess

 AuthUserFile /var/www/vhosts/domain.net/httpdocs/.htpasswd AuthGroupFile /var/www/vhosts/domain.net/httpdocs/.GroupFile AuthName "Test Group2" AuthType Basic require group Group2 

等等

如果你想指定多个组,那么

 require group Group1 Group2 ... 

并在GroupFile中

 Group1: testuser admin1 admin2 Group2: testuser1 admin1 admin2 

.htaccess在根目录下:

 AuthUserFile /var/.htpasswd AuthName "Test Server" AuthType Basic require user admin Options -Indexes 

文件夹1中的.htaccess:

 AuthUserFile /var/.htpasswd AuthName "Test Server" AuthType Basic require user admin folder1 

文件夹2中的.htaccess:

 AuthUserFile /var/.htpasswd AuthName "Test Server" AuthType Basic require user admin folder2