Создание виртуальных хостов в виртуальной машине Битрикс 2.0
Раньше я уже писал подобный скрипт для BVA1.6, но с тех пор многое изменилось, и потребовался новый скрипт. Что ж, я его написал :) Но чтоб он заработал, надо внести небольшие изменения в конфиги серверов Apache и Nginx.
Напомню, что делает скрипт:
- Создаёт конфиги виртуальных серверов Apache'а и Nginx'а.
- Создаёт БД и пользователя БД.
- Создаёт папку для хоста и симлинк на неё в домашней директории пользователя bitrix.
Кстати
В оригинальной поставке в BVA2.0 нет ни man'a, ни Midnight Commander'а. Не знаю как вам, а мне без них неуютно, поэтому я сначала устанавливаю их:
yum install man
yum install mc
Apache
Как и раньше, настройки каждого виртуального хоста будем хранить в отдельном файле, а Apache'у будем подсовывать симлинк на него.
В папке /etc/httpd/conf.d/
создаём 2 директории: sites-available
и sites-enabled
.
Теперь в /etc/httpd/conf/
открываем конфиг Apache'а httpd.conf
и добавляем в конец 3 строчки:
NameVirtualHost *:8888
Listen 127.0.0.1:8888
Include ./conf.d/sites-enabled/
У конфига дефолтной виртуалки /etc/httpd/conf.d/default.conf
надо удалить первую строчку Listen 8888
.
Nginx
С Nginx'ом делаем почти то же самое. Создаём директории: /etc/nginx/sites-available/
и /etc/nginx/sites-enabled/
.
Дописываем подгрузку конфигов в файл /etc/nginx/nginx.conf
:
include ./sites-enabled/*;
Эту строчку нужно вставить перед последней закрывающей «}
», чтоб она попала внутрь директивы http { ... }
.
Всё, теперь можно скачать скрипт и пользоваться им во имя добра и справедливости. Только имейте в виду, что:
- Скрипту надо дать права на исполнение и запускать его из-под
root
'а. - Вызывать скрипт надо так:
./crSite20.sh virualka1
. - За образцы конфигов серверов взяты исходные конфиги, которые были в BVA.
- Папки виртуальных хостов лежат здесь:
/var/vhosts/
. - Название БД, имя пользователя БД, пароль БД, а так же названия виртуальных хостов и папок для них — это одно и то же слово, передаваемое скрипту первым параметром. Поэтому постарайтесь не использовать в нём спецсимволов, никаких проверок на валидность нет.
- Скрипт не предназначен для production-серверов. Используйте его на свой страх и риск!
Скачать скрипт для BVA1.6 и почитать более подробный рассказ о скрипте можно в моей предыдущей статье.
А как открыть доступ извне к базе данных написано в этой статье.
например есть основной домен site.ru днс этот домен перенаправляет на нужный ip на 80 порт
хотим сделать поддомен sub.site.ru в днс перенаправляем на тот же ip а вот в настройках битриксовой машины сделать перенаправление на другой локальный ip например 192.168.1.77 порт 80 там будет стоять не битрикс.
Заранее спасибо за ответ
Если для вас принципиально, чтобы сайт остался на другом сервере, то тогда надо самостоятельно настроить проксирование в nginx. Заходите в папку /etc/nginx/bx/site_avaliable, создаёте там файл bx_ext_sub.site.ru.conf с таким содержанием:
server {
listen 80;
server_name sub.site.ru;
location / {
proxy_pass http://192.168.1.77:80/;
}
}
Делаете симлинку на этот файл в папке /etc/nginx/bx/site_ext_enabled. Перезагружаете nginx командой service nginx restart.
Как это сделать. Можете написать более подробные команды.
в локальной сети при переходе на данный адрес в адресной строке пишет http://192.168.1.77
а при переходе из за пределов сети например через интернет по адресу ничего не открывается.
При этом пинг есть по имени
сделал так
server {
listen 80;
server_name sub.site.ru;
location / {
proxy_pass http://192.168.1.77:80/;
proxy_redirect off;
proxy_set_header Host sub.site.ru;
}
}
Стало работать и по внешке и локалке так как планировалось.
Единственное как отказатся от абсолютного указания хоста
что можно написать вместо sub.site.ru т.е. домен может менятся ег, com и т.д. как сделать правильный линк