How to use .htaccess and .htpasswd files for basic authentication
This type of authentication allows you to set usernames and passwords to give specific people access to your secure folder. This means they do not need to have PennKeys or SEAS accounts. You can also use one username and password for everyone. The .htaccess and .htpasswd files reside in the folder you want to protect. It is available on all domains via https://.
Create your .htaccess file
- Create a new file called ".htaccess" using your favorite text editor.
- The file should contain something similar to this:
Change the path after "AuthUserFile" to the location of where your .htpasswd file will be (should be in the same directory as .htaccess). You can simply change "c" to the first letter of your PennKey, "clifford" to your full PennKey, and "protected" to the directory you want to protect.AuthType Basic
AuthName "Restricted Area"
AuthUserFile /home1/c/clifford/public_html/protected/.htpasswd
require valid-user - Save the file and upload it to the directory you want to protect using your favorite FTP client (more info).
Note: If you are comfortable using vi or emacs on the command line, it may be easier to create the file directly on the server.
Set up authentication using a htpasswd
- Connect to Eniac via the command line (we recommend SecureCRT). Navigate to the folder you want to protect (the location you uploaded your .htaccess file to).
- Use the following command to create a new .htpasswd file and set up the user "cliff" (change to whatever username you want):
htpasswd -c .htpasswd cliff - You will be prompted to enter a password for the user.
- To add other users, use this syntax (where "eric" is another username you want to use):
htpasswd .htpasswd eric - Make sure both your .htaccess and .htpasswd files are world readable (more info on changing permissions).
Setting the directory permissions
Note: it is not advisable to use the chgrp-httpd script if you are protecting files in your CGI directory. Instead, chmod the protected directory to 700.
This final step is important to make make sure people with local accounts can't access your files via the unix file system. Set the correct permissions on your protected folder by running the following command from within the directory you want to protect:
chgrp-httpd .
Other options
For more options of things to do with your htaccess file, please visit Apache's site.
