Раньше я уже писал подобный скрипт для BVA1.6, но с тех пор многое изменилось, и потребовался новый скрипт. Что ж, я его написал Напомню, что делает скрипт:
Создаёт конфиги виртуальных серверов Apache'а и Nginx'а.
Создаёт БД и пользователя БД.
Создаёт папку для хоста и симлинк на неё в домашней директории пользователя bitrix.
[spoiler] Но чтоб он заработал, надо внести небольшие изменения в конфиги серверов Apache и Nginx.
Кстати В оригинальной поставке в 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.local.
За образцы конфигов серверов взяты исходные конфиги, которые были в BVA.
Папки виртуальных хостов лежат здесь: /var/vhosts/, но прользователь bitrix может ими пользоваться из своей домашней директории.
Название БД, имя пользователя БД, пароль БД, а так же названия виртуальных хостов и папок для них — это одно и то же слово, передаваемое скрипту первым параметром. Поэтому постарайтесь не использовать в нём спецсимволов.
Скрипт предназначен для development-серверов. Используйте его на свой страх и риск!
Скрипт создаёт виртуальные хосты апача и nginx, в них указывается домен и папка в которой этим серверам искать файлы сайтов. В моей реализации это все одно и то же слово. Например, вы указываете параметр "test", тогда и апач и nginx будут откликаться на это имя хоста, а файлы будут искать в папке /var/vhosts/test/www/. + в домашней директории пользователя bitrix будет симлинк на эту папку.
site1.ru создается как site1ru *без точки ( папки и в конфигах ). nginx и апача получается не поймают если будут обращаться к site1.ru и будут ждать site1ru *файл index.php есть
Скрипт вырезает из переданного параметра всё, кроме латинских букв, цифр и подчёркивания. Это необходимо, потому что параметр используется в нескольких местах: и как название папки, и как имя пользователя БД, и как название БД и т.д., а там есть ограничения на символы. Если хотите, чтобы хосты откликались на имя site1.ru, то найдите файлы /etc/nginx/sites-available/site1ru и /etc/httpd/conf.d/sites-available/site1ru и поменяйте в обоих значение server_name (ServerName) на site1.ru - всё будет работать.
Вот! думаю будет полезно не только мне. Спасибо! *в новой BVA3.0 разработчики создали поддержку добавления виртуальных хостов, посмотрим как они это реализовали.
>>> У конфига дефолтной виртуалки /etc/httpd/conf.d/default.conf надо удалить первую строчку Listen 8888. + Исправить вторую строчку <VirtualHost *:8888> на <VirtualHost *:80>
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».