[[Vorlage(Getestet, bionic)]] [[Vorlage(Fortgeschritten, )]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Rechte: Rechte für Dateien und Ordner ändern] [:mit_Root-Rechten_arbeiten: Mit Root-Rechten arbeiten] [:LAMP: Einen Lamp-Server installieren] [:Git: Mit Git arbeiten] }}} [[Inhaltsverzeichnis]] [https://snipeitapp.com/ Snipe-IT] {en} ist ein auf [wikipedia:Laravel:Laravel] basierendes, unter [wikipedia:GNU Affero General Public License: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: {{{#!vorlage Paketinstallation 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 == [[Vorlage(Fremd, Software)]] Snipe-IT ist nicht in den offiziellen Paketquellen enthalten, sondern wird über GitHub zur Verfügung gestellt. {{{#!vorlage Befehl 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. {{{#!vorlage Befehl 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. {{{#!vorlage Befehl 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: {{{#!vorlage Befehl sudo cp .env.example .env sudo php artisan key:generate > yes }}} Der Schlüssel wird von artisan automatisch in .env geschrieben. {{{#!vorlage 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. {{{#!code php 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 == {{{#!vorlage Befehl 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. {{{#!code apache ServerAdmin admin@example.com Require all granted AllowOverride all DocumentRoot /var/www/html/snipeit/public ServerName snipe ErrorLog /var/log/apache2/snipe.error.log CustomLog /var/log/apache2/access.log combined }}} Abschließend werden die Seite für Apache aktiviert, die Default-Seite deaktiviert und Module in Apache und PHP geladen: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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. {{{#!vorlage 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 [wikipedia:FQDN: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. {{{#!vorlage Befehl 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. {{{#!vorlage Befehl 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. {{{#!vorlage Befehl sudo rm -rf /var/www/html/snipe sudo rm -rf /home/USER/.composer sudo a2ensite 000-default.conf sudo systemctl restart apache2 }}} = Links = * [https://snipeitapp.com/ Projektseite] {en} * [https://snipe-it.readme.io/docs Dokumentation] {en} * [https://github.com/snipe/snipe-it GitHub-Repository] {en} #tag: Büro, Dokumentation, Netzwerk, Server