Step # 1: Make sure Apache is configured to use .htaccess file
<Directory /var/www> Options Indexes Includes FollowSymLinks MultiViews AllowOverride AuthConfig Order allow,deny Allow from all </Directory>关键点在AuthConfig,如果不想使用的话可以改成None
service httpd restart重启服务器。
Step # 2: Create a password file with htpasswd
# mkdir -p /home/secure/
# htpasswd -c /home/secure/apasswords vivek输入这个命令注意权限问题,有的不加sudo会出现错误。最后边的vivek是用户名。
正确输入命令会让你填写两次密码。
这也就是登录的用户名和密码。
权限问题:
Ubuntu: grep -e '^User' /etc/apache2/apache2.conf
输出:www-data
用如下命令修改权限:
# chown www-data:www-data /home/secure/apasswords
# chmod 0660 /home/secure/apasswords
Centos:# grep -e '^User' /etc/httpd/conf/httpd.conf
输出:apache
# chown apache:apache /home/secure/apasswords
# chmod 0660 /home/secure/apasswords
有的系统到这里就完成了。有的需要进一步操作。
# vi .htaccess
写入如下内容:
AuthType Basic AuthName "Restricted Access" AuthUserFile /home/secure/apasswords Require user vivek
然后把这个文件复制到rails的public文件夹下就可以了。