Comment installer Snipe-IT sur Ubuntu 16.04

introduction

Dans le secteur informatique, la gestion des actifs est le processus de suivi des actifs tout au long de leur cycle de vie, y compris l’acquisition, la maintenance, le stockage et la cession. Bien que les actifs spécifiques varient, l’accent est généralement mis sur des éléments individuels de matériel ou de logiciel, des licences et des ressources basées sur des fichiers, telles que des illustrations numériques.

Snipe-IT, une application gratuite et à source ouverte spécialement conçue pour la gestion des actifs informatiques, fournit une interface Web permettant de suivre les licences, les accessoires, les consommables et les composants. Snipe-IT inclut des comptes utilisateur dotés d’autorisations configurables au niveau du groupe, de capacités de création de rapports personnalisables et d’une API JSON REST permettant de se connecter à, de gérer et d’étendre Snipe-IT à partir d’applications en ligne de commande ou tierces.

Dans ce didacticiel, vous allez télécharger, installer et configurer Snipe-IT, puis vous allez créer un compte utilisateur administrateur pour vous connecter à Snipe-IT pour la première fois.

Conditions préalables

Pour compléter ce tutoriel, vous aurez besoin de:

  • Un serveur Ubuntu 16.04 a été configuré en suivant ce didacticiel Ubuntu 16.04, y compris un sudo non utilisateur root et un pare-feu.

  • La pile LEMP configurée de la manière suivante: ce guide d’installation de LEMP .

  • Les enregistrements DNS suivants configurés pour votre serveur. Vous pouvez suivre cien tutoriel sur les noms d’hôtes pour savoir comment les ajouter.

  • Un enregistrement A avec ++ pointant sur l’adresse IP publique de votre serveur.

  • Un enregistrement A avec + www. + Pointant vers l’adresse IP publique de votre serveur.

  • Nginx a sécurisé un certificat SSL en suivant https://www.digitalocean.com/community/tutorials/how-to-set-up-let-s-encrypt-with-nginx-server-blocks-on-ubuntu-16- 04 [tutoriel de cette configuration avec Encodage avec des blocs de serveur Nginx sur Ubuntu 16.04]. Assurez-vous de choisir l’option 2, + Redirect +, à l’étape 4 du didacticiel d’installation de Nginx, car cela fournira des redirections automatiques vers HTTPS sur votre installation Snipe-IT.

Étape 1 - Préparation du serveur

Avant de télécharger Snipe-IT, préparez le serveur en installant des bibliothèques PHP supplémentaires et en créant la base de données MySQL et la base de données que Snipe-IT utilisera pour stocker ses données.

Snipe-IT est construit sur le https://laravel.com [framework PHP Laravel] et nécessite donc le gestionnaire de dépendances Composer pour l’installation et la gestion de bibliothèques PHP supplémentaires.

Utilisez + apt-get pour installer` + composer` et + unzip, un utilitaire permettant d’extraire des fichiers d’archives Zip.

sudo apt-get install composer unzip

Ensuite, installez les modules PHP supplémentaires sur lesquels Snipe-IT s’appuie.

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

Les paquets supplémentaires fournissent PHP avec:

Maintenant, utilisez l’utilitaire + mysql de la ligne de commande pour vous connecter à MySQL en tant qu’utilisateur * root *.

mysql -u root -p

Créez un nouvel utilisateur MySQL nommé * snipeit * sur l’hôte local, + 127.0.0.1 +, et attribuez un mot de passe à l’utilisateur.

create user @127.0.0.1 identified by '';

Créez ensuite une base de données nommée + snipeitdb + où Snipe-IT stockera ses données.

create database ;

Accordez tous les privilèges sur toutes les tables de la base de données + snipeitdb + à l’utilisateur * snipeit *, de sorte que Snipe-IT ait le droit d’effectuer toute action requise sur la base de données.

grant all on .* to @127.0.0.1;

Enfin, activez les modifications en rechargeant les tables d’octroi avec la commande + flush privileges + et quittez l’utilitaire.

flush privileges;
exit;

Votre serveur dispose maintenant des bibliothèques PHP supplémentaires et de la base de données MySQL dont Snipe-IT a besoin pour fonctionner correctement. Laissons donc télécharger et configurer Snipe-IT lui-même.

Étape 2 - Téléchargement et configuration de Snipe-IT

Selon les instructions d’installation officielles https://snipe-it.readme.io/docs/downloading/11], vous utiliserez Git pour télécharger la dernière version de Snipe-IT. Puisque Git ne clone que dans des répertoires existants s’ils sont vides, utilisez + ls + pour afficher le contenu du répertoire que vous avez configuré pour le bloc serveur Nginx de Snipe-IT dans le lien: #prerequisites [Prérequis].

ls /var/www//html/

Si le répertoire n’est pas vide, utilisez basic Commandes de navigation et de gestion de fichiers Linux pour le nettoyer maintenant. + mv + déplace le contenu vers un emplacement différent et + rm + les supprime complètement.

Une fois le répertoire vide, téléchargez Snipe-IT à partir de son référentiel officiellement sur GitHub.

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

La sortie confirme l’emplacement dans lequel vous clonez, puis fournit un rapport en temps réel du processus, comprenant le nombre d’objets que Git est censé copier ainsi que le nombre effectivement copié.

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.

Vous avez maintenant une copie complète de Snipe-IT, mais avant de commencer l’installation, vous devez permettre à Nginx d’accéder aux répertoires + stockage +, + public / uploads + et + bootstrap / cache +, car c’est là que Snipe-IT écrit ses caches, ses journaux et ses fichiers téléchargés.

Passez au répertoire d’installation.

cd /var/www//html/

Utilisez + chown + avec l’option + -R + pour changer de manière récursive la propriété de l’utilisateur et du groupe sur + www-data + - l’utilisateur et le groupe de Nginx - dans les trois répertoires.

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

Ensuite, utilisez + chmod + avec l’indicateur + -R + pour récursivement set permissions sur ces les répertoires, en les rendant en lecture, en écriture et exécutables par leur propriétaire, en lecture et en exécutables par leur groupe, et en lecture et en exécutables par le monde.

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

Avec les autorisations de fichier et de répertoire correctement définies pour Nginx, vous êtes prêt à exécuter + composer install +, qui lit la liste des dépendances supplémentaires dans le fichier + composer.json + de Snipe-IT, puis les résout et les installe dans `+ / var / www // html / vendor + `.

L’option + - no-dev indique à` + composer` d’ignorer les dépendances qui ne sont pas nécessaires à l’exécution de Snipe-IT mais qui sont utiles pour le développement sur Snipe-IT.

L’option + - preferred-source indique à` + composer` de télécharger les dépendances à partir de leurs référentiels de contrôle de version, si elles existent.

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

La sortie indique chaque dépendance que + composer + tente d’installer, indique si la dépendance a été clonée avec succès et termine en créant des fichiers de chargement automatique optimisés qui améliorent les performances de https://getcomposer.org/doc/articles/autoloader-optimization. md [chargement de classe dans les applications PHP basées sur Composer].

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

Vous pouvez maintenant commencer à configurer votre installation. Commencez par créer une copie du fichier + .env.example + fourni avec Snipe-IT; C’est là que Snipe-IT stocke les variables d’environnement et les paramètres tels que le fuseau horaire, l’URL de base et la taille du journal. Ensuite, ouvrez + .env + pour le modifier.

cp .env.example .env
nano .env

Recherchez ce qui suit:

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

+ APP_URL + indique à Snipe-IT l’URL de base de votre installation. Remplacez + null + par votre nom de domaine.

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

Ensuite, trouvez les lignes suivantes:

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

C’est ici que vous indiquez à Snipe-IT comment se connecter à la base de données MySQL que vous avez créée dans link: # step-1-% E2% 80% 94-prépare-le-serveur [Étape 1].

Snipe-IT étant configuré par défaut pour se connecter à une base de données MySQL s’exécutant sur l’hôte local, vous n’avez pas besoin de modifier les deux premières lignes.

Remplacez + DB_DATABASE + et + DB_USERNAME + par le nom de la base de données MySQL et de l’utilisateur de la base de données que vous avez créés dans link: # step-1-% E2% 80% 94-prepare-the-server [Étape 1], et remplacez ` + DB_PASSWORD + `avec le mot de passe que vous avez attribué à cet utilisateur de base de données.

+ DB_PREFIX + ajoute des préfixes personnalisés aux noms de table dans la base de données de Snipe-IT. Ce paramètre n’est pas obligatoire, mais peut arrêter certaines attaques automatisées reposant sur des noms de tables de base de données par défaut. Laissez cette valeur sur la valeur + null par défaut, sauf si vous souhaitez ajouter un préfixe personnalisé.

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

Fermez et enregistrez le fichier.

Maintenant, utilisez + artisan migrate + pour renseigner MySQL avec le schéma de base de données par défaut de Snipe-IT. Cette commande indiquera à Laravel d’effectuer une migration de la base de données https://laravel.com/docs/5.5/migrations en utilisant les fichiers situés dans + / var / www // html / database / migrations / +.

sudo php artisan migrate

Lorsque vous y êtes invité, entrez + yes + pour confirmer que vous souhaitez effectuer la migration.

La sortie indique le nom de chaque migration effectuée en temps réel.

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

Enfin, utilisez + clé artisanale: générer + pour créer une clé d’application pour votre installation. Laravel écrira la valeur de la clé sur la ligne + APP_KEY + dans le fichier + .env +, et Snipe-IT utilisera la clé pour chiffrer et déchiffrer des données telles que des jetons de session.

php artisan key:generate

Une fois encore, lorsque vous y êtes invité, entrez + yes + pour confirmer que vous souhaitez générer la clé d’application.

Une fois terminé, le résultat vous montrera la clé générée et vous indiquera que la valeur a été écrite dans le fichier + .env +.

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.

Une fois l’installation et la configuration terminées, il est temps de modifier Nginx pour servir Snipe-IT.

Étape 3 - Configuration de Nginx

Avant de pouvoir intégrer Snipe-IT dans votre navigateur Web, vous devez d’abord diriger Nginx vers le répertoire des applications Web racine de Snipe-IT, puis rediriger les demandes entrantes vers le gestionnaire de demandes de Snipe-IT.

Commencez par ouvrir le fichier de configuration que vous avez créé pour le bloc serveur Nginx de Snipe-IT.

sudo nano /etc/nginx/sites-available/

Recherchez la directive qui définit le répertoire racine du bloc serveur.

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

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

Les fichiers d’application Web de Snipe-IT se trouvent dans le répertoire + public + créé automatiquement lorsque vous avez cloné le projet à partir de GitHub. Modifiez Nginx pour utiliser + public + comme répertoire racine de ce bloc serveur.

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

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

Ensuite, recherchez le bloc d’emplacement par défaut:

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

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

Modifiez ce bloc pour transmettre toutes les demandes au gestionnaire de demandes de Snipe-IT pour traitement.

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

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

Enregistrez et fermez le fichier.

Avant de redémarrer Nginx, testez votre nouvelle configuration.

sudo nginx -t

Le résultat devrait indiquer que votre syntaxe + est ok +. Si ce n’est pas le cas, suivez les messages à l’écran pour obtenir de l’aide supplémentaire.

Maintenant, redémarrez Nginx pour appliquer les modifications.

sudo systemctl reload nginx

Enfin, vérifiez que Nginx est de nouveau opérationnel.

sudo systemctl status nginx

La sortie devrait indiquer que le service est + actif (en cours d’exécution) +. Si ce n’est pas le cas, retracez les étapes précédentes pour résoudre le problème avant de poursuivre.

Maintenant que Nginx est entièrement configuré, connectez-vous à l’utilitaire de configuration Web de Snipe-IT pour terminer l’installation.

Étape 4 - Configuration de Snipe-IT avec l’utilitaire de pré-vol

Pour terminer l’installation, pointez votre navigateur Web sur + https: // +. Cela vous mènera à la * Étape 1 * de * l’Utilitaire de pré-vol * de Snipe-IT, où Snipe-IT effectuera un test rapide de votre installation pour s’assurer que tout est correctement configuré.

Sur cet écran, vous verrez un tableau indiquant chacun des paramètres testés * en pré-vol *, le résultat du test, ainsi qu’une courte note décrivant ces paramètres. Une coche verte dans la colonne * Valid * indique que le paramètre était correct. Si un paramètre est mis en surbrillance en rose et marqué d’un * X * rouge dans la colonne * Valide *, cela indique qu’il ya un problème avec ce paramètre. Suivez les instructions de Snipe-IT pour résoudre le problème avant de continuer.

Comme nous n’avons pas configuré Snipe-IT pour la messagerie électronique, vous pouvez cliquer sur le bouton bleu * Suivant: Créer des tables de base de données * dans le coin inférieur droit de l’écran pour poursuivre l’installation maintenant.

image: http: //assets.digitalocean.com/articles/how-to-install-snipe-it/pre-flight-configuration-check2.png [Pré-vol de Snipe-IT: vérification de la configuration]

À * l’étape 2 * de * Pre-Flight *, Snipe-IT vérifie votre base de données et effectue une migration si nécessaire. Puisque vous avez déjà effectué une migration manuelle de la base de données avec + artisan + dans le lien: # step-3-% E2% 80% 94-configuring-nginx [Étape 3 de ce tutoriel], * Pre-Flight * vous indiquera que la base de données est * déjà configuré * et qu’il n’y a * rien à migrer *.

Appuyez sur le bouton bleu * Suivant: Créer un utilisateur * dans le coin inférieur droit de l’écran.

image: http: //assets.digitalocean.com/articles/how-to-install-snipe-it/pre-flight-create-database-tables.png [Pré-vol de Snipe-IT: création de tables de base de données]

À * l’étape 3 * de * Pre-Flight *, Snipe-IT vous demande de saisir certains paramètres généraux de l’application et de créer votre premier compte utilisateur administratif.

Dans le champ * Nom du site *, entrez l’étiquette que vous souhaitez que Snipe-IT affiche en haut de chaque écran. C’est peut-être le nom de votre société ou même quelque chose de plus descriptif, tel que * Sammy’s Asset Management *.

Dans le champ * Email Domain *, entrez le domaine que Snipe-IT doit utiliser pour le courrier sortant et dans le champ * Email Format *, indiquez la manière dont Snipe-IT doit formater l’en-tête * To: * dans les messages sortants. .

Entrez votre nom dans les champs * Prénom * et * Nom * et votre adresse e-mail dans le champ * Email *.

Enfin, entrez le nom d’utilisateur que vous souhaitez associer à votre compte dans le champ * Nom d’utilisateur *, puis entrez le mot de passe que vous souhaitez utiliser dans le champ * Mot de passe *. Assurez-vous d’entrer le même mot de passe dans le champ * Confirmer le mot de passe * et notez vos informations d’identification avant de continuer. Vous aurez besoin des deux pour vous connecter à Snipe-IT.

Étant donné que vous créez ce compte pour vous-même, vous pouvez laisser * Email mes identifiants à l’adresse e-mail ci-dessus * non cochée.

Cliquez sur le bouton bleu * Suivant: Enregistrer l’utilisateur * dans le coin inférieur droit de l’écran une fois que vous avez rempli toutes les informations.

image: http: //assets.digitalocean.com/articles/how-to-install-snipe-it/pre-flight-create-admin-user.png [Pré-vol de Snipe-IT: créer un utilisateur administrateur]

À * l’étape 4 * de * Pre-Flight *, Snipe-IT enregistre les paramètres généraux de l’application que vous venez de saisir, crée le nouvel utilisateur administratif et vous connecte au tableau de bord principal.

image: http: //assets.digitalocean.com/articles/how-to-install-snipe-it/default-dashboard.png [Snipe-IT: Tableau de bord de l’administrateur par défaut]

À ce stade, votre installation est terminée et vous pouvez commencer à utiliser Snipe-IT pour gérer vos actifs informatiques ou ceux de vos clients.

Conclusion

Dans cet article, vous définissez la pile LEMP, sécurisez Nginx avec un certificat Let’s Encrypt TLS / SSL, installez et configurez Snipe-IT, créez un compte utilisateur administratif et ouvrez une session dans le tableau de bord principal Snipe-IT.

Pour en savoir plus sur l’ajout et la modification d’actifs dans Snipe-IT, voir le guide officiel de la gestion des actifs.

Pour en savoir plus sur l’utilisation des comptes d’utilisateurs dans Snipe-IT, voir la documentation officielle sur la gestion des utilisateurs.

Ou, pour d’autres questions, consultez le manuel de l’utilisateur Snipe-IT].