Cómo instalar SysPass Password Manager en Rocky Linux
En esta página
- Requisitos previos
- Instalación del servidor web Httpd
- Instalación del servidor MariaDB
- Instalación de PHP
- Instalación de Composer
- Instalación del administrador de contraseñas de SysPass
- Configuración de SELinux
- Configuración del servidor virtual Httpd
- Configuración del administrador de contraseñas de SysPass
- Conclusión
SysPass es un administrador de contraseñas de código abierto escrito en PHP con cifrado AES-256 CTR. Está diseñado para la administración centralizada y colaborativa de contraseñas. proporciona 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 le permite integrarse 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 puntos, varios idiomas y enlaces públicos sin inicio de sesión (enlace anónimo).
En este tutorial, instalará SysPass Password Manager con Apache2, MariaDB y PHP en el servidor Rocky Linux. También asegurará la instalación de SysPass con certificados SSL y también aprenderá a instalar Composer en Rocky Linux para administrar las dependencias de PHP.
requisitos previos
Para completar este tutorial, necesitará los siguientes requisitos:
- Un servidor Rocky Linux: puede usar Rocky Linux v8 o v9.
- Un usuario no root con privilegios de sudo root.
- Un nombre de dominio completo apunta a la dirección IP de su servidor.
Instalación del servidor web Httpd
Para esta guía, ejecutará SysPass Password Manager con el servidor web Apache o httpd. En Rocky Linux, el servidor web httpd está disponible de forma predeterminada en los repositorios de BaseOS y AppStream.
Instalará el servidor web httpd fácilmente a través del repositorio oficial de Rocky Linux.
Ejecute el siguiente comando dnf para instalar el servidor web httpd.
sudo dnf install httpd
Ingrese Y para confirmar la instalación y presione ENTER para continuar.
Una vez que el httpd esté instalado, ejecute el siguiente comando systemctl para iniciar y habilitar el servicio httpd. El comando systemctl enable le permite ejecutar servicios en el arranque del sistema.
sudo systemctl start httpd
sudo systemctl enable httpd
Ahora, ejecute el siguiente comando para verificar el estado del servicio httpd y asegúrese de que el servicio se esté ejecutando.
sudo systemctl status httpd
Recibirá el resultado como la siguiente captura de pantalla. El servicio httpd se está ejecutando actualmente y está habilitado.
Ahora, si tiene el firewall en funcionamiento en su servidor Rocky Linux, debe agregar los servicios HTTP y HTTPS al firewall.
Ejecute el siguiente comando firwewall-cmd a continuación para agregar el servicio HTTP y HTTPS al firewalld.
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
Después de eso, vuelva a cargar el firewalld y verifique el estado de la regla usando el siguiente comando.
sudo firewall-cmd --reload
sudo firewall-cmd --list-services
Debería ver que la salida del servicio HTTP y HTTPS se agrega al firewalld.
Instalación del servidor MariaDB
SysPass Password Manager es compatible con MySQL o MariaDB para la base de datos. En este paso, instalará MariaDB y lo protegerá mediante el comando mysql_secure_installation.
mysql_secure_installation es una línea de comando proporcionada por los paquetes de MariaDB que le permite configurar su instalación de MariaDB, como configurar la contraseña de root, deshabilitar el inicio de sesión remoto para el usuario root, eliminar el usuario anónimo y probar la base de datos.
Para instalar MariaDB, ejecute el siguiente comando dnf. Cuando se le solicite que confirme la instalación, ingrese Y y presione ENTER para continuar.
sudo dnf install mariadb-server
Una vez que MariaDB esté instalado, inicie y habilite el servicio MariaDB mediante el siguiente comando systemctl.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Ahora verifique el servicio MariaDB para asegurarse de que el servicio esté habilitado y en ejecución.
sudo systemctl status mariadb
Debería ver que la salida del servicio MariaDB está habilitada y se ejecutará automáticamente al iniciar el sistema. Y el estado del servicio MariaDB se está ejecutando.
Ahora que el servicio MariaDB se está ejecutando, es hora de asegurar la implementación de MariaDB a través de mysql_secure_installation.
Ejecute el siguiente comando para asegurar su implementación de MariaDB.
sudo mysql_secure_installation
Ahora se le pedirán las siguientes configuraciones del servidor MariaDB:
- ¿Cambiar la autenticación a unix_socket? ingrese n para no.
- ¿Cambiar la contraseña raíz de MariaDB? ingrese y para confirmar, luego ingrese la nueva contraseña para su usuario root de MariaDB.
- ¿Deshabilitar el inicio de sesión remoto para el usuario raíz? ingrese y para sí.
- ¿Eliminar usuario anónimo? entrada y.
- ¿Quitar la prueba de base de datos predeterminada? ingrese y nuevamente.
- Por último, ¿recargar los privilegios de las tablas y aplicar nuevas configuraciones? ingrese y para confirmar.
Ahora ha instalado y asegurado MariaDB en su servidor.
Instalando PHP
Después de instalar MariaDB, ahora instalará PHP en su servidor Rocky Linux. SysPass Password Manager requería la instalación de PHP 7.4, por lo que ahora lo instalará a través del repositorio REMI.
Para Rocky Linux 8: ejecute el siguiente comando para agregar el repositorio REMI.
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Para Rocky Linux 9: ejecute el siguiente comando para agregar el repositorio REMI
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm
Ingrese y cuando se le solicite para confirmar la instalación.
Ahora, ejecute el comando dnf a continuación para verificar la lista de paquetes PHP disponibles. Y debería ver que el repositorio de REMI proporciona varias versiones de PHP 7.4, 8.0, 8.1 y 8.2.
sudo dnf module list php
Para la instalación de SysPass, instalará PHP 7.4. Entonces, ejecute el siguiente comando para habilitar el módulo PHP remi-7.4. Ingrese Y para confirmar y habilitar el módulo.
sudo dnf module enable php:remi-7.4
Ahora ejecute el siguiente comando dnf para instalar PHP 7.4 en su 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 le pedirá que confirme la instalación. Ingrese y y presione ENTER para continuar.
Una vez que PHP esté instalado, edite el archivo de configuración predeterminado /etc/php.ini usando el siguiente comando.
sudo nano /etc/php/7.4/apache2/php.ini
Cambie la configuración predeterminada de PHP con los siguientes ajustes. asegúrese de ajustar la zona horaria y el límite de memoria de acuerdo con el entorno de su sistema.
post_max_size = 120M
upload_max_filesize = 120M
max_execution_time = 6000
memory_limit = 256M
date.timezone = Europe/Stockholm
Guarde el archivo y salga del editor cuando haya terminado.
Ahora, ejecute el siguiente comando systemctl para reiniciar el servicio httpd y aplicar las configuraciones de PHP. Y ahora ha terminado la instalación básica de LAMP Stack para SysPass Password Manager.
sudo systemctl restart httpd
Instalación del compositor
Otra dependencia que se requiere para SysPass es Composer. Esto se usará para instalar las dependencias de PHP para la aplicación web SysPass.
Ejecute el siguiente comando para instalar Composer en su máquina Rocky Linux.
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
A continuación recibirá la salida:
Ahora, verifique el Compositor usando el siguiente comando. Debería ver la versión de PHP Composer que está instalada en su sistema.
sudo -u apache composer -v
Después de instalar Composer, comenzará la instalación de SysPass.
Instalación del administrador de contraseñas de SysPass
Para empezar, ejecute el siguiente comando dnf para instalar git y descomprimir paquetes en su sistema.
sudo dnf install git unzip -y
Ahora, descargue el código fuente de SysPass mediante el comando git en el directorio de instalación de destino /var/www/syspass.
git clone https://github.com/nuxsmin/sysPass.git /var/www/syspass
Ejecute el siguiente comando para cambiar la propiedad y el permiso del directorio de instalación de SysPass. La propiedad debe ser del usuario apache, que es el httpd en el que se ejecuta.
sudo chown -R apache:apache /var/www/syspass
sudo chmod 750 /var/www/syspass/app/config /var/www/syspass/app/backup
A continuación, ejecute el siguiente comando para crear un directorio de caché para Composer. Luego, cambie la propiedad al usuario apache. Este directorio se utilizará para almacenar las dependencias de PHP para su aplicación.
sudo mkdir -p /usr/share/httpd/.cache
sudo chown -R apache:apache /usr/share/httpd/.cache
Por último, diríjase al directorio de instalación de SysPass /var/www/syspass e instale las dependencias de PHP para SysPass mediante el siguiente comando composer.
cd /var/www/syspass
sudo -u apache composer install --no-interaction --no-dev
En la siguiente captura de pantalla, verá la instalación de las dependencias de PHP para SysPass Password Manager.
Una vez que las dependencias de PHP estén instaladas, vaya al siguiente paso.
Configuración de SELinux
Si está ejecutando SysPass con SELinux en el modo de aplicación, debe agregar una nueva regla de SELinux a su sistema.
Antes de comenzar a administrar SELinux, ejecute el siguiente comando para asegurarse de que esté instalado el siguiente paquete.
sudo dnf install policycoreutils-python-utils -y
Después de eso, ejecute el siguiente comando para agregar la política de SELinux que usará SysPass.
En este comando, permitirá que el servicio httpd se conecte al LDAP a través de la red (cuando esté utilizando la autenticación LDAP), y también estará 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
Configuración del servidor virtual Httpd
Ahora configurará el host virtual httpd/apache2 para SysPass Password Manager. antes de comenzar, asegúrese de tener certificados SSL y que el nombre de dominio apunte a la dirección IP de su servidor.
Ejecute el siguiente comando dnf a continuación para instalar el paquete mod_ssl para el servidor web httpd.
sudo dnf install mod_ssl -y
Después de instalar mod_ssl, ejecute el siguiente comando para generar certificados SSL para localhost. Debe generar este certificado, de lo contrario, el httpd no se ejecutará. Localhost utiliza estos certificados 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, cree 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
Agregue la siguiente configuración al archivo. Y también asegúrese 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
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>
Guarde el archivo y salga del editor cuando haya terminado.
Ahora ejecute el siguiente comando para verificar la configuración de httpd y asegúrese de tener las configuraciones de httpd adecuadas.
sudo apachectl configtest
Si tiene configuraciones de httpd correctas y adecuadas, verá el mensaje de salida como Sintaxis OK.
Por último, ejecute el siguiente comando systemctl para reiniciar el servicio httpd y aplicar nuevos cambios. Su SysPass Password Manager ahora está instalado y listo para configurar.
sudo systemctl restart httpd
Configuración del administrador de contraseñas de SysPass
Abra su navegador web y visite el nombre de dominio de su instalación de SysPass (es decir, https://syspass.hwdomain.io).
Ahora, deberá crear un nuevo usuario administrador y contraseña para su SysPass. Luego, ingrese la nueva contraseña maestra. Asegúrese de utilizar contraseñas seguras y fáciles de recordar tanto para el administrador como para la maestra.
En la página inferior, ingrese el nombre de usuario de la base de datos como root e ingrese su contraseña. Luego, ingrese el nombre de la base de datos que el instalador de SysPass creará automáticamente.
Además, puede cambiar el idioma de instalación predeterminado con su idioma preferido.
Cuando esté listo, haga clic en \INSTALAR\ para iniciar la instalación de SysPass.
Una vez que SysPass esté instalado, obtendrá la página de inicio de sesión de SysPass Password Manager.
Ingrese su usuario y contraseña de administrador, luego haga clic en el botón de inicio de sesión.
Si está utilizando el usuario y la contraseña correctos, verá el panel de SysPass Password Manager.
Desde allí, ahora puede agregar nuevos usuarios y grupos, importar contraseñas de bases de datos desde archivos CSV o archivos de bases de datos Kepass, o también puede integrar la autenticación a través de LDAP.
Conclusión
En este tutorial, instaló y configuró SysPass Password Manager en Rocky Linux. También ha instalado LAMP Stack (Apache2/httpd, MariaDB y PHP) y Composer en su servidor Rocky Linux.
Con SysPass instalado y protegido, ahora puede usarlo como su administrador de contraseñas diario. o puede agregar más usuarios para su organización interna.