Wednesday, April 21, 2010

Allowing full access to apache subdirectory

Usually, people will set basic authentication for apache directory (normally /var/www/html in centos). The reason is to protect the directory from unauthorized access. But what if a subdirectory inside (let say /var/www/html/mydirectory) needs full access? This is where .htaccess file comes into picture. To allow access to /var/www/html/mydirectory while maintaining authentication for /var/www/html, just follow below steps:


1. Go to /var/www/html/mydirectory
# cd /var/www/html/mydirectory

2. Create .htaccess file
# touch .htaccess

3. Put below items into that .htaccess file
Allow from all
Satisfy Any

4. You can try access http://servername/mydirectory using your browser. If still cannot access without password, try restart your apache
# httpd -k graceful

That's all :)

Friday, April 2, 2010

Creating maintenance page for apache

Sometimes we have to put our sites into maintenance mode for any reason, below is the easy way to do it for apache server in centos server.

1. Create a directory named err/ in the root directory. Lets say the site is called foo.bar
# cd /var/www/html/foo.bar
# mkdir err

2. Create a file named 503.html in the err directory
# cd /var/www/html/foo.bar/err
# touch 503.html

3. Put maintenance message into 503.html (this is an example, you can put whatever message you want, and you can put any name for the file :))
# echo "<html><b>This site is currently under maintenance. Thank you</b></html>" > 503.html

4. Add below lines to your virtual host setting for foo.bar


ErrorDocument 503 /err/503.html
## uncomment below to enter maintenance mode
RedirectMatch 503 ^/(?!err/)


5. Restart apache server
# httpd -k graceful

6. Test the website :)