В данной статье мы будем работать с хостингом через терминал.
Предполагается, что вы уже умеете подключаться к терминалу.
Перед установкой Strapi нам потребуется установить зависимости.
Создадим директорию для nodejs-приложений:
mkdir -p ~/nodejs-apps
Затем создадим базу данных и пользователя MySQL через ISPManager, как это описано в нашей инструкции.
Сохраните реквизиты доступа к базе данных, информация понадобится при установке.
Производить установку 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.
Установка завершена.
Перейдем в каталог с проектом и запустим сборку 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 in │ 886 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, запустим сервер через менеджер и сохраним результат:
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 готов к дальнейшей эксплуатации.