Приветствую вас, уважаемые читатели.

В последнее время все чаще поступают вопросы: а как восстановить битрикс с многосайтовой структурой из бэкапа. В связи с этим в своей статье я подробно опишу данный процесс.

Инструменты для работы:

  • ОС windows
  • 1)putty
    2)WinsCP
  • Unix - стандартный терминал

  1. Начнем мы с того, что с помощью скрипта bitrix_server_test.php выясним готов ли сервер для установки битрикса.
    Необходимые настройки сервера вы можете узнать здесь. В лучшем случае, все пункты представленного списка должны быть “зелеными”.


  2. Следующим этапом мы развернем архив бэкапа на нашем сервере, восстановим базу данных и настроим на нем структуру папок.

    Найдем на нашем настроенном сервере корневую папку сайта (Обычно для битрикса это /home/bitrix/www/) и загрузим архив в эту директорию. Далее развернем архив в этой директории. Для этого в терминале нужно прописать команду : tar xvfz archive.tar.gz (вместо archive.tar.gz нужно написать название вашего архива).

    Важно разделить структуры сайтов и ядра битрикс. Фактически в директории отдельного сайта не будет храниться ядро, а только лишь ссылка на единые папки /bitrix/и /upload/. Для этого в корне сайта создаем папку /share/, в которой разместим папки /bitrix/ и /upload/. Это и будет единым центром создаваемой структуры.

    Оставшиеся директории нужно распределить по папкам сайтов.

    Все дальнейшие примеры показаны на основе 3-х сайтов: site1, site2, site3.

    1. Папки /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/

      Результат:

    2. И так для каждого сайта. Дальше, нужно разобраться с базой данных (в архиве должен присутствовать файл file_name.sql).

      Обычно, используется субд Mysql поэтому заходим в mysql, создаем пользователя, создаем базу данных, даем все права нашему новому пользователю на базу данных.

      mysql -u root -p
      create database database_name;
      GRANT ALL PRIVILEGES ON database_name.* TO 'my_user'@'localhost'
    3. Далее находим файл /bitrix/php_interface/dbconn.php и вносим в него параметры базы данных (пользователь, пароль, база данных).

    4. Выгружаем из файла данные в mysql:

      mysql -u my_user -p database_name < file.sql
    5. Далее работаем с конфигурациями виртуальных серверов 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.

  3. Переходим к настройкам битрикса:

    Заходим в настройки сайтов (администрирование -> настройки -> сайты -> список сайтов ). Выбираем сайт, например, site1.

    Откроется страница с параметрами и на стройками сайта:

Поля, обязательные к заполнению битрикс выделяет звездочками.

Так же для корректного запуска сайта заполняем:

  • доменное имя
  • папка сайта (пишем корень “/” потому что битрикс читает этот путь отностительно пути “Путь к корневой папке...”)
  • Не забываем про URL сервера
  • Путь к корневой папке, путь к папке сайта на сервере.

Остальные сайты в битриксе настраиваются аналогично.

На этом восстановление многосайтового битрикса завершено.

Спасибо за внимание!