Snipe-IT
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Artikel für fortgeschrittene Anwender
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Snipe-IT 🇬🇧 ist ein auf Laravel basierendes, unter AGPL lizenziertes und in aktiver Entwicklung befindliches Inventarisierungssystem für Hardware, Zubehör, Bauteile, Verbrauchsmaterial und Softwarelizenzen, das sich speziell an größere IT-Umgebungen richtet. Durch die integrierte Anbindung an LDAP lassen sich leicht die Nutzer größerer Domänen im System importieren, so dass Geräte durch die Nutzer angefordert und ihnen zugewiesen werden können.
Installation¶
Abhängigkeiten installieren¶
Die Abhängigkeiten mit PHP Version >= 7.1.2 kann man direkt aus den Quellen installieren:
apache2
libapache2-mod-php7.2
php7.2
php7.2-mysql
mysql-server
git
composer
unzip
mcrypt
php-curl
php-gd
php-ldap
php-zip
php-mbstring
php-xml
php-bcmath
Befehl zum Installieren der Pakete:
sudo apt-get install apache2 libapache2-mod-php7.2 php7.2 php7.2-mysql mysql-server git composer unzip mcrypt php-curl php-gd php-ldap php-zip php-mbstring php-xml php-bcmath
Oder mit apturl installieren, Link: apt://apache2,libapache2-mod-php7.2,php7.2,php7.2-mysql,mysql-server,git,composer,unzip,mcrypt,php-curl,php-gd,php-ldap,php-zip,php-mbstring,php-xml,php-bcmath
Download¶
Hinweis!
Fremdsoftware kann das System gefährden.
Snipe-IT ist nicht in den offiziellen Paketquellen enthalten, sondern wird über GitHub zur Verfügung gestellt.
cd /var/www/html sudo git clone https://github.com/snipe/snipe-it snipeit cd snipeit
PHP-Abhängigkeiten installieren¶
Composer ist die Paketverwaltung von PHP, die an dieser Stelle weitere fehlende Abhängigkeiten installieren wird. Dies kann je nach System und Downloadgeschwindigkeit einige Minuten dauern. Composer wird an dieser Stelle vor der Nutzung mit root-Privilegien warnen. Falls auf dem System ein User mit Schreibrechten für /var/www/html/ existiert, sollte die Installation ohne root-Privilegien auch in dessen Sicherheitskontext möglich sein.
sudo composer install --no-dev --prefer-source
Einrichtung der MySQL-Datenbank¶
In den folgenden Befehlen ist PASSWORT durch ein selbst gewähltes Passwort zu ersetzen.
sudo mysql > create database snipeit; > GRANT ALL ON *.* TO 'snipeit'@'localhost' IDENTIFIED BY 'PASSWORT'; > flush privileges; > \q
Anpassen der .env-Datei¶
Zunächst wird die als Beispiel mitgelieferte Konfigurationsdatei für den Produktivbetrieb kopiert und ein Anwendungsschlüssel für Laravel generiert:
sudo cp .env.example .env sudo php artisan key:generate > yes
Der Schlüssel wird von artisan automatisch in .env geschrieben.
Hinweis:
Es empfiehlt sich, den Schlüssel an einem sicheren Ort zu speichern, beispielsweise einem Passwortmanager, da nur mit Kenntnis dieses Schlüssels verschlüsselte Felder in der Datenbank gelesen werden können.
Nun wird die .env-Datei mit einem Texteditor geöffnet und angepasst. Hierbei sind für den Betrieb zunächst nur die unten genannten fünf Zeilen zu ändern.
1 2 3 4 5 6 | APP_URL= # Hostname oder IP-Adresse des Servers ohne Leerzeichen direkt hinter dem '=' eintragen APP_TIMEZONE DB_DATABASE=snipeit DB_USERNAME=snipeit DB_PASSWORD= # an dieser Stelle wird das zuvor in der MySQL-Konfiguration hinterlegte Passwort eingetragen |
Berechtigungen setzen¶
sudo chown -R www-data:www-data * sudo chmod -R 755 storage sudo chmod -R 755 public/uploads
Konfiguration von Apache¶
Die Datei /etc/apache2/sites-available/snipe.conf ist mit einem Editor mit Root-Rechten zu bearbeiten.
1 2 3 4 5 6 7 8 9 10 11 | <VirtualHost *:80> ServerAdmin admin@example.com <Directory /var/www/html/snipeit/public> Require all granted AllowOverride all </Directory> DocumentRoot /var/www/html/snipeit/public ServerName snipe ErrorLog /var/log/apache2/snipe.error.log CustomLog /var/log/apache2/access.log combined </VirtualHost> |
Abschließend werden die Seite für Apache aktiviert, die Default-Seite deaktiviert und Module in Apache und PHP geladen:
sudo a2ensite snipe.conf sudo a2dissite 000-default.conf sudo a2enmod rewrite sudo phpenmod mbstring
Nach einem Neustart von Apache steht Snipe-IT für die Erstkonfiguration zur Verfügung:
sudo systemctl restart apache2
Update¶
Auf GitHub wird die jeweils aktuelle stable-Version von SnipeIT angeboten. Ein git pull inklusive weiterer, andernfalls manuell auszuführender Schritte, wird durch den folgenden Befehl ausgeführt:
php upgrade.php
Konfiguration¶
Erste Schritte¶
Nach dem Neustart von Apache2 ist der Server mit seiner IP-Adresse oder unter seinem Hostnamen erreichbar. Das System prüft die Konfiguration auf Richtigkeit und gibt gegebenenfalls Hinweise. Um danach die Datenbanktabellen zu befüllen, ist der Button "Create databases" zu klicken.
Hinweis:
Aktuell (Version v4.7.5 - build 4118) wirft Snipe-IT nach dem Erstellen der Tabellen eine Fehlermeldung und gibt an, dass die Tabellen nicht erstellt wurden. Wird die Seite anschließend einmal neu geladen stellt das System allerdings fest, dass alle Tabellen vorhanden sind und zum nächsten Schritt übergegangen werden kann.
Danach können der Name des Systems sowie grundlegende Einstellungen für die Benutzerkonten festgelegt und der Admin-Account angelegt werden. Anschließend ist Snipe-IT einsatzbereit und lädt das Dashboard.
Abschalten externer Scripte¶
Ab Werk lädt Snipe-IT Javascript von Drittservern nach, um die Zugriffszeiten zu verbessern. Dies kann (etwa bei Datenschutzbedenken aufgrund des Serverstandortes der Drittserver) unter "Allgemeine Einstellungen" deaktiviert werden.
LDAP¶
Snipe-IT lässt sich über LDAP an einen Verzeichnisdienst anbinden, um auf vorhandene Benutzeraccounts zurückzugreifen. Hierdurch müssen einerseits nicht zwei deckungsgleiche Datensätze parallel gepflegt werden, sondern es ist für alle Benutzer auch möglich, sich mit dem eigenen im Verzeichnisdienst hinterlegten Passwort anzumelden.
Durch Klick auf das Zahnradsymbol in der oberen rechten Ecke wird das Konfigurationsmenü aufgerufen und dort der Unterpunkt "LDAP" gewählt. Die dort vorausgefüllten bzw. mit hellgrauen Platzhaltern belegten Felder sind gute Vorschläge, die übernommen werden können.
Verwendung¶
SnipeIT hat zwei wesentliche Steuerbereiche. Die Leiste am oberen Rand stellt Verweise zu allen Kategorien und die Option, neue Objekte in den jeweiligen Kategorien anzulegen zur Verfügung, bietet außerdem eine Suchfunktion für Inventarnummern und Zugriff auf das eigene Konto und die Systemeinstellungen. Am linken Rand bietet zusätzlich den Zugriff auf Berichte und die Möglichkeit, größere Datensätze zu importieren, verzichtet aber auf die Kontoverwaltung.
Kategorien¶
Die Kategorien sind Assets (zum Beispiel Laptops, Drucker, Bildschirme et cetera), Lizenzen, Zubehör (beispielsweise Tastaturen, Mäuse, Headsets), Verbrauchsmaterial (Toner, Druckpapier) und Komponenten (Grafikkarten, RAM).
Anlegen neuer Datensätze¶
Die Datensätze in Snipe-IT bauen zum Teil hierarchisch aufeinander auf. Soll beispielsweise ein neues Asset "ThinkPad X1" inventarisiert werden, so müssen zunächst unter Einstellungen → Hersteller Lenovo, unter Einstellungen → Kategorien Laptop und schließlich unter Einstellungen → Modellbezeichnungen ThinkPad X1 angelegt sein, wobei in der Modellbezeichnung bereits Hersteller und Kategorie referenziert werden.
Einige der Listen, etwa Hersteller, sind global verfügbar, so könnte beispielsweise der Hersteller Microsoft sowohl bei Laptops als auch bei Softwarelizenzen vermerkt werden.
Herausgabe¶
In den jeweiligen Kategorien können einzelne Assets, Lizenzen usw. durch Klick auf "Herausgeben" ausgegeben werden - wobei im Einzelfall entschieden werden kann, an wen oder was herausgegeben wird. Während beispielsweise ein Laptop direkt an einen User gebucht werden kann, ergibt es bei einem großformatigen Drucker eher Sinn, ihn an einen Standort zu buchen. Ebenso können Softwarelizenzen je nach Lizenzbedingungen entweder an einzelne User oder an Geräte ausgegeben werden.
Nutzungsbeispiel¶
Um die Handhabung von Snipe-IT anschaulich zu machen werden einige wesentliche Anwendungsvorgänge beispielhaft dargestellt. Um den Schritten leichter folgen zu können ist es empfohlen, das Menü auf der linken Seite mit Klick auf die drei waagerechten Striche in der oberen linken Ecke auszuklappen.
Die Annahme ist, dass eine neue, mit grundlegender Infrastruktur ausgestattete Zweigstelle in Hamburg eröffnet wurde, die zwei Mitarbeiter Beate Beispiel und Emil Exempel angestellt und mit Hard- und Software versorgt werden, in diesem Fall je ein Lenovo ThinkPad X1 und eine Lizenz für Office 365 Business Essentials sowie ein WD My Cloud NAS für das Büro.
Anlegen des Standortes und der Nutzerkonten¶
Per Klick auf Einstellungen → Standorte und anschließend Hinzufügen wird zunächst die neue Zweigstelle angelegt. Verpflichtend ist nur ein Name, die Angaben zur Adresse sind je nach Bedarf zu setzen. Sobald gespeichert wird, steht der neue Standort zur Verfügung.
Mit Klick auf Personen wird die Nutzerverwaltung aufgerufen. Accounts können hier jederzeit manuell angelegt werden, auch wenn eine Synchronisation mit einem LDAP-Server eingerichtet wurde. Wird der Haken Active im unteren Bereich des Menüs entfernt, kann der User sich nicht einloggen, um etwa verfügbare Hardware anzufordern. Das Zuweisen von Hardware und Lizenzen zur Dokukmentation ist dennoch möglich.
Ebenfalls im unteren Bildschirmbereich können die neuen Accounts schon beim Erstellen einem beliebigen Standort zugewiesen werden. Die beiden neuen Accounts werden dem Standort Hamburg zugewiesen.
Anlegen von Assets und Lizenzen¶
Über Einstellungen → Hersteller können Hersteller hinterlegt werden, die später für Assets, Lizenzen und Zubehör zur Verfügung stehen. Es werden die Hersteller Lenovo, Microsoft und WD hinterlegt. Danach werden unter Einstellungen → Kategorien die neuen Kategorien Laptop und NAS jeweils vom Typ Asset und die Kategorie Groupware vom Typ Lizenz angelegt.
Unter Einstellungen → Modellbezeichnungen werden Hardwaremodelle eingetragen. Über Hinzufügen werden das ThinkPad und das NAS angelegt und den jeweiligen Herstellern und Kategorien zugewiesen.
Die Geräte können nun als Assets angelegt werden. Per Klick auf Hinzufügen und Auswahl von Assets im Dropdownmenü in der oberen Leiste wird dies erledigt. Die Asset ID entspricht hierbei der Inventarnummer. Wird der Status auf Ready to deploy gesetzt erscheint eine neue Zeile, in der die Assets zugewiesen werden können. Je ein Laptop wird nun jedem der beiden User zugewiesen, das NAS wird auf den Standort Hamburg gebucht. Eine Zuweisung muss an dieser Stelle nicht erfolgen, das Gerät bleibt dann im Zustand Ready to deploy verfügbar.
Über Hinzufügen → Lizenz wird die Groupwarelizenz in korrekter Anzahl angelegt und nach dem Klick auf Speichern über den Button Herausgeben den Usern zugewiesen.
Geräte und Softwarelizenzen sind nun korrekt zugeteilt.
Problembehebung¶
Der LDAP-Sync kann den Server nicht finden¶
Wenn der LDAP-Server mit seinem FQDN nach dem Schema ldaps://dc.example.com hinterlegt ist, kann es vorkommen, dass der Name nicht korrekt aufgelöst ist. Hier hilft es, stattdessen nur den Hostnamen einzutragen: ldaps://dc
Snipe-IT ist auf Deutsch gestellt, aber alle Inhalte werden auf Englisch angezeigt¶
Mit Klick auf den eigenen Usernamen oben rechts lässt sich das Profil bearbeiten und die Sprache für den eigenen Account unabhängig von den Systemeinstellungen auswählen.
Deinstallation¶
Da Snipe-IT an der Paketverwaltung vorbei installiert wurde, ist auch die Deinstallation ein manueller Prozess.
Zuerst werden der Apache2 angehalten, die Seite deaktiviert und die Konfiguration gelöscht.
sudo systemctl stop apache2 sudo a2dissite snipe.conf sudo rm /etc/apache2/sites-available/snipe.conf
Im zweiten Schritt wird die Datenbank in MySQL gelöscht.
sudo mysql > drop database snipeit; > drop user 'snipeit'@'localhost'; > \q
Danach werden das Arbeitsverzeichnis von Snipe-IT und das versteckte Verzeichnis von Composer gelöscht, wobei im Folgenden USER durch den Usernamen, in dessen Kontext Composer zuvor eingerichtet wurde, zu ersetzen ist. Zu guter Letzt wird die Standard-Website von Apache wieder aktiviert und der Webserver neu gestartet.
sudo rm -rf /var/www/html/snipe sudo rm -rf /home/USER/.composer sudo a2ensite 000-default.conf sudo systemctl restart apache2
Links¶