Это старая версия документа!
Инвентаризация: Установка
Для обновления есть отдельная инструкция.
Для установки с 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
Доп. ПО
Для работы с изображениями установка пакетов должна была подтянуть ImageMagic
В файле /etc/ImageMagick-6/policy.xml перед строкой
</policymap>
вставьте строку:
<policy domain="coder" rights="read | write" pattern="PDF" />
это даст возможность обрабатывать 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
Это установит все уникальные для этого проекта файлы, но не не используемые им сторонние модули, которые поддерживаются другими разработчиками.
Установка зависимостей
Проект в своей структуре содержит все ссылки на необходимые модули других производителей. Они устанавливаются через composer (уже должен присутствовать в системе, инструкции по установке есть на 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
<?php return[];
config/web-local.php
<?php return[];
config/db-local.php должен содержать реальные учетные данные БД для инвентаризации (настроить БД)
<?php return [ 'dsn' => 'mysql:host=localhost;dbname=arms', 'username' => 'arms-user', 'password' => 'secret-password', ];
config/ldap.php должен содержать корректный конфиг, даже если LDAP авторизация не будет использоваться
return [ 'class'=>'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