2011-09-25 121 views
4

我想通过.htpasswd保护网络文件夹。 但是,由于.htaccess文件受版本控制,我宁愿不要惹它。启用网站.htpasswd不带.htaccess

相反,我想在
配置 的/ etc/apache2的//mysite的
/etc/apache2/.htpasswd

任何想法,我需要把在“mysite的“apache配置文件?

到目前为止,这是某事像这样,

<VirtualHost (ip address):80> 
    ServerName my.domain 
    DocumentRoot /var/sites/sitename 
    ServerAdmin ... 
</VirtualHost> 

回答

5

Heureka,我想通了自己..或者是什么,我认为是解决方案。

<VirtualHost (ip address):80> 
    ServerName my.domain 
    DocumentRoot /var/sites/sitename/ 
    ServerAdmin ... 
    <Directory /var/sites/sitename/> 
    AuthUserFile /etc/apache2/.htpasswd 
    AuthGroupFile /dev/null 
    AuthName "What is the pw" 
    AuthType Basic 
    require user (username) 
    </Directory> 
</VirtualHost> 

的htpasswd的可以通过命令行通常的方式来创建,

# htpasswd /etc/apache2/.htpasswd (username) 

编辑:安东尼在下面的评论强烈建议您使用HTTPS/SSL,以防止密码被加密发送。

+0

作为一个说明,我之前尝试过,没有嵌套,这导致apache重新启动时出现错误。所以,似乎“”是包装Auth配置所必需的。 – donquixote

+0

警告:这是在HTTP协议中完成的,这基本上意味着您的用户将通过网络发送明确的用户名和密码。 您还需要确保该目录只能通过HTTPS(SSL)协议访问,并且您应该确保在查询身份验证之前发生了从HTTP到HTTPS的任何自动重定向。 – anthony