GNU/Linux >> Belajar Linux >  >> Rocky Linux

Cara Memasang Pengelola Kata Sandi Passbolt di Rocky Linux

Passbolt adalah pengelola kata sandi sumber terbuka dan gratis berdasarkan PHP, MySQL, dan OpenPGP. Ini adalah server aplikasi yang dihosting sendiri, Anda dapat menginstalnya di server Anda. Passbolt dirancang terutama untuk tim, tetapi Anda juga dapat menggunakannya sebagai pengelola kata sandi pribadi.

Passbolt dibangun di atas OpenPGP dan memiliki API yang dapat diperluas. Di sisi klien, Anda dapat menggunakan ekstensi browser Passbolt, yang dibangun di atas OpenPGP.js untuk fungsionalitas enkripsi. Di sisi server, Passbolt menggunakan ekstensi GnuPG PHP dan openpgp-php untuk melakukan validasi kunci dan otentikasi pengguna. Passbolt menggunakan protokol GPGauth untuk otentikasi pengguna.

Prasyarat

Pada artikel ini, Anda akan mempelajari cara menginstal pengelola kata sandi yang di-host-sendiri Passbolt di server Rocky Linux. Anda akan menginstal Passbolt dengan PHP 7.4, server MariaDB, dan server web Nginx.

Untuk contoh ini, kami akan menggunakan detail server berikut:

  • Sistem Operasi:Rocky Linux 8.4 (obsidian hijau)
  • Alamat IP:192.168.1.10
  • Nama Domain, dalam contoh ini saya akan menggunakan:https://pass.example.io

Sekarang mari kita mulai penginstalan Passbolt.

Instal Ketergantungan Paket

Pertama, Anda akan menambahkan repositori baru dan menginstal beberapa dependensi paket ke sistem Rocky Linux.

1. Jalankan perintah berikut untuk mengaktifkan repositori 'PowerTools' dan menginstal repositori Extra Packages for Enterprise Linux (EPEL).

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

2. Jalankan perintah berikut untuk mengaktifkan repositori PHP 7.4.

modul sudo dnf mengaktifkan php:7.4 -y

3. Selanjutnya, install PHP-FPM, MariaDB, Nginx, dan beberapa paket tambahan menggunakan perintah DNF di bawah ini.

sudo dnf install -y nginx mariadb-server mariadb php 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 hasged make gcc

4. Setelah semua instalasi selesai, jalankan perintah berikut untuk mengunduh skrip penginstal komposer PHP.

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

Sekarang jalankan lagi perintah berikut untuk menginstal komposer PHP di lingkungan sistem secara keseluruhan.

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

Periksa perintah komposer PHP seperti di bawah ini.

sudo -u nginx composer --version

Anda akan mendapatkan output yang sama seperti di bawah ini.

Versi komposer 2.1.12 2021-11-09 16:02:04

5. Selanjutnya, instal Ekstensi PHP GnuPG dari repositori PHP Extension Community Library (PECL).

pecl install gnupg

Setelah itu, aktifkan Ekstensi GnuPG PHP menggunakan perintah berikut.

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

6. Sekarang mulai dan aktifkan beberapa layanan menggunakan perintah systemctl di bawah ini.

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

Sekarang Anda telah menyelesaikan instalasi dependensi paket untuk Passbolt.

Mengonfigurasi MariaDB dan PHP-FPM

Pada langkah ini, Anda akan menyiapkan kata sandi root MariaDB dan layanan PHP-FPM.

1. Jalankan perintah berikut untuk mengatur kata sandi root MariaDB.

mysql_secure_installation

Ketik kata sandi baru yang kuat untuk pengguna root MariaDB dan ulangi, lalu ketik 'Y' untuk menyetujui semua konfigurasi MariaDB.

2. Selanjutnya, edit '/etc/php.ini ' file konfigurasi menggunakan editor nano.

nano /etc/php.ini

Batalkan komentar pada opsi 'date.timezone' dan ubah nilainya dengan zona waktu server Anda.

date.timezone =Eropa/Paris

Simpan konfigurasi dan keluar.

3. Edit konfigurasi PHP-FPM '/etc/php-fpm.d/www.conf ' menggunakan editor nano.

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

Ubah pengguna dan grup default untuk PHP-FPM menjadi 'nginx '.

pengguna =nginx
grup =nginx

Batalkan komentar pada 'listen.owner ' dan 'listen.group ', dan ubah nilainya menjadi pengguna 'nginx '.

listen.owner =nginx
listen.group =nginx

Simpan konfigurasi dan keluar.

Sekarang terapkan konfigurasi PHP-FPM baru dengan memulai ulang layanan PHP-FPM menggunakan perintah systemctl di bawah ini.

sudo systemctl restart php-fpm

Dan Anda telah menyelesaikan konfigurasi dasar PHP-FPM dan membuat kata sandi baru untuk pengguna root MariaDB.

Buat Database Baru untuk Passbolt

Untuk membuat database baru untuk instalasi Passbolt, masuk ke shell MariaDB menggunakan 'mysql ' perintah di bawah.

mysql -u root -p

1. Buat database baru 'passdb' menggunakan kueri berikut.

BUAT DATABASE passdb;

2. Berikan semua hak istimewa pada database 'passdb ' kepada pengguna baru. Kueri berikut akan secara otomatis membuat pengguna MariaDB baru 'passbolt '.

GRANT ALL ON passdb.* to [email protected] DIIDENTIFIKASI OLEH 'PassboltdbPass';

3. Muat ulang semua hak istimewa tabel.

HAK ISTIMEWA FLUSH;

Sekarang ketik 'EXIT ' dan tekan 'Enter ' untuk keluar dari shell MariaDB.

Pindah ke langkah berikutnya untuk memulai instalasi Passbolt.

Unduh Passbolt dan Instal Dependensi PHP

Untuk langkah ini, Anda akan mengunduh kode sumber Passbolt ke server Anda dan menginstal dependensi PHP menggunakan komposer PHP.

1. Ubah direktori kerja saat ini ke '/var/www' dan klon sumber Passbolt menggunakan perintah seperti di bawah ini.

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

Instalasi passbolt adalah '/var/www/passbolt'

2. Ubah kepemilikan direktori instalasi Passbolt menjadi pengguna 'nginx '.

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

3. Pindah ke direktori instalasi Passbolt dan instal dependensi PHP menggunakan perintah komposer PHP. Dan pastikan untuk menjalankan perintah komposer PHP sebagai pengguna 'nginx '.

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

Jika semua instalasi dependensi PHP selesai, lanjutkan ke langkah berikutnya untuk menghasilkan kunci GPG.

Buat Kunci GPG untuk Server

Pada langkah ini, Anda akan membuat kunci GPG baru untuk server Passbolt.

Ekstensi PHP saat ini openpgp-php dan GnuPG PHP masih tidak mendukung frasa sandi, jadi Anda akan membuat kunci GPG baru tanpa frasa sandi.

1. Untuk menghasilkan kunci GPG, jalankan perintah gpg di bawah ini.

gpg --gen-key

Ketik nama dan alamat email Anda, dan jangan gunakan frasa sandi.

gpg (GnuPG) 2.2.20; Hak Cipta (C) 2020 Free Software Foundation, Inc.
Ini adalah perangkat lunak gratis:Anda bebas mengubah dan mendistribusikannya kembali.
TIDAK ADA JAMINAN, sejauh diizinkan oleh hukum.

Catatan:Gunakan "gpg --full-generate-key" untuk dialog pembuatan kunci berfitur lengkap.

GnuPG perlu membuat ID pengguna untuk mengidentifikasi kunci Anda.

Nama asli:johndoe
Alamat email:[email protected]
Anda memilih USER-ID ini:
    "johndoe <[email protected]>"

Ubah (N)ame, (E)mail, atau (O)kay/(Q)uit? O
Kita perlu menghasilkan banyak byte acak. Sebaiknya lakukan
beberapa tindakan lain (ketik di keyboard, gerakkan mouse, gunakan
disk) selama generasi utama; ini memberikan nomor acak
generator kesempatan yang lebih baik untuk mendapatkan entropi yang cukup.
Kita perlu menghasilkan banyak byte acak. Sebaiknya lakukan
beberapa tindakan lain (ketik di keyboard, gerakkan mouse, gunakan
disk) selama generasi utama; ini memberikan nomor acak
generator peluang yang lebih baik untuk mendapatkan entropi yang cukup.
gpg:key 14F31ED1FEBAD9A ditandai sebagai akhirnya dipercaya
gpg:sertifikat pencabutan disimpan sebagai '/root/.gnupg/openpgp-revocs .d/BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A.rev'
kunci publik dan rahasia dibuat dan ditandatangani.

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

Juga, perhatikan sidik jari kunci baru Anda. Untuk contoh ini, sidik jari kuncinya adalah 'BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A '.

2. Selanjutnya, ekspor kunci GPG ke direktori instalasi passbolt '/var/www/passbolt/config/gpg/ '.

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

Sampai di sini, Anda harus mencatat informasi kunci GPG Anda seperti di bawah ini.

  • Sidik Jari:BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A
  • Email:[dilindungi email]
  • Kunci publik: serverkey.asc
  • Kunci pribadi: serverkey_private.asc

3. Selanjutnya, Anda harus membuat direktori GNUPG untuk pengguna nginx menggunakan perintah berikut.

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

Anda akan melihat output serupa seperti di bawah ini.

gpg:direktori '/var/lib/nginx/.gnupg' dibuat
gpg:keybox '/var/lib/nginx/.gnupg/pubring.kbx' dibuat
gpg:/var/ lib/nginx/.gnupg/trustdb.gpg:trustdb dibuat

Nou Anda telah menyelesaikan konfigurasi kunci GPG untuk Passbolt. Lanjutkan ke langkah berikutnya untuk konfigurasi Passbolt.

Mengonfigurasi Blok Server Passbolt dan Nginx

Pada langkah ini, Anda akan mengonfigurasi nama domain instalasi Passbolt, database, dan kunci GPG.

Sebelum Anda mulai, ubah direktori kerja Anda ke '/var/www/passbolt' direktori.

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

1. Salin konfigurasi default ke 'passbolt.php', lalu edit menggunakan editor nano.

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

Ubah 'fullBaseUrl ' dengan instalasi nama domain Passbolt Anda. Untuk contoh ini adalah 'https://pass.example.io'

    'Aplikasi' => [
        // komentar

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

Ubah konfigurasi database dengan pengguna dan kata sandi MariaDB Anda di bawah ini.

    // Konfigurasi database.
    'Datasources' => [
       'default' => [
          'host' => 'localhost',
          //'port' => 'non_standard_port_number',
           'username' => 'passbolt',
           'password' => 'PassboltdbPass',
             b' => ' ,
    ],

Salin dan tempel sidik jari GPG Anda dan batalkan komentar pada opsi 'publik' dan 'pribadi'.

        'gpg' => [
           //
           // KOMENTAR DIHAPUS
          //
          'kunci server        //
          'kunci server      //               'sidik jari' => '38E3736DD02860F8CBA57BB99C8B82A2C3A6959F',
             'publik' => CONFIG . 'gpg' . DS. 'serverkey.asc',
              'private' => CONFIG . 'gpg' . DS. 'serverkey_private.asc',
           ],

Simpan konfigurasi dan keluar.

2. Selanjutnya, buat konfigurasi blok server Nginx baru '/etc/nginx/conf.d/passbolt.conf ' menggunakan editor nano.

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

Salin dan tempel konfigurasi berikut, dan pastikan untuk mengubah nama domain dan jalur sertifikat 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 aktif;
  ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:CADHE-RSA DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
  ssl_ecdh_curve secp384r1; # Membutuhkan nginx>=1.1.0
  ssl_session_timeout  10m;
  ssl_session_cache dibagikan:SSL:10m;
  ssl_session_tickets off; # Membutuhkan nginx>=1.5.9
  # ssl_stapling aktif; # Membutuhkan nginx>=1.3.7
  # ssl_stapling_verify aktif; # Membutuhkan 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";
 
  lokasi / {
    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 _   RIP_FILE_nama_dokumen cepat     __FILE />    fastcgi_param          SERVER_NAME $http_host;
  }
       
  lokasi ~* \.(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;
  }
}

Simpan konfigurasi dan keluar.

Sekarang verifikasi konfigurasi Nginx dan pastikan Anda tidak mendapatkan kesalahan, lalu restart layanan Nginx.

nginx -t
sudo systemctl restart nginx

3. Selanjutnya, ubah direktori kerja ke '/var/www/passbolt ' dan mulai instalasi Passbolt menggunakan perintah seperti di bawah ini.

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

Di akhir proses instalasi Passbolt, Anda akan membuat pengguna admin baru untuk Passbolt.

Ketikkan alamat email, nama depan, dan nama belakang Anda. Kemudian salin tautan penginstalan Passbolt Anda.

Mengakses Passbolt dari Browser Web

Buka browser web Anda dan tempel tautan penginstalan Passbolt yang dibuat oleh penginstal Passbolt ke bilah alamat.

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

1. Passbolt akan secara otomatis mendeteksi browser web Anda dan menampilkan tautan penginstalan ekstensi browser Passbolt.

Klik tombol 'Unduh ekstensi ', dan instal ekstensi browser Passbolt.

2. Ketikkan frasa sandi baru yang kuat dan klik 'Berikutnya '.

3. Unduh kit pemulihan ke komputer lokal Anda dan klik 'Berikutnya ' tombol. Anda dapat menggunakan kit pemulihan untuk menyetel ulang frasa sandi Passbolt Anda.

4. Pilih warna untuk token keamanan Passbolt Anda, dan pastikan untuk mengingat ketiga huruf tersebut. Klik 'Berikutnya ' lagi.

5. Sekarang Anda akan diarahkan ke dashboard pengguna Passbolt seperti di bawah ini.

6. Pengguna daftar passbolt.

Dan Anda telah menyelesaikan instalasi pengelola kata sandi Passbolt.

Kesimpulan

Selamat! Anda telah berhasil menginstal pengelola kata sandi Passbolt dengan PHP-FPM, server MariaDB, dan server web Nginx di Rocky Linux.

Untuk langkah selanjutnya, Anda dapat membuat pengguna passbolt baru untuk tim Anda.


Rocky Linux
  1. Cara Menginstal Pengelola Kata Sandi Padloc di Rocky Linux 8

  2. Cara Menginstal Nextcloud di Rocky Linux

  3. Cara menginstal PHP 8 di Alma Linux &Rocky Linux

  1. Cara Install PHP 8 Terbaru di Rocky Linux

  2. Cara Menginstal phpMyAdmin di Rocky Linux

  3. Cara Menginstal Python 3.9 di Rocky Linux 8

  1. Cara Menginstal Komposer PHP di Rocky Linux 8

  2. Cara Menginstal Joomla dengan Nginx di Rocky Linux

  3. Cara Menginstal Sistem Helpdesk UVdesk di Rocky Linux 8