(Books and Tutorials

1. Tutsplus - Understanding Apache and htaccess
2. Pluralsight - Installing and Configuring Apache Web Server
3. Apache 2.3 Documentation
4. Apache-Complete Guide(Dedoimedo)
Q: What is virtual host?
A1: Virtual hosting is a method for hosting multiple domain names on a single se
rver. This allows one server to share its resources, such as memory and processo
r cycles, without requiring all services provided to use the same host name.
A2: Often abbreviated vhost, a virtual host is a provider of Web services that i
nclude server functions and Internet connection services. A virtual host is ofte
n used by companies or individuals that do not want to purchase and maintain the
ir own Web servers and Internet connections.
A virtual host will provide its customers with domain name registration, file st
orage and directory services for the files that Web page is built from, e-mail s
ervices and even Web site design and creation services if the customers want som
eone else to build their Web sites.
A limitation of using a virtual host is that the customer shares the Web service
s with all the other customers of the virtual host. If the virtual host is runni
ng multiple sites off the same server, then those sites will be competing for We
b server resources.
* This is part of the basic Apache server configuration in WAMP.
ServerRoot "c:/wamp/bin/apache/apache2.2.11"
Listen 80
ServerName localhost:80
DocumentRoot "c:/wamp/www/"
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
<Directory "c:/wamp/www/">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from
ErrorLog "c:/wamp/logs/apache_error.log"
LogLevel warn
Site content will be placed in the c:/wamp/www/ directory, which will then be av
ailable at the '/' URL â that is, http://localhost/ will serve content from that dir
The ErrorLog directive specifies a location where the log entries will be writte
Q: What is an .htaccess file?
A: .htaccess files exist for these situations. .htaccess files permit configurat
ion changes on a per-directory basis. That is, a .htaccess file in a given direc
tory may override the configuration for that directory, and
subdirectories thereof.
Modules can be loaded or unloaded as desired using the LoadModule directive. Loa
dmodule indicates the name of the module, and the location of the file containin
g that module.
LoadModule rewrite_module modules/mod_rewrite.so
virtual hosts
Secure Sockets Layer(SSL)
alias and redirection
authentication - the directory will be protected by password
Access Control - allow or deny to specific URLs
URL Rewriting
prevent directory indexing
Useful Links:
(Reading Strategy)
From Refcardz cheat sheet know what the required topics are.
Read the relevant topics from 'Apache 2.3 Documentation.pdf', 'Apache-Complete G
uide(Dedoimedo).pdf' and make notes.
A PHP developer will mostly work with .htaccess files which handle authenticatio
n, access,(what more), etc. Tasks which need access to the server, such as, load
ing module, creating virtual host, etc. may be done by a network administrator o
r hosting provider. A PHP developer may not be asked to do them.
(Apache tutorials on Nettuts)
Apache is a complicated subject. I have not been able to find any tutorial that
explains clearly and briefly the working of Apache and the most essential topics
one should know. You have to read from several sources, preferably in this orde
r. You also have to avoid very complicated topics in the beginning. Apache is us
ually installed on Linux. You have to understand Linux to know how they work tog
ether. So, being used to Windows only, know what you can know and avoid what you
can not. The following nettuts articles can serve as summary of your learning f
rom books and video tutorials which unfortunately do not understand the problems
of an absolute beginner.