Как установить программное обеспечение для управления активами Snipe-IT на Debian 9
На этой странице
- Требования
- Начало работы
- Установить сервер LAMP
- Установка и настройка MariaDB
- Установить Snipe-IT
- Настройка Apache для Snipe-IT
- Настройка брандмауэра
- Доступ к Snipe-IT
- Заключение
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.