Настройка сайтов на VDS хостинге с панелью ISPManager

Не раз приходилось переносить сайты с хостинга на хостинг с установленной панелью управления ISPManager, основные шаги при этом следующие:

1. Обновляем/ставим нужный софт. Для CentOS:
yum check-update -> yum update -> reboot
yum install git

2. Чтобы апач работал не из под www-root, а под нужным юзером в пункте меню «Возможности» (подраздел «Настройки»)
переключаем режим работы для «Веб-сервер (WWW)» на «Apache MPM-ITK»() и ставим галочки «Nginx», «Модуль PHP»

3. Там же, в «Возможности» включаем нужные версии php

4. Для старых сайтов с кодировкой cp1251 включаем возможность её выбора в панели. Для этого в файл /usr/local/mgr5/etc/charset добавляется строка cp1251

5. Выключаем проверку поддоменов — в файл
/usr/local/mgr5/etc/ispmgr.conf добавляем Option InsecureDomain — указывает панели, что при создании доменов не нужно проверять владельца домена более высокого уровня

6. Настраиваем mc:
Левая панель -> Формат списка -> Определенный пользователем:
half type name | owner group | space mode:3 space | size | mtime
сохраняем настройки

7. Только теперь создаем юзеров, домены, базы.

8. Копируем сайты под нужными юзерами и импортируем базы (можно увеличить размер файла импорта для phpMyAdmin через ISPManager в настройках PHP)

  • при импорте баз могут быть проблемы:
    Unknown collation: ‘utf8mb4_unicode_520_ci’ -> решение на stackoverflow
  • ERROR 2006 (HY000) at line 1491: MySQL server has gone away ->
    ошибку вызывали таблицы с кешем, так что импортнул отдельно данные, отдельно структуру, увеличение размера импортируемого файла через max_allowed_packet=64M в /etc/my.cnf не помогло

9. Установить и настроить ssl сертификаты/можно через модуль Let’s Encrypt в ISPManager (если он нормально не работает, то через certbot), валидные сертификаты поставить руками

10. Включаем в версиях PHP нужные модули (для тех сайтов, которым это требуется):

  • включить расширение zip, xmlreader, xmlwriter для работы phpExcel и импорта в файлы MS Office
  • включить расширение xmlwriter для печати бланков в PDF
  • для динозавров на php5.3 возможно потребуется включение
    директив register_globals и register_argc_argv
  • включить расширение imap для работы с почтой для CRM-ки

11. Разрешить удаленный доступ к базе с определенных ip (там где это надо)

12. Закрыть доступ к папке .git, если она в DOCUMENT_ROOT директории — в .htaccess:
Order allow,deny
Deny from all

13. Включаем создание резервных копий (бекапов)

14. Проверяем, что всё работает — не просто открывается сайт в нужной кодировке, но печатаются бланки, делаются выгрузки в Excel, Word, обновляются плагины, закачиваются файлы, работает поиск, формы и т.п.

Читайте также: