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