Как настроить Gallery2 Multisite на сервере ISPConfig
Кратко: этот пошаговый материал показывает, как создать multisite для Gallery2 на сервере с ISPConfig, используя общую кодовую базу. Вы настроите сайт в ISPConfig, создадите базу данных и каталог для хранения, выполните установку через веб-инсталлятор и примените базовые меры безопасности. В конце — чеклисты, отладка и рекомендации по эксплуатации.

Версия 1.0
Автор:
Введение
Gallery2 — это веб-приложение для управления фотографиями на своём сайте. Multisite позволяет запускать множество отдельных «галерей» на единой кодовой базе, экономя место на диске и упрощая обновления.
В этом руководстве описан практический сценарий настройки Gallery2 Multisite на сервере с ISPConfig. Примеры настроек и имена приведены как образцы; замените их на свои значения.
Определение
Multisite — облегчённая установка Gallery2, которая использует единую кодовую базу. Для мультисайта требуется минимальный набор файлов: main.php, index.php, embed.php, upgrade/index.php, lib/support/index.php, config.php и, при необходимости, .htaccess. Каждому мультисайту соответствует собственный каталог и хранилище данных, но код приложения общий.
Коротко: одна кодовая база → много независимых сайтов.
Преимущества
- Экономия дискового пространства. Одна кодовая база вместо множества папок по 50–100 МБ.
- Обновление кода выполняется один раз для всех мультсайтов; каждая установка выполняет только процедуру обновления данных при первом заходе.
- Изолированность данных. Пользователи, альбомы и фотографии не распределяются между мультисайтами — каждая установка остаётся независимой с точки зрения данных.
Важно: мультсайты разделяют только код, а не пользовательские данные.
Когда этот подход не подходит
- Если вы хотите, чтобы пользователи или альбомы были общими между сайтами.
- Если требуется изолированная среда на уровне файловой системы или PHP-расширений для каждого сайта.
- Если у вас нет возможности централизованно управлять правами доступа к общей кодовой базе.
Требования и предположения
- Предполагается установленная кодовая база Gallery2 (см. отдельное руководство «Howto setup the Gallery2 codebase on an ISPConfig server»).
- Сервер под Debian (примеры команд для Debian).
- Рабочий ISPConfig с правами администратора.
- Установлены Apache/Nginx с PHP и поддержкой MySQL/MariaDB.
- У вас есть доступ к root или sudo для выполнения команд на сервере.
Пример конфигурации, использующей в руководстве:
- Версия Gallery2: 2.1.2
- Кодовая база: http://gallery.hostingcompany.tld/
- Мультисайт: http://www.mywebsite.tld/gallery/
- Сайт в ISPConfig: web100
- База данных: web100_db1
- Пользователь MySQL: web100_u1
- Пароль MySQL: mysqlpassword
Шаг 1. Создать сайт в ISPConfig
- Войдите в ISPConfig.
- Через «Новый сайт» создайте сайт: в поле хоста укажите «gallery», в домене — hostingcompany.tld.
- Включите MySQL и поддержку PHP, отключите PHP Safe Mode (если доступно).
Совет: используйте понятные имена сайтов и базы, чтобы не путаться при резервном копировании.
Шаг 2. Создать администратора сайта в ISPConfig
- В разделе «ISP Manager» выберите созданный сайт (пример: www.mywebsite.tld).
- Перейдите на вкладку «User and Email».
- Нажмите «new» и создайте пользователя FTP/администратора с правами администратора для сайта.
Этот пользователь понадобится для доступа к файловой структуре сайта через FTP/FTPS.
Шаг 3. Создать базу данных MySQL для мультисайта
- Во вкладке «Options» сайта добавьте новую базу данных.
- ISPConfig покажет автоматически сгенерированные значения — в примере: web100_db1, web100_u1 и пароль.
- Сохраните пароль для использования в инсталляторе Gallery2.
Примечание: не продолжайте установку, если кодовая база Gallery2 не настроена заранее.
Шаг 4. Подготовить каталог мультисайта и права доступа
Выполните на сервере под root следующие команды, чтобы создать каталог мультисайта и присвоить права веб-серверу:
cd /var/www/web100/web
mkdir gallerychown -R www-data:www-data galleryЗамените www-data на пользователя веб-сервера вашей дистрибуции, если он отличается.
Шаг 5. Запуск инсталлятора Gallery2 для мультисайта
- Откройте в браузере адрес инсталлятора кодовой базы, например: http://gallery.myhostingcompany.tld/install
- Пройдите шаги 1–3 инсталлятора, как обычно.
- На шаге 4 выберите «Multisite installation» вместо «Standard Installation».
- Укажите путь к каталогу мультисайта: /var/www/web100/web/gallery/ и нажмите «Select directory».
Если каталог выбран корректно, инсталлятор подтвердит это и предложит перейти дальше.
Перед сохранением на шаге 4 создайте директорию для хранения данных и задайте права:
В каталоге /var/www/web100/web/gallery/ выполните:
mkdir g2datachown -R www-data:www-data g2dataПосле этого вернитесь в браузер и нажмите «Save» для завершения шага 4. Если папка хранения настроена корректно, инсталлятор подтвердит это.
Шаг 6. Настройка базы данных в инсталляторе
На шаге 5 инсталлятор запросит данные базы. Введите:
- MySQL database name: web100_db1
- MySQL username: web100_u1
- MySQL user password: пароль пользователя базы
Нажмите «Save». После успешной проверки данных нажмите «Continue to step 6». Затем задайте администратора Gallery2 (шаг 6) и переходите дальше.
Если конфигурационный файл уже создан на этапе кодовой базы, шаги 7–8 обычно можно пропустить, нажав «Continue».
Шаг 7. Активация модулей и финальная проверка
На следующем экране выберите модули, которые хотите активировать, и нажмите «Activate Selected Modules». Инсталлятор выполнит проверку безопасности.
На сервере выполните базовые chmod для повышения безопасности:
chmod 755 /var/www/web100/webchmod 644 /var/www/web1/web/config.phpЗатем в браузере нажмите «Check Again». Если всё в порядке, продолжайте и завершите установку.
После завершения вы сможете открыть: http://mywebsite.tld/gallery/ и войти под аккаунтом администратора Gallery2, чтобы загрузить фотографии.
Чеклист быстрых проверок
- Кодовая база Gallery2 установлена и доступна по URL.
- Сайт создан в ISPConfig, включены PHP и MySQL.
- FTP/администратор для сайта создан.
- Каталог мультисайта создан и принадлежит пользователю веб-сервера.
- Папка g2data создана и доступна для записи.
- База данных и пользователь созданы, пароль сохранён.
- Прошли все шаги инсталлятора и активировали нужные модули.
Критерии приёмки
- Сайт открывается по адресу /gallery/ и отображает интерфейс Gallery2.
- В админке можно загрузить изображение и создать альбом.
- Галерея не накладывает изменение на другие мультисайты — данные изолированы.
- Права на файлы и директории корректны (нет возможности записи для общего кода).
Отладка и типичные ошибки
- Ошибка записи в g2data — проверьте права и владельца каталога: chown и chmod.
- Проблемы с подключением к базе — проверьте, что ISPConfig создал пользователя и что пароль верный.
- 500 Internal Server Error — смотрите логи веб-сервера (/var/log/apache2/error.log или /var/log/nginx/error.log).
- Модуль не активируется — проверьте права на файлы конфигурации и наличие PHP-расширений (gd, mysql, mbstring и т. п.).
Полезная команда для проверки прав:
ls -la /var/www/web100/web/gallery/Риски и способы снижения
- Неправильные права на кодовую базу могут позволить случайную модификацию. Решение: кодовую базу ставьте в отдельный каталог с правами root:www-data и chmod 755, а права записи давать только временно при обновлении.
- Массовое обновление без теста может сломать все мультисайты. Решение: тестируйте обновление на копии кодовой базы и выполняйте его в окно с минимальной нагрузкой.
- Резервное копирование: регулярно делайте бэкапы папок g2data и дампы баз данных мультисайтов.
Альтернативные подходы
- Полные независимые установки для каждого сайта — безопаснее в плане изоляции, но дороже по месту и поддержке.
- Контейнеризация (Docker) — подобрать образ Gallery2 и запускать по одному контейнеру на сайт. Подходит для автоматизации и изоляции.
- Виртуальные хосты с шаблонами — автоматизировать создание новых сайтов скриптами, если вы часто клонируете конфигурации.
Рекомендации по безопасности
- Ограничьте доступ на запись к файлам кодовой базы.
- Регулярно обновляйте кодовую базу и PHP-пакеты.
- Настройте резервное копирование g2data и баз данных.
- Рассмотрите использование HTTPS и включение HSTS.
- Отключите вывод ошибок в продакшне (display_errors = Off).
Советы по миграции и совместимости
- Перед миграцией проверьте совместимость модулей Gallery2 с версией кодовой базы.
- При переносе мультисайта с одного сервера на другой скопируйте папку мультисайта, g2data и выполните дамп/импорт базы данных.
- В случае смены имени хоста пересмотрите настройки URL в конфигурации Gallery2.
Роли и обязанности команды
- Системный администратор: установка кодовой базы, права файлов, бэкапы, обновления сервера.
- Веб-мастер сайта: создание сайта в ISPConfig, управление FTP-пользователями, загрузка контента.
- Администратор Gallery2: управление модулями, пользователями внутри галереи, модерация контента.
Шаблон плана обновления кодовой базы
- Создать резервные копии кодовой базы и всех g2data.
- Развернуть обновлённую кодовую базу в тестовую папку.
- Перейти через инсталлятор на тестовом мультисайте, проверить работоспособность.
- На продакшене переключить кодовую базу: заменить файлы, сохранить права.
- Для каждого мультисайта зайти разом и пройти процедуру обновления данных.
- Мониторинг логов и исправление возможных проблем.
Быстрая памятка команд
- Создать каталог и назначить владельца:
mkdir /var/www/web100/web/gallery
chown -R www-data:www-data /var/www/web100/web/gallery- Создать хранилище данных:
mkdir /var/www/web100/web/gallery/g2data
chown -R www-data:www-data /var/www/web100/web/gallery/g2data- Применить базовые права:
chmod 755 /var/www/web100/web
chmod 644 /var/www/web1/web/config.php- Проверить содержимое каталога:
ls -la /var/www/web100/web/gallery/Краткий глоссарий
- Кодовая база — общие файлы приложения Gallery2, используемые всеми мультисайтами.
- Multisite — отдельная установка Gallery2, использующая общую кодовую базу и собственное хранилище данных.
- g2data — папка, где Gallery2 хранит пользовательские файлы и миниатюры.
Примеры тест-кейсов для приёмки
- Открыть адрес мультсайта и убедиться в отображении стартовой страницы.
- Создать администратора и залогиниться.
- Загрузить фото (различных форматов) и проверить создание миниатюр.
- Убедиться, что данные не видны на других мультисайтах с той же кодовой базой.
Краткое резюме
Настройка Gallery2 Multisite в ISPConfig позволяет эффективно запускать множество независимых галерей на одной кодовой базе. Важные шаги: подготовить каталог сайта, дать права веб-серверу, создать базу данных и правильно пройти веб-инсталлятор с выбором «Multisite installation». Обязательно настройте права, бэкапы и план обновлений.
Важно
Перед массовым развёртыванием протестируйте процесс обновления на копии кодовой базы и убедитесь в наличии резервных копий данных каждого мультисайта.
Дополнительные ресурсы
Официальный сайт Gallery2: http://gallery.menalto.com/
Похожие материалы
Как ускорить iOS 9 и продлить время работы батареи
Appsmith с Docker — развёртывание и руководство
Albert — быстрый лаунчер для Ubuntu
Архивирование твитов в Google Таблицы
CupCloud — синхронизация открытых файлов между ПК