- Платформа PARTS SOFT /
- Возможности /
- Информация, необходмая для установки
Информация, необходмая для установки
Для использования программного обеспечения без установки ПО на собственный сервер пользователь должен иметь постоянный доступ к сети Интернет.
Оборудование пользователя должно соответствовать рекомендуемым требованиям для функционирования браузера, через который пользователь использует программное обеспечение. Для использования программного обеспечения производитель рекомендует пользователю использовать следующие браузеры:
- Google Chrome 87.0 и выше;
- Mozilla Firefox 84.0 и выше;
- Safari 14.0;
- Opera 72.0 и выше.
Программное обеспечение может распространяться в виде Интернет-сервиса.
В этом случае Программное обеспечение предоставляется пользователю в виде готового к работе Интернет-сервиса, пользователь не производит самостоятельную установку и настройку программного обеспечения, а посредством использования браузера и сети Интернет проходит процедуру регистрации в уже настроенном и готовом к работе программном обеспечении, развернутом на оборудовании производителя. После завершения процедуры регистрации пользователь получает возможность использовать программное обеспечение в соответствии с его функциональным назначением.
Программное обеспечение может сопровождаться установкой на собственный сервер, для установки системы PARTS SOFT требуется сервер с следующими минимальными характеристиками:
3 ядра CPU
4 GB оперативной памяти (RAM)
30 GB SSD, NVME диска
Операционная система Ubuntu 22.04
На сервере не должно стоять стороннее программное обеспечение. Только чистая операционная система.
Для развертывания сайта используется Ansible (лицензия GNU General Public License v3 (GPL-3.0)) - это программное решение для удаленного управления конфигурациями. Оно позволяет настраивать удаленные машины. Минимальная версия Ansible 2.9.21, можно использовать и более новые версии.
Перед началом развертывания, необходимо настроить Ansible, и указать необходимые данные, такие как, домен на котором будет запущен сайт, IP адрес сервера где будет развернута система и прочие данные которые будут описаны ниже.
Первым делом необходимо подключиться по SSH к удаленному серверу, и прописать SSH ключи для пользователя root. Это необходимо, что бы Ansible мог без ввода паролей успешно подключаться к серверу.
Затем переходим к настройке самого Ansible.
Необходимо из под папки проекта, в директории deploy/hosts/ в файле client, указать IP адрес сервера, на котором будет запущен сайт. Если файла client нет, необходимо его создать. Пример данного файла
Где 77.88.8.8 это IP адрес сервера
Далее, из папки проекта, в директории deploy/vars/ находим файл default.host.data.example.yml , и переименовываем его в default.host.data.yml
Данный файл имеет следующую структуру
Подробнее о значениях:
subdomain - Используется для создания поддоменов, значение которое указано в subdomain, создаст в конфигурации веб-сервера поддомен, который будет частью домена более высокого уровня. Для примера, конфигурация subdomain: partssoft в систему домен partssoft-www.ps-ex.ru для клиентской части и partssoft-admin.ps-ex.ru , для доступов в админ панель сайта.
domain - Данное значение подключает любой клиентский домен, по которому будет работать сайт
syn_domains - Используется для синонимов домена. Основной домен у сайта может быть один, через syn_domains мы можем подключить два, три, и более доменов, которые будут перенаправлять на основной домен который был указан в domain.
restore_user - Данное значение используется как системное лого, которое отвечает за создание резервных копий, либо для восстановления сайта из резервной копии. Обычно restore_user такой же как subdomain.
www_https: 'no' - Данная конфигурация используется для установки SSL (HTTPS) сертификатов на основной домен. При развертывании всегда должно стоять в положении 'no' . Так как сертификат выдается после полного запуска сайта.
external: 'no' - Используется для установки ограничений на стороне сервера. А именно, в положении 'no' , устанавливается запрет на доступ по SSH с использованием логина и пароля, запрет на подключение по SSH с любых IP, кроме разрешенных (на сервер загружается список IP адресов которым разрешен доступ), а так же устанавливается запрет на доступ к базе данных на сервере из вне.
Для автоматизации и упрощения развертывания мы применяем Anistrano в связке с Ansible. Перед тем как начать развертывание, необходимо настроить файл default.anistrano.yml , который находиться в директории deploy/vars/
Файл необходимо привести к такому виду:
ansistrano_shared_paths: ["shared"]
ansistrano_deploy_to: "/home/parts-soft/www/parts-soft"
ansistrano_keep_releases: 3
ansistrano_version_dir: "releases"
ansistrano_current_dir: "current"
ansistrano_current_via: "symlink"
ansistrano_deploy_via: rsync
ansistrano_allow_anonymous_stats: false
ansistrano_deploy_from: "/home/user/code/base/"
Подробнее о важных значениях в этом файле.
ansistrano_deploy_via - Метод развертывания, может иметь два положения, rsync и copy. Метод rsync более быстрый.
ansistrano_deploy_from - Полный путь до директории с проектом.
После того как были добавлены SSH ключи на сервер, куда будет установлен сайт, был прописан IP адрес сервера в файле client, и настроены файлы default.host.data.yml и default.anistrano.yml , можно приступать к развертыванию системы.
Развертывание системы запускается командой ansible-playbook -i deploy/hosts/client deploy/server.install.yml из под папки проекта.
Пока выполняется развертывание сайта, можно подключить основной домен к IP адресу сервера, что бы сайт был доступен по основному домену.
По завершению развертывания, сайт будет доступен по поддомену, основному домену (если IP адрес был подключен к серверу), либо по IP адресу - откроется админ панель.