{{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