Последние записи
Разработав сайт и подготовив всю инфрастурктуру с удивлением обнаружил, что не могу найти подходящего гайда (для новичков) по установке strapi на centOS. Попробую поделиться своим опытом.
Установка Node..js
Переходим в корневую папку Вашего проекта. Все команды будем выполнять именно из нее.
//Переходим в папку проекта
cd /Полный_путь_к_Вашему_проекту/
В первую очередь нам нужно получить репозиторий node.js
Последняя (на январь 2020) версия:
yum install -y gcc-c++ make
curl -sL https://rpm.nodesource.com/setup_13.x | sudo -E bash -
Стабильная версия
yum install -y gcc-c++ make
curl -sL https://rpm.nodesource.com/setup_12.x | sudo -E bash -
После добавления репозитория в систему устанавливаем node
sudo yum install -y nodejs
Чтобы проверить версию node воспользуемся командой:
node -v
Для проверки версии npm:
npm -v
При установке у меня возникла ошибка. Последняя версия node не устанавливалась. Постоянно грузился дистрибутив 6.4.1. Проблема была в кеше и решилась она достаточно просто:
//Программная очистка кеша
yum clean all
//Физическое удаление папки с кешем
rm -rf /var/cache/yum
Установка strapi
Согласно документации на сайте разработчика в качестве установщика они рекомендуют yarn
. Воспользуемся их советом
//Включение репозитория yarn
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
//Импортирование ключа из GPG хранилища
sudo rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg
Установка yarn
sudo yum install yarn
Для проверки установки можем узнать версию yarn:
yarn --version
Устанавливаем strapi в систему. Для чего переходим в корень проекта и набираем:
//Устанавливаем strapi
npm install strapi@alpha -g
В документации разработчиков четко указано, что на "боевых" сайтах использование alpha версии не рекумендуется. Либо воспользуйтесь стабильной версией, либо устанавливайте на свой старх и риск.
Установим sqlite3
npm install sqlite3 --save
Создаем strapi проект
yarn create strapi-app НАЗВАНИЕ_ВАШЕГО_ПРОЕКТА --dev
или
strapi new cms --quickstart
Установите зависимости админ панели. Запустите npm install
из папки с админ. панелью ./admin
Запустите сервер разработки. Выполните npm start
из папки с админ. панелью ./admin
Настройка strapi для публикации на реальном сервере
Если все прошло успешно, то в консоли проекта вас попросят ввести логин и пароль администратора. по адресу http://localhost:1337/admin
Нам это не подходит, ведь мы же на боевом сайте, а значит нам придется подправить конфигурационные файлы strapi. Идем на официальную страницу документации и знакомимся с гайдом. После чего идем в папку production
:
cd /config/environments/production
Открываем файл server.json
, который, по умолчанию, выглядит так:
{
"host": "localhost",
"port": 1337,
"autoReload": {
"enabled": true
},
"cron": {
"enabled": false
},
"admin": {
"path": "/dashboard"
}
}
Нас интересуют переменные host, port, admin/path
. Видоизменяем их на свой вкус. У меня получилось так:
{
"host": "${process.env.APP_HOST || '127.0.0.1' || 'tichiy.ru'}",
"port": "${process.env.PORT || 1111}",
"production": true,
"proxy": {
"enabled": false
},
"cron": {
"enabled": false
},
"admin": {
"autoOpen": false,
"path": "/dashboard"
}
}
Поскольку порт используется нестандартный, то его первым делом нужно открыть. Идем в файл /etc/sysconfig/selinux
и выключаем настройку selinux
, чтобы получилось так:
SELINUX=disabled
SELINUXTYPE=targeted
Затем нужно добавить новое правило в iptables
iptables -A INPUT -m state --state NEW -p tcp --dport 1111 -j ACCEPT
Или, если не получилось сделать это через консоль, то идем в /etc/sysconfig/iptables
и добавляем новую запись вручную
-A INPUT -m state --state NEW -p tcp --dport 1111 -j ACCEPT
Перезапускаем iptables
systemctl restart iptables
systemctl restart ip6tables
Почти все готово. Осталось зайти в админку и установить нового пользователя. Переходим по адресу http://Ваш_домен:1111/Админ_панель
и регистрируем нового администратора
Комментарии