Поиск по сайту:

Как установить программное обеспечение для управления активами Snipe-IT на Debian 9


На этой странице

  1. Требования
  2. Начало работы
  3. Установить сервер LAMP
  4. Установка и настройка MariaDB
  5. Установить Snipe-IT
  6. Настройка Apache для Snipe-IT
  7. Настройка брандмауэра
  8. Доступ к Snipe-IT
  9. Заключение

Snipe-IT — это бесплатное веб-приложение для управления ИТ-активами с открытым исходным кодом, которое можно использовать для отслеживания лицензий, аксессуаров, расходных материалов и компонентов. Он написан на языке PHP и использует MySQL для хранения своих данных. Это кроссплатформенное приложение, которое работает во всех основных операционных системах, таких как Linux, Windows и Mac OS X. Оно легко интегрируется с Active Directory, LDAP и поддерживает двухфакторную аутентификацию с помощью Google Authenticator.

В этом руководстве мы узнаем, как установить Snipe-IT на сервер Debian 9.

Требования

  • Сервер под управлением Debian 9.
  • Пользователь без полномочий root с привилегиями sudo.

Начиная

Перед установкой любых пакетов рекомендуется обновить системный пакет до последней версии. Вы можете сделать это, выполнив следующую команду:

sudo apt-get update -y
sudo apt-get upgrade -y

Затем перезагрузите систему, чтобы применить все обновления. Затем установите другие необходимые пакеты с помощью следующей команды:

sudo apt-get install git curl unzip wget -y

После установки всех пакетов можно переходить к следующему шагу.

Установить LAMP-сервер

Snipe-IT работает на веб-сервере Apache, поэтому вам необходимо установить LAMP (Apache, MariaDB, PHP) в вашу систему.

Сначала установите Apache, PHP и другие библиотеки PHP с помощью следующей команды:

sudo apt-get install apache2 libapache2-mod-php php php-pdo php-mbstring php-tokenizer php-curl php-mysql php-ldap php-zip php-fileinfo php-gd php-dom php-mcrypt php-bcmath -y

После установки всех пакетов запустите службу Apache и включите ее при загрузке с помощью следующей команды:

sudo systemctl start apache2
sudo systemctl enable apache2

Установить и настроить MariaDB

Snipe-IT использует MariaDB для хранения своих данных. Поэтому вам нужно будет установить MariaDB в вашу систему. По умолчанию последняя версия MariaDB недоступна в репозитории Debian 9. Поэтому вам нужно будет установить репозиторий MariaDB в вашу систему.

Сначала добавьте ключ APT с помощью следующей команды:

sudo apt-get install software-properties-common dirmngr -y
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8

Затем добавьте репозиторий MariaDB с помощью следующей команды:

sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.1/debian stretch main'

Затем обновите репозиторий с помощью следующей команды:

sudo apt-get update -y

После обновления репозитория вы можете установить MariaDB с помощью следующей команды:

sudo apt-get install mariadb-server mariadb-client -y

Затем запустите службу MariaDB и включите ее запуск во время загрузки с помощью следующей команды:

sudo systemctl start mysql
sudo systemctl enable mysql

Вы можете проверить состояние сервера MariaDB с помощью следующей команды:

sudo systemctl status mysql

Если все в порядке, вы должны увидеть следующий вывод:

? mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2017-12-25 08:41:25 EST; 29min ago
  Process: 618 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 615 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 436 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemc
  Process: 429 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 418 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 574 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 27 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           ??574 /usr/sbin/mysqld

Dec 25 08:41:07 debian systemd[1]: Starting MariaDB database server...
Dec 25 08:41:14 debian mysqld[574]: 2017-12-25  8:41:14 140488893776448 [Note] /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) starting as p
Dec 25 08:41:25 debian systemd[1]: Started MariaDB database server.

Затем защитите свою MariaDB, запустив следующий скрипт:

sudo mysql_secure_installation

Ответьте на все вопросы, как показано ниже:

Set root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

Как только MariaDB будет защищена, войдите в оболочку MariaDB с помощью следующей команды:

mysql -u root -p

Введите пароль root при появлении запроса, затем создайте базу данных для Snipe-IT с помощью следующей команды:

MariaDB [(none)]> create database snipeitdb character set utf8;

Затем создайте пользователя для Snipe-IT и предоставьте ему все привилегии с помощью следующей команды:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON snipeitdb.* TO 'snipeit'@'localhost' IDENTIFIED BY 'password';

Затем сбросьте привилегии с помощью следующей команды:

MariaDB [(none)]> flush privileges;

Наконец, выйдите из консоли MariaDB, используя следующую команду:

MariaDB [(none)]> quit

Установить Снайп-ИТ

Вы можете загрузить последнюю версию Snipe-IT из репозитория Git с помощью следующей команды:

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

Затем переместите загруженный каталог в корневой каталог apache с помощью следующей команды:

sudo mv snipe-it /var/www/

Далее вам нужно будет установить Composer в вашу систему. Вы можете установить его с помощью следующей команды:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Затем измените каталог на snipe-it и установите зависимости PHP с помощью Composer с помощью следующей команды:

cd /var/www/snipe-it
sudo composer install --no-dev --prefer-source

Затем сгенерируйте «APP_Key» с помощью следующей команды:

sudo php artisan key:generate

Вы должны увидеть следующий вывод:

**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Application key [base64:uWh7O0/TOV10asWpzHc0DH1dOxJHprnZw2kSOnbBXww=] set successfully.

Затем вам нужно будет заполнить MySQL схемой базы данных Snipe-IT по умолчанию. Вы можете сделать это, выполнив следующую команду:

sudo php artisan migrate

Введите yes, когда будет предложено подтвердить, что вы хотите выполнить миграцию:

**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Migration table created successfully.

Затем скопируйте пример файла .env и внесите в него некоторые изменения:

sudo cp .env.example .env
sudo nano .env

Измените следующие строки:

APP_URL=http://example.com
APP_TIMEZONE=US/Eastern
APP_LOCALE=en

# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=snipeitdb
DB_USERNAME=snipeit
DB_PASSWORD=password
DB_PREFIX=null
DB_DUMP_PATH='/usr/bin'

Сохраните и закройте файл, когда закончите.

Затем укажите соответствующие права собственности и права доступа к файлу с помощью следующей команды:

sudo chown -R www-data:www-data storage public/uploads
sudo chmod -R 755 storage public/uploads

Настройте Apache для Snipe-IT

Далее вам нужно будет создать директиву виртуального хоста Apache для Snipe-IT. Вы можете сделать это, создав файл snipeit.conf в каталоге /etc/apache2/sites-available:

sudo nano /etc/apache2/sites-available/snipeit.conf

Добавьте следующие строки:

<VirtualHost *:80>
ServerAdmin 
<Directory /var/www/snipe-it/public>
        Require all granted
        AllowOverride All
   </Directory>
    DocumentRoot /var/www/snipe-it/public
    ServerName example.com
        ErrorLog /var/log/apache2/snipeIT.error.log
        CustomLog /var/log/apache2/access.log combined
</VirtualHost>

Сохраните и закройте файл, когда закончите. Затем включите виртуальный хост с помощью следующей команды:

sudo a2ensite snipeit.conf

Затем включите PHP mcrypt, модуль mbstring и модуль перезаписи Apache с помощью следующей команды:

sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo a2enmod rewrite

Наконец, перезапустите веб-сервер apache, чтобы применить все изменения:

sudo systemctl restart apache2

Настроить брандмауэр

По умолчанию Snipe-IT работает на порту 80, поэтому вам нужно разрешить порт 80 через брандмауэр. По умолчанию брандмауэр UFW не установлен в Debian 9, поэтому вам нужно сначала установить его. Вы можете установить его, просто выполнив следующую команду:

sudo apt-get install ufw -y

После установки UFW включите его запуск во время загрузки с помощью следующей команды:

sudo ufw enable

Затем разрешите порт 80 с помощью следующей команды:

sudo ufw allow 80

Затем перезагрузите правило брандмауэра UFW с помощью следующей команды:

sudo ufw reload

Доступ к Snipe-IT

Теперь все установлено и настроено, пришло время получить доступ к веб-интерфейсу Snipe-IT.

Откройте веб-браузер и введите URL-адрес http://example.com. Вы будете перенаправлены на следующую страницу:

Вышеупомянутая страница выполнит проверку системы, чтобы убедиться, что ваша конфигурация выглядит правильно. Затем нажмите кнопку «Создать таблицу базы данных», вы должны увидеть следующую страницу:

Здесь нажмите на страницу «Создать пользователя», вы должны увидеть следующую страницу:

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

Заключение

В приведенном выше руководстве мы научились устанавливать Snipe-IT на сервер Debian 9. Мы также научились настраивать Snipe-IT через веб-интерфейс. Надеюсь, теперь у вас достаточно знаний для развертывания Snipe-IT в вашей производственной среде. Для получения дополнительной информации вы можете обратиться к странице документации Snipe-IT.