Для обновления есть отдельная инструкция.
Для установки с docker есть отдельная инструкция.
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 перед строкой
</policymap>
вставьте строку:
<policy domain="coder" rights="read | write" pattern="PDF" />
это даст возможность обрабатывать PDF файлы
NOTES:
[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
Нужно создать папку для превью картинок
Приложение необходимо обеспечить доступ к файловой системе, поэтому процесс вебсервера должен иметь доступ к папкам
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 авторизация не будет использоваться
<?php 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