Cómo instalar Snipe-IT (gestión de activos de TI) en CentOS y Ubuntu


Snipe-IT es un sistema de gestión de activos de TI gratuito, de código abierto, multiplataforma y rico en funciones creado utilizando un marco PHP llamado Laravel. Es un software basado en web que permite a los administradores de TI de empresas medianas y grandes realizar un seguimiento de los activos físicos, las licencias de software, los accesorios y los consumibles en un solo lugar.

Consulte una versión en vivo y actualizada de la herramienta de administración de activos Snipe-IT: https://snipeitapp.com/demo

  1. Es una plataforma multiplataforma: funciona en Linux, Windows y Mac OS X.
  2. Es compatible con dispositivos móviles para facilitar las actualizaciones de activos.
  3. Se integra fácilmente con Active Directory y LDAP.
  4. Integración de notificaciones de Slack para check-in/checkout.
  5. Admite copias de seguridad con un solo clic (o cron) y copias de seguridad automatizadas.
  6. Admite la autenticación de dos factores opcional con el autenticador de Google.
  7. Admite la generación de informes personalizados.
  8. Admite etiquetas de estado personalizadas.
  9. Admite acciones de usuario masivas y administración de roles de usuario para diferentes niveles de acceso.
  10. Admite varios idiomas para facilitar la localización y mucho más.

En este artículo, explicaré cómo instalar un sistema de gestión de activos de TI llamado Snipe-IT usando una pila LAMP (Linux, Apache, MySQL y PHP) en sistemas basados en CentOS y Debian.

Paso 1: Instale LAMP Stack

1. Primero, actualice el sistema (es decir, actualice la lista de paquetes que deben actualizarse y agregue nuevos paquetes que hayan ingresado en los repositorios habilitados en el sistema).

$ sudo apt update        [On Debian/Ubuntu]
$ sudo yum update        [On CentOS/RHEL] 

2. Una vez que se haya actualizado el sistema, ahora puede instalar la pila LAMP (Linux, Apache, MySQL y PHP) con todos los módulos PHP necesarios como se muestra.

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt install apache2 apache2-utils libapache2-mod-php mariadb-server mariadb-client php7.3 php7.3-pdo php7.3-mbstring php7.3-tokenizer php7.3-curl php7.3-mysql php7.3-ldap php7.3-zip php7.3-fileinfo php7.3-gd php7.3-dom php7.3-mcrypt php7.3-bcmath 

3. Snipe-IT requiere PHP mayor que 7.xy PHP 5.x ha llegado al final de su vida, por lo que para tener PHP 7.x, necesita habilitar el repositorio Epel y Remi como se muestra.

$ sudo yum install epel-release
$ sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ sudo yum -y install yum-utils
$ sudo yum-config-manager --enable remi-php71   [Install PHP 7.1]
$ sudo yum-config-manager --enable remi-php72   [Install PHP 7.2]
$ sudo yum-config-manager --enable remi-php73   [Install PHP 7.3]

4. Luego, instale PHP 7.x en CentOS 7 con los módulos requeridos que necesita Snipe-IT.

$ sudo yum install httpd mariadb mariadb-server php php-openssl php-pdo php-mbstring php-tokenizer php-curl php-mysql php-ldap php-zip php-fileinfo php-gd php-dom php-mcrypt php-bcmath

5. Una vez completada la instalación de la pila LAMP, inicie el servidor web mientras tanto y habilítelo para que se inicie en el siguiente inicio del sistema con el siguiente comando.

$ sudo systemctl start enable status apache2       [On Debian/Ubuntu]
$ sudo systemctl start enable status httpd         [On CentOS/RHEL]

6. Luego, verifique la instalación de Apache y PHP y todas sus configuraciones actuales desde un navegador web, creemos un archivo info.php en Apache DocumentRoot (/ var/www/html) usando el siguiente comando.

$ sudo echo "<?php  phpinfo(); ?>" | sudo tee -a /var/www/html/info.php

Ahora abra un navegador web y navegue hasta las siguientes URL para verificar la configuración de Apache y PHP.

http://SERVER_IP/
http://SERVER_IP/info.php 

7. A continuación, debe proteger y fortalecer su instalación de MySQL con el siguiente comando.

$ sudo mysql_secure_installation     

Se le pedirá que establezca una contraseña de root segura para su MariaDB y responda Y a todas las demás preguntas (se explica por sí mismo).

8. Por último, inicie el servidor MySQL y habilítelo para que se inicie en el siguiente arranque del sistema.

$ sudo systemctl start mariadb            
OR
$ sudo systemctl start mysql

Paso 2: Cree la base de datos de Snipe-IT en MySQL

9. Ahora inicie sesión en el shell MariaDB y cree una base de datos para Snipe-IT, un usuario de la base de datos, y establezca una contraseña adecuada para el usuario de la siguiente manera.

$ mysql -u root -p

Proporcione la contraseña para el usuario root de MariaDB.

MariaDB [(none)]> CREATE DATABASE snipeit_db;
MariaDB [(none)]> CREATE USER 'tecmint'@'localhost' IDENTIFIED BY 't&[email protected]';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON snipeit_db.* TO 'tecmint'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

Paso 3: Instale Composer - PHP Manager

10. Ahora necesita instalar Composer, un administrador de dependencias para PHP, con los siguientes comandos.

$ sudo curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

Paso 4: Instale Snipe-IT Asset Management

11. Primero, instale Git para obtener y clonar la última versión de Snipe-IT en el directorio raíz web de Apache.

$ sudo apt -y install git      [On Debian/Ubuntu]
$ sudo yum -y install git      [On CentOS/RHEL]

$ cd  /var/www/
$ sudo git clone https://github.com/snipe/snipe-it.git

12. Ahora vaya al directorio snipe-it y cambie el nombre del archivo .env.example a .env.

$ cd snipe-it
$ ls
$ sudo mv .env.example .env

Paso 5: configurar la administración de activos de Snipe-IT

13. A continuación, configure el entorno de snipe-it, aquí proporcionará la configuración de conexión de la base de datos y muchos más.

Primero, abra el archivo .env.

$ sudo vi .env

Luego busque y cambie las siguientes variables de acuerdo con las instrucciones dadas.

APP_TIMEZONE=Africa/Kampala                                   #Change it according to your country
APP_URL=http://10.42.0.1/setup                                #set your domain name or IP address
APP_KEY=base64:BrS7khCxSY7282C1uvoqiotUq1e8+TEt/IQqlh9V+6M=   #set your app key
DB_HOST=localhost                                             #set it to localhost
DB_DATABASE=snipeit_db                                        #set the database name
DB_USERNAME=tecmint                                           #set the database username
DB_PASSWORD=password                                          #set the database user password

Guarde y cierre el archivo.

14. Ahora debe establecer los permisos adecuados en ciertos directorios de la siguiente manera.

$ sudo chmod -R 755 storage 
$ sudo chmod -R 755 public/uploads
$ sudo chown -R www-data:www-data storage public/uploads   [On Debian/Ubuntu]
sudo chown -R apache:apache storage public/uploads         [On CentOS/RHEL]

15. A continuación, instale todas las dependencias requeridas por PHP utilizando el administrador de dependencias de Composer de la siguiente manera.

$ sudo composer install --no-dev --prefer-source

16. Ahora puede generar el valor "APP_KEY" con el siguiente comando (esto se configurará automáticamente en el archivo .env).

$ sudo php artisan key:generate

17. Ahora, debe crear un archivo de host virtual en el servidor web para Snipe-IT.

$ sudo vi /etc/apache2/sites-available/snipeit.example.com.conf     [On Debian/Ubuntu]
$ sudo vi /etc/httpd/conf.d/snipeit.example.com.conf                [On CentOS/RHEL]

Luego agregue/modifique la línea a continuación en su archivo de configuración de Apache (use la dirección IP de su servidor aquí).

<VirtualHost 10.42.0.1:80>
    ServerName snipeit.tecmint.lan
    DocumentRoot /var/www/snipe-it/public
    <Directory /var/www/snipe-it/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

Guarde y cierre el archivo.

18. En Debian/Ubuntu, necesita habilitar el host virtual, mod_rewrite y mcrypt usando los siguientes comandos.

$ sudo a2ensite snipeit.conf
$ sudo a2enmod rewrite
$ sudo php5enmod mcrypt

19. Por último, reinicie el servidor web Apache para que entren en vigor los nuevos cambios.

$ sudo systemctl restart apache2       [On Debian/Ubuntu]
$ sudo systemctl restart httpd         [On CentOS/RHEL]

Paso 6: Instalación web de Snipe-IT

20. Ahora abra su navegador web e ingrese la URL: http:// SERVER_IP para ver la interfaz de instalación web de Snipe-IT.

Primero, verá la página de Verificación previa al vuelo a continuación, haga clic en Siguiente: Crear tablas de base de datos.

21. Ahora verá todas las tablas creadas, haga clic en Siguiente: Crear usuario.

22. Aquí, proporcione toda la información del usuario administrador y haga clic en Siguiente: Guardar usuario.

23. Finalmente, abra la página de inicio de sesión usando la URL http:// SERVER_IP/login como se muestra a continuación e inicie sesión para ver el panel de Snipe-IT.

Página de inicio de Snipe-IT: https://snipeitapp.com/

En este artículo, discutimos cómo configurar Snipe-IT con la pila LAMP (Linux Apache MySQL PHP) en sistemas basados en CentOS y Debian. Si tiene algún problema, compártalo con nosotros utilizando nuestro formulario de comentarios a continuación.