Настройка сайтов на 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, обновляются плагины, закачиваются файлы, работает поиск, формы и т.п.