Protect Folders Directory Files With Apache .htaccess
protect folders directory files with apache .htaccess
protect, folders, directory, files, with, apache, htaccess
Protect Folders Directory Files With Apache .htaccess
Post Description: protect folders directory files with apache .htaccess
POST# 176
Posted On: Fri Feb 29, 2008 12:01 pm
web hosting
Topic: Protect Folders Directory Files With Apache .htaccess
Hello,

I have a website, and i would like to have a section for members only.

I would like to know how to protect my directory for members only?


Tue Aug 15, 2006 5:55 pm
1
hostman
Reply #665
You need to create two files: .htpasswd and .htaccess

For the purpose of this tutorial, I will be protecting my file called "private.html" in the "proctected" directory which the path is going to be: /var/www/html/protected/private.html.

My username will be admin and my password will be lets say Pa$$w0rd
Username: admin
Password: Pa$$w0rd

So the .thpasswd file will look something like this:



     Code:

admin:Xwe3k4OzAsd3@.Wag


Now, The second file to create is called: .htaccess and it would look like this:


     Code:
AuthType Basic
AuthName "Members Only"
AuthUserFile AuthType Basic
AuthName "Members Only"
AuthUserFile /var/www/html/protected/.htpasswd
<limit GET PUT POST>
require valid-user
</limit>


After you have saved the files, upload both files to the /var/www/html/protected/ directory (or whatever directory for your site)

When you try to access the proctected directory with your browser from the internet, you will be prompted to provide a username and password:

THIS IS HOW IT LOOKS WITH FIREFOX:
post picture

THIS IS HOW IT LOOKS WITH WINDOWS INTERNET EXPLORER:
post picture

If you tried it and it doesn't work, then check the apache configuration file:
httpd.conf to make sure AllowedOveride is set to "All" instead of "None"

If you have a Redhat Distribution (like Fedora) you can find the httpd.conf file at /etc/httpd/conf/httpd.conf.

LOCATE:

     Code:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>


CHANGE TO

     Code:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>


LOCATE:

     Code:
#
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
#
AllowOverride None


CHANGE TO:

     Code:
#
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
#
AllowOverride All


If you are using a shell command to change these options, you can do it with vi. But I prefer to use nano, its much easier. execute the following command:


     Code:
nano /etc/httpd/conf/httpd.conf

What do you think?

* name:  

* email:  

* Please enter comments:


Receive Replies on my Comments
(An email will be sent to you when someone replies to your comments)

Add image to comments
yes no             upload