Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  hosting
  mod_gzip
  mod_log_sql
  mod_geoip
  mod_bandwidth
  mod_accounting
  mod_bunzip2
  mod_mp3
  mod_shapvh
  mod_limitipconn
  mod_sqlinclude
  mod_auth_imap
  webalizer
  Apache + SSL
  auth_ldap
  Настройка AWStats
  apache 2.0
  mod_auth_external
  CMS - TYPO3
  phpBB-2/3
  mod_ntlm
  mod_ntlm2
  Nginx+php+fcgi
  OTRS на Apache1
  OTRS на Apache20
  ApacheStats
  mod_evasive
  Lighttpd
  nginx+php-fpm+mysql
  php + mssql
  MySQL + кодировки
  svn+apache+trac
  php5-oci8
  Lighttpd + Apache
  CMS Drupal 6.9
  Apache22+MySQL
  Оптимизация хоста для CMS
  блокировка spam на www
  PostgreSQL 8
  Apache 22 + PHP5 + suPHP
  lighttpd + mod_uploadprogress
  VirtualBox + phpVirtualBox
  DNS API
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> WWW —> mod_sqlinclude

mod_sqlinclude - для хранения виртуалхостов в БД MySQL

Автор: lissyara.


   Модуль для апача - mod_sqlinclude, позволяющий избежать редактирования конфигурационного файла httpd.conf. Собственно на этом его плюсы и заканчиваются, - для того чтобы изменения вступили в действие апач надо перезапускать - потому у mod_shapvh перед ним преимущество (хотя, и он не без недостатков (кои являются расплатой за возможность менять что-то налету) - на каждый запрос к серверу идёт кверя к БД. Это не самая сложная нагрузка, но на большом сервере не поюзаешь.).
   Итак, топаем в порты, будем ставить:
/usr/home/lissyara/>cd /usr/ports/
/usr/ports/>make search name='mod_sqlinclude'
Port:   mod_sqlinclude-1.4
Path:   /usr/ports/www/mod_sqlinclude
Info:   An Apache module implementing config inclusion from MySQL databases
Maint:  anders@FreeBSD.org
B-deps: apache-1.3.34_4 expat-2.0.0_1 mysql-client-4.1.18_1 perl-5.8.8
R-deps: apache-1.3.34_4 expat-2.0.0_1 mysql-client-4.1.18_1 perl-5.8.8
WWW:    http://wfmh.org.pl/carlos/

/usr/ports/>cd /usr/ports/www/mod_sqlinclude
/usr/ports/www/mod_sqlinclude/>make && make install && make clean

После установки раскомментируем модуль в конфиге, и добавим такие строки:
/usr/local/etc/apache/httpd.conf
# Модуль инклюдинга конфигов виртуальных хостов в БД MySQL
<IfModule mod_sqlinclude.c>
    # Хост на котором живёт БД MySQL
    SQL_ServerName      localhost
    # Порт MySQL сервера
    SQL_ServerPort      3306
    # Имя пользователя для соединения с БД
    SQL_SQLUser         apache
    # Пароль для соединения с БД
    SQL_SQLPassword     apache
    # Имя базы данных
    SQL_SQLDB           apache_sql
    # Загружать ли виртуалхосты из БД при ошибках синтаксиса httpd.conf
    # (On - не загружать, Off - загружать)
    SQL_AbortOnError    On
    # Использовать ли имя (в противном случае сайты различаются по IP)
    SQL_UseNameColumn   On
    # Кверя к БД (вариант с именами)
    SQL_Include         "SELECT `data`,`name` FROM `include_hosts`"
    # Кверя к БД (вариант с IP-адресами)
    #SQL_Include                "SELECT `data` FROM `include_hosts` \
    #WHERE `ip`='192.168.254.254'"
</IfModule>

Затем создаём БД, пользователя, даём пользователю права на эту БД и делаем подобную табличку:
-- phpMyAdmin SQL Dump
-- 
-- Структура таблицы `include_hosts`
-- 

CREATE TABLE `include_hosts` (
  `unic_id` int(4) NOT NULL auto_increment,
  `data` text,
  `name` varchar(64) NOT NULL default 'lissyara.su',
  `ip` varchar(32) default '222.222.222.222',
  PRIMARY KEY  (`unic_id`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;

-- 
-- Дамп данных таблицы `include_hosts`
-- 

INSERT INTO `include_hosts` VALUES (1, '<VirtualHost *:80>
ServerName test1.lissyara.su
DocumentRoot /home/lissyara/test1.lissyara.su
</VirtualHost>',
'test1.lissyara.su', '192.168.254.254');
INSERT INTO `include_hosts` VALUES (2, '<VirtualHost *:80>
ServerName test2.lissyara.su
ServerAdmin  admin@lissyara.su
ServerAlias   test3.lissyara.su
DocumentRoot  /usr/home/lissyara/test2
</VirtualHost>', 'test2.lissyara.su', '192.168.254.254');

После чего перезапускаем апач.
Всё :)



размещено: 2006-03-13,
последнее обновление: 2006-03-14,
автор: lissyara

оценить статью:

Abigor, 2006-04-06 в 12:53:31

а такую конструкцию мона запихать в бызу?
<VirtualHost www.domain.com:80>
   ServerAdmin abigor@llaff.com
   ServerName www.domain.com
   ServerAlias www.domain.com
   <IfModule mod_proxy.c>
       ProxyRequests Off
       ProxyPass               /       http://10.1.1.44:666/domain.com/
       ProxyPassReverse        /       http://10.1.1.44:666/domain.com/
       ProxyVia on
   </IfModule>
   ErrorLog logs/www.domain.com-error_log
   CustomLog logs/www.domain.com-access_log common
</VirtualHost>

lissyara, 2006-04-06 в 14:13:03

со свистом... Туда пихается, фактически, кусок конфига...

Abigor, 2006-04-10 в 9:50:01

все, хорошо, но вот для httpd-2.2.0 этого модуля нету, а жаль, он при компилирокании просит файлик он 1 арача, но, во втором такого файлика нету =(

unknownDaemon, 2008-10-29 в 17:43:13

mysql-client-4.1.18_1 only?


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 8 чел.
За последние 30 мин было: 28 человек
За сегодня было
7690 показов,
893 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0949 секунд
Из них PHP: 70%; SQL: 30%; Число SQL-запросов: 77 шт.
Исходный размер: 98260; Сжатая: 17260