User Tools

Site Tools


mod_vhs:intro

Introduction

This module has born since Apache 2.2 was lacking of some mass webhosting module that can be used on 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

  1. Needed to be rock stable
  2. Needed to allow on the fly reconfiguration of some part of PHP configuration
  3. 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

  1. LDAP, PostgresSQL, MySQL, pam, flat file support, (pam and flat files only on mod_vhs 1.0) …
  2. Lamers mode
  3. Defaults PHP configuration
  4. Full PHP configuration
  5. mod_alias compatibility functions
  6. suphp support
  7. memcache support to cache data into local cache (TODO for 1.1.x version)

Some new features for next generation of mod_vhs :

  1. Apache 2.2.xx only support
  2. 100% Thread safe (but this is not garantee with PHP !!!)
  3. libhome is not needed anymore, backend used is now mod_ldap and mod_dbd
  4. caching support for mod_ldap (maybe for mod_dbd)
  5. mpm-itk support to allow different uid/gid from DB.

LDAP, PostgresSQL, MySQL, ...

mod_vhs 1.0.xx uses 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 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 Php Configuration for more informations.

Mailing list

Developpment

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 kiwi@oav.net. You can use my paypal account (same as my mail) to send me money… Patches are welcomed !

mod_vhs/intro.txt · Last modified: 2010/08/01 12:19 by kiwi