Как установить Snipe-IT на Ubuntu 16.04

Вступление

В ИТ-отрасли asset management - это процесс отслеживания активов на протяжении всего их жизненного цикла, включая приобретение, обслуживание, хранение и утилизацию. Несмотря на то, что конкретные активы различаются, обычно основное внимание уделяется отдельным аппаратным или программным средствам, лицензиям и файловым ресурсам, таким как цифровые изображения.

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

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

Предпосылки

Для завершения этого урока вам понадобится:

Шаг 1 - Подготовка сервера

Перед загрузкой Snipe-IT подготовьте сервер, установив несколько дополнительных библиотек PHP и создав базу данных MySQL и базу данных, которую пользователь Snipe-IT будет использовать для хранения своих данных.

Snipe-IT построен на https://laravel.com [Laravel PHP Framework] и поэтому требует Composer менеджер зависимостей для установки и управления дополнительными библиотеками PHP.

Используйте + apt-get для установки` + composer` и + unzip, утилиты, которая необходима для извлечения файлов из Zip-архивов.

sudo apt-get install composer unzip

Затем установите дополнительные модули PHP, на которые опирается Snipe-IT.

sudo apt-get install php7.0-mbstring php7.0-xml php7.0-mcrypt php7.0-gd php7.0-zip php7.0-curl php7.0-bcmath

Дополнительные пакеты предоставляют PHP с:

Теперь используйте утилиту командной строки + mysql, чтобы войти в MySQL как пользователь базы данных * root *.

mysql -u root -p

Создайте нового пользователя MySQL с именем * snipeit * на локальном хосте + 127.0.0.1 + и назначьте ему пароль.

create user @127.0.0.1 identified by '';

Затем создайте базу данных с именем + snipeitdb +, где Snipe-IT будет хранить свои данные.

create database ;

Предоставьте все привилегии для всех таблиц в базе данных + snipeitdb + пользователю * snipeit *, чтобы Snipe-IT имел разрешение на выполнение любых необходимых действий с базой данных.

grant all on .* to @127.0.0.1;

Наконец, активируйте изменения, перезагрузив таблицы грантов командой + flush privileges + и выйдите из утилиты.

flush privileges;
exit;

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

Шаг 2 - Загрузка и настройка Snipe-IT

Согласно official инструкциям по установке, вы будете использовать Git для загрузки последней версии Snipe-IT. Поскольку Git клонирует только существующие каталоги, если они пустые, используйте + ls +, чтобы просмотреть содержимое каталога, который вы сконфигурировали для блока Nginx-сервера Snipe-IT, по ссылке: #prerequisites [Prerequisites].

ls /var/www//html/

Если каталог не пустой, используйте basic команды навигации и управления файлами в Linux чтобы очистить это сейчас. + mv + перемещает содержимое в другое место, а + rm + полностью их удаляет.

Когда каталог пуст, загрузите Snipe-IT из его хранилища official на GitHub.

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

Вывод подтверждает местоположение, в которое вы клонируете, а затем предоставляет отчет о процессе в режиме реального времени, включая количество объектов, которые Git должен скопировать, а также число, которое он на самом деле скопировал.

Output from git cloneCloning into '/var/www//html/'...
remote: Counting objects: 70975, done.
remote: Compressing objects: 100% (62/62), done.
remote: Total 70975 (delta 20), reused 37 (delta 15), pack-reused 70897
Receiving objects: 100% (70975/70975), 67.04 MiB | 14.35 MiB/s, done.
Resolving deltas: 100% (44264/44264), done.
Checking connectivity... done.

Теперь у вас есть полная копия Snipe-IT, но перед началом установки вам необходимо разрешить Nginx доступ к каталогам + storage +, + public / uploads + и + bootstrap / cache +, так как именно здесь Snipe-IT записывает свои кеши, логи и загруженные файлы.

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

cd /var/www//html/

Используйте + chown + с опцией + -R + для рекурсивного изменения the владение пользователем и группой + www-data + - пользователь и группа Nginx - во всех трех каталогах.

sudo chown -R www-data:www-data
sudo chown -R www-data:www-data
sudo chown -R www-data:www-data

Затем используйте + chmod + с флагом + -R + для рекурсивной set полномочий на этих каталоги, делающие их доступными для чтения, записи и выполнения их владельцем, чтения и выполнения их группой, а также чтения и выполнения для всего мира.

sudo chmod -R 755
sudo chmod -R 755
sudo chmod -R 755

С правильно установленными правами доступа к файлам и каталогам для Nginx вы готовы запустить + composer install +, который считывает список дополнительных зависимостей в файле + composer.json + Snipe-IT, а затем разрешает и устанавливает их в `+ / вар / WWW // HTML / поставщик + `.

Опция + - no-dev указывает` + composer` игнорировать зависимости, которые не нужны для работы Snipe-IT, но полезны при разработке на Snipe-IT.

Опция + - предпочитаемый-источник указывает` + composer` загружать зависимости из их репозиториев контроля версий, если они существуют.

composer install --no-dev --prefer-source

Выходные данные сообщают о каждой зависимости, которую пытается установить + composer +, указывают, была ли зависимость успешно клонирована, и заканчивают, создавая оптимизированные файлы автозагрузки, которые улучшают производительность https://getcomposer.org/doc/articles/autoloader-optimization. md [загрузка классов в PHP-приложениях, поддерживаемых Composer].

Output from composer install --no-dev --prefer-sourceLoading composer repositories with package information
Installing dependencies from lock file
 - Installing symfony/finder (v3.3.10)
   Cloning 773e19a491d97926f236942484cb541560ce862d
...
Generating optimized autoload files

Теперь вы можете начать настройку вашей установки. Начните с создания копии файла + .env.example +, который поставляется с Snipe-IT; здесь Snipe-IT хранит переменные и настройки среды, такие как часовой пояс, базовый URL и размер журнала. Затем откройте + .env + для редактирования.

cp .env.example .env
nano .env

Ищите следующее:

env
# --------------------------------------------
# REQUIRED: BASIC APP SETTINGS
# --------------------------------------------
...
APP_URL=null
...

+ APP_URL + сообщает Snipe-IT базовый URL для вашей установки. Замените + null + на ваше доменное имя.

env
# --------------------------------------------
# REQUIRED: BASIC APP SETTINGS
# --------------------------------------------
...
APP_URL=
...

Далее найдите следующие строки:

env
...
# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=null
DB_USERNAME=null
DB_PASSWORD=null
DB_PREFIX=null
DB_DUMP_PATH='/usr/bin'
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci
...

Здесь вы рассказываете Snipe-IT, как подключиться к базе данных MySQL, которую вы создали по ссылке: # step-1-% E2% 80% 94-prepare-the-server [Шаг 1].

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

Замените + DB_DATABASE + и + DB_USERNAME + на имя базы данных MySQL и пользователя базы данных, которые вы создали в ссылке: # step-1-% E2% 80% 94-prepare-the-server [Шаг 1], и замените ` + DB_PASSWORD + `с паролем, который вы назначили этому пользователю базы данных.

+ DB_PREFIX + добавляет пользовательские префиксы к именам таблиц в базе данных Snipe-IT. Этот параметр не является обязательным, но может остановить некоторые автоматические атаки, использующие имена таблиц базы данных по умолчанию. Оставьте для этого набора значение по умолчанию + null, если вы не хотите добавлять собственный префикс.

env
# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
DB_PREFIX=null

Закройте и сохраните файл.

Теперь используйте + artisan migrate +, чтобы заполнить MySQL схемой базы данных Snipe-IT по умолчанию. Эта команда скажет Laravel выполнить database миграцию, используя файлы, найденные в + / var / www // html / database / migrations / +.

sudo php artisan migrate

При появлении запроса введите + yes +, чтобы подтвердить, что вы хотите выполнить миграцию.

Выходные данные сообщают имя каждой миграции, которую он завершает в режиме реального времени.

Output from php artisan migrate**************************************
*     Application In Production!     *
**************************************

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

Migration table created successfully.
...
Migrated:  2017_11_08_123942_labels_display_company_name

Наконец, используйте + artisan key: generate +, чтобы создать ключ приложения для вашей установки. Laravel запишет значение ключа в строку + APP_KEY + в файле + .env +, а Snipe-IT будет использовать ключ при шифровании и дешифровании данных, таких как токены сеанса.

php artisan key:generate

Еще раз, когда будет предложено, введите + yes +, чтобы подтвердить, что вы хотите сгенерировать ключ приложения.

Когда закончите, вывод покажет вам сгенерированный ключ и скажет вам, что значение было записано в файл + .env +.

Output from php artisan key:generate**************************************
*     Application In Production!     *
**************************************

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

Application key [base64:rxP+jS3Q8qtM9eBktXtS/zqrrXVY1LEMxoZkbV35Al0=] set successfully.

После завершения установки и настройки настало время изменить Nginx для обслуживания Snipe-IT.

Шаг 3 - Настройка Nginx

Прежде чем вы сможете запустить Snipe-IT в своем веб-браузере, вам сначала нужно указать Nginx в корневой каталог веб-приложений Snipe-IT, и вам нужно перенаправить входящие запросы в обработчик запросов Snipe-IT.

Начните с открытия файла конфигурации, который вы создали для блока Nginx сервера Snipe-IT.

sudo nano /etc/nginx/sites-available/

Ищите директиву, которая устанавливает корневой каталог блока сервера.

/etc/nginx/sites-available/example.com

server {
   ...
   root /var/www//html;
   ...
}

Файлы веб-приложений Snipe-IT находятся в каталоге + public +, который был автоматически создан при клонировании проекта из GitHub. Измените Nginx, чтобы использовать + public + в качестве корневого каталога этого блока сервера.

/etc/nginx/sites-available/example.com

server {
   ...
   root /var/www//html/;
   ...
}

Затем найдите блок местоположения по умолчанию:

/ и т.д. / Nginx / сайты с поддержкой / Бекас-это

server {
   ...
   location / {
       try_files $uri $uri/ =404;
   }
   ...
}

Измените этот блок, чтобы передать все запросы обработчику запросов Snipe-IT для обработки.

/ и т.д. / Nginx / сайты с поддержкой / Бекас-это

server {
   ...
   location / {
       try_files $uri $uri/
   }
   ...
}

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

Перед перезапуском Nginx протестируйте новую конфигурацию.

sudo nginx -t

Вывод должен сообщить, что ваш синтаксис + в порядке +. Если это не так, следуйте инструкциям на экране для получения дополнительной помощи.

Теперь перезапустите Nginx, чтобы применить изменения.

sudo systemctl reload nginx

Наконец, убедитесь, что Nginx снова запущен и работает.

sudo systemctl status nginx

Выходные данные должны указывать, что служба + active (выполняется) +. Если это не так, повторите предыдущие шаги, чтобы решить проблему, прежде чем продолжить

Теперь, когда Nginx полностью настроен, войдите в утилиту веб-настройки Snipe-IT, чтобы завершить установку.

Шаг 4 - Настройка Snipe-IT с помощью Pre-Flight Utility

Чтобы завершить установку, укажите в своем веб-браузере + https: // +. Это приведет вас к * шагу 1 * Pre-Flight Utility Snipe-IT *, где Snipe-IT проведет быструю проверку вашей установки, чтобы убедиться, что все настроено правильно.

На этом экране вы увидите таблицу, в которой показаны все параметры, которые были проверены * Pre-Flight *, результаты тестирования параметров и краткая заметка с описанием параметров. Зеленая галочка в столбце * Valid * указывает на правильность настройки. Если какой-либо параметр выделен розовым цветом и отмечен красным * X * в столбце * Действительный *, это указывает на проблему с этим параметром. Следуйте инструкциям Snipe-IT для решения проблемы, прежде чем продолжить.

Поскольку мы не настроили Snipe-IT для электронной почты, вы можете нажать синюю кнопку * Далее: Создать таблицы базы данных * в правом нижнем углу экрана, чтобы продолжить установку.

изображение: http: //assets.digitalocean.com/articles/how-to-install-snipe-it/pre-flight-configuration-check2.png [Предполетный полет Snipe-IT: Проверка конфигурации]

На шаге 2 * Pre-Flight * Snipe-IT проверяет вашу базу данных и при необходимости выполняет миграцию. Поскольку вы уже выполнили ручную миграцию базы данных с помощью + artisan + в ссылке: # step-3-% E2% 80% 94-configuring-nginx [Шаг 3 этого урока], * Pre-Flight * скажет вам, что база данных * уже настроен * и что * нечего мигрировать *.

Нажмите синюю кнопку * Далее: Создать пользователя * в правом нижнем углу экрана.

изображение: http: //assets.digitalocean.com/articles/how-to-install-snipe-it/pre-flight-create-database-tables.png [Предполетный полет Snipe-IT: создание таблиц базы данных]

На шаге 3 * Pre-Flight * Snipe-IT просит вас ввести некоторые общие настройки приложения и создать первую учетную запись администратора.

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

В поле * Email Domain * введите домен, который Snipe-IT будет использовать для исходящей почты, а в поле * Email Format * выберите способ форматирования заголовка * To: * в исходящих сообщениях Snipe-IT. ,

Введите свое имя в поля * Имя * и * Фамилия * и адрес электронной почты в поле * Электронная почта *.

Наконец, введите имя пользователя, которое вы хотите связать с вашей учетной записью, в поле * Имя пользователя * и введите пароль, который хотите использовать в поле * Пароль *. Обязательно введите тот же пароль в поле * Подтверждение пароля * и запишите свои учетные данные, прежде чем продолжить. Они оба вам понадобятся, чтобы войти в Snipe-IT.

Поскольку вы создаете эту учетную запись для себя, вы можете оставить * Отправить мои учетные данные на адрес электронной почты выше * без проверки.

Нажмите синюю кнопку * Далее: Сохранить пользователя * в правом нижнем углу экрана, как только вы заполните всю информацию.

изображение: http: //assets.digitalocean.com/articles/how-to-install-snipe-it/pre-flight-create-admin-user.png [Предполетный полет Snipe-IT: Создать пользователя-администратора]

На шаге 4 * Pre-Flight * Snipe-IT сохраняет общие настройки приложения, которые вы только что ввели, создает нового администратора и регистрирует вас на главной панели инструментов.

изображение: http: //assets.digitalocean.com/articles/how-to-install-snipe-it/default-dashboard.png [Snipe-IT: панель администратора по умолчанию]

На этом этапе ваша установка завершена, и вы можете начать использовать Snipe-IT для управления ИТ-ресурсами ваших клиентов.

Заключение

В этой статье вы настраиваете стек LEMP, защищаете Nginx с помощью сертификата Let Encrypt TLS / SSL, устанавливаете и настраиваете Snipe-IT, создаете учетную запись администратора и входите в основную панель управления Snipe-IT.

Чтобы узнать о добавлении и редактировании ресурсов в Snipe-IT, см. Https://snipe-it.readme.io/docs/managing-assets[the официальное руководство по управлению активами].

Чтобы узнать о работе с учетными записями пользователей в Snipe-IT, см. Https://snipe-it.readme.io/docs/managing-users[the официальная документация по управлению пользователями].

Или, по другим вопросам, ознакомьтесь с the официальное руководство пользователя Snipe-IT.

Related