Автор: | ada@riksnet.se |
---|---|
Дата: | 2004-08-29 |
Версия: | 1.1 |
Суть
Этот модуль позволяет создавать виртуальный хостинг (vhosts) на основе MySQL таблицы, и (опционально) подготовить mod_fastcgi для под-chroot'а для развёртывания FastCGI.
виртуальный хостинг с помощью mysql
Пример:
mysql-vhost.db = "lighttpd" mysql-vhost.user = "lighttpd" mysql-vhost.pass = "secret" mysql-vhost.sock = "/var/mysql.lighttpd.sock" mysql-vhost.sql = "SELECT docroot,fcgioffset,fcgiarg FROM domains WHERE domain='?'"Настройка MySQL:
GRANT SELECT ON lighttpd.* TO lighttpd@localhost IDENTIFIED BY 'secret'; CREATE DATABASE lighttpd; USE lighttpd; CREATE TABLE domains ( domain char(64) not null primary key, docroot char(128) not null, fcgioffset tinyint unsigned not null, fcgiarg smallint unsigned not null ); INSERT INTO domains VALUES ('host.dom.ain','/http/host.dom.ain/',5,10001);Дополнительно:
fastcgi.server = ( ".php" => ( "php-fcgi" => ( "socket" => "../php/socket", "spawn" => "/php/php-spawn" )))Вышеописанный пример берёт docroot для виртуального хоста из таблицы lighttpd.domains, а также меняет docroot для FastCGI на 5 (=fcgioffset) символов ниже web docroot (в примере выше это означает что web docroot будет /http/host.dom.ain/, в FastCGI docroot,- /host.dom.ain/).
"socket" fastcgi.server указывается относительно docroot'а, и аргумент "spawn" указывает на команду которая будет использоваться для динамического запуска нового FastCGI процесса в случае если таковой не запущен (в противовес "bin-path" указывающего не запускать/перезапускать FastCGI процессы динамически).
Пример выше также добавляет аргумент "10001" (=fcgiarg) при вызове /php/php-spawn (=spawn). Если программа php-spawn имеет setuid бит, это может использоваться для chroot'а и смене gid/uid на определённого пользователя до запуска FastCGI программы.
ЗАМЕЧАНИЕ: как fcgioffset так и fcgiarg необязательны. Если не будут вами использоваться, просто уберите их в примере выше для обычного виртуального сервера. Так же вы можете использовать только fcgioffset без fcgiarg, если вам так надо.