Когда я пытался установить Ghost на сервер с панелью Plesk, столкнулся с проблемой. По умолчанию Plesk использует 10.6.16-MariaDB, а Ghost требует MySQL, а не MariaDB. Поэтому необходимо установить Ghost CMS через Docker.
Ниже приведены основные шаги.
Установите расширение "Docker" для Plesk: https://YOURSERVER:8443/modules/catalog/index.php/catalog/package/docker
Создайте домен через панель Plesk и настройте SSL через Let's Encrypt.
Установите расширение "Nginx" для Plesk (если ещё не установлено): https://YOURSERVER:8447/installer/add_components.html
Проверьте раздел "Web hosting" > "Nginx web server and reverse proxy server".
Запустите службу Nginx: https://YOURSERVER:8443/admin/services/list
MYSQL_ROOT_PASSWORD == SomeSecurePhrase
Подключитесь к консоли MySQL через SSH:
mysql -u root -p -P3006
Выполните следующие команды для создания пользователя и базы данных для Ghost CMS:
CREATE DATABASE exampledb;
CREATE USER 'exampledbu'@'%' IDENTIFIED BY 'ExampleSecretPhrase';
GRANT ALL ON exampledb.* TO 'exampledbu'@'%';
FLUSH PRIVILEGES;
EXIT (ctrl + D)
Название контейнера: выберите любое, связанное с вашим сайтом. Например, "ghost_examplecom_container".
Поставьте галочку "Automatic start after system reboot".
Снимите галочку "Automatic port mapping".
Ручное отображение портов: 2368 на внешний 32778.
Отображение папок:
ghost_examplecom_container
на название вашего контейнера).Внизу страницы нажмите "Add Variable".
Введите "url" в первом поле и ваш URL (например, "https://example.com" во втором поле (убедитесь, что этот домен зарегистрирован и добавлен в Plesk).
Убедитесь, что база данных уже создана.
Добавьте данные базы данных:
database__client - mysql
database__connection__host - 172.17.0.2 (ваш IP внутренней сети Docker)
database__connection__user - exampledbu
database__connection__password - "ExampleSecretPhrase"
database__connection__database - exampledb
database__connection__port - 3306
Нажмите "OK" и дождитесь завершения установки.
Но при проверке сети Docker было обнаружено:
172.17.0.2 - mysql8_container
с открытым портом 3306
172.17.0.1 - ghost_examplecom_container
Используем это!
Перейдите в "Websites & Domains" и найдите ваш сайт, нажмите на "Docker Proxy Rules".
Нажмите "Add Rule" URL: оставьте пустым Container: выберите ваш контейнер Port: должно быть указано 2368 -> 32778 Нажмите "OK"
Как получить доступ к файлам, если я хочу импортировать темы или другой контент?
Подключитесь через SSH к вашему серверу (FTP не подойдёт)
/var/ghost/ghost_examplecom_container/content/
Что, если я хочу запустить второй или третий блог на Ghost в Plesk? Повторите шаги выше, изменив:
Что, если я хочу разместить блог на example.com/blog? Укажите это в URL на странице настройки. А при добавлении правила на странице "Docker Proxy Rules", укажите "blog" в поле "URL".
Как перенести сайт на поддомен или с поддомена на основной домен? Перейдите в "Docker Proxy Rules" и удалите старое правило. Перейдите в "Docker" слева, нажмите "Settings" рядом с контейнером и измените URL. Скорее всего, это перезапустит контейнер. Повторно добавьте "Docker Proxy Rules" для нового домена.