Создание виртуальных хостов с mod_mysql vhost в Lighttpd на Ubuntu

Создание виртуальных хостов с mod_mysql vhost в Lighttpd на Ubuntu

Это руководство поможет Вам использовать mod_mysql_vhost для создания простых виртуальных хостов на Lighttpd веб-сервере в Ubuntu. С mod_mysql_vhost, Lighttpd можно прочитать конфигурацию виртуальных хостов из базы данных MySQL. В настоящее время, вы можете хранить домен и документы пользователя рут в базе данных MySQL, что приводит к очень простому использованию. Если вам нужно больше директив для ваших виртуальных доменов, вам придется настроить их в глобальной секции lighttpd.conf. Поэтому mod_mysql_vhost идеально подходит, если ваши виртуальные домены различаются только в корневом домене и в документами.

Я не даю никаких гарантий, что это будет работать у вас!

Приступим к созданию виртуальных хостов с mod_mysql vhost в Lighttpd на Ubuntu, для начала «зарутимся»:

# sudo su

После этого установим MySQL 5 выполнив команду:

# apt-get install mysql-server mysql-client

Вам будет предложено ввести пароль для суперпользователя (для пользователя root) MySQL — это пароль едины для root@localhost а также root@server1.for_test.com, поэтому мы должны указать пароль администратора MySQL вручную позже :
Новый пароль для MySQL «root» пользователя: <- your_root_sql_passwd
Повторите пароль для MySQL «root» пользователя: <- your_root_sql_passwd

Установка Lighttpd И mod_mysql_vhost

Вы можете установить Lighttpd (если он еще не установлен) и mod_mysql_vhost следующим образом:

# apt-get install lighttpd lighttpd-mod-mysql-vhost

Чтобы включить mod_mysql_vhost, мы открываем /etc/lighttpd/lighttpd.conf и добавляем / включаем «mod_mysql_vhost», в server.modules строфы:

# nano /etc/lighttpd/lighttpd.conf
server.modules = ( "mod_access", "mod_alias", "mod_compress", "mod_redirect", "mod_mysql_vhost", # "mod_rewrite", )
[...]

После чего, мы перезапустить Lighttpd:

# /etc/init.d/lighttpd restart

Настройка mod_mysql_vhost

Теперь мы войдем в MySQL :

# mysql -u root -p

… И создадим Lighttpd базы данных :

CREATE DATABASE lighttpd;

Далее мы создаем пользователя базы данных ( которые я назвал Lighttpd ) с некоторыми привилегиями для базы данных Lighttpd :

GRANT SELECT ON lighttpd.* TO lighttpd@localhost IDENTIFIED BY 'secret';
GRANT SELECT ON lighttpd.* TO lighttpd@localhost.localdomain
IDENTIFIED BY 'secret';
FLUSH PRIVILEGES;

( Замените secret любым паролем)

Затем создаем таблицу domains в базе данных Lighttpd и выйдем с MySQL:

USE lighttpd;
CREATE TABLE domains (
domain varchar(64) not null primary key,
docroot varchar(128) not null
);
quit;

Сейчас мы открываем  /etc/lighttpd/lighttpd.conf и добавьте следующий mod_mysql_vhost в конфигурацию в конце файла :

# nano /etc/lighttpd/lighttpd.conf
[...] mysql-vhost.db = “lighttpd”
mysql-vhost.user = “lighttpd”
mysql-vhost.pass = “secret”
mysql-vhost.sql = “SELECT docroot FROM domains WHERE domain=’?';”
mysql-vhost.hostname = “localhost”
mysql-vhost.port = 3306

( Замените secret паролем который вы ранее установили для пользователя Lighttpd MySQL. )

Перезагрузка Lighttpd :

# /etc/init.d/lighttpd restart

Теперь пришло время настроить виртуальные хосты =)

Настройка виртуальных хостов

Сейчас я настроить два виртуальных хостов , один для www.for_test.com (с корневой директорией /var/www/www.for_test.com/web) и еще один для www.for_test.org ( /var/www/www.for_test.org/web).

Создадим директории для наших сайтов:

# mkdir -p /var/www/www.for_test.com/web
# mkdir -p /var/www/www.for_test.org/web

Войдем в MySQL и добавим кое что еще:

# mysql -u root -p

USE lighttpd;
INSERT INTO domains VALUES (‘www.for_test.com’,'/var/www/www.for_test.com/web/’);
INSERT INTO domains VALUES (‘www.for_test.org’,'/var/www/www.for_test.org/web/’);
quit;

Вот и все, все виртуальные домены теперь настроены и работают, и не нужно перезапускать Lighttpd. Чтобы проверить, работают ли виртуальные домены мы создаем файл index.html в каждой директории документа, со строкой»www.for_test.com» , а в другом файле добавим строку «www.for_test.org»:

# echo “www.for_test.com” > /var/www/www.for_test.com/web/index.html
# echo “www.for_test.org” > /var/www/www.for_test.org/web/index.html

Введите в браузере имя вашего домена и у вас отобразится строка. Создание виртуальных хостов с mod_mysql vhost в Lighttpd на Ubuntu подошло к завершению. Если есть вопросы, пишите мне.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.