Содержание

Установка Strapi на виртуальный хостинг

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

Перед установкой Strapi нам потребуется установить зависимости.


Подготовка к установке

Создадим директорию для nodejs-приложений:

mkdir -p ~/nodejs-apps

Затем создадим базу данных и пользователя MySQL через ISPManager, как это описано в нашей инструкции.
Сохраните реквизиты доступа к базе данных, информация понадобится при установке.


Установка Strapi

Производить установку Strapi мы будем через npx (входит в состав приложений NodeJS).
Укажем директорию проекта «nodejs-apps/strapi».
После запуска команды будет предложен выбор типа инсталляции, нам нужно выбрать «Custom (manual settings)«.
Выбор типа инсталляции в интерактивном режиме осуществляется стрелочками на клавиатуре.

Приступим:

$ npx create-strapi-app@latest nodejs-apps/strapi
 
? Choose your installation type Custom (manual settings)
? Choose your preferred language JavaScript
? Choose your default database client mysql
? Database name: id12345_db
? Host: 127.0.0.1
? Port: 3306
? Username: id12345_user
? Password: ********
? Enable SSL connection: No

После установки мы должны увидеть следующее сообщение:

Creating a project with custom database options.
Creating a new Strapi application at $HOME/nodejs-apps/strapi.
Creating files.
Dependencies installed successfully.
 
Your application was created at $HOME/nodejs-apps/strapi.

Установка завершена.


Настройка Strapi

Перейдем в каталог с проектом и запустим сборку Admin UI (интерфейса администратора):

$ cd ~/nodejs-apps/strapi
$ yarn build
 
yarn run v1.22.19
warning ../../package.json: No license field
$ strapi build
Building your admin UI with development configuration...
 
✔ Webpack
  Compiled successfully in 21.29s
 
Admin UI built successfully
Done in 29.47s.

Отредактируем файл .env, изменив порт на один из рекомендуемого диапазона «8000-10000»:

$ nano .env
 
PORT=8102

Запустим приложение:

$ yarn start
 
yarn run v1.22.19
warning ../../package.json: No license field
$ strapi start
 
 Project information                                                          
 
┌────────────────────┬──────────────────────────────────────────────────┐
│ Time               │ Wed Sep 14 2022 02:06:10 GMT+0300 (Москва, стан… │
│ Launched in886 ms                                           │
│ Environment        │ development                                      │
│ Process PID        │ 160754                                           │
│ Version            │ 4.3.8 (node v16.17.0)                            │
│ Edition            │ Community                                        │
└────────────────────┴──────────────────────────────────────────────────┘
 
 Actions available                                                            
 
One more thing...
Create your first administrator 💻 by going to the administration panel at:
 
┌─────────────────────────────┐
│ http://localhost:8102/admin │
└─────────────────────────────┘

Отлично. Сервер запущен. Остановим его комбинацией клавиш CTRL+C.


Настройка автозапуска с помощью pm2

Установим менеджер процессов pm2, запустим сервер через менеджер и сохраним результат:

cd ~
npm install pm2 -g
pm2 --name "Strapi" start npm -- run start
pm2 save

Добавим в планировщик CRON следующую задачу для автозапуска (точка в начале обязательна):

. $HOME/.profile; pm2 resurrect

Проксирование соединения

Теперь пробросим соединение с нашего домена до выбранного нами порта 8102.

Создадим файл с именем .htaccess в директории нашего WWW домена со следующим содержанием:

DirectoryIndex disabled
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ http://localhost:8102%{REQUEST_URI} [L,P]

В браузере зайдем по адресу сайта и создадим нового администратора:

Strapi готов к дальнейшей эксплуатации.