Развертывание МС Файлы
Развертывание МС «Файлы»
Требования к ПО.
1. Ubuntu 22
2. Nginx:latest
3. PHP-FPM 8.1
4. PostgreSQL 14
5. Git
Предварительные действия
Создать пользователя, от которого будет осуществляться установка.
Обновить репозитории ОС: sudo apt update && apt upgrade
Создать каталог для размещения МС, в данном примере: /opt/demo.lennuf.market/demo.lennuf.market-pim-ms/www, создать каталог для хранения контента, в данном примере: /var/www/storage
Установка и настройка php-fpm
sudo apt install php8.1-cli php8.1-fpm php8.1-bcmath php8.1-bz2 php8.1-curl php8.1-dba php8.1-gd php8.1-igbinary php8.1-imagick php8.1-imap php8.1-intl php8.1-mbstring php8.1-memcache php8.1-memcached php8.1-msgpack php8.1-mysqlnd php8.1-pspell php8.1-soap php8.1-xml php8.1-xsl php8.1-zip
Назначаем следующие параметры в php.ini для cli и fpm:
Установка и настройка 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/php8.1-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
CREATE USER 'demo.lennuf.market_mas @'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'demo.lennuf.market_mas'@'localhost';
FLUSH PRIVILEGES;
Импортируем БД для МС «Файлы» из консоли 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