Snipe-IT Установка

Snipe-ITэто бесплатная кроссплатформенная многофункциональная система управления ИТ-активами с открытым исходным кодом, созданная с использованием PHP-фреймворка под названием Laravel. Это веб-программное обеспечение, которое позволяет ИТ-администраторам средних и крупных предприятий отслеживать физические активы, лицензии на программное обеспечение, аксессуары и расходные материалы в одном месте.

Тысячи клиентов используют это бесплатное веб-приложение, и его кодовая база часто обновляется, чтобы исправить ошибки и повысить надежность. Если вы управляете ИТ-отделом, вы можете использовать Snipe-IT для отслеживания сотрудников, назначенных на компьютерное оборудование, аксессуары и расходные материалы. Кроме того, вы можете проверить информацию о гарантии и лицензии для всех ваших ИТ-компонентов.

Платформа очень удобна для складских помещений, так как обладает возможностью выдачи оборудования пользователям. Присутствует интеграция с Slack, так же есть возможность создавать QR и Barcode, что позволяет помечать оборудование и искать информацию о нем гораздо быстрее.


Необходимо подготовить сервер, вам нужно:

  • Сервер Ubuntu 20.04 и выше.
  • Пользователь non-root sudo.
  • LAMP Stack. Это руководство должно хорошо работать либо на MySQL, либо на сервере баз данных MariaDB.

Установка зависимостей

Для начала обновите систему

sudo apt update && sudo apt -y upgrade

Включить Apache's mod_rewrite модуль. Snipe-IT требует, чтобы это расширение переписывало URL-адреса более чисто.

sudo a2enmod rewrite

Установите расширения PHP, необходимые как для приложения Snipe-IT, так и для PHP Composer инструмент.

sudo apt install -y php-{opcache,pdo,bcmath,bz2,calendar,ctype,exif,ffi,fileinfo,ftp,gd,iconv,intl,json,mbstring,mysqli,phar,posix,readline,shmop,sockets,sysvmsg,sysvsem,sysvshm,tokenizer,zip,curl,ldap}

Перезагрузите веб-сервер Apache, чтобы применить изменения.

sudo systemctl restart apache2

 Установка PHP Composer

Настройте PHP Composer, который является инструментом управления зависимостями PHP для установки и обновления библиотек в среде Snipe-IT.

Перейдите в свой домашний каталог.

cd ~

Скачать Composer установщик.

curl -sS https://getcomposer.org/installer | php

Перемещать composer.phar исполняемый для /usr/local/bin/.

sudo mv composer.phar /usr/local/bin/composer

Создать базу данных

Snipe-IT использует MySQL/MariaDB для хранения данных. Чтобы создать базу данных, войдите на сервер MySQL/MariaDB в качестве пользователя root.

sudo mysql -u root -p

При появлении запроса введите свой корневой пароль для сервера MySQL / MariaDB и нажмите ENTER продолжить.

Создать snipe_it база данных. Чтобы получить доступ к snipe_it База данных, Snipe-IT требует специального пользователя MySQL без корней. Поэтому вы должны настроить snipe_it_user с полными привилегиями для snipe_it база данных. Вам понадобятся эти учетные данные базы данных позже при настройке Snipe-IT .env файл конфигурации.

Заменить EXAMPLE_PASSWORD с сильным паролем.

Если ваш стек LAMP использует MariaDB, запустите эти команды.

  MariaDB [(none)]> CREATE DATABASE snipe_it;
                    CREATE USER 'snipe_it_user'@'localhost' IDENTIFIED BY 'EXAMPLE_PASSWORD';
                    GRANT ALL PRIVILEGES ON snipe_it.* TO 'snipe_it_user'@'localhost';
                    FLUSH PRIVILEGES;
                    EXIT;

Если ваш стек LAMP использует MySQL, выполните эти команды.

  mysql> CREATE DATABASE snipe_it;
         CREATE USER 'snipe_it_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'EXAMPLE_PASSWORD';
         GRANT ALL PRIVILEGES ON snipe_it.* TO 'snipe_it_user'@'localhost';
         FLUSH PRIVILEGES;

Установить Snipe-IT

Перейдите в корневой каталог вашего веб-сервера.

cd /var/www/

Используйте git, чтобы клонировать последний репозиторий Snipe-IT из https://github.com/snipe/snipe-it URL и скопируйте загруженные файлы в snipe-it каталог.

sudo git clone https://github.com/snipe/snipe-it snipe-it

Переключитесь на snipe-it каталог.

 cd /var/www/snipe-it

Snipe-IT поставляется с образцом конфигурационного файла. Скопируйте его /var/www/snipe-it/.env.

 sudo cp /var/www/snipe-it/.env.example /var/www/snipe-it/.env

Редактировать конфигурационный файл.

 sudo nano /var/www/snipe-it/.env

В файле конфигурации Snipe-IT найдите эти настройки.

APP_URL=https://exempale.com
APP_TIMEZONE='Europe/Moscow'

Найдите эти настройки и введите свои данные.

DB_DATABASE=snipe_it
DB_USERNAME=snipe_it_user
DB_PASSWORD=EXAMPLE_PASSWORD

Сохранить и закрыть файл.

Установите правильное права и разрешения для каталога данных Snipe-IT.

 sudo chown -R www-data:www-data  /var/www/snipe-it
 sudo chmod -R 755 /var/www/snipe-it

Установить unzip инструмент для предотвращения распаковки zip-файлов с помощью расширений PHP zip, которые могут вызвать некоторые ошибки.

 sudo apt-get install -y unzip

Установите зависимости Snipe-IT с помощью Composer. Вы получите предупреждение не запускать это в качестве root в каждой команде. Можно продолжать как root для установки Snipe-IT, так что введите yes и нажимайте ENTER.

sudo composer update --no-plugins --no-scripts
sudo composer install --no-dev --prefer-source --no-plugins --no-scripts

Когда Composer закончит, сгенерируйте Laravel APP_Key значение в /var/www/snipe-it/.env файл конфигурации, который вы создали ранее. Тип yes и нажмите ENTER когда было предложено продолжить.

sudo php artisan key:generate

Создать Виртуальный Файл Хоста

Apache поставляется с именем виртуального хоста по умолчанию 000-default.conf. Чтобы упростить устранение неполадок, отключите файл конфигурации Apache по умолчанию и создайте новый файл конфигурации Apache для Snipe-IT.

Отключить файл конфигурации Apache по умолчанию.

 sudo a2dissite 000-default.conf

Создать новый файл конфигурации Apache.

sudo nano /etc/apache2/sites-available/snipe-it.conf

Вставьте информацию ниже и замените example.com с доменным именем вашего сервера или публичным IP-адресом.

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/snipe-it/public
    <Directory /var/www/snipe-it/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

Сохранить и выйти из файла.

Включите новый файл конфигурации.

sudo a2ensite snipe-it.conf

Перезагрузите веб-сервер Apache, чтобы применить изменения.

sudo systemctl restart apache2

Запустите Мастер установки

В веб-браузере посетите ваш сервер, используя его доменное имя или публичный IP-адрес. Следуйте подсказкам мастера установки, чтобы завершить установку. Когда закончите, вы должны увидеть приборную панель.

Дополнение

Настройка уведомлений

Для настройки дополнительных уведомлений, необходимо настроить планировщик событий.

Заходим в crontab -e , выбираем редактор 1 и прописываем следующее:

@daily /path/to/php /path/to/your/snipe-it/artisan snipeit:backup
@daily /path/to/php /path/to/your/snipe-it/artisan backup:clean
@daily /path/to/php /path/to/your/snipe-it/artisan snipeit:expiring-alerts
@daily /path/to/php /path/to/your/snipe-it/artisan snipeit:inventory-alerts
@daily /path/to/php /path/to/your/snipe-it/artisan snipeit:expected-checkin
@daily /path/to/php /path/to/your/snipe-it/artisan snipeit:user-inventory
@daily /path/to/php /path/to/your/snipe-it/artisan snipeit:upcoming-audits
@daily /path/to/php /path/to/your/snipe-it/artisan auth:clear-resets

@daily - данный параметр отвечает за переодичность выполнения, в данном случае каждый день, но так же есть:

  • @reboot - при загрузке, только один раз;
  • @yearly, @annually - раз год;
  • @monthly - раз в месяц;
  • @weekly - раз в неделю;
  • @daily, @midnight - каждый день;
  • @hourly - каждый час.

Так же можно размечать время инным способом, если Вам нужно точное время выполнения:

00 11 * * * /path/to/php /path/to/your/snipe-it/artisan snipeit:backup

00 11 * * * - это означает что он будет запускаться каждый день в 11:00.

/path/to/php - это путь к вашему php, определить его можно командой:

which php

/path/to/your/snipe-it/artisan - это путь к файлу, который будет инициировать уведомления, в нашем случае это будет - /var/www/snipe-it/artisan

Описание уведомлений

snipeit:backup - это позволяет уведомить о создании бекапа
backup:clean
snipeit:expiring-alerts - это позволяет уведомить о окончании срока годности, если данный параметр заполнен
snipeit:inventory-alerts
snipeit:expected-checkin - это позволяет уведомить о проверки активов у которых стоит значение в параметре "ожидаемая дата возврата актива"
snipeit:user-inventory - это позволяет уведомить о инвенторизации
snipeit:upcoming-audits - это позволяет уведомить о приближающемся аудите
auth:clear-resets