{{tag>Инвентаризация установка}} ====== Инвентаризация: Установка ====== Для [[Обновление|обновления]] есть отдельная инструкция. Для установки с [[Установка Docker|docker]] есть отдельная инструкция. ==== PHP + модули ==== apt install php php-mbstring php-ldap php-dom php-xml php-xmlrpc php-mysqlnd php-gd php-intl php-gmp php-imagick php-zip php-http ==== Доп. ПО ==== Для работы с изображениями установка пакетов должна была подтянуть ImageMagic В файле **/etc/ImageMagick-6​/policy.xml** перед строкой вставьте строку: это даст возможность обрабатывать PDF файлы ==== Создание БД и настройка прав доступа к ней ==== **NOTES:** - Создание БД для этой находится за рамками этого руководства. БД должна быть создана и доступ к ней должен быть предоставлен по логину-паролю. Приведенные здесь инструкции просто пример - Кодировку настойчиво рекомендуется использовать именно `utf8mb4`, т.к. на ней выбор остановился после устранения проблем с другими! - [innodb] innodb_strict_mode = OFF; innodb_large_prefix = true //Пример создания БД достаточной для работы// CREATE DATABASE arms character set utf8mb4 collate utf8mb4_unicode_ci;; GRANT ALL PRIVILEGES ON arms.* TO 'arms-user'@'localhost' IDENTIFIED BY 'secret-password'; ==== Файловая структура ==== Клонируем в веб корень содержимое гит репозитория. git clone https://github.com/spo0okie/arms_inventory.git . chmod 777 ./yii Это установит все уникальные для этого проекта файлы, но не не используемые им сторонние модули, которые поддерживаются другими разработчиками. ==== Установка зависимостей ==== Проект в своей структуре содержит все ссылки на необходимые модули других производителей. Они устанавливаются через [[http://getcomposer.org/|composer]] (уже должен присутствовать в системе, инструкции по установке есть на [[http://getcomposer.org/doc/00-intro.md#installation-nix|getcomposer.org]]: composer update ==== Доступ к папкам ==== Нужно создать папку для превью картинок * web/scans/thumbs Приложение необходимо обеспечить доступ к файловой системе, поэтому процесс вебсервера должен иметь доступ к папкам * web/assets * web/scans * web/scans/thumbs TL;DR: mkdir -p web/scans/thumbs chmod 777 web/scans/thumbs chmod 777 web/scans chmod 777 web/assets ==== Локальные конфиг файлы ==== Создаем пустые конфиг файлы для персональных настроек инсталляции **config/params-local.php** **config/web-local.php** **config/db-local.php** должен содержать реальные учетные данные БД для инвентаризации ([[Настройка|настроить БД]]) 'mysql:host=localhost;dbname=arms', 'username' => 'arms-user', 'password' => 'secret-password', ]; **config/ldap.php** должен содержать корректный конфиг, даже если LDAP авторизация не будет использоваться 'Edvlerblog\Adldap2\Adldap2Wrapper', 'providers'=> [ 'default'=>[ 'autoconnect'=>true, 'config'=>[ 'ad_port' => 636, //'ad_port' => 389, 'hosts' => ['dc1.domain.local','dc2.domain.local'], 'account_suffix' => '@domain.local', 'base_dn' => "DC=domain,DC=local", //под кем подключиться к АД (подойдет любой пользователь. права админа не нужны) 'username' => 'inventory@domain.local', 'password' => 'SuperSecretPassword1!', 'use_ssl' => true, 'use_tls' => true, 'custom_options' => [ // See: http://php.net/ldap_set_option //LDAP_OPT_X_TLS_REQUIRE_CERT => LDAP_OPT_X_TLS_NEVER ], ], ], ], ]; ==== Создание таблиц ==== Поскольку проект создан на базе фреймворка yii2, то для управления структурой БД используется встроенный в него инструмент миграций. В любой момент времени при чистой установке или после обновления необходимо выполнить yii migrate --migrationPath=@yii/rbac/migrations/ yii migrate В докер контейнере это делается автоматически при старте контейнера ==== Роли ==== Подготавливаем стандартные роли для RBAC доступа yii rbac/init ==== Импорт данных ==== Из демо БД, чтобы вручную не заводить кучу оборудования, ПО, производителей и т.п. === Модели оборудования === (а также категории оборудования и производители) ./yii sync/tech-models https://inventory.reviakin.net/web/api guest guest1 === Списки ПО === (а также само ПО и производители) ./yii sync/soft-lists https://inventory.reviakin.net/web/api guest guest1 === Типы лицензий === ./yii sync/lic-groups https://inventory.reviakin.net/web/api guest guest1