When you install Apache httpd or Apache Tomcat, everything goes into a single directory tree. That's the most natural way for the servers to ship as it means that they can be installed, tested, and then removed again easily if you wish without any complex procedure being involved.
But for a live environment, chances are you'll want to split the data into a separate directory area (that way, you can upgrade the server but retain the web site later) and you might even want to place the read-only files such as the executable binaries on a shared resource, but leave the configuration files and log files in a separate (third) area. Here are some tips / summary schemes for setting these up
Apache httpd
1. Split out the log and conf directories to the new RW area
2. Change the DocumentRoot directive in the configuration file, and also the Directory permissions directive that relates to it.
3. Create the new document root directory
4. Change /etc/init.d to start up using the -d and -f options to apachectl in the start section
5. Ensure that ServerRoot is COMMENTED OUT httpd.conf
6. Restart the Apache httpd server
Note - you can then use an environment variable input to the /etc/init.d/httpd script to control where the various parts are located
Apache Tomcat
1. Stop the Tomcat Server
2. Move the webapps directory to the new data (website) area and change the server.xml to reflect the change - alter the value for the appBase property in the Host tag
3. Create a new directory for the Read/Write area and move the conf and log subdirectories there
4. Set the CATALINA_BASE environment variable to point to the read/write area
5. Restart Tomcat using ./bin/catalina.sh start
(written 2005-10-16, updated 2006-06-05)
Associated topics are indexed under
A603 - Web Application Deployment - Further httpd Configuration [4001] Helping search engines with appropriate 400 error codes - (2013-02-11)
[3955] Building up from a small PHP setup to an enterprise one - (2012-12-16)
[3862] Forwarding a whole domain, except for a few directories - Apache http server - (2012-09-17)
[3635] Parse error: parse error, unexpected T_STRING on brand new web site - why? - (2012-03-03)
[3449] Apache Internal Dummy Connection - what is it and what should I do with it? - (2011-09-19)
[3133] An image from a website that occasionally comes out as hyroglyphics - (2011-01-14)
[2900] Redirecting a page - silent, temporary or permanent? - (2010-08-03)
[2478] How did I do THAT? - (2009-10-26)
[2272] Monitoring and loading tools for testing Apache Tomcat - (2009-07-07)
[2060] Database connection Pooling, SSL, and command line deployment - httpd and Tomcat - (2009-03-01)
[1974] Moving a directory on your web site - (2009-01-03)
[1955] How to avoid duplicating web page maintainance - (2008-12-20)
[1954] mod_rewrite for newcomers - (2008-12-20)
[1939] mod_proxy_ajp and mod_proxy_balancer examples - (2008-12-13)
[1778] Pointing all the web pages in a directory at a database - (2008-08-30)
[1767] mod_proxy and mod_proxy_ajp - httpd - (2008-08-22)
[1762] WEB-INF (Tomcat) and .htaccess (httpd) - (2008-08-20)
[1707] Configuring Apache httpd - (2008-07-12)
[1636] What to do if the Home Page is missing - (2008-05-08)
[1619] User and Group settings for Apache httpd web server - (2008-04-22)
[1566] Strange behaviour of web directory requests without a trailing slash - (2008-03-06)
[1564] Default file (MiMe types) for Apache httpd and Apache Tomcat - (2008-03-04)
[1554] Online hotel reservations - Melksham, Wiltshire (near Bath) - (2008-02-24)
[1551] Which modules are loaded in my Apache httpd - (2008-02-23)
[1381] Using a MySQL database to control mod_rewrite via PHP - (2007-10-06)
[1377] Load Balancing with Apache mod_jk (httpd/Tomcat) - (2007-10-02)
[1355] .php or .html extension? Morally Static Pages - (2007-09-17)
[1351] Compressing web pages sent out from server. Is it worth it? - (2007-09-14)
[1207] Simple but effective use of mod_rewrite (Apache httpd) - (2007-05-27)
[1121] Sharing the load with Apache httpd and perhaps Tomcat - (2007-03-29)
[1080] httpd.conf or .htaccess? - (2007-02-14)
[1009] Passing GET parameters through Apache mod_rewrite - (2006-12-27)
[934] Clustering, load balancing, mod_rewrite and mod_proxy - (2006-11-21)
[853] To list a directory under httpd on a web server, or not? - (2006-09-02)
[755] Using different URLs to navigate around a single script - (2006-06-11)
[662] An unhelpful error message from Apache httpd - (2006-03-30)
[649] Denial of Service ''attack'' - (2006-03-17)
[631] Apache httpd to Tomcat - jk v proxy - (2006-03-03)
[550] 2006 - Making business a pleasure - (2006-01-01)
[526] Apache httpd - serving web documents from different directories - (2005-12-12)
[345] Spotting a denial of service attack - (2005-06-12)
A656 - Web Application Deployment - More Tomcat Configuration [3018] Tuning Apache httpd and Tomcat to work well together - (2010-10-27)
[1899] Virtual Hosting under Tomcat - an example - (2008-11-22)
[1718] Increasing Java Virtual Machine memory for Tomcat - (2008-07-24)
[1370] Apache Tomcat Performance Tuning - (2007-09-29)
[282] Short weekend - (2005-04-17)
5647
Some other Articles
I wanna be a Python trainerYesterday was Kiss and RideStand alone PHP programsTell them three timesSeparating 'per instance' data from binaries and web sitesChanging Tomcat's web.xml and reloading a web applicationTechnical LonelinessSplitting the differenceBig numberShortened interactive commands