Cómo instalar SysPass Password Manager en Rocky Linux

SysPass es un gestor de contraseñas de código abierto escrito en PHP con encriptación AES-256 CTR. Está diseñado para la gestión centralizada y colaborativa de contraseñas. Proporciona una gestión avanzada de perfiles, multiusuario con usuarios, grupos y gestión de perfiles. Admite métodos de autenticación a través de MySQL/MariaDB y OpenLDAP Active Directory, y está diseñado de forma interactiva con material design a través de HTML5 y AJAX.

SysPass proporciona una API que te permite integrarte con otras aplicaciones. Admite la base de datos de contraseñas Keepass y el archivo CSV para importaciones y exportaciones. También proporciona el historial de la cuenta y restaura los puntos, el multilenguaje y los enlaces públicos sin necesidad de iniciar sesión (enlace anónimo).

En este tutorial, instalarás el gestor de contraseñas SysPass con Apache2, MariaDB y PHP en el servidor Linux Rocky. También asegurarás la instalación de SysPass con certificados SSL y también aprenderás a instalar Composer en Rocky Linux para gestionar las dependencias de PHP.

Requisitos previos

Para completar este tutorial, necesitarás los siguientes requisitos:

  • Un servidor Rocky Linux – Puedes utilizar Rocky Linux v8 o v9.
  • Un usuario no root con privilegios sudo de root.
  • Un nombre de dominio completo que apunte a la dirección IP de tu servidor.

Instalación del servidor web Httpd

Para esta guía, ejecutarás el gestor de contraseñas SysPass con el servidor web Apache o httpd. En Rocky Linux, el servidor web httpd está disponible por defecto en los repositorios BaseOS y AppStream.

Instalarás el servidor web httpd fácilmente a través del repositorio oficial de Rocky Linux.

Ejecuta el siguiente comando dnf para instalar el servidor web httpd.

sudo dnf install httpd

Introduce Y para confirmar la instalación y pulsa ENTER para continuar.

instalar httpd

Una vez instalado el httpd, ejecuta el siguiente comando systemctl para iniciar y habilitar el servicio httpd. El comando ‘systemctl enable’ te permite ejecutar servicios al arrancar el sistema.

sudo systemctl start httpd
sudo systemctl enable httpd

Ahora, ejecuta el siguiente comando para verificar el estado del servicio httpd y asegurarte de que el servicio se está ejecutando.

sudo systemctl status httpd

Recibirás la salida como la siguiente captura de pantalla. El servicio httpd se está ejecutando y está habilitado.

iniciar mariadb

Ahora, si tienes el firewalld en marcha en tu servidor Rocky Linux, debes añadir los servicios HTTP y HTTPS al firewalld.

Ejecuta el siguiente comando firwewall-cmd para añadir el servicio HTTP y HTTPS al firewalld.

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent

Después, recarga el firewalld y verifica el estado de la regla con el siguiente comando.

sudo firewall-cmd --reload
sudo firewall-cmd --list-services

Deberías ver el resultado de que el servicio HTTP y HTTPS se ha añadido al firewalld.

configurar firewalld

Instalación del servidor MariaDB

El gestor de contraseñas SysPass admite MySQL o MariaDB para la base de datos. En este paso, instalarás MariaDB y lo asegurarás mediante el comando mysql_secure_installation.

El mysql_secure_installation es una línea de comandos proporcionada por los paquetes de MariaDB que te permite configurar tu instalación de MariaDB, como por ejemplo, configurar la contraseña de root, desactivar el inicio de sesión remoto para el usuario root, eliminar el usuario anónimo y probar la base de datos.

Para instalar MariaDB, ejecuta el siguiente comando dnf. Cuando se te pida que confirmes la instalación, introduce Y y pulsa ENTER para continuar.

sudo dnf install mariadb-server

instalar mariadb

Una vez instalado MariaDB, inicia y habilita el servicio MariaDB mediante el siguiente comando systemctl.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Ahora verifica el servicio MariaDB para asegurarte de que el servicio está habilitado y funcionando.

sudo systemctl status mariadb

Deberías ver la salida del servicio MariaDB está habilitado y se ejecutará automáticamente al arrancar el sistema. Y el estado del servicio MariaDB es de ejecución.

comprobar mariadb

Ahora que el servicio MariaDB se está ejecutando, es el momento de asegurar la implementación de MariaDB mediante el comando‘mysql_secure_installation‘.

Ejecuta el siguiente comando para asegurar tu instalación de MariaDB.

sudo mysql_secure_installation

Ahora se te pedirán las siguientes configuraciones del servidor MariaDB:

  1. ¿Cambiar la autenticación a unix_socket? introduce n para no.
  2. ¿Cambiar la contraseña de la raíz de MariaDB? introduce y para confirmar, luego introduce la nueva contraseña de tu usuario raíz de MariaDB.
  3. ¿Desactivar el inicio de sesión remoto para el usuario raíz?
  4. ¿Eliminar el usuario anónimo? introduce y.
  5. ¿Eliminar la prueba de la base de datos por defecto?
  6. Por último, ¿recargar los privilegios de las tablas y aplicar las nuevas configuraciones? introduce y para confirmar.

Ahora has instalado y asegurado MariaDB en tu servidor.

Instalación de PHP

Después de instalar MariaDB, ahora vas a instalar PHP en tu servidor Rocky Linux. El gestor de contraseñas SysPass requiere la instalación de PHP 7.4, por lo que ahora lo instalarás a través del repositorio REMI.

Para Rocky Linux 8 – ejecuta el siguiente comando para añadir el repositorio REMI.

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Para Rocky Linux 9 – ejecuta el siguiente comando para añadir el repositorio REMI

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

Introduce «y» cuando se te pida que confirmes la instalación.

añadir repo remi

Ahora, ejecuta el siguiente comando dnf para verificar la lista de paquetes PHP disponibles. Y deberías ver que el repositorio REMI proporciona múltiples versiones de PHP 7.4, 8.0, 8.1 y 8.2.

sudo dnf module list php

lista repo php

Para la instalación de SysPass, instalarás PHP 7.4. Por tanto, ejecuta el siguiente comando para habilitar el módulo PHP ‘remi-7.4’. Introduce Y para confirmar y habilitar el módulo.

sudo dnf module enable php:remi-7.4

activar el repo de remi

Ahora ejecuta el siguiente comando dnf para instalar PHP 7.4 en tu sistema.

sudo dnf install -y php php-pear php-cgi php-cli php-common php-gd php-json php-mysql php-readline php curl php-intl php-ldap php-mcrypt php-xml php-mbstring php-zip

La instalación debería comenzar y se te pedirá que confirmes la instalación. Introduce Y y pulsa ENTER para continuar.

Una vez instalado PHP, edita el archivo de configuración por defecto ‘/etc/php.ini’ con el siguiente comando.

sudo nano /etc/php/7.4/apache2/php.ini

Cambia la configuración por defecto de PHP con los siguientes ajustes. asegúrate de ajustar la zona horaria y el límite de memoria de acuerdo con el entorno de tu sistema.

post_max_size = 120M
upload_max_filesize = 120M
max_execution_time = 6000
memory_limit = 256M
date.timezone = Europe/Stockholm

Guarda el archivo y sal del editor cuando hayas terminado.

Ahora, ejecuta el siguiente comando systemctl para reiniciar el servicio httpd y aplicar las configuraciones de PHP. Y ya has terminado la instalación básica de LAMP Stack para SysPass Password Manager.

sudo systemctl restart httpd

Instalación de Composer

Otra dependencia necesaria para SysPass es Composer. Este se utilizará para instalar las dependencias de PHP para la aplicación web de SysPass.

Ejecuta el siguiente comando para instalar Composer en tu máquina Rocky Linux.

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

A continuación recibirás la salida:

instalar compositor

Ahora, verifica el Composer utilizando el siguiente comando. Deberías ver la versión de PHP Composer que está instalada en tu sistema.

sudo -u apache composer -v

comprobar el compositor

Una vez instalado Composer, lo siguiente será iniciar la instalación de SysPass.

Instalación de SysPass Password Manager

Para empezar, ejecuta el siguiente comando dnf para instalar los paquetes git y unzip en tu sistema.

sudo dnf install git unzip -y

Ahora, descarga el código fuente de SysPass mediante el comando git en el directorio de instalación ‘/var/www/syspass’.

git clone https://github.com/nuxsmin/sysPass.git /var/www/syspass

Ejecuta el siguiente comando para cambiar la propiedad y el permiso del directorio de instalación de SysPass. El propietario debe ser el usuario‘apache‘, que es el que ejecuta el httpd.

sudo chown -R apache:apache /var/www/syspass
sudo chmod 750 /var/www/syspass/app/config /var/www/syspass/app/backup

A continuación, ejecuta el siguiente comando para crear un directorio de caché para Composer. Luego, cambia la propiedad al usuario apache. Este directorio se utilizará para almacenar las dependencias de PHP para tu aplicación.

sudo mkdir -p /usr/share/httpd/.cache
sudo chown -R apache:apache /usr/share/httpd/.cache

descargar syspass

Por último, muévete al directorio de instalación de SysPass‘/var/www/syspass’ e instala las dependencias de PHP para SysPass mediante el siguiente comando de Composer.

cd /var/www/syspass
sudo -u apache composer install --no-interaction --no-dev

En la siguiente captura de pantalla, verás la instalación de las dependencias de PHP para el gestor de contraseñas SysPass.

instalar dependencias

Una vez instaladas las dependencias de PHP, pasa al siguiente paso.

Configurar SELinux

Si estás ejecutando SysPass con SELinux en el modo de refuerzo, debes añadir una nueva regla de SELinux a tu sistema.

Antes de empezar a gestionar SELinux, ejecuta el siguiente comando para asegurarte de que el siguiente paquete está instalado.

sudo dnf install policycoreutils-python-utils -y

Después, ejecuta el siguiente comando para añadir la política de SELinux que utilizará SysPass.

En este comando, permitirás que el servicio httpd se conecte al LDAP a través de la red (cuando estés utilizando la autenticación LDAP), y también estás etiquetando la etiqueta correcta para el código fuente de SysPass.

sudo setsebool -P httpd_can_connect_ldap 1
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/syspass/app/(config|backup|cache|temp)(/.*)?"
sudo restorecon -R -v /var/www/syspass

Configurar el host virtual Httpd

Ahora vas a configurar el host virtual httpd/apache2 para el gestor de contraseñas SysPass. antes de empezar, asegúrate de que tienes certificados SSL y de que el nombre de dominio apunta a la dirección IP de tu servidor.

Ejecuta el siguiente comando dnf para instalar el paquete mod_ssl para el servidor web httpd.

sudo dnf install mod_ssl -y

Una vez instalado mod_ssl, ejecuta el siguiente comando para generar certificados SSL para localhost. Debes generar este certificado, de lo contrario, el httpd no funcionará. Este certificado es utilizado por localhost en la configuración‘/etc/httpd/conf.d/ssl.conf‘.

sudo openssl req -newkey rsa:4096  -x509  -sha512  -days 365 -nodes -out /etc/pki/tls/certs/localhost.crt -keyout /etc/pki/tls/private/localhost.key

A continuación, crea una nueva configuración de host virtual ‘/etc/httpd/conf.d/syspass.conf’ utilizando el siguiente comando del editor nano.

sudo nano /etc/httpd/conf.d/syspass.conf

Añade la siguiente configuración al archivo. Y asegúrate también de cambiar el nombre de dominio y la ruta de los certificados SSL.

#
# File: syspass.conf
#

RedirectMatch "^/$" "/index.php"

<Directory "/var/www/syspass">
    DirectoryIndex index.php
    Options -Indexes -FollowSymLinks -Includes -ExecCGI

    <RequireAny>
      Require expr "%{REQUEST_URI} =~ m#.*/index\.php(\?r=)?#"
      Require expr "%{REQUEST_URI} =~ m#.*/api\.php$#"
      Require expr "%{REQUEST_URI} =~ m#^/?$#"
    </RequireAny>
</Directory>

<FilesMatch ".(png|jpg|js|css|ttf|otf|eot|woff|woff2|ico)$">
    Require all granted
</FilesMatch>

<VirtualHost *:80>
  ServerName syspass.hwdomain.io

  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/syspass

  ErrorLog /var/log/httpd/error.log
  CustomLog /var/log/httpd/access.log combined

  <IfModule mod_ssl.c>
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
  </IfModule>
</VirtualHost>

<IfModule mod_ssl.c>
  <VirtualHost *:443>
    ServerName syspass.hwdomain.io
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/syspass

    ErrorLog /var/log/httpd/error.log
    CustomLog /var/log/httpd/access.log combined

    SSLEngine on

    SSLCertificateFile        /etc/letsencrypt/live/syspass.hwdomain.io/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/syspass.hwdomain.io/privkey.pem

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
              SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
              SSLOptions +StdEnvVars
    </Directory>

    BrowserMatch "MSIE [2-6]" \
      nokeepalive ssl-unclean-shutdown \
      downgrade-1.0 force-response-1.0
    # MSIE 7 and newer should be able to use keepalive
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
  </VirtualHost>
</IfModule>

Guarda el archivo y sal del editor cuando hayas terminado.

Ahora ejecuta el siguiente comando para verificar la configuración de httpd y asegúrate de que tienes una configuración httpd correcta.

sudo apachectl configtest

Si tienes una configuración httpd correcta y adecuada, verás un mensaje de salida como‘Sintaxis OK‘.

Por último, ejecuta el siguiente comando systemctl para reiniciar el servicio httpd y aplicar los nuevos cambios. Tu gestor de contraseñas SysPass está ahora instalado y listo para ser configurado.

sudo systemctl restart httpd

Configuración del gestor de contraseñas SysPass

Abre tu navegador web y visita el nombre de dominio de tu instalación de SysPass (por ejemplo: https://syspass.hwdomain.io).

Ahora tendrás que crear un nuevo usuario y contraseña de administrador para tu SysPass. A continuación, introduce la nueva contraseña maestra. Asegúrate de utilizar contraseñas fuertes y fáciles de recordar tanto para el administrador como para el maestro.

configuración administrativa

En la página inferior, introduce el nombre de usuario de la base de datos como root e introduce tu contraseña. A continuación, introduce el nombre de la base de datos que creará automáticamente el instalador de SysPass.

Además, puedes cambiar el idioma de instalación por defecto por el que prefieras.

Cuando estés listo, haz clic en«INSTALAR» para iniciar la instalación de SysPass.

configuración de la base de datos

Una vez instalado SysPass, aparecerá la página de inicio de sesión de SysPass Password Manager.

Introduce tu usuario y contraseña de administrador, y haz clic en el botón de inicio de sesión.

inicio de sesión

Si utilizas el usuario y la contraseña correctos, verás el panel de SysPass Password Manager.

salpicadero

Desde ahí, ahora puedes añadir nuevos usuarios y grupos, importar contraseñas de la base de datos desde archivos CSV o archivos de la base de datos Kepass, o también puedes integrar la autenticación mediante LDAP.

Conclusión

En este tutorial, has instalado y configurado el gestor de contraseñas SysPass en Rocky Linux. También has instalado la pila LAMP (Apache2/httpd, MariaDB y PHP) y Composer en tu servidor Rocky Linux.

Con SysPass instalado y asegurado, ahora puedes utilizarlo como tu gestor de contraseñas diario. o puedes añadir más usuarios para tu organización interna.

Scroll al inicio