Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
For 2023 (and 2024 ...) - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Virtual Hosting with Apache http server - an overall scheme, and avoiding common pitfalls

During many of our courses, I write code snippet examples and add them to our website so that the delegates can refer back to them later - and they also form an ongoing resource for others who happen to be looking for examples. But on our Linux Web Server (LAMP) courses, there's far less original code to be written, so fewer opportunities for me to talk about (and document) things which will be important to newcomers to the subject. Yesterday, though ... brought a couple of exceptional new examples:

a) Setting up Virtual Hosting for a whole lot of different domains

There are some "Gotcha"s if you're new to Virtual Hosting ...

i) You need to consider (and code for) the default case of what happens to requests for domains which do not have their own VirtualHost blocks - that includes any requests to the server by IP address number, and any requests which are made using the older HTTP/1.0 standard without any host name specified at all. Solution shown in the example - an empty VirtualHost block which ensures that any such requests use purely the defaults from the main configuration file

ii) You should remember that you're likely to want to serve requests with AND without a leading www. ... Solution shown in example - uses a ServerName and a ServerAlias directive as well

iii) The document root needs to be moved to its own area ... you'll be serving different content on different sites. You need to ensure that the permissions are going to work for every site too. Solution shown in example - add a Directory block in (each) VirtualHost

iv) When you come to look back at how busy your web sites have been, you'll want to know which visitors have come to which site, and in an easier way than trying to filter them from a single log file. Solution shown in example - add a CustomLog to each VirtualHost; while we were at it, we added a separate ErrorLog too, and specified that the logging was to be "combined" rather than "common" so we can look back at our visitors and know where they arrived from, and which browser they're using (or if they're robotic).

Sample - [here].

Virtual Hosting may often be set up through tools such as Webmin, Plesk or cPanel. You should be aware that if you alter the files directly, your changes may get overwritten later by the tool, or even cause the tool to malfunction.

b) Testing the MySQL and PHP are installed, running and talking to each other

An example PHP program - in which we read data from a database through the PHP program, and display it onto the screen, was written ... see [source] and [run it]. This tests the mysql rather than the mysqli drivers, and of course you'll need to change the database password and login to your own and populate the database first (the commands for this are in the course file!)
(written 2011-01-14)

Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
H114 - Sourcing, installing and configuring PHP
  [192] Current MySQL and PHP paths and upgrades - (2005-01-28)
  [316] Development Environments - (2005-05-19)
  [481] PHP upgrade - traps to watch - (2005-10-31)
  [934] Clustering, load balancing, mod_rewrite and mod_proxy - (2006-11-21)
  [1667] Checking server performance for PHP generated pages - (2008-06-06)
  [1688] cannot restore segment prot after reloc message - PHP / httpd - (2008-06-26)
  [1731] Apache httpd, MySQL, PHP - installation procedure - (2008-08-01)
  [1768] What is built in to this httpd and PHP? - (2008-08-23)
  [1936] Quick Summary - PHP installation - (2008-12-12)
  [2317] How to make a Risotto (PHP build style) - (2009-08-02)
  [2433] Controlling, supressing, enabling PHP error messages - (2009-10-02)
  [2589] Your PHP code does not work? Here is where to start looking. - (2010-01-18)
  [2646] Compile but do not run PHP - syntax check only - (2010-02-22)
  [3635] Parse error: parse error, unexpected T_STRING on brand new web site - why? - (2012-03-03)
  [3955] Building up from a small PHP setup to an enterprise one - (2012-12-16)
  [4319] PHP - some quick fixes if scripts have issues, and how to use our support - (2014-11-19)
  [4437] Adding a PHP build option, rotating an image based on camera data, and a new look at thumbnails in PHP - (2015-02-22)

A604 - Web Application Deployment - Apache httpd - virtual hosts
  [690] Adding Virtual Hosts - (2006-04-19)
  [1687] Virtual Hosting on Apache httpd - a primer example - (2008-06-25)
  [1896] Virtual Hosts and Virtual Servers - (2008-11-20)
  [3568] Telling which ServerAlias your visitor used - useful during merging domains - (2012-01-04)
  [4404] Which (virtual) host was visited? Tuning Apache log files, and Python analysis - (2015-01-23)

Back to
Lua, Tcl, Python; Worldwide training classes
Previous and next
Horse's mouth home
Forward to
An image from a website that occasionally comes out as hyroglyphics
Some other Articles
A framework with python - Django - first steps
A time to be brave? We should ask for what is best for our area.
Melksham Weather - Warm and windy becoming colder and calmer
An image from a website that occasionally comes out as hyroglyphics
Virtual Hosting with Apache http server - an overall scheme, and avoiding common pitfalls
Lua, Tcl, Python; Worldwide training classes
New Computers for delegates to use
Extra courses - C and C++
How does your browser find out about itself?
Burger me!
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., 2024: 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/3132_Vir ... falls.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb