Snipe-IT je bezplatná a open source webová aplikace pro správu aktiv IT, kterou lze použít ke sledování licencí, příslušenství, spotřebního materiálu a komponent. Je napsán v jazyce PHP a k ukládání dat používá MySQL. Jedná se o multiplatformní aplikaci, která funguje na všech hlavních operačních systémech, jako je Linux, Windows a Mac OS X. Snadno se integruje s Active Directory, LDAP a podporuje dvoufaktorové ověřování pomocí Google Authenticator.
V tomto tutoriálu se naučíme, jak nainstalovat Snipe-IT na server Debian 9.
Požadavky
- Server se systémem Debian 9.
- Uživatel bez oprávnění root s právy sudo.
Začínáme
Před instalací jakýchkoli balíčků se doporučuje aktualizovat systémový balíček na nejnovější verzi. Můžete to provést spuštěním následujícího příkazu:
sudo apt-get update -y
sudo apt-get upgrade -y
Poté restartujte systém, aby byly použity všechny aktualizace. Poté nainstalujte další požadované balíčky pomocí následujícího příkazu:
sudo apt-get install git curl unzip wget -y
Jakmile jsou všechny balíčky nainstalovány, můžete přejít k dalšímu kroku.
Instalovat LAMP Server
Snipe-IT běží na webovém serveru Apache, takže budete muset do svého systému nainstalovat LAMP (Apache, MariaDB, PHP).
Nejprve nainstalujte Apache, PHP a další knihovny PHP pomocí následujícího příkazu:
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
Jakmile jsou všechny balíčky nainstalovány, spusťte službu Apache a povolte její spuštění při spouštění pomocí následujícího příkazu:
sudo systemctl start apache2
sudo systemctl enable apache2
Instalace a konfigurace MariaDB
Snipe-IT používá MariaDB k ukládání svých dat. Takže budete muset nainstalovat MariaDB do vašeho systému. Ve výchozím nastavení není nejnovější verze MariaDB k dispozici v úložišti Debian 9. Budete tedy muset do svého systému nainstalovat úložiště MariaDB.
Nejprve přidejte klíč APT pomocí následujícího příkazu:
sudo apt-get install software-properties-common dirmngr -y
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
Dále přidejte úložiště MariaDB pomocí následujícího příkazu:
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.1/debian stretch main'
Dále aktualizujte úložiště pomocí následujícího příkazu:
sudo apt-get update -y
Jakmile je úložiště aktualizováno, můžete nainstalovat MariaDB pomocí následujícího příkazu:
sudo apt-get install mariadb-server mariadb-client -y
Dále spusťte službu MariaDB a povolte její spuštění při spouštění pomocí následujícího příkazu:
sudo systemctl start mysql
sudo systemctl enable mysql
Stav serveru MariaDB můžete zkontrolovat pomocí následujícího příkazu:
sudo systemctl status mysql
Pokud je vše v pořádku, měli byste vidět následující výstup:
? 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.
Dále zabezpečte MariaDB spuštěním následujícího skriptu:
sudo mysql_secure_installation
Odpovězte na všechny otázky, jak je uvedeno níže:
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
Jakmile je MariaDB zabezpečená, přihlaste se do prostředí MariaDB pomocí následujícího příkazu:
mysql -u root -p
Po zobrazení výzvy zadejte heslo uživatele root a poté vytvořte databázi pro Snipe-IT pomocí následujícího příkazu:
MariaDB [(none)]> create database snipeitdb character set utf8;
Dále vytvořte uživatele pro Snipe-IT a udělte Snipe-IT všechna oprávnění pomocí následujícího příkazu:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON snipeitdb.* TO 'snipeit'@'localhost' IDENTIFIED BY 'password';
Dále vyprázdněte oprávnění pomocí následujícího příkazu:
MariaDB [(none)]> flush privileges;
Nakonec ukončete konzolu MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> quit
Instalovat Snipe-IT
Nejnovější verzi Snipe-IT si můžete stáhnout z úložiště Git pomocí následujícího příkazu:
git clone https://github.com/snipe/snipe-it snipe-it
Dále přesuňte stažený adresář do kořenového adresáře Apache pomocí následujícího příkazu:
sudo mv snipe-it /var/www/
Dále budete muset nainstalovat Composer do vašeho systému. Můžete jej nainstalovat pomocí následujícího příkazu:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Dále změňte adresář na snipe-it a pomocí následujícího příkazu nainstalujte závislosti PHP pomocí Composer:
cd /var/www/snipe-it
sudo composer install --no-dev --prefer-source
Dále vygenerujte "APP_Key" pomocí následujícího příkazu:
sudo php artisan key:generate
Měli byste vidět následující výstup:
************************************** * Application In Production! * ************************************** Do you really wish to run this command? (yes/no) [no]: > yes Application key [base64:uWh7O0/TOV10asWpzHc0DH1dOxJHprnZw2kSOnbBXww=] set successfully.
Dále budete muset naplnit MySQL výchozím schématem databáze Snipe-IT. Můžete to provést spuštěním následujícího příkazu:
sudo php artisan migrate
Po zobrazení výzvy k potvrzení, že chcete provést migraci, zadejte yes:
************************************** * Application In Production! * ************************************** Do you really wish to run this command? (yes/no) [no]: > yes Migration table created successfully.
Dále zkopírujte ukázkový soubor .env a proveďte v něm nějaké změny:
sudo cp .env.example .env
sudo nano .env
Změňte následující řádky:
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'
Po dokončení uložte a zavřete soubor.
Dále zadejte příslušné vlastnictví a oprávnění k souboru pomocí následujícího příkazu:
sudo chown -R www-data:www-data storage public/uploads
sudo chmod -R 755 storage public/uploads
Konfigurace Apache pro Snipe-IT
Dále budete muset vytvořit direktivu virtuálního hostitele Apache pro Snipe-IT. Můžete to udělat vytvořením snipeit.conf
soubor uvnitř /etc/apache2/sites-available
adresář:
sudo nano /etc/apache2/sites-available/snipeit.conf
Přidejte následující řádky:
<VirtualHost *:80> ServerAdmin [email protected] <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>
Po dokončení uložte a zavřete soubor. Poté povolte virtuálního hostitele pomocí následujícího příkazu:
sudo a2ensite snipeit.conf
Dále povolte PHP mcrypt, modul mbstring a modul pro přepis Apache pomocí následujícího příkazu:
sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo a2enmod rewrite
Nakonec restartujte webový server apache, abyste použili všechny změny:
sudo systemctl restart apache2
Konfigurovat bránu firewall
Ve výchozím nastavení běží Snipe-IT na portu 80, takže budete muset povolit port 80 přes bránu firewall. Ve výchozím nastavení není UFW firewall v Debianu 9 nainstalován, takže jej budete muset nejprve nainstalovat. Můžete jej nainstalovat pouhým spuštěním následujícího příkazu:
sudo apt-get install ufw -y
Jakmile je UFW nainstalováno, povolte jeho spuštění při spouštění pomocí následujícího příkazu:
sudo ufw enable
Dále povolte port 80 pomocí následujícího příkazu:
sudo ufw allow 80
Dále znovu načtěte pravidlo brány firewall UFW pomocí následujícího příkazu:
sudo ufw reload
Přístup ke Snipe-IT
Vše je nyní nainstalováno a nakonfigurováno, je čas vstoupit do webového rozhraní Snipe-IT.
Otevřete webový prohlížeč a zadejte adresu URL http://example.com, budete přesměrováni na následující stránku:
Výše uvedená stránka provede kontrolu systému, aby se ujistil, že vaše konfigurace vypadá správně. Dále klikněte na Vytvořit tabulku databáze měli byste vidět následující stránku:
Zde klikněte na Vytvořit uživatele stránku, měli byste vidět následující stránku:
Zde zadejte název svého webu, název domény, uživatelské jméno správce a heslo a poté klikněte na tlačítko Uložit uživatele měli byste vidět výchozí řídicí panel Snipe-IT, jak je uvedeno níže:
Závěr
Ve výše uvedeném tutoriálu jsme se naučili nainstalovat Snipe-IT na server Debian 9. Také jsme se naučili konfigurovat Snipe-IT prostřednictvím webového rozhraní. Doufám, že nyní máte dostatek znalostí pro nasazení Snipe-IT ve vašem produkčním prostředí. Další informace naleznete na stránce dokumentace Snipe-IT.