====== 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 !