Развертывание МС Файлы

Развертывание МС «Файлы»

Требования к ПО.

1. Ubuntu 20

2. Nginx:latest

3. PHP-FPM 7.4

4. MariaDB:latest

5. Git

Предварительные действия

Создать пользователя, от которого будет осуществляться установка.

Обновить репозитории ОС: sudo apt update && apt upgrade

Создать каталог для размещения МС, в данном примере: /opt/demo.lennuf.market/demo.lennuf.market-pim-ms/www, создать каталог для хранения контента, в данном примере: /var/www/storage

Установка и настройка 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/demo.lennuf.market-stage.iwengo.ru – используется бесплатный сертификат от Letsencrypt.

Устанавливаем Nginx из репозиториев apt командой: sudo apt install nginx. Создаем конфигурационный файл со следующим содержимым в /etc/nginx/sites-available:

server {

server_name file-ms.demo.lennuf.market.ru;

root "/opt/demo.lennuf.market/demo.lennuf.market-file-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/demo.lennuf.market-stage.iwengo.ru/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/demo.lennuf.market-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 = file-ms.demo.lennuf.market.ru) {

return 301 https://$host$request_uri;

}

listen 80;

server_name file-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 'demo.lennuf.market_mas @'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'demo.lennuf.market_mas'@'localhost';

FLUSH PRIVILEGES;

где password – пароль для пользователя, под которым будет работать система.

Импортируем БД для МС «Файлы» из консоли mysql: source demo.lennuf.market_file_preprod.sql

Развертывание МС

Устанавливаем Git: sudo apt install git. Переходим в каталог /opt/demo.lennuf.market/demo.lennuf.market-file-ms/www и выполняем git clone git@gitlab.com:iwengo/developers/demo.lennuf.market-file-ms.git . (точка в конце команды обязательна).

Устанавливаем composer 1.10.19 согласно официальной документации https://getcomposer.org/download/ и выполняем в текущей директории: composer update

Помещаем файл настроек окружения Laravel .env в текущую директорию. В самом файле необходимо установить правильные ссылки на остальные МС в зависимости от их адресов, а также пароль для пользователя БД, который был создан ранее и путь к папке, в которой будет размещаться контент.

Помещаем контент в папку, созданную ранее, и создаем на нее символическую ссылку: ln -s /var/storage /opt/demo.lennuf.market/demo.lennuf.market-file-ms/www/storage

Разрешаем запись пользователю www-data в каталог /opt/demo.lennuf.market/demo.lennuf.market-file-ms/www/storage и все вложенные файлы и каталоги.

Создаем ссылку командой: php artisan storage:link

На этом установка завершена и можно проверить доступность МС по адресу https:// file-ms.demo.lennuf.marketru, если ошибок нет, установка произведена правильно.

Last updated