SCROLL
Среднее время на прочтение: 3 мин.

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

Snipe-IT — свободное и открытое приложение для управления IT-ресурсами. С помощью Snipe-IT можно вести учёт компьютеров, лицензий, программного обеспечения, расходников и периферии.

В этом руководстве 1 я покажу, как установить Snipe-IT на операционной системе Debian 12.

Официальная ветка Snipe-IT в Github — https://github.com/snipe/snipe-it

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

Устанавливаем необходимые пакеты зависимостей (в данном руководстве будет использоваться LAMP стек):

apt-get install apache2-utils mariadb-server php8.2 php8.2-{bcmath,curl,gd,mbstring,imagick,ldap,mysql,exif,xml,zip} libapache2-mod-php8.2 curl git unzip -y
Рекомендуется выполнить базовую настройку безопасности MySQL сервера, выполнив команду — mysql_secure_installation.

После установки LAMP стека, включим в apache модуль mod_rewrite, который необходим для работы Snipe-IT.

a2enmod rewrite

Создание пользователя

Добавляем системного пользователя snipeit с пустым паролем, чтобы заблокировать вход для обычных пользователей, но с возможностью входа через root или аккаунты с sudo правами. И добавляем созданного пользователя в группу веб-сервера apache.

useradd -m -r -s /usr/sbin/nologin -c "Snipe-IT User" snipeit
usermod -a -G www-data snipeit

Установка PHP Composer

Composer — это менеджер пакетов для PHP, который позволяет нам управлять зависимостями различных пакетов поставщиков, которые используются в Snipe-IT.

Никогда не запускайте composer от имени суперпользователя или администратора. Всегда запускайте его от имени пользователя, которому принадлежат файлы Snipe-IT. Запуск composer от имени суперпользователя приведёт к сбоям, которые будет сложно отладить позже.

Устанавливаем composer для пользователя snipeit:

sudo -u snipeit bash -c "cd ~ && curl -sS https://getcomposer.org/installer"
sudo -u snipeit bash -c "cd ~ && php composer-setup.php"

mv "$(eval echo ~snipeit)"/composer.phar /usr/local/bin/composer

Проверяем что composer успешно установлен для пользователя snipeit:

sudo -u snipeit composer --version
Установка Composer глобально не требуется, но если вы хотите это сделать, вы можете сделать это по инструкции — https://jakondo.ru/kak-ustanovit-composer-na-debian-12/

Создание базы данных

Входим в СУБД:

mariadb

Создаем базу данных для Snipe-IT:

CREATE DATABASE snipe_it;
CREATE USER 'snipe_it'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON snipe_it.* TO 'snipe_it'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Где:

  • PASSWORD — укажите свой надежный пароль.

Загрузка исходного кода Snipe-IT

Перейдите в корневой каталог веб-сервера и клонируем репозиторий Snipe-IT с github:

cd /var/www/
git clone https://github.com/snipe/snipe-it snipeit 

Переходим в snipeit каталог и переключаемся на ветку master:

pushd snipeit
git checkout master

Устанавливаем соответствующие разрешения для каталога Snipe-IT:

chmod -R 775 /var/www/snipeit/storage
chmod -R 775 /var/www/snipeit//public/uploads
chmod -R 775 /var/www/snipeit/bootstrap/cache

chown -R snipeit:www-data /var/www/snipeit

Настройка

Для начала работы скопируем файл .env.example в новый файл .env:

cp .env.example .env

Укажем в файле /var/www/snipeit/.env необходимые параметры для установки Snipe-IT:

/var/www/snipeit/.env
...
APP_URL=https://example.com
APP_TIMEZONE='Europe/Moscow'
APP_LOCALE='ru-RU'
...
DB_DATABASE=snipe_it
DB_USERNAME=snipe_it
DB_PASSWORD=PASSWORD
...

Где:

  • APP_URL — URL- адрес приложения (например, https://example.com).
  • APP_TIMEZONE — часовой пояс приложения (например, Europe/Moscow).
  • APP_LOCALE — определяет язык интерфейса и локализацию сообщений.
  • DB_DATABASE — имя базы данных.
  • DB_USERNAME — имя пользователя для подключения к базе данных.
  • DB_PASSWORD — пароль для подключения к базе данных.

Установите зависимости Snipe-IT с помощью Composer.

sudo -u snipeit /usr/local/bin/composer install --no-dev --prefer-source --no-scripts --working-dir /var/www/snipeit

Назначаем права доступа для вновь появившейся папки в рабочем каталоге Snipe-IT:

chgrp -R www-data /var/www/snipeit/vendor

Генерируем уникальный секретный ключ для Laravel-приложения командой, которая запишет его в файл .env в параметр APP_KEY:

php artisan key:generate --force

Настройка веб-сервера

Сперва отключаем файл конфигурации виртуального хоста по умолчанию:

a2dissite 000-default.conf

Создаем новый виртуальный хост /etc/apache2/sites-available/snipe-it.conf и добавляем в него следующее:

/etc/apache2/sites-available/snipe-it.conf
<VirtualHost *:80>
    ServerName example.com
    
    DocumentRoot /var/www/snipeit/public
    
    <Directory /var/www/snipeit/public>
        Options -Indexes
        AllowOverride All
        Allow From All
    </Directory>  
</VirtualHost>
Хочу обратить внимание что выше описание виртуального хоста является минимальным необходимым для того чтобы можно было бы к нему подключится и выполнить установку через веб интерфейс.

Включаем виртуальный хост и перезапускаем apache для применения изменений:

a2ensite snipe-it.conf && systemctl restart apache2

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

  1. Официальная документация Snipe-IT — https://snipe-it.readme.io/docs/installation ↩︎
 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

0 комментариев

Нет комментариев.