====== Introduction ======
This module has born since Apache 2.2 was lacking of some mass webhosting module that can be used on [[http://kazar.net|Association Kazar]].
After a quick look on some modules that was present when first needs about such module, finaly I decided to create my own module.
===== Design consideration =====
- Needed to be rock stable
- Needed to allow on the fly reconfiguration of some part of PHP configuration
- Avoid to create httpd.conf file on every new host
===== Differences between other kind of vhosting modules =====
* Idea is to be industrial. Lots of configuration is done one for all webhosting
* Swiss Army concept : lots of options, and lots of good stuff
* High integration with PHP, needed with all modern hosting needs.
====== Features ======
- LDAP, PostgresSQL, MySQL, pam, flat file support, (pam and flat files only on mod_vhs 1.0) ...
- Lamers mode
- Defaults PHP configuration
- Full PHP configuration
- [[mod_vhs:mod_alias|mod_alias]] compatibility functions
- [[mod_vhs:suphp|suphp]] support
- [[mod_vhs:memcache|memcache]] support to cache data into local cache (TODO for 1.1.x version)
Some new features for next generation of mod_vhs :
- Apache 2.2.xx only support
- 100% Thread safe (but this is not garantee with PHP !!!)
- libhome is not needed anymore, backend used is now mod_ldap and mod_dbd
- caching support for mod_ldap (maybe for mod_dbd)
- mpm-itk support to allow different uid/gid from DB.
===== LDAP, PostgresSQL, MySQL, ... =====
mod_vhs 1.0.xx uses [[http://pll.sourceforge.net|libhome]] as database / source provider. This allow to not rewrite the wheel since apache 2.0 was lacking of some database stuff.
libhome allow us to get data from various sources. See [[mod_vhs:libhome|libhome]] section on this site.
For mod_vhs 1.1.x, you will need an apache 2.2+ with mod_ldap for LDAP support or mod_dbd for *SQL support.
===== Lamers mode =====
Idea of this mode that is unique (I think) on this module that you cannot see anywhere is that a mode that tries to find the domain of a website if it cannot find it :
$domain = "www.foo.com";
$home = fetch_data($domain);
if (!$home) {
$lamer_domain = strip_www_from($domain);
$home = fetch_data($domain);
}
if (!$home) {
return DECLINED;
}
// Continue
===== PHP Configuration =====
mod_vhs can **override** default php.ini configuration either as global configuration, eg on all vhost handled by mod_vhs or on the fly when a specific vhost and configuration needs to be applied.
See [[mod_vhs:php|Php Configuration]] for more informations.
====== Mailing list ======
* [[http://lists.oav.net/wws/info/mod_vhs|See some informations]]
* [[http://lists.oav.net/wws/subrequest/mod_vhs|Subscribe to mailing list]]
* [[http://lists.oav.net/wws/sigrequest/mod_vhs|Unsuscrube to mailing list]]
* [[http://lists.oav.net/wws/arc/mod_vhs|Have a look to archives]]
====== Developpment ======
* [[https://redmine.oav.net/repositories/entry/openvisp/mod_vhs/trunk/mod_vhs-apache/ChangeLog|View Changelog]]
* [[https://redmine.oav.net/repositories/browse/openvisp/mod_vhs/trunk/mod_vhs-apache|View CVS]]
To download using svn (read only access)
$ svn co https://svn.oav.net/openvisp/mod_vhs
====== Versionning & Download ======
I have been requested to write a little note about versioning. I use same method as Linux and lots of OpenSource projects :)
Version is 1.0.xx where xx is :
* **even number** : it is a stable / release version
* **odd number** : it is a development version (eg maybe unstable or even testing version)
Version 1.1 is the current CVS HEAD branch and current STABLE version !
Version 1.0 is "old" stable version and it can used for users that needs Apache 2.0 or 2.1 support (note the I will not update this branch anymore !).
Download place is [[ftp://ftp.oav.net/mod_vhs/]]
====== Feedback ======
Bugs, flames, money, junk food or postcard can be sent to Xavier Beaudouin . You can use my paypal account (same as my mail) to send me money... Patches are welcomed !