Приветствую вас, уважаемые читатели.
В последнее время все чаще поступают вопросы: а как восстановить битрикс с многосайтовой структурой из бэкапа. В связи с этим в своей статье я подробно опишу данный процесс.
Инструменты для работы:
- ОС windows 1)putty
- Unix - стандартный терминал
2)WinsCP
-
Начнем мы с того, что с помощью скрипта bitrix_server_test.php выясним готов ли сервер для установки битрикса.
Необходимые настройки сервера вы можете узнать здесь. В лучшем случае, все пункты представленного списка должны быть “зелеными”. -
Следующим этапом мы развернем архив бэкапа на нашем сервере, восстановим базу данных и настроим на нем структуру папок.
Найдем на нашем настроенном сервере корневую папку сайта (Обычно для битрикса это /home/bitrix/www/) и загрузим архив в эту директорию. Далее развернем архив в этой директории. Для этого в терминале нужно прописать команду : tar xvfz archive.tar.gz (вместо archive.tar.gz нужно написать название вашего архива).
Важно разделить структуры сайтов и ядра битрикс. Фактически в директории отдельного сайта не будет храниться ядро, а только лишь ссылка на единые папки /bitrix/и /upload/. Для этого в корне сайта создаем папку /share/, в которой разместим папки /bitrix/ и /upload/. Это и будет единым центром создаваемой структуры.
Оставшиеся директории нужно распределить по папкам сайтов.
Все дальнейшие примеры показаны на основе 3-х сайтов: site1, site2, site3.
-
Папки /bitrix/ и /upload/ копируем в одну папку(share). Остальные папки с сайтами должны лежать в отдельных папках в этом же каталоге.
В итоге должна получиться структура, схожая со структурой на изображении.
Настраиваем доступ к ядру из каждого сайта при помощи символьных ссылок.
Для это пишем команду:
ls -s /home/bitrix/www/share/bitrix/ /home/bitrix/www/site1/
ls -s /home/bitrix/www/share/upload/ /home/bitrix/www/site2/Результат:
-
И так для каждого сайта. Дальше, нужно разобраться с базой данных (в архиве должен присутствовать файл file_name.sql).
Обычно, используется субд Mysql поэтому заходим в mysql, создаем пользователя, создаем базу данных, даем все права нашему новому пользователю на базу данных.
mysql -u root -p
create database database_name;
GRANT ALL PRIVILEGES ON database_name.* TO 'my_user'@'localhost'
-
Далее находим файл /bitrix/php_interface/dbconn.php и вносим в него параметры базы данных (пользователь, пароль, база данных).
-
Выгружаем из файла данные в mysql:
mysql -u my_user -p database_name < file.sql
-
Далее работаем с конфигурациями виртуальных серверов nginx и apache(httpd).
Конфиги nginx находятся в двух папках:
/etc/nginx/bx/site_avaliable
/etc/nginx/bx/site_enabled
В папке site_avaliable хранится файл с конфигурацией сайта, а в папке site_enabled хранится ссылка на этот файл, но чтение nginx’ом конфига происходит из папки site_enabled.
Заполняем файл в соответствии с нашим сайтом.
В данном случае nginx перенаправляет все запросы от пользователя на Apache(httpd), который решает что открыть, как открыть, откуда открыть.
Перейдем к конфигурации apach’a:
/etc/httpd/bx/
Читаем что написано в конфигах, откуда апач читает конфиги. В данном случае, для удобства, все конфиги каждого сайта лежат в папке custom.
/etc/httpd/bx/custom
Там, где указан site1, вставляем путь к папке вашего сайта. Там, где указана папка share, пишем путь к папке, с ядром битрикса (папка bitrix) и папке upload.
-
-
Переходим к настройкам битрикса:
Заходим в настройки сайтов (администрирование -> настройки -> сайты -> список сайтов ). Выбираем сайт, например, site1.
Откроется страница с параметрами и на стройками сайта:
Поля, обязательные к заполнению битрикс выделяет звездочками.
Так же для корректного запуска сайта заполняем:
- доменное имя
- папка сайта (пишем корень “/” потому что битрикс читает этот путь отностительно пути “Путь к корневой папке...”)
- Не забываем про URL сервера
- Путь к корневой папке, путь к папке сайта на сервере.
Остальные сайты в битриксе настраиваются аналогично.
На этом восстановление многосайтового битрикса завершено.
Спасибо за внимание!