So installieren Sie Snipe-IT unter Ubuntu 16.04

Einführung

In der IT-Branche umfasst das Asset-Management das Nachverfolgen von Assets über deren gesamten Lebenszyklus, einschließlich Anschaffung, Wartung, Lagerung und Entsorgung. Obwohl die spezifischen Assets unterschiedlich sind, liegt der Fokus im Allgemeinen auf einzelnen Hardware- oder Softwareteilen, Lizenzen und dateibasierten Ressourcen wie digitaler Grafik.

Snipe-IT - eine kostenlose Open-Source-Anwendung, die speziell für das IT-Asset-Management entwickelt wurde - bietet eine webbasierte Oberfläche zum Nachverfolgen von Lizenzen, Zubehör, Verbrauchsmaterialien und Komponenten. Snipe-IT umfasst benutzerbasierte Konten mit konfigurierbaren Berechtigungen auf Gruppenebene, anpassbaren Berichtsfunktionen und einer JSON-REST-API für die Verbindung, Verwaltung und Erweiterung von Snipe-IT über die Befehlszeile oder Anwendungen von Drittanbietern.

In diesem Tutorial werden Sie Snipe-IT herunterladen, installieren und konfigurieren und dann ein Administratorkonto erstellen, um sich zum ersten Mal bei Snipe-IT anzumelden.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie:

Schritt 1 - Vorbereiten des Servers

Bereiten Sie den Server vor dem Herunterladen von Snipe-IT vor, indem Sie einige zusätzliche PHP-Bibliotheken installieren und die MySQL-Datenbank erstellen. Der Datenbankbenutzer Snipe-IT speichert die Daten.

Snipe-IT baut auf dem https://laravel.com [Laravel PHP Framework] auf und benötigt daher den Composer Dependency Manager für die Installation und Verwaltung zusätzlicher PHP-Bibliotheken.

Verwenden Sie "+ apt-get", um "+ composer" und "+ unzip" zu installieren, ein Dienstprogramm, das zum Extrahieren von Dateien aus Zip-Archiven benötigt wird.

sudo apt-get install composer unzip

Installieren Sie als Nächstes die zusätzlichen PHP-Module, auf die sich Snipe-IT stützt.

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

Die zusätzlichen Pakete bieten PHP:

Verwenden Sie jetzt das Befehlszeilenprogramm "+ mysql", um sich bei MySQL als Ihr * root * -Datenbankbenutzer anzumelden.

mysql -u root -p

Erstellen Sie einen neuen MySQL-Benutzer mit dem Namen * snipeit * auf dem lokalen Host, + 127.0.0.1 +, und weisen Sie dem Benutzer ein Kennwort zu.

create user @127.0.0.1 identified by '';

Als nächstes erstellen Sie eine Datenbank mit dem Namen "+ snipeitdb +", in der Snipe-IT seine Daten speichert.

create database ;

Gewähren Sie dem Benutzer * snipeit * alle Berechtigungen für alle Tabellen in der Datenbank + snipeitdb +, sodass Snipe-IT die Berechtigung hat, alle für die Datenbank erforderlichen Aktionen auszuführen.

grant all on .* to @127.0.0.1;

Aktivieren Sie abschließend die Änderungen, indem Sie die Grant-Tabellen mit dem Befehl + flush privileges + neu laden und das Dienstprogramm beenden.

flush privileges;
exit;

Ihr Server verfügt nun über die zusätzlichen PHP-Bibliotheken und die MySQL-Datenbank, die Snipe-IT benötigt, um ordnungsgemäß zu funktionieren. Laden Sie Snipe-IT selbst herunter und konfigurieren Sie es.

Schritt 2 - Herunterladen und Konfigurieren von Snipe-IT

Gemäß der official installation instructions verwenden Sie Git, um die neueste Version von Snipe-IT herunterzuladen. Da Git nur dann in vorhandene Verzeichnisse klont, wenn diese leer sind, können Sie mit "+ ls +" den Inhalt des Verzeichnisses anzeigen, das Sie für den Nginx-Serverblock von Snipe-IT unter folgendem Link konfiguriert haben: #prerequisites [Prerequisites].

ls /var/www//html/

Wenn das Verzeichnis nicht leer ist, verwenden Sie basic Linux-Navigations- und Dateiverwaltungsbefehle , um es jetzt auszuräumen. + mv + verschiebt den Inhalt an einen anderen Ort und + rm + löscht ihn vollständig.

Sobald das Verzeichnis leer ist, laden Sie Snipe-IT von seinem official Repository auf GitHub herunter.

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

Die Ausgabe bestätigt den Speicherort, an den Sie klonen, und liefert dann einen Echtzeitbericht über den Vorgang, einschließlich der Anzahl der Objekte, von denen Git erwartet, dass sie kopiert werden, sowie der Anzahl der tatsächlich kopierten Objekte.

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.

Sie haben jetzt eine vollständige Kopie von Snipe-IT, aber bevor Sie mit der Installation beginnen, müssen Sie Nginx den Zugriff auf die Verzeichnisse + storage +, + public / uploads + und + bootstrap / cache + ermöglichen Snipe-IT schreibt seine Caches, Protokolle und hochgeladenen Dateien.

Wechseln Sie in das Installationsverzeichnis.

cd /var/www//html/

Verwenden Sie + chown + mit der Option + -R +, um https://www.digitalocean.com/community/tutorials/an-introduction-to-linux-permissions#about-users den Benutzer- und Gruppenbesitz zu ändern.] an + www-data + - Benutzer und Gruppe von Nginx - in allen drei Verzeichnissen.

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

Verwenden Sie dann "+ chmod " mit dem Flag " -R +", um set permissions für diese rekursiv auszuführen Verzeichnisse, so dass sie von ihrem Eigentümer gelesen, geschrieben und ausgeführt werden können, von ihrer Gruppe gelesen und ausgeführt werden können und von der Welt gelesen und ausgeführt werden können.

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

Wenn die Datei- und Verzeichnisberechtigungen für Nginx korrekt eingestellt sind, können Sie "+ composer install " ausführen, das die Liste der zusätzlichen Abhängigkeiten in der Datei " composer.json " von Snipe-IT liest und diese dann auflöst und in " installiert / var / www // html / vendor + `.

Die Option + - no-dev + weist + composer + an, Abhängigkeiten zu ignorieren, die für die Ausführung von Snipe-IT nicht erforderlich sind, aber für die Entwicklung in Snipe-IT nützlich sind.

Die Option "+ - preferred-source" weist "+ composer" an, die Abhängigkeiten von ihren Versionskontroll-Repositorys herunterzuladen, falls vorhanden.

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

Die Ausgabe meldet jede Abhängigkeit, die + composer + zu installieren versucht, gibt an, ob die Abhängigkeit erfolgreich geklont wurde, und erstellt anschließend optimierte Autoload-Dateien, die die Leistung von https://getcomposer.org/doc/articles/autoloader-optimization verbessern. md [Laden von Klassen in Composer-gestützten PHP-Anwendungen].

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

Sie können jetzt mit der Konfiguration Ihrer Installation beginnen. Erstellen Sie zunächst eine Kopie der Datei "+ .env.example ", die im Lieferumfang von Snipe-IT enthalten ist. Hier speichert Snipe-IT Umgebungsvariablen und Einstellungen wie Zeitzone, Basis-URL und Protokollgröße. Öffnen Sie dann " .env +" zum Bearbeiten.

cp .env.example .env
nano .env

Achten Sie auf Folgendes:

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

+ APP_URL + teilt Snipe-IT die Basis-URL für Ihre Installation mit. Ersetzen Sie "+ null +" durch Ihren Domainnamen.

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

Suchen Sie als Nächstes die folgenden Zeilen:

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
...

Hier teilen Sie Snipe-IT mit, wie eine Verbindung zu der über den Link erstellten MySQL-Datenbank hergestellt werden soll: # step-1-% E2% 80% 94-prepare-the-server [Schritt 1].

Da Snipe-IT standardmäßig für die Verbindung mit einer MySQL-Datenbank konfiguriert ist, die auf dem lokalen Host ausgeführt wird, müssen Sie die ersten beiden Zeilen nicht ändern.

Ersetzen Sie "+ DB_DATABASE " und " DB_USERNAME +" durch den Namen der MySQL-Datenbank und des Datenbankbenutzers, die Sie in folgendem Link erstellt haben: # step-1-% E2% 80% 94-prepare-the-server [Step 1], und ersetzen Sie " + DB_PASSWORD + `mit dem Passwort, das Sie diesem Datenbankbenutzer zugewiesen haben.

+ DB_PREFIX + fügt den Tabellennamen in der Snipe-IT-Datenbank benutzerdefinierte Präfixe hinzu. Diese Einstellung ist nicht erforderlich, kann jedoch einige automatisierte Angriffe stoppen, die auf den Namen der Standarddatenbanktabellen basieren. Belassen Sie diesen Wert auf dem Standardwert "+ null", es sei denn, Sie möchten ein benutzerdefiniertes Präfix hinzufügen.

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

Schließen Sie und speichern Sie die Datei.

Verwenden Sie jetzt "+ artisan migrate ", um MySQL mit dem Standard-Datenbankschema von Snipe-IT zu füllen. Dieser Befehl weist Laravel an, eine https://laravel.com/docs/5.5/migrations[database migration] unter Verwendung der in ` / var / www // html / database / migrations / +` enthaltenen Dateien durchzuführen.

sudo php artisan migrate

Wenn Sie dazu aufgefordert werden, geben Sie "+ yes +" ein, um zu bestätigen, dass Sie die Migration durchführen möchten.

In der Ausgabe wird der Name jeder durchgeführten Migration in Echtzeit angezeigt.

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

Verwenden Sie abschließend + artisan key: generate +, um einen Anwendungsschlüssel für Ihre Installation zu erstellen. Laravel schreibt den Wert des Schlüssels in die Zeile "+ APP_KEY " in der Datei " .env +" und Snipe-IT verwendet den Schlüssel zum Ver- und Entschlüsseln von Daten wie Sitzungstoken.

php artisan key:generate

Geben Sie bei Aufforderung erneut "+ yes +" ein, um zu bestätigen, dass Sie den Anwendungsschlüssel generieren möchten.

Wenn Sie fertig sind, zeigt die Ausgabe den generierten Schlüssel an und teilt Ihnen mit, dass der Wert in die Datei + .env + geschrieben wurde.

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.

Nach Abschluss der Installation und Konfiguration ist es an der Zeit, Nginx für Snipe-IT zu ändern.

Schritt 3 - Konfigurieren von Nginx

Bevor Sie Snipe-IT in Ihrem Webbrowser aufrufen können, müssen Sie zunächst Nginx auf das Stammverzeichnis der Snipe-IT-Webanwendung verweisen und eingehende Anforderungen an den Anforderungshandler von Snipe-IT umleiten.

Öffnen Sie zunächst die Konfigurationsdatei, die Sie für den Nginx-Serverblock von Snipe-IT erstellt haben.

sudo nano /etc/nginx/sites-available/

Suchen Sie nach der Anweisung, mit der das Stammverzeichnis des Serverblocks festgelegt wird.

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

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

Die Webanwendungsdateien von Snipe-IT befinden sich im Verzeichnis "+ public ", das beim Klonen des Projekts von GitHub automatisch erstellt wurde. Ändern Sie Nginx so, dass " public +" als Stammverzeichnis dieses Serverblocks verwendet wird.

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

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

Suchen Sie als Nächstes den Standardspeicherortblock:

/ etc / nginx / sites-enabled / snipe-it

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

Ändern Sie diesen Block, um alle Anforderungen zur Verarbeitung an den Anforderungshandler von Snipe-IT zu übergeben.

/ etc / nginx / sites-enabled / snipe-it

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

Speichern und schließen Sie die Datei.

Testen Sie Ihre neue Konfiguration, bevor Sie Nginx neu starten.

sudo nginx -t

Die Ausgabe sollte anzeigen, dass Ihre + Syntax ok + ist. Wenn dies nicht der Fall ist, befolgen Sie die Anweisungen auf dem Bildschirm, um weitere Hilfe zu erhalten.

Starten Sie nun Nginx neu, um die Änderungen zu übernehmen.

sudo systemctl reload nginx

Stellen Sie abschließend sicher, dass Nginx wieder funktioniert.

sudo systemctl status nginx

Die Ausgabe sollte anzeigen, dass der Dienst "+ aktiv (läuft) +" ist. Wenn dies nicht der Fall ist, wiederholen Sie die vorherigen Schritte, um das Problem zu beheben, bevor Sie fortfahren

Nachdem Nginx vollständig konfiguriert ist, melden Sie sich beim Web-Setup-Dienstprogramm von Snipe-IT an, um die Installation abzuschließen.

Schritt 4 - Einrichten von Snipe-IT mit dem Pre-Flight-Dienstprogramm

Zeigen Sie mit Ihrem Webbrowser auf "+ https: // +", um die Installation abzuschließen. Hiermit gelangen Sie zu * Schritt 1 * des * Pre-Flight-Dienstprogramms * von Snipe-IT, in dem Snipe-IT einen kurzen Test Ihrer Installation durchführt, um sicherzustellen, dass alles richtig konfiguriert ist.

Auf diesem Bildschirm sehen Sie eine Tabelle, in der jede von * Pre-Flight * getestete Einstellung, das Testergebnis der Einstellung und ein kurzer Hinweis zur Beschreibung der Einstellung aufgeführt sind. Ein grünes Häkchen in der Spalte * Gültig * zeigt an, dass die Einstellung korrekt war. Wenn eine Einstellung in Pink markiert und mit einem roten * X * in der Spalte * Gültig * markiert ist, liegt ein Problem mit dieser Einstellung vor. Befolgen Sie die Anweisungen von Snipe-IT zur Behebung des Problems, bevor Sie fortfahren.

Da wir Snipe-IT nicht für E-Mail konfiguriert haben, können Sie auf die blaue Schaltfläche * Weiter: Datenbanktabellen erstellen * in der unteren rechten Ecke des Bildschirms klicken, um die Installation jetzt fortzusetzen.

image: http: //assets.digitalocean.com/articles/how-to-install-snipe-it/pre-flight-configuration-check2.png [Snipe-IT Pre-Flight: Konfigurationsprüfung]

In * Schritt 2 * von * Pre-Flight * überprüft Snipe-IT Ihre Datenbank und führt bei Bedarf eine Migration durch. Da Sie bereits eine manuelle Datenbankmigration mit dem Link "+ artisan +" durchgeführt haben: # step-3-% E2% 80% 94-configuration-nginx [Schritt 3 dieses Tutorials], gibt * Pre-Flight * an, dass die Datenbank vorhanden ist ist * bereits eingerichtet * und es gibt * nichts zu migrieren *.

Drücken Sie die blaue Schaltfläche * Weiter: Benutzer erstellen * in der unteren rechten Ecke des Bildschirms.

image: http: //assets.digitalocean.com/articles/how-to-install-snipe-it/pre-flight-create-database-tables.png [Snipe-IT Pre-Flight: Datenbanktabellen erstellen]

In * Schritt 3 * von * Pre-Flight * fordert Snipe-IT Sie auf, einige allgemeine Anwendungseinstellungen einzugeben und Ihr erstes Administratorkonto zu erstellen.

Geben Sie in das Feld * Site Name * die Bezeichnung ein, die Snipe-IT oben auf jedem Bildschirm anzeigen soll. Dies könnte der Name Ihres Unternehmens sein, oder es könnte sogar etwas aussagekräftigeres sein, wie * Sammys Asset Management *.

Geben Sie im Feld * E-Mail-Domäne * die Domäne ein, die Snipe-IT für ausgehende E-Mails verwenden soll, und wählen Sie im Feld * E-Mail-Format * aus, wie Snipe-IT den Header * An: * in ausgehenden Nachrichten formatieren soll .

Geben Sie Ihren Namen in die Felder * Vorname * und * Nachname * und Ihre E-Mail-Adresse in das Feld * E-Mail * ein.

Geben Sie abschließend den Benutzernamen, den Sie Ihrem Konto zuordnen möchten, in das Feld "Benutzername" ein und das Passwort, das Sie verwenden möchten, in das Feld "Passwort". Stellen Sie sicher, dass Sie dasselbe Passwort in das Feld * Confirm Password * (Passwort bestätigen) eingeben und notieren Sie sich Ihre Anmeldeinformationen, bevor Sie fortfahren. Sie benötigen beide, um sich bei Snipe-IT anzumelden.

Da Sie dieses Konto für sich selbst erstellen, können Sie * meine Anmeldeinformationen per E-Mail an die oben angegebene E-Mail-Adresse senden * nicht aktivieren.

Klicken Sie auf die blaue Schaltfläche * Weiter: Benutzer speichern * in der unteren rechten Ecke des Bildschirms, sobald Sie alle Informationen eingegeben haben.

image: http: //assets.digitalocean.com/articles/how-to-install-snipe-it/pre-flight-create-admin-user.png [Snipe-IT Pre-Flight: Administrator erstellen]

In * Schritt 4 * von * Pre-Flight * speichert Snipe-IT die soeben eingegebenen allgemeinen Anwendungseinstellungen, erstellt den neuen Administrator und meldet Sie beim Haupt-Dashboard an.

image: http: //assets.digitalocean.com/articles/how-to-install-snipe-it/default-dashboard.png [Snipe-IT: Standard-Admin-Dashboard]

Zu diesem Zeitpunkt ist Ihre Installation abgeschlossen und Sie können mit Snipe-IT beginnen, um die IT-Ressourcen Ihrer Kunden zu verwalten.

Fazit

In diesem Artikel richten Sie den LEMP-Stack ein, sichern Nginx mit einem Let’s Encrypt TLS / SSL-Zertifikat, installieren und konfigurieren Snipe-IT, erstellen ein Administratorkonto und melden sich beim Snipe-IT-Haupt-Dashboard an.

Informationen zum Hinzufügen und Bearbeiten von Assets zu Snipe-IT finden Sie im offiziellen Handbuch zum Verwalten von Assets unter https://snipe-it.readme.io/docs/managing-assets.

Informationen zum Arbeiten mit Benutzerkonten in Snipe-IT finden Sie unter die offizielle Dokumentation zum Verwalten von Benutzern.

Bei weiteren Fragen lesen Sie bitte das offizielle Snipe-IT-Benutzerhandbuch.