====== Установка Strapi на виртуальный хостинг ====== В данной статье мы будем работать с хостингом через терминал.\\ Предполагается, что вы уже умеете [[ssh|подключаться к терминалу]]. Перед установкой Strapi нам потребуется установить зависимости. * NodeJS (v14 или выше) -- [[nodejs|инструкция по установке NodeJS]] * yarn -- [[yarn|инструкция по установке yarn]] ---- ==== Подготовка к установке ==== Создадим директорию для 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 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 ==== Установим менеджер процессов 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_start.png?nolink&600|}} Strapi готов к дальнейшей эксплуатации. > [[start|Вернуться к главной странице Wiki]]