Snipe-IT è un'applicazione Web di gestione delle risorse IT gratuita e open source che può essere utilizzata per tenere traccia di licenze, accessori, materiali di consumo e componenti. È scritto in linguaggio PHP e utilizza MySQL per memorizzare i suoi dati. È un'applicazione multipiattaforma che funziona su tutti i principali sistemi operativi come Linux, Windows e Mac OS X. Si integra facilmente con Active Directory, LDAP e supporta l'autenticazione a due fattori con Google Authenticator.
In questo tutorial impareremo come installare Snipe-IT sul server Debian 9.
Requisiti
- Un server che esegue Debian 9.
- Un utente non root con privilegi sudo.
Per iniziare
Prima di installare qualsiasi pacchetto, si consiglia di aggiornare il pacchetto di sistema con l'ultima versione. Puoi farlo eseguendo il seguente comando:
sudo apt-get update -y
sudo apt-get upgrade -y
Quindi, riavvia il sistema per applicare tutti gli aggiornamenti. Quindi installa altri pacchetti richiesti con il seguente comando:
sudo apt-get install git curl unzip wget -y
Una volta installati tutti i pacchetti, puoi procedere al passaggio successivo.
Installa il server LAMP
Snipe-IT funziona sul server Web Apache, quindi dovrai installare LAMP (Apache, MariaDB, PHP) sul tuo sistema.
Innanzitutto, installa Apache, PHP e altre librerie PHP con il seguente comando:
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
Una volta installati tutti i pacchetti, avvia il servizio Apache e abilitalo all'avvio all'avvio con il seguente comando:
sudo systemctl start apache2
sudo systemctl enable apache2
Installa e configura MariaDB
Snipe-IT utilizza MariaDB per archiviare i propri dati. Quindi dovrai installare MariaDB sul tuo sistema. Per impostazione predefinita, l'ultima versione di MariaDB non è disponibile nel repository Debian 9. Quindi dovrai installare il repository MariaDB sul tuo sistema.
Innanzitutto, aggiungi la chiave APT con il seguente comando:
sudo apt-get install software-properties-common dirmngr -y
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
Quindi, aggiungi il repository MariaDB usando il seguente comando:
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.1/debian stretch main'
Quindi, aggiorna il repository con il seguente comando:
sudo apt-get update -y
Una volta aggiornato il repository, puoi installare MariaDB con il seguente comando:
sudo apt-get install mariadb-server mariadb-client -y
Quindi, avvia il servizio MariaDB e abilitalo all'avvio all'avvio con il seguente comando:
sudo systemctl start mysql
sudo systemctl enable mysql
Puoi controllare lo stato del server MariaDB con il seguente comando:
sudo systemctl status mysql
Se tutto va bene, dovresti vedere il seguente output:
? 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.
Quindi, proteggi il tuo MariaDB eseguendo il seguente script:
sudo mysql_secure_installation
Rispondi a tutte le domande come mostrato di seguito:
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
Una volta che MariaDB è sicuro, accedi alla shell di MariaDB con il seguente comando:
mysql -u root -p
Inserisci la tua password di root quando richiesto, quindi crea un database per Snipe-IT con il seguente comando:
MariaDB [(none)]> create database snipeitdb character set utf8;
Quindi, crea un utente per Snipe-IT e concedi tutti i privilegi a Snipe-IT con il seguente comando:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON snipeitdb.* TO 'snipeit'@'localhost' IDENTIFIED BY 'password';
Quindi, svuota i privilegi con il seguente comando:
MariaDB [(none)]> flush privileges;
Infine, esci dalla console di MariaDB usando il seguente comando:
MariaDB [(none)]> quit
Installa Snipe-IT
Puoi scaricare l'ultima versione di Snipe-IT dal repository Git con il seguente comando:
git clone https://github.com/snipe/snipe-it snipe-it
Quindi, sposta la directory scaricata nella directory principale di Apache con il seguente comando:
sudo mv snipe-it /var/www/
Successivamente, dovrai installare Composer sul tuo sistema. Puoi installarlo con il seguente comando:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Quindi, cambia la directory in snipe-it e installa le dipendenze PHP usando Composer con il seguente comando:
cd /var/www/snipe-it
sudo composer install --no-dev --prefer-source
Successivamente, genera la "APP_Key" con il seguente comando:
sudo php artisan key:generate
Dovresti vedere il seguente output:
************************************** * Application In Production! * ************************************** Do you really wish to run this command? (yes/no) [no]: > yes Application key [base64:uWh7O0/TOV10asWpzHc0DH1dOxJHprnZw2kSOnbBXww=] set successfully.
Successivamente, dovrai popolare MySQL con lo schema del database predefinito di Snipe-IT. Puoi farlo eseguendo il seguente comando:
sudo php artisan migrate
Digita yes, quando ti viene chiesto di confermare che desideri eseguire la migrazione:
************************************** * Application In Production! * ************************************** Do you really wish to run this command? (yes/no) [no]: > yes Migration table created successfully.
Quindi, copia il file .env di esempio e apporta alcune modifiche:
sudo cp .env.example .env
sudo nano .env
Modifica le seguenti righe:
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'
Salva e chiudi il file quando hai finito.
Quindi, fornisci la proprietà appropriata e le autorizzazioni per i file con il comando seguente:
sudo chown -R www-data:www-data storage public/uploads
sudo chmod -R 755 storage public/uploads
Configura Apache per Snipe-IT
Successivamente, dovrai creare una direttiva host virtuale apache per Snipe-IT. Puoi farlo creando snipeit.conf
file all'interno di /etc/apache2/sites-available
directory:
sudo nano /etc/apache2/sites-available/snipeit.conf
Aggiungi le seguenti righe:
<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>
Salva e chiudi il file quando hai finito. Quindi, abilita l'host virtuale con il seguente comando:
sudo a2ensite snipeit.conf
Quindi, abilita PHP mcrypt, mbstring module e Apache rewrite module con il seguente comando:
sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo a2enmod rewrite
Infine, riavvia il server web di Apache per applicare tutte le modifiche:
sudo systemctl restart apache2
Configura Firewall
Per impostazione predefinita, Snipe-IT viene eseguito sulla porta 80, quindi dovrai consentire la porta 80 attraverso il firewall. Per impostazione predefinita, il firewall UFW non è installato in Debian 9, quindi dovrai prima installarlo. Puoi installarlo semplicemente eseguendo il seguente comando:
sudo apt-get install ufw -y
Una volta installato UFW, abilitalo all'avvio all'avvio con il seguente comando:
sudo ufw enable
Quindi, consenti la porta 80 usando il seguente comando:
sudo ufw allow 80
Quindi, ricarica la regola del firewall UFW con il seguente comando:
sudo ufw reload
Accedi a Snipe-IT
Ora tutto è installato e configurato, è ora di accedere all'interfaccia web di Snipe-IT.
Apri il tuo browser web e digita l'URL http://example.com, verrai reindirizzato alla seguente pagina:
La pagina precedente eseguirà un controllo del sistema per assicurarsi che la configurazione sia corretta. Quindi, fai clic su Crea tabella database pulsante dovresti vedere la seguente pagina:
Qui, fai clic su Crea utente pagina, dovresti vedere la seguente pagina:
Qui, fornisci il nome del sito, il nome di dominio, il nome utente amministratore e la password, quindi fai clic su Salva utente pulsante, dovresti vedere la dashboard predefinita di Snipe-IT come di seguito:
Conclusione
Nel tutorial sopra, abbiamo imparato a installare Snipe-IT sul server Debian 9. Abbiamo anche imparato a configurare Snipe-IT tramite l'interfaccia web. Spero che ora tu abbia abbastanza conoscenze per implementare Snipe-IT nel tuo ambiente di produzione. Per ulteriori informazioni puoi fare riferimento alla Pagina della documentazione di Snipe-IT.