Развертывание МС Каталог
Развертывание МС «Каталог»
Требования к ПО.
Ubuntu 20
Nginx:latest
PHP-FPM 7.4
MariaDB:latest
Elasticsearch:latest
Git
Предварительные действия
Создать пользователя, от которого будет осуществляться установка.
Обновить репозитории ОС: sudo apt update && apt upgrade
Создать каталог для размещения МС, в данном примере: /opt/iBT/ibt-pim-ms/www
Установка и настройка php-fpm
Устанавливаем php7.4-fpm согласно официальной документации. Устанавливаем необходимые зависимости:
sudo apt install php7.4-cli php7.4-fpm php7.4-bcmath php7.4-bz2 php7.4-curl php7.4-dba php7.4-gd php7.4-igbinary php7.4-imagick php7.4-imap php7.4-intl php7.4-mbstring php7.4-memcache php7.4-memcached php7.4-msgpack php7.4-mysqlnd php7.4-pspell php7.4-soap php7.4-xml php7.4-xsl php7.4-zip
Назначаем следующие параметры в php.ini для cli и fpm:
max_input_vars = 10000
memory_limit = 256M
display_errors = Off
post_max_size = 1024M
upload_max_filesize = 1024M
max_file_uploads = 100
date.timezone = Europe/Moscow
Установка и настройка Nginx
Перед установкой/настройкой Nginx необходимо разместить WildCard SSL-сертификат в любой удобной папке на ваше усмотрение. Здесь и далее исходим из того, что сертификат размещен в /etc/letsencrypt/live/ibt-stage.iwengo.ru – используется бесплатный сертификат от Letsencrypt.
Устанавливаем Nginx из репозиториев apt командой: sudo apt install nginx. Создаем конфигурационный файл со следующим содержимым в /etc/nginx/sites-available:
server
{
server_name pim-ms.
demo.lennuf.marketru;
root "/opt/iBT/ibt-pim-ms/www/public";
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include _cors.conf;
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
location ~ /.well-known {
allow all;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/ibt-stage.iwengo.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ibt-stage.iwengo.ru/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
client_max_body_size 1024M
;
}
server {
if ($host = pim-ms.
demo.lennuf.market.ru) {
return 301 https://$host$request_uri;
}
listen 80;
server_name pim-ms.
demo.lennuf.market.ru;
return 404;
}
Создаем символическую ссылку на файл конфигурации в /etc/nginx/sites-enabled. Тестируем конфигурацию и перезапускаем Nginx:
nginx -t
sudo service nginx restart
Установка и настройка MariaBD
Устанавливаем MariaDB из репозиториев: sudo apt install mariadb-server. Запускаем скрипт sudo mysql_secure_installation где задаем пароль для суперпользователя.
Запускаем консоль от суперпользователя и выполняем:
CREATE USER 'ibt_mas @'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'ibt_mas'@'localhost';
FLUSH PRIVILEGES;
где password – пароль для пользователя, под которым будет работать система.
Импортируем БД для МС «Каталог» из консоли mysql: source ibt_pim_preprod.sql
Установка и настройка Elasticsearch
Компоненты Elasticsearch отсутствуют в репозиториях пакетов Ubuntu по умолчанию. Однако их можно установить с помощью APT после добавления списка источников пакетов Elastic:
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add –
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt update
sudo apt install elasticsearch
Проверяем установку: curl -X GET 'http://localhost:9200'
Развертывание МС
Устанавливаем Git: sudo apt install git. Переходим в каталог /opt/iBT/ibt-pim-ms/www и выполняем git clone git@gitlab.com:iwengo/developers/ibt-pim-ms.git . (точка в конце команды обязательна).
Устанавливаем composer 1.10.19 согласно официальной документации https://getcomposer.org/download/ и выполняем в текущей директории: composer update
Помещаем файл настроек окружения Laravel .env в текущую директорию. В самом файле необходимо установить правильные ссылки на остальные МС в зависимости от их адресов, а также пароль для пользователя БД, который был создан ранее.
Разрешаем запись пользователю www-data в каталог /opt/iBT/ibt-pim-ms/www/storage и все вложенные файлы и каталоги.
Создаем индексы и запускаем индексацию каталога:
php artisan elastic:index product up
php artisan elastic:index category up
php artisan elastic:index public_event up
php artisan elastic:reindex product --force
php artisan elastic:reindex category --force
php artisan elastic:reindex public_event –force
Обратите внимание, что индексация каталога может занять длительное время.
На этом установка завершена и можно проверить доступность МС по адресу https:// pim-ms.demo.lennuf.market.ru, если ошибок нет, установка произведена правильно.
Last updated