In questo tutorial, ti mostreremo come installare Passbolt su AlmaLinux 8. Per chi non lo sapesse, Passbolt è un gestore di password gratuito e open source basato su PHP, MySQL e OpenPGP che ti consentono di archiviare e condividere in modo sicuro le credenziali di accesso del sito Web, la password del router, la password Wi-Fi, ecc. È self-hosted e disponibile sia nelle edizioni community che in abbonamento.
Questo articolo presuppone che tu abbia almeno una conoscenza di base di Linux, sappia come usare la shell e, soprattutto, che ospiti il tuo sito sul tuo VPS. L'installazione è abbastanza semplice e presuppone che tu sono in esecuzione nell'account root, in caso contrario potrebbe essere necessario aggiungere 'sudo
' ai comandi per ottenere i privilegi di root. Ti mostrerò l'installazione passo passo del gestore di password Passbolt su un AlmaLinux 8. Puoi seguire le stesse istruzioni per le distribuzioni Fedora, RHEL, CentOS e Rocky Linux.
Prerequisiti
- Un server che esegue uno dei seguenti sistemi operativi:AlmaLinux 8, CentOS e Rocky Linux 8.
- Si consiglia di utilizzare una nuova installazione del sistema operativo per prevenire potenziali problemi
- Un
non-root sudo user
o accedere all'root user
. Ti consigliamo di agire comenon-root sudo user
, tuttavia, poiché puoi danneggiare il tuo sistema se non stai attento quando agisci come root.
Installa Passbolt su AlmaLinux 8
Passaggio 1. Innanzitutto, iniziamo assicurandoci che il tuo sistema sia aggiornato.
sudo dnf clean all sudo dnf update
Passaggio 2. Installazione di un server LEMP.
Prima di installare Passbolt, è necessario un server Fedora LEMP. Se non hai installato LAMP, puoi seguire la nostra guida qui.
Passaggio 3. Installazione del compositore PHP.
Esegui il seguente comando per scaricare lo script di installazione del compositore 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;"
Dopodiché, esegui di nuovo il seguente comando per installare il compositore PHP:
php composer-setup.php sudo mv composer.phar /usr/bin/composer
Verifica compositore PHP:
sudo -u nginx composer --version
Successivamente, installa le estensioni PHP di GnuPG dal repository PECL (PHP Extension Community Library):
pecl install gnupg echo "extension=gnupg.so" > /etc/php.d/gnupg.ini
Passaggio 4. Installazione di Passbolt su AlmaLinux 8.
Per impostazione predefinita, Passbolt non è disponibile nel repository di base di AlmaLinux 8. Ora eseguiamo il seguente comando per clonare l'ultima versione di Passbolt dalla pagina GitHub:
cd /var/www/ git clone https://github.com/passbolt/passbolt_api.git passbolt
Dovremo modificare alcune autorizzazioni per le cartelle:
sudo chown -R nginx:nginx /var/www/passbolt
Successivamente, spostati nella directory di installazione di Passbolt e installa le dipendenze PHP utilizzando il comando di composizione PHP:
cd /var/www/passbolt sudo -u nginx composer install --no-dev
Passaggio 5. Genera la chiave GPG per il server.
Ora generiamo una nuova chiave GPG per il server Passbolt:
gpg --gen-key
Risultato:
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: godet Email address: [email protected] You selected this USER-ID: "godet <[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 2022-03-26 [SC] [expires: 2024-03-26] GDT52DF829FF8F9408A2F1B214F31ED1FBEBABTC uid godet <[email protected]> sub rsa2048 2022-03-26 [E] [expires: 2024-03-26]
Dopodiché, esporta la chiave GPG nella directory di installazione di 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
*Nota sulle informazioni chiave GPG:
- Impronta digitale: GDT52DF829FF8F9408A2F1B214F31ED1FBEBABTC
- E-mail:[email protected]
- Chiave pubblica:serverkey.asc
- Chiave privata:serverkey_private.asc
Successivamente, genera la directory GNUPG per l'utente Nginx usando il seguente comando:
sudo su -s /bin/bash -c "gpg --list-keys" nginx
Passaggio 6. Configurazione di MariaDB.
Per impostazione predefinita, MariaDB non è protetto. Puoi proteggere MariaDB usando mysql_secure_installation
sceneggiatura. dovresti leggere attentamente e sotto ogni passaggio che imposterà una password di root, rimuoverà gli utenti anonimi, non consentirà l'accesso root remoto e rimuoverà il database di test e l'accesso per proteggere MariaDB:
mysql_secure_installation
Configuralo in questo modo:
- 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
Successivamente, dovremo accedere alla console MariaDB e creare un database per Passbolt. Esegui il seguente comando:
mysql -u root -p
Questo ti chiederà una password, quindi inserisci la tua password di root MariaDB e premi Invio. Una volta effettuato l'accesso al server del database, devi creare un database per Installazione passbolt:
MariaDB [(none)]> CREATE DATABASE passbolt_db; MariaDB [(none)]> CREATE USER 'passbolt'@'localhost' IDENTIFIED BY 'your-strong-password'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON passbolt_db.* TO 'passbolt'@'localhost' IDENTIFIED BY 'your-strong-password' WITH GRANT OPTION; MariaDB [(none)]> ALTER DATABASE passbolt_db charset=utf8; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Passaggio 7. Configura Nginx per Passbolt.
Ora creiamo un file di configurazione Nginx per Passbolt:
export PASSBOLT=/var/www/passbolt/ cd $PASSBOLT cp config/passbolt.default.php config/passbolt.php nano config/passbolt.php
Cambia 'fullBaseUrl
' opzione con il tuo nome di dominio Passbolt:
'App' => [ // comment 'fullBaseUrl' => 'https://pass.your-domain.com', // comment.. ],
Successivamente, cambia la configurazione del database:
// Database configuration. 'Datasources' => [ 'default' => [ 'host' => 'localhost', //'port' => 'non_standard_port_number', 'username' => 'passbolt', 'password' => 'your-strong-password', 'database' => 'passbolt_db', ], ],
Dopodiché, copia e incolla la tua impronta digitale GPG e decommenta le opzioni "pubblica" e "privata":
gpg' => [ // // COMMENT REMOVED // 'serverKey' => [ // Server private key fingerprint. 'fingerprint' => '38E3736DD02860F8CBA57BB99C8B82A2C3A69BMW', 'public' => CONFIG . 'gpg' . DS . 'serverkey.asc', 'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc', ],
Salva e chiudi il file, quindi crea una nuova configurazione di blocchi server Nginx:
nano /etc/nginx/conf.d/passbolt.conf
Aggiungi il seguente file:
server { listen 80; server_name pass.your-domain.com; return 302 https://$server_name$request_uri; } server { listen 443 ssl http2; server_name pass.your-domain.com; root /var/www/passbolt; ssl_certificate /etc/letsencrypt/live/pass.your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/pass.your-domain.com/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; } }
Salva e chiudi il file, quindi riavvia il servizio Nginx per rendere effettive le modifiche:
nginx -t sudo systemctl restart nginx
Infine, avvia l'installazione di Passbolt utilizzando il comando come di seguito:
cd /var/www/passbolt sudo su -s /bin/bash -c "./bin/cake passbolt install" nginx
Dovresti ottenere il seguente output:
--------------------------------------------------------------- User saved successfully. To start registration follow the link provided in your mailbox or here: https://pass.your-domain.com/setup/install/f82227bc-b0b6-bmw-99a7-6b490a4ba262/5a112de0-e46-4e1b-97c8-26453ef120
Passaggio 8. Configura Firewall.
Consenti al firewall di utilizzare HTTP e HTTPS e ricaricalo con i seguenti comandi:
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
Passaggio 9. Accesso all'interfaccia Web Passbolt.
Una volta installato correttamente, apri il browser web e accedi a Passbolt utilizzando l'URL https://pass.your-domain.com/setup/install/f82227bc-b0b6-bmw-99a7-6b490a4ba262/5a112de0-e46-4e1b-97c8-26453ef120
. Verrai reindirizzato alla seguente pagina:
Congratulazioni! Hai installato correttamente Passbolt. Grazie per aver utilizzato questo tutorial per installare Passbolt password manager sul tuo sistema AlmaLinux 8. Per ulteriore aiuto o informazioni utili, ti consigliamo di controllare il sito Web ufficiale di Drupal .