GNU/Linux >> Tutoriales Linux >  >> Rocky Linux

Cómo instalar Passbolt Password Manager en Rocky Linux

Passbolt es un administrador de contraseñas gratuito y de código abierto basado en PHP, MySQL y OpenPGP. Es un servidor de aplicaciones autohospedado, puede instalarlo en su servidor. Passbolt está diseñado principalmente para equipos, pero también puede usarlo como administrador de contraseñas personales.

Passbolt se basa en OpenPGP y tiene una API extensible. En el lado del cliente, puede usar la extensión del navegador Passbolt, que se basa en OpenPGP.js para la funcionalidad de cifrado. En el lado del servidor, Passbolt usa la extensión GnuPG PHP y openpgp-php para realizar la validación de claves y la autenticación de usuarios. Passbolt utiliza el protocolo GPGAuth para la autenticación de usuarios.

Requisitos

En este artículo, aprenderá cómo instalar el administrador de contraseñas autohospedado Passbolt en el servidor Rocky Linux. Instalará Passbolt con PHP 7.4, servidor MariaDB y servidor web Nginx.

Para este ejemplo, utilizaremos los siguientes detalles del servidor:

  • Sistema operativo:Rocky Linux 8.4 (obsidiana verde)
  • Dirección IP:192.168.1.10
  • Nombre de dominio, en este ejemplo usaré:https://pass.example.io

Ahora comencemos la instalación de Passbolt.

Instalar dependencias de paquetes

En primer lugar, agregará nuevos repositorios e instalará algunas dependencias de paquetes en el sistema Rocky Linux.

1. Ejecute el siguiente comando para habilitar el repositorio de 'PowerTools' e instale el repositorio de paquetes adicionales para Enterprise Linux (EPEL).

sudo dnf config-manager --set-enabled powertools
sudo dnf install epel-release -y

2. Ejecute el siguiente comando para habilitar el repositorio de PHP 7.4.

sudo dnf module enable php:7.4 -y

3. Luego, instale PHP-FPM, MariaDB, Nginx y algunos paquetes adicionales usando el comando DNF a continuación.

sudo dnf install -y nginx mariadb-server mariadb php php-intl php-gd php-mysqlnd php-pear php-devel php-mbstring php-fpm php-json php-ldap gcc gpgme gpgme-devel git policycoreutils-python-utils unzip haveged make gcc

4. Después de que se complete toda la instalación, ejecute el siguiente comando para descargar el script de instalación del compositor de PHP.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Ahora ejecute nuevamente el siguiente comando para instalar PHP composer en el entorno de todo el sistema.

php composer-setup.php
sudo mv composer.phar /usr/bin/composer

Verifique el comando PHP composer como se muestra a continuación.

sudo -u nginx composer --version

Obtendrá un resultado similar al siguiente.

Composer version 2.1.12 2021-11-09 16:02:04

5. A continuación, instale las extensiones PHP de GnuPG desde el repositorio de la Biblioteca comunitaria de extensiones de PHP (PECL).

pecl install gnupg

Después de eso, habilite la extensión PHP de GnuPG usando el siguiente comando.

echo "extension=gnupg.so" > /etc/php.d/gnupg.ini

6. Ahora inicie y habilite algunos servicios usando el siguiente comando systemctl.

sudo systemctl enable --now nginx
sudo systemctl enable --now mariadb
sudo systemctl enable --now php-fpm
sudo systemctl enable --now haveged

Ahora ha completado la instalación de dependencias de paquetes para Passbolt.

Configurando MariaDB y PHP-FPM

En este paso, configurará la contraseña raíz de MariaDB y el servicio PHP-FPM.

1. Ejecute el siguiente comando para configurar la contraseña raíz de MariaDB.

mysql_secure_installation

Escriba una nueva contraseña segura para el usuario raíz de MariaDB y repita, luego escriba 'Y' aceptar todas las configuraciones de MariaDB.

2. A continuación, edite el archivo '/etc/php.ini ' archivo de configuración usando el editor nano.

nano /etc/php.ini

Descomente la opción 'date.timezone' y cambie el valor con la zona horaria de su servidor.

date.timezone = Europe/Paris

Guarde la configuración y salga.

3. Edite la configuración PHP-FPM '/etc/php-fpm.d/www.conf ' usando el editor nano.

nano /etc/php-fpm.d/www.conf

Cambie el usuario y el grupo predeterminados para PHP-FPM a 'nginx '.

user = nginx
group = nginx

Descomente el 'listen.propietario ' y 'escuchar.grupo ', y cambie el valor a usuario 'nginx '.

listen.owner = nginx
listen.group = nginx

Guarde la configuración y salga.

Ahora aplique la nueva configuración PHP-FPM reiniciando el servicio PHP-FPM usando el siguiente comando systemctl.

sudo systemctl restart php-fpm

Y completó la configuración básica de PHP-FPM y creó una nueva contraseña para el usuario root de MariaDB.

Crear nueva base de datos para Passbolt

Para crear una nueva base de datos para la instalación de Passbolt, inicie sesión en el shell de MariaDB usando 'mysql ' comando a continuación.

mysql -u root -p

1. Cree una nueva base de datos 'passdb' usando la siguiente consulta.

CREATE DATABASE passdb;

2. Otorgue todos los privilegios en la base de datos 'passdb ' al nuevo usuario. La siguiente consulta creará automáticamente un nuevo usuario de MariaDB 'passbolt '.

GRANT ALL ON passdb.* to [email protected] IDENTIFIED BY 'PassboltdbPass';

3. Vuelva a cargar todos los privilegios de las tablas.

FLUSH PRIVILEGES;

Ahora escribe 'SALIR ' y presione 'Entrar ' para cerrar sesión en el shell de MariaDB.

Vaya al siguiente paso para iniciar la instalación de Passbolt.

Descargar Passbolt e instalar las dependencias de PHP

Para este paso, descargará el código fuente de Passbolt a su servidor e instalará las dependencias de PHP usando PHP composer.

1. Cambie el directorio de trabajo actual a '/var/www' y clone la fuente de Passbolt usando el comando como se muestra a continuación.

cd /var/www/
git clone https://github.com/passbolt/passbolt_api.git passbolt

La instalación de passbolt es '/var/www/passbolt'

2. Cambie la propiedad del directorio de instalación de Passbolt al usuario 'nginx '.

sudo chown -R nginx:nginx /var/www/passbolt

3. Muévase al directorio de instalación de Passbolt e instale las dependencias de PHP usando el comando PHP composer. Y asegúrese de ejecutar el comando PHP composer como usuario 'nginx '.

cd /var/www/passbolt
sudo -u nginx composer install --no-dev

Si se completa la instalación de todas las dependencias de PHP, vaya al siguiente paso para generar la clave GPG.

Generar clave GPG para servidor

En este paso, generará una nueva clave GPG para el servidor Passbolt.

La extensión PHP actual openpgp-php y GnuPG PHP aún no admiten frases de contraseña, por lo que creará una nueva clave GPG sin una frase de contraseña.

1. Para generar la clave GPG, ejecute el siguiente comando gpg.

gpg --gen-key

Escriba su nombre y dirección de correo electrónico y no use una frase de contraseña.

gpg (GnuPG) 2.2.20; Copyright (C) 2020 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Note: Use "gpg --full-generate-key" for a full featured key generation dialog.

GnuPG needs to construct a user ID to identify your key.

Real name: johndoe
Email address: [email protected]
You selected this USER-ID:
    "johndoe <[email protected]>"

Change (N)ame, (E)mail, or (O)kay/(Q)uit? O
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: key 14F31ED1FBEBAD9A marked as ultimately trusted
gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A.rev'
public and secret key created and signed.

pub   rsa2048 2021-11-16 [SC] [expires: 2023-11-16]
      BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A
uid                      johndoe <[email protected]>
sub   rsa2048 2021-11-16 [E] [expires: 2023-11-16]

Además, tome nota de la huella digital de su nueva llave. Para este ejemplo, la huella digital de la clave es 'BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A '.

2. A continuación, exporte la clave GPG al directorio de instalación de passbolt '/var/www/passbolt/config/gpg/ '.

gpg --armor --export-secret-keys [email protected] > /var/www/passbolt/config/gpg/serverkey_private.asc
gpg --armor --export [email protected] > /var/www/passbolt/config/gpg/serverkey.asc

En este punto, debe tomar nota sobre la información clave de su GPG, como se muestra a continuación.

  • Huella digital:BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A
  • Correo electrónico:[correo electrónico protegido]
  • Clave pública: serverkey.asc
  • Clave privada: serverkey_private.asc

3. A continuación, debe generar el directorio GNUPG para el usuario nginx mediante el siguiente comando.

sudo su -s /bin/bash -c "gpg --list-keys" nginx

Verá un resultado similar al siguiente.

gpg: directory '/var/lib/nginx/.gnupg' created
gpg: keybox '/var/lib/nginx/.gnupg/pubring.kbx' created
gpg: /var/lib/nginx/.gnupg/trustdb.gpg: trustdb created

Nou has completado la configuración de la clave GPG para Passbolt. Vaya al siguiente paso para la configuración de Passbolt.

Configuración de bloques de servidores Passbolt y Nginx

En este paso, configurará el nombre de dominio, la base de datos y la clave GPG de la instalación de Passbolt.

Antes de comenzar, cambie su directorio de trabajo a '/var/www/passbolt' directorio.

export PASSBOLT=/var/www/passbolt/
cd $PASSBOLT

1. Copie la configuración predeterminada en 'passbolt.php' y luego edítela con el editor nano.

cp config/passbolt.default.php config/passbolt.php
nano config/passbolt.php

Cambie el 'fullBaseUrl ' con la instalación de su nombre de dominio Passbolt. Para este ejemplo es 'https://pass.example.io'

    'App' => [
        // comment

        'fullBaseUrl' => 'https://pass.example.io',
        
        // comment..
    ],

Cambie la configuración de la base de datos con su usuario y contraseña de MariaDB a continuación.

    // Database configuration.
    'Datasources' => [
        'default' => [
            'host' => 'localhost',
            //'port' => 'non_standard_port_number',
            'username' => 'passbolt',
            'password' => 'PassboltdbPass',
            'database' => 'passdb',
        ],
    ],

Copie y pegue su huella digital GPG y descomente las opciones 'público' y 'privado'.

        'gpg' => [
            //
            // COMMENT REMOVED
            //
            'serverKey' => [
                // Server private key fingerprint.
                'fingerprint' => '38E3736DD02860F8CBA57BB99C8B82A2C3A6959F',
                'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',
                'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',
            ],

Guarde la configuración y salga.

2. A continuación, cree una nueva configuración de bloques de servidor Nginx '/etc/nginx/conf.d/passbolt.conf ' usando el editor nano.

nano /etc/nginx/conf.d/passbolt.conf

Copie y pegue la siguiente configuración y asegúrese de cambiar el nombre de dominio y la ruta de los certificados SSL.

server {
    listen 80;

    server_name pass.example.io;

    return 302 https://$server_name$request_uri;
}

server {
  listen 443 ssl http2;

  server_name pass.example.io;
  root /var/www/passbolt;

  ssl_certificate /etc/letsencrypt/live/pass.example.io/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/pass.example.io/privkey.pem;

  ssl_protocols TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
  ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
  ssl_session_timeout  10m;
  ssl_session_cache shared:SSL:10m;
  ssl_session_tickets off; # Requires nginx >= 1.5.9
  # ssl_stapling on; # Requires nginx >= 1.3.7
  # ssl_stapling_verify on; # Requires nginx => 1.3.7
  resolver 8.8.8.8 8.8.4.4 valid=300s;
  resolver_timeout 5s;
  add_header X-Frame-Options DENY;
  add_header X-Content-Type-Options nosniff;
  add_header X-XSS-Protection "1; mode=block";
 
  location / {
    try_files $uri $uri/ /index.php?$args;
    index index.php;
  }
 
  location ~ \.php$ {
    fastcgi_index           index.php;
    fastcgi_pass            unix:/var/run/php-fpm/www.sock;
    fastcgi_split_path_info ^(.+\.php)(.+)$;
    include                 fastcgi_params;
    fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param           SERVER_NAME $http_host;
  }
       
  location ~* \.(jpe?g|woff|woff2|ttf|gif|png|bmp|ico|css|js|json|pdf|zip|htm|html|docx?|xlsx?|pptx?|txt|wav|swf|svg|avi|mp\d)$ {
    access_log off;
    log_not_found off;
    try_files $uri /webroot/$uri /index.php?$args;
  }
}

Guarde la configuración y salga.

Ahora verifique la configuración de Nginx y asegúrese de que no recibe ningún error, luego reinicie el servicio de Nginx.

nginx -t
sudo systemctl restart nginx

3. A continuación, cambie el directorio de trabajo a '/var/www/passbolt ' e inicie la instalación de Passbolt usando el comando que se muestra a continuación.

cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake passbolt install" nginx

Al final del proceso de instalación de Passbolt, creará un nuevo usuario administrador para Passbolt.

Escriba su dirección de correo electrónico, nombre y apellido. Luego copie su enlace de instalación de Passbolt.

Acceder a Passbolt desde el navegador web

Abra su navegador web y pegue el enlace de instalación de Passbolt generado por el instalador de Passbolt en la barra de direcciones.

https://pass.example.io/setup/install/8383584c-2eca-496a-a0ca-4fe35a157d24/fc5ad911-9409-416a-8175-a18cd19dcb20

1. Passbolt detectará automáticamente su navegador web y mostrará el enlace de instalación de la extensión del navegador Passbolt.

Haga clic en el botón 'Descargar extensión ' e instale la extensión del navegador Passbolt.

2. Escriba una nueva frase de contraseña segura y haga clic en 'Siguiente botón '.

3. Descargue el kit de recuperación a su computadora local y haga clic en 'Siguiente ' botón. Puede usar el kit de recuperación para restablecer su frase de contraseña de Passbolt.

4. Elija el color de su token de seguridad Passbolt y asegúrese de recordar esas tres letras. Haga clic en 'Siguiente ' de nuevo.

5. Ahora será redirigido al panel de usuario de Passbolt como se muestra a continuación.

6. Usuarios de la lista Passbolt.

Y ha completado la instalación del administrador de contraseñas de Passbolt.

Conclusión

¡Felicidades! Ha instalado correctamente el administrador de contraseñas Passbolt con PHP-FPM, el servidor MariaDB y el servidor web Nginx en Rocky Linux.

Para el siguiente paso, puede crear nuevos usuarios de passbolt para su equipo.


Rocky Linux
  1. Cómo instalar Padloc Password Manager en Rocky Linux 8

  2. Cómo instalar Nextcloud en Rocky Linux

  3. Cómo instalar el último PHP 8 en Rocky Linux

  4. Cómo instalar phpMyAdmin en Rocky Linux

  5. Cómo instalar PHP 8 en Alma Linux y Rocky Linux

Cómo instalar PHP 7.4 en Rocky Linux 8

Cómo instalar Passbolt Password Manager en Ubuntu 18.04

Cómo instalar Memcached en Rocky Linux 8

Cómo instalar PHP 8 en Rocky Linux 8

Cómo instalar Laravel en Rocky Linux 8

Cómo instalar Snap Package Manager en Rocky Linux 8