GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Installer et configurer Passbolt Team Password Manager sur Ubuntu 20.04

Passbolt est un gestionnaire de mots de passe gratuit, open-source, auto-hébergé et extensible qui vous aide à partager et à stocker en toute sécurité les identifiants de connexion, tels que le mot de passe du routeur, du site Web, du Wi-Fi -Fi, et plus encore. Il est différent des autres gestionnaires de mots de passe. il est axé sur l'utilisation en équipe plutôt que sur les individus. Il est disponible en édition communautaire et payante. Il offre de nombreuses fonctionnalités, dont certaines sont répertoriées ci-dessous :

  • Fournit des extensions Firefox et Google Chrome.
  • Utilisez OpenPGP pour chiffrer le mot de passe.
  • Interface Web simple et conviviale.
  • Permet d'importer et d'exporter des mots de passe.
  • Permet d'ajouter manuellement les identifiants de connexion.

Dans ce tutoriel, nous expliquerons comment installer Passbolt Password Manager avec Apache et Let's Encrypt sur Ubuntu 20.04.

Prérequis

  • Un serveur exécutant Ubuntu 20.04.
  • Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
  • Un mot de passe root est configuré sur le serveur.

Installer le serveur LAMP

Tout d'abord, vous devrez installer le serveur Apache et MariaDB sur votre système. Vous pouvez les installer avec la commande suivante :

apt-get install apache2 mariadb-server -y

Après avoir installé les packages ci-dessus, vous devrez également installer PHP et les autres packages requis sur votre système.

Par défaut, Ubuntu 20.04 est livré avec PHP7.4 dans son référentiel par défaut. Cependant, Passbolt ne prend pas en charge PHP7.4. Vous devrez donc ajouter le référentiel PHP dans votre système.

Tout d'abord, installez les packages requis avec la commande suivante :

apt-get install software-properties-common gnupg -y

Ensuite, ajoutez le dépôt PHP avec la commande suivante :

add-apt-repository ppa:ondrej/php --yes

Ensuite, installez la version 7.3 de PHP avec Composer et les autres extensions requises avec la commande suivante :

apt-get install php7.3 php7.3-mysql libapache2-mod-php7.3 php7.3-intl php7.3-mbstring php7.3-gd php7.3-imagick php7.3-xml php7.3-common php7.3-curl php7.3-json php7.3-ldap php7.3-gnupg zlib1g unzip git composer curl -y

Une fois tous les packages installés, vous pouvez passer à l'étape suivante.

Configurer la base de données MariaDB

Tout d'abord, vous devrez sécuriser l'installation de MariaDB et définir le mot de passe root de MariaDB. Vous pouvez le faire avec la commande suivante :

mysql_secure_installation

Ce script définira le mot de passe root de MariaDB, supprimera les utilisateurs anonymes, désactivera la connexion root à distance et supprimera la base de données de test et l'accès à celle-ci, comme indiqué ci-dessous :

Enter current password for root (enter for none): 
OK, successfully used password, moving on...
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Une fois MariaDB sécurisée, connectez-vous au shell MariaDB avec la commande suivante :

mysql -u root -p

Fournissez votre mot de passe root lorsque vous y êtes invité, puis créez une base de données et un utilisateur pour Passbolt avec la commande suivante :

MariaDB [(none)]> CREATE DATABASE passboltdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> GRANT ALL on passboltdb.* to [email protected] identified by 'password';

Ensuite, videz les privilèges et quittez MariaDB avec la commande suivante :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Télécharger et configurer Passbolt

Dans cette section, nous allons apprendre à télécharger et configurer passbolt :

Télécharger Passbolt

Tout d'abord, téléchargez la dernière version de Passbolt dans le répertoire racine Web d'Apache avec la commande suivante :

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

Une fois téléchargé, changez la propriété du passbolt en www-data avec la commande suivante :

chown -R www-data:www-data /var/www/

Ensuite, changez le répertoire en passbolt et installez les dépendances requises avec la commande suivante :

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

Vous devriez obtenir le résultat suivant :

> Cake\Composer\Installer\PluginInstaller::postAutoloadDump
9 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
thadafinser/package-info:  Generating class...
thadafinser/package-info: ...generating class
> App\Console\Installer::postInstall
Created `config/app.php` file
Created `/var/www/passbolt/logs` directory
Created `/var/www/passbolt/tmp/cache/models` directory
Created `/var/www/passbolt/tmp/cache/persistent` directory
Created `/var/www/passbolt/tmp/cache/views` directory
Created `/var/www/passbolt/tmp/sessions` directory
Created `/var/www/passbolt/tmp/tests` directory
Set Folder Permissions ? (Default to Y) [Y,n]? Y

Tapez O et appuyez sur Entrée pour définir les autorisations de dossier.

Générer la clé OpenPGP

Ensuite, vous devrez générer une clé OpenPGP pour authentifier et signer les requêtes JSON sortantes. Vous pouvez le générer avec la commande suivante :

cd /var/www/passbolt
gpg --full-generate-key

Pendant le processus, il vous sera demandé la phrase secrète, appuyez simplement sur la touche Tab, sélectionnez OK et confirmez que vous ne voulez pas le définir, car le module php-gnupg ne prend pas en charge l'utilisation de la phrase secrète pour le moment.

gpg (GnuPG) 2.2.19; Copyright (C) 2019 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.

gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
  (14) Existing key from card
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072) 4096
Requested keysize is 4096 bits
Please specify how long the key should be valid.
         0 = key does not expire
        = key expires in n days
      w = key expires in n weeks
      m = key expires in n months
      y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
Is this correct? (y/N) y

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

Real name: Hitesh
Email address: [email protected]
Comment: Hi
You selected this USER-ID:
    "Hitesh (Hi) <[email protected]>"

Change (N)ame, (C)omment, (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: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 2DA8E7FB8E23B2FD marked as ultimately trusted
gpg: directory '/root/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/9622291A72D99A4EC78ABCB92DA8E7FB8E23B2FD.rev'
public and secret key created and signed.

pub   rsa4096 2020-07-25 [SC]
      D2394A45B7CBBAB7F00CC79B23D4750486780854
uid                      Hitesh (Hi) <[email protected]>
sub   rsa4096 2020-07-25 [E]

N'oubliez pas l'empreinte de la clé publique ci-dessus car elle sera nécessaire plus tard dans la configuration.

Ensuite, exportez la clé publique et privée dans le répertoire '/var/www/passbolt' avec les commandes suivantes :

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

Ensuite, vous devrez initialiser le trousseau de clés gpg pour l'utilisateur Apache. Vous pouvez le faire avec la commande suivante :

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

Vous devriez obtenir le résultat suivant :

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

Configurer Passbolt

Tout d'abord, copiez l'exemple de fichier de configuration Passbolt avec la commande suivante :

cp /var/www/passbolt/config/passbolt{.default,}.php

Ensuite, modifiez le fichier de configuration Passbolt avec la commande suivante : :

nano /var/www/passbolt/config/passbolt.php

Définissez votre fullbaseurl, votre base de données et votre empreinte de clé publique comme indiqué ci-dessous :

        'fullBaseUrl' => 'https://passbolt.linuxbuz.com',
    // Database configuration.

    'Datasources' => [
        'default' => [
            'host' => 'localhost',
            //'port' => 'non_standard_port_number',
            'username' => 'passbolt',
            'password' => 'password',
            'database' => 'passboltdb',
            'serverKey' => [
            // Server private key fingerprint.
            'fingerprint' => 'D2394A45B7CBBAB7F00CC79B23D4750486780854',
            'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',
            'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',

Enregistrez et fermez le fichier lorsque vous avez terminé.

Si vous ne vous souvenez pas de l'empreinte de votre clé publique, vous pouvez la récupérer avec la commande suivante :

gpg --list-keys --fingerprint | grep -i -B 2 [email protected]

Vous devriez obtenir le résultat suivant :

gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   rsa4096 2020-07-25 [SC]
      D239 4A45 B7CB BAB7 F00C  C79B 23D4 7504 8678 0854
uid           [ultimate] Hitesh (Hi) <[email protected]>

Configurer Apache pour Passbolt

Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour Passbolt. Vous pouvez le créer avec la commande suivante :

nano /etc/apache2/sites-available/passbolt.conf

Ajoutez les lignes suivantes :

<VirtualHost *:80>

        ServerName passbolt.linuxbuz.com
        DocumentRoot /var/www/passbolt

        ErrorLog ${APACHE_LOG_DIR}/passbolt_error.log
        CustomLog ${APACHE_LOG_DIR}/passbolt_access.log combined


      <Directory /var/www/passbolt/>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Require all granted
        </Directory>

</VirtualHost>

Enregistrez et fermez le fichier puis activez le fichier d'hôte virtuel et redémarrez le service Apache avec la commande suivante :

a2ensite passbolt
systemctl restart apache2

Lorsque vous avez terminé, vous pouvez passer à l'étape suivante.

Sécuriser Passbolt avec Let's Encrypt

Afin de sécuriser votre site Web avec Let's Encrypt SSL, vous devrez installer l'utilitaire client Certbot dans votre système pour gérer le certificat SSL.

Vous pouvez l'installer avec la commande suivante :

apt-get install python3-certbot-apache -y

Une fois installé, exécutez la commande suivante pour sécuriser votre site Web avec Let's Encrypt SSL :

certbot --apache -d passbolt.linuxbuz.com

Il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for passbolt.linuxbuz.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/passbolt-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/passbolt-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/passbolt-le-ssl.conf

Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS comme indiqué ci-dessous :

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Tapez 2 et appuyez sur Entrée pour installer le Let's Encrypt SSL pour votre site Web :

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/passbolt.conf to ssl vhost in /etc/apache2/sites-available/passbolt-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://passbolt.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=passbolt.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/passbolt.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/passbolt.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-10-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

À ce stade, votre site Web est sécurisé avec Let's Encrypt SSL.

Installer Passbolt

Ensuite, vous pouvez installer Passbolt en exécutant le script d'installation de Passbolt.

Tout d'abord, changez le répertoire en /var/www/passbolt :

cd /var/www/passbolt

Ensuite, exécutez le script d'installation de Passbolt avec la commande suivante :

sudo su -s /bin/bash -c "./bin/cake passbolt install --no-admin" www-data

Une fois l'installation terminée avec succès, vous devriez obtenir le résultat suivant :

All Done. Took 1.6533s

Import the server private key in the keyring
---------------------------------------------------------------
Importing /var/www/passbolt/config/gpg/serverkey_private.asc
Keyring init OK

Passbolt installation success! Enjoy! ?

Ensuite, vous devrez finaliser la configuration de Passbolt à partir du navigateur. Ouvrez votre navigateur Web et visitez l'URL https://passbolt.linuxbuz.com. Vous devriez voir l'écran suivant :

Ici, vous devrez télécharger et installer un plugin pour votre navigateur. Cliquez sur Télécharger le plugin pour télécharger et installer le plugin Passbolt. Une fois installé, vous pouvez passer à l'étape suivante.

Accéder à l'interface Web Passbolt

Avant de commencer, vous devrez créer un utilisateur administrateur et définir un mot de passe pour Passbolt. Vous pouvez le faire avec la commande suivante :

cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake passbolt register_user -u [email protected] -f howtoforge -l Demo -r admin" www-data

Vous devriez obtenir le résultat suivant :

     ____                  __          ____  
    / __ \____  _____ ____/ /_  ____  / / /_ 
   / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/ 
  / ____/ /_/ (__  |__  ) /_/ / /_/ / / /    
 /_/    \__,_/____/____/_.___/\____/_/\__/   

 Open source password manager for teams
---------------------------------------------------------------
User saved successfully.
To start registration follow the link provided in your mailbox or here: 
https://passbolt.linuxbuz.com/setup/install/5bcfb186-3d9f-448f-8388-f705abd855c8/a2ba80dc-5ef2-433a-9138-11282747b377

Maintenant, copiez le lien de la sortie ci-dessus et utilisez-le pour finaliser la configuration de Passbolt sur le navigateur. Vous devriez voir l'écran suivant :

Confirmez que l'URL et l'empreinte de la clé GPG sont correctes et cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :

Indiquez le nom du propriétaire, son adresse e-mail et cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :

Définissez votre mot de passe et cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :

Téléchargez votre clé secrète et cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :

Définissez un jeton de sécurité et cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :

Indiquez votre nom d'utilisateur, votre mot de passe et cliquez sur login bouton. Vous devriez voir le tableau de bord Passbolt dans l'écran suivant :

Conclusion

Félicitations ! vous avez installé avec succès le gestionnaire de mots de passe Passbolt avec Let's Encrypt SSL sur le serveur Ubuntu 20.04. Vous pouvez désormais stocker et partager vos mots de passe avec vos équipes et vos utilisateurs individuels. N'hésitez pas à me demander si vous avez des questions.


Ubuntu
  1. Comment installer et configurer Redis sur Ubuntu 18.04

  2. Comment installer et configurer Redmine sur Ubuntu 18.04

  3. Comment installer et configurer ownCloud avec Apache sur Ubuntu 18.04

  4. Comment installer et configurer Samba sur Ubuntu 18.04

  5. Comment installer et configurer Redis sur Ubuntu 20.04

Comment installer et configurer Magento 2 sur Ubuntu 18.04

Installer et configurer Fail2ban sur Ubuntu 20.04

Comment installer et configurer Magento 2.3.0 sur Ubuntu 18.04

Comment installer Passbolt Password Manager sur le serveur Ubuntu 18.04

Comment installer Passbolt Password Manager sur le serveur Ubuntu 20.04

Comment installer Passbolt Password Manager sur Ubuntu 18.04