Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
Configuring Apache httpd

There are two approaches to bundling software for user installation.

"The MicroSoft way" is to use an install wizard that drops each of the elements of the software into the best operational place on the user's system, and configures it there for running straight away.

"The OpenSource way" is to install software into a specific area of the disc so that it can easily be adjusted, configured and experimented with ... without effecting other software on the computer, and giving the installer an "easy out" if he / she wants to try out an alternative.

But neither approach is ideal - I have painted a positive picture above, but I could equally have been negative and pointed out that Microsoft-style software is hard to fully remove later, and that Opensource-style software needs extra work to place certain elements of the software into the best operational areas. There is no ideal.

Yesterday, I was installing Apache httpd (and PHP, and MySQL too!) as part of some LAMP deployment training, and I made a few notes of some of the "gotcha"s / changes from the default install.

1. The server was built with --enable-so as that's a necessary option for the installation of PHP, something that you only discover later on in the process if you don't read right through at the start. (The full line we used was ./configure --enable-so --enable-rewrite --enable-proxy --enable-proxy-http --enable-proxy-balancer with the extra options preinstalled for other topics also to be covered)

2. The User and Group were changed from "daemon" to "apache" which is a daemon account that already exists on Red Hat / Fedora. (This is Apache httpd 2.2.x; under 2.0.x, the defaults of nobody / -1 are much more dangerous that daemon, and the change is all the more critical!) User accounts set up to be in group apache, which is used to set the permissions that the web server has over resources placed on the web site.

3. The Web site itself was moved from the default location in /usr/local/apache2 to /home/websites/default (that latter choice because we we going on to add virtual hosting and have just a tiny default site)

4. Log files moved to /var/log/httpd, and regular timed jobs under crontab set up for log file rotation.

5. apachectl copied to /etc/init.d and symbolic links set up to that file from /etc/rc3.d and /etc/rc5.d (to make the web server start automatically on reboot)

Some other things to note ...

a) You need to install MySQL before you install PHP on your LAMP setup - so that PHP can make use of the MySQL libraries as you load it. And being an Apache module, the PHP install must be after the httpd install.

b) Make sure that you make references to executable files you have just installed with a "dot-slash" in front of their names to run them in the current directory - otherwise you can end up running a version that was provided with the Linux distribution which probably won't be configured / tuned in exactly the way you want. Here's an example showing how forgetting the ./ can lead to the wrong server starting ...

[root@easterton bin]# ./apachectl start
[root@easterton bin]# ps aux | grep httpd
root 4144 0.0 0.1 4236 1944 ? Ss 10:04 0:00 /usr/local/apache2/bin/httpd -k start
apache 4145 0.0 0.1 4236 1408 ? S 10:04 0:00 /usr/local/apache2/bin/httpd -k start
apache 4146 0.0 0.1 4236 1408 ? S 10:04 0:00 /usr/local/apache2/bin/httpd -k start
apache 4147 0.0 0.1 4236 1408 ? S 10:04 0:00 /usr/local/apache2/bin/httpd -k start
apache 4148 0.0 0.1 4236 1408 ? S 10:04 0:00 /usr/local/apache2/bin/httpd -k start
apache 4149 0.0 0.1 4236 1408 ? S 10:04 0:00 /usr/local/apache2/bin/httpd -k start
root 4151 0.0 0.0 3916 688 pts/1 S+ 10:04 0:00 grep httpd
[root@easterton bin]# ./apachectl stop
[root@easterton bin]# apachectl start
[root@easterton bin]# ps aux | grep httpd
root 4160 9.6 0.9 24588 9820 ? Ss 10:04 0:00 /usr/sbin/httpd -k start
apache 4161 0.0 0.4 24720 4716 ? S 10:04 0:00 /usr/sbin/httpd -k start
apache 4162 0.0 0.4 24720 4712 ? S 10:04 0:00 /usr/sbin/httpd -k start
apache 4163 0.0 0.4 24720 4712 ? S 10:04 0:00 /usr/sbin/httpd -k start
apache 4164 0.0 0.4 24720 4712 ? S 10:04 0:00 /usr/sbin/httpd -k start
apache 4165 0.0 0.4 24720 4712 ? S 10:04 0:00 /usr/sbin/httpd -k start
apache 4166 0.0 0.4 24720 4712 ? S 10:04 0:00 /usr/sbin/httpd -k start
apache 4167 0.0 0.4 24720 4712 ? S 10:04 0:00 /usr/sbin/httpd -k start
apache 4168 0.0 0.4 24720 4712 ? S 10:04 0:00 /usr/sbin/httpd -k start
root 4170 0.0 0.0 3920 688 pts/1 S+ 10:04 0:00 grep httpd
[root@easterton bin]# which apachectl
/usr/sbin/apachectl
aroot@easterton bin]#

(written 2008-07-12)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
A603 - Web Application Deployment - Further httpd Configuration
  [345] Spotting a denial of service attack - (2005-06-12)
  [466] Separating 'per instance' data from binaries and web sites - (2005-10-16)
  [526] Apache httpd - serving web documents from different directories - (2005-12-12)
  [550] 2006 - Making business a pleasure - (2006-01-01)
  [631] Apache httpd to Tomcat - jk v proxy - (2006-03-03)
  [649] Denial of Service ''attack'' - (2006-03-17)
  [662] An unhelpful error message from Apache httpd - (2006-03-30)
  [755] Using different URLs to navigate around a single script - (2006-06-11)
  [853] To list a directory under httpd on a web server, or not? - (2006-09-02)
  [934] Clustering, load balancing, mod_rewrite and mod_proxy - (2006-11-21)
  [1009] Passing GET parameters through Apache mod_rewrite - (2006-12-27)
  [1080] httpd.conf or .htaccess? - (2007-02-14)
  [1121] Sharing the load with Apache httpd and perhaps Tomcat - (2007-03-29)
  [1207] Simple but effective use of mod_rewrite (Apache httpd) - (2007-05-27)
  [1351] Compressing web pages sent out from server. Is it worth it? - (2007-09-14)
  [1355] .php or .html extension? Morally Static Pages - (2007-09-17)
  [1377] Load Balancing with Apache mod_jk (httpd/Tomcat) - (2007-10-02)
  [1381] Using a MySQL database to control mod_rewrite via PHP - (2007-10-06)
  [1551] Which modules are loaded in my Apache httpd - (2008-02-23)
  [1554] Online hotel reservations - Melksham, Wiltshire (near Bath) - (2008-02-24)
  [1564] Default file (MiMe types) for Apache httpd and Apache Tomcat - (2008-03-04)
  [1566] Strange behaviour of web directory requests without a trailing slash - (2008-03-06)
  [1619] User and Group settings for Apache httpd web server - (2008-04-22)
  [1636] What to do if the Home Page is missing - (2008-05-08)
  [1762] WEB-INF (Tomcat) and .htaccess (httpd) - (2008-08-20)
  [1767] mod_proxy and mod_proxy_ajp - httpd - (2008-08-22)
  [1778] Pointing all the web pages in a directory at a database - (2008-08-30)
  [1939] mod_proxy_ajp and mod_proxy_balancer examples - (2008-12-13)
  [1954] mod_rewrite for newcomers - (2008-12-20)
  [1955] How to avoid duplicating web page maintainance - (2008-12-20)
  [1974] Moving a directory on your web site - (2009-01-03)
  [2060] Database connection Pooling, SSL, and command line deployment - httpd and Tomcat - (2009-03-01)
  [2272] Monitoring and loading tools for testing Apache Tomcat - (2009-07-07)
  [2478] How did I do THAT? - (2009-10-26)
  [2900] Redirecting a page - silent, temporary or permanent? - (2010-08-03)
  [3133] An image from a website that occasionally comes out as hyroglyphics - (2011-01-14)
  [3449] Apache Internal Dummy Connection - what is it and what should I do with it? - (2011-09-19)
  [3635] Parse error: parse error, unexpected T_STRING on brand new web site - why? - (2012-03-03)
  [3862] Forwarding a whole domain, except for a few directories - Apache http server - (2012-09-17)
  [3955] Building up from a small PHP setup to an enterprise one - (2012-12-16)
  [4001] Helping search engines with appropriate 400 error codes - (2013-02-11)
  [4307] Identifying and clearing denial of service attacks on your Apache server - (2014-09-27)

A602 - Web Application Deployment - Apache httpd - Sourcing, Installation, Testing
  [523] Apache httpd release 2.2 - (2005-12-10)
  [660] Stopping and restarting Apache httpd cleanly - (2006-03-29)
  [907] Browser -> httpd -> Tomcat -> MySQL. Restarting. - (2006-10-28)
  [982] Notes from the white board - (2006-12-14)
  [1095] Apache httpd , browser, MySQL and MySQL client downloads - (2007-02-28)
  [1292] DHCP automatic IP address v Static IP - (2007-08-06)
  [1449] Upgrade Mac OSX to Leopard, Web Server Apache httpd config lost - (2007-11-29)
  [1455] Connecting to MySQL 5 from PHP on Mac OSX Leopard - (2007-12-03)
  [1731] Apache httpd, MySQL, PHP - installation procedure - (2008-08-01)
  [1768] What is built in to this httpd and PHP? - (2008-08-23)
  [1945] Summary - Apache httpd build on Linux - (2008-12-14)
  [2080] Using ApacheBench and jconsole to test and monitor Tomcat - (2009-03-14)
  [2096] Where is my new Apache httpd installed - (2009-03-22)
  [2184] Choosing the right version of Java and Tomcat - (2009-05-16)
  [2520] Global and Enable - two misused words! - (2009-11-30)
  [3426] Automed web site testing scripted in Ruby using watir-webdriver - (2011-09-09)
  [4437] Adding a PHP build option, rotating an image based on camera data, and a new look at thumbnails in PHP - (2015-02-22)


Back to
The Story of Well House Manor
Previous and next
or
Horse's mouth home
Forward to
A Train Service Update for Melksham Party in the Park
Some other Articles
Rapid growth leads to server move
At the Westbury Bypass Enquiry
There is more that one way - Perl
A Train Service Update for Melksham Party in the Park
Configuring Apache httpd
The Story of Well House Manor
Environment variables in Perl / use Env
Finding operating system settings in Perl
Perl ... adding to a list - end, middle, start
Running operating system commands in Perl
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2021: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/1707_Con ... httpd.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb