GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal Passbolt Self-Hosted Password Manager di CentOS 7

Passbolt adalah pengelola kata sandi sumber terbuka dan gratis untuk tim. Ini memungkinkan anggota tim untuk menyimpan dan membagikan kredensial/kata sandi dengan aman. Passbolt dibuat dengan PHP dan dapat dijalankan di bawah tumpukan LEMP atau dijalankan sebagai wadah buruh pelabuhan.

Dalam tutorial ini, kami akan menunjukkan kepada Anda langkah demi langkah menginstal dan mengonfigurasi pengelola kata sandi open source 'Passbolt' di server CentOS 7. Passbolt adalah aplikasi web yang dikembangkan dengan PHP, dan kami akan menjalankannya di bawah LEMP (Linux, Nginx, MySQL/MariaDB, dan PHP-FPM).

Prasyarat

  • CentOS 7
  • Hak istimewa root

Apa yang akan kita lakukan?

  1. Instal Dependensi
  2. Memasang dan Mengonfigurasi Database MariaDB
  3. Instal Nginx dan PHP-FPM
  4. Buat SSL Letsencrypt
  5. Konfigurasi Nginx dan PHP-FPM
  6. Unduh Passbolt dan Buat Kunci OpenPGP
  7. Pasang Passbolt
  8. Pasca-Instalasi Passbolt
  9. Penyiapan Server Keamanan Tambahan

Langkah 1 - Instal Dependensi

Hal pertama yang akan kita lakukan untuk panduan ini adalah menginstal semua dependensi paket yang diperlukan untuk instalasi Passbolt, termasuk menginstal repositori EPEL dan Remi PHP, komposer php, gcc dll.

Tambahkan repositori EPEL.

sudo yum -y install yum-utils epel-release

Tambahkan dan aktifkan repositori Remi PHP.

sudo yum -y install 'http://rpms.remirepo.net/enterprise/remi-release-7.rpm'
sudo yum-config-manager --enable 'remi-php72'

Sekarang instal paket dependensi komposer, git gcc dll menggunakan perintah yum di bawah ini.

sudo yum -y install unzip wget composer policycoreutils-python git gcc

Tunggu instalasi semua paket.

Langkah 2 - Instal dan Konfigurasi MySQL/MariaDB

Pada langkah ini, kita akan menginstal database MariaDB dan kemudian membuat database dan pengguna baru untuk instalasi Passbolt.

Instal server MariaDB menggunakan perintah yum di bawah ini.

sudo yum -y install mariadb-server

Setelah penginstalan selesai, mulai layanan MariaDB dan aktifkan untuk diluncurkan setiap saat pada waktu boot sistem.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Sekarang kita perlu mengkonfigurasi kata sandi 'root' untuk MariaDB. Jalankan perintah 'mysql_secure_installation' di bawah ini.

mysql_secure_installation

Ketik kata sandi root Anda yang baru.

Dan kata sandi root MariaDB telah dikonfigurasi.

Selanjutnya, login ke shell MySQL menggunakan pengguna 'root'.

mysql -u root -p

Buat database baru dan nama pengguna 'passbolt' dengan kata sandi 'hakase-labs', jalankan kueri MySQL di bawah ini.

create database passbolt;
grant all on passbolt.* to 'passbolt'@'localhost' identified by 'hakase-labs';
flush privileges;
quit;

Server MariaDB telah diinstal pada server CentOS 7, dan database untuk instalasi 'Passbolt' telah dibuat.

Langkah 3 - Instal Nginx dan PHP-FPM

Setelah menginstal server MariaDB, kita akan menginstal Nginx dari repositori EPEL, dan paket PHP-FPM menggunakan repositori Remi.

Instal server web Nginx.

sudo yum -y install nginx

Setelah penginstalan selesai, mulai layanan Nginx dan aktifkan untuk diluncurkan setiap kali sistem boot.

sudo systemctl start nginx
sudo systemctl enable nginx

Sekarang instal PHP-FPM dengan semua ekstensi yang diperlukan menggunakan perintah yum di bawah ini.

sudo yum -y install php-fpm php-intl php-gd php-mysql php-mcrypt php-pear php-devel php-mbstring php-fpm gpgme-devel

Dan jika instalasi selesai, mulai layanan PHP-FPM dan aktifkan peluncurannya setiap kali sistem boot.

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Server web Nginx dan PHP-FPM telah diinstal.

Langkah 4 - Buat SSL Letsencrypt

Instal alat certbot pada sistem.

sudo yum -y install certbot

Sekarang hentikan layanan nginx.

sudo systemctl stop nginx

Dan buat SSL Letsencrypt untuk nama domain passbolt 'passbolt.hakase.io'.

Jalankan perintah certbot di bawah ini.

sudo certbot certonly --standalone --agree-tos --no-eff-email --email [email protected] -d passbolt.hakase.io

Alat certbot akan menjalankan server web sementara untuk verifikasi.

Dan jika sudah selesai, Anda akan mendapatkan sertifikat Anda di direktori '/etc/letsencrypt/live/'.

Langkah 5 - Konfigurasi Nginx dan PHP-FPM

Pada langkah ini, kita akan mengkonfigurasi server web Nginx dengan membuat konfigurasi virtual host baru untuk Passbolt, dan mengkonfigurasi PHP-FPM dan menginstal dukungan PHP GnuPG.

Konfigurasi PHP-FPM

Buka direktori '/etc/php-fpm.d' dan edit konfigurasi kumpulan default 'www.conf' menggunakan editor vim.

cd /etc/php-fpm.d/
sudo vim www.conf

Ubah pengguna dan grup default menjadi pengguna 'nginx'.

user = nginx
group = nginx

Ubah port mendengarkan PHP-FPM ke file sock seperti di bawah ini.

listen = /var/run/php-fpm/php-fpm.sock

Batalkan komentar pada baris di bawah ini dan ubah listen.owner dan listen.group untuk file kaus kaki menjadi 'nginx'.

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Simpan dan keluar.

Sekarang kita perlu mengubah pemilik direktori sesi PHP dan menginstal dukungan ekstensi PHP GnuPG.

Ubah izin direktori sesi php.

sudo chgrp nginx /var/lib/php/session

Instal ekstensi PHP GnuPG menggunakan perintah pecl dan aktifkan.

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

Ekstensi PHP GnuPG telah diinstal.

Konfigurasi Nginx Virtual Host

Buka direktori '/etc/nginx/conf.d' dan buat file host virtual baru 'passbolt.conf'.

cd /etc/nginx/conf.d/
sudo vim passbolt.conf

Tempelkan konfigurasi di bawah.

server {
  listen 443;
  server_name passbolt.hakase.io;
  ssl on;
  ssl_certificate     /etc/letsencrypt/live/passbolt.hakase.io/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/passbolt.hakase.io/privkey.pem;
  ssl_protocols TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
  ssl_session_tickets off;
  root /var/www/passbolt;
  
  location / {
    try_files $uri $uri/ /index.php?$args;
    index index.php;
  }
  
  location ~ \.php$ {
    fastcgi_index           index.php;
    fastcgi_pass            unix:/var/run/php-fpm/php-fpm.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;
  }
}

Simpan dan keluar.

Uji konfigurasi nginx dan pastikan tidak ada kesalahan.

sudo nginx -t

Sekarang restart layanan Nginx dan PHP-FPM.

sudo systemctl restart nginx
sudo systemctl restart php-fpm

Konfigurasi server web Nginx dan PHP-FPM telah berhasil diselesaikan.

Langkah 6 - Unduh Passbolt dan Buat Kunci OpenPGP

Pada langkah ini, kita akan mengunduh aplikasi web passbolt dan membuat kunci OpenPGP baru yang akan digunakan untuk API Passbolt.

Buka direktori '/var/www' dan klon aplikasi web passbolt.

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

Sekarang instal paket 'haveged' dan mulai layanan.

sudo yum -y install haveged
sudo systemctl start haveged

Buat kunci OpenPGP baru menggunakan perintah gpg di bawah ini.

gpg --gen-key

Ketik detail Anda seperti email, hari kedaluwarsa, dll.

Catatan:

  • Ekstensi PHP GnuPG tidak mendukung frasa sandi Kunci OpenPGP, jadi biarkan frasa sandi tetap kosong.

Setelah selesai, centang semua kunci yang tersedia dan tulis 'sidik jari' kunci Anda.

gpg --list-keys --fingerprint

Sekarang ekspor kunci publik dan pribadi ke direktori '/var/www/passbolt'.

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

Dan ubah semua izin kunci tersebut dan pemilik direktori '/var/www/passbolt'.

sudo chmod 640 /var/www/passbolt/config/gpg/serverkey*
sudo chown -R  nginx:nginx /var/www/passbolt

Aplikasi web Passbolt telah diunduh, dan kunci OpenPGP telah dibuat.

Langkah 7 - Instal Passbolt

Sebelum menginstal semua dependensi untuk 'Passbolt', kita perlu menginisialisasi keyring kunci gpg untuk pengguna nginx.

Jalankan perintah di bawah ini.

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

Sekarang login ke pengguna 'nginx' dan pergi ke direktori '/var/www/passbolt'.

su -s /bin/bash nginx
cd /var/www/passbolt/

Instal semua dependensi passbolt menggunakan perintah composer di bawah ini.

composer install --no-dev

Setelah selesai, salin file konfigurasi default aplikasi dan edit dengan vim.

cp config/passbolt.default.php config/passbolt.php
vim config/passbolt.php

Di bagian 'Aplikasi', ubah nama domain dengan nama domain Anda sendiri.

    'App' => [
        // A base URL to use for absolute links.
        // The url where the passbolt instance will be reachable to your end users.
        // This information is need to render images in emails for example
        'fullBaseUrl' => 'https://passbolt.hakase.io',
    ],

Dalam konfigurasi 'Sumber data', ketik info database detail Anda.

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

Di bawah konfigurasi database, tambahkan konfigurasi 'ssl' baru untuk memaksa semua koneksi mengamankan https.

    'ssl' => [
        'force' => true,
    ],

Untuk konfigurasi email SMTP, ubah semuanya dengan detail Anda.

    // Email configuration.
    'EmailTransport' => [
        'default' => [
            'host' => 'localhost',
            'port' => 25,
            'username' => 'user',
            'password' => 'secret',
            // Is this a secure connection? true if yes, null if no.
            'tls' => null,
            //'timeout' => 30,
            //'client' => null,
            //'url' => null,
        ],
    ],
    'Email' => [
        'default' => [
            // Defines the default name and email of the sender of the emails.
            'from' => ['[email protected]_organization.com' => 'Passbolt'],
            //'charset' => 'utf-8',
            //'headerCharset' => 'utf-8',
        ],
    ],

Dan terakhir, tempel 'sidik jari' kunci OpenPGP Anda dan batalkan komentar pada baris konfigurasi publik dan pribadi tersebut.

            'serverKey' => [
                // Server private key fingerprint.
                'fingerprint' => '63BA4EBB65126A6BE334075DD210E985E2ED02E5',
                'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',
                'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',
            ],

Simpan dan keluar.

Sekarang instal 'Passbolt' menggunakan perintah di bawah ini.

./bin/cake passbolt install

Anda akan diminta untuk membuat pengguna dan kata sandi admin baru - ketikkan detail Anda.

Dan pada akhirnya kamu akan diberikan link 'pendaftaran', tulis di note kamu.

Langkah 8 - Pasca-Instalasi Passbolt

Buka browser web Anda dan instal ekstensi 'Passbolt' browser web Anda.

Berikut ini adalah tautan ekstensi passbolt untuk browser Chrome. Pasang ekstensi.

https://chrome.google.com/webstore/detail/passbolt-extension

Sekarang buka tab baru dan tempel tautan 'pendaftaran' yang diberikan ke bilah alamat. Milik saya adalah:

https://passbolt.hakase.io/setup/install/b830cc87-1aa5-4f6f-95f4-9be21accdefa/103001a4-39a1-4bb9-866c-822ac0f7c76f

Dan Anda akan mendapatkan halaman yang mirip dengan yang ditunjukkan di bawah ini.

Centang kotak di bagian bawah dan klik tombol 'Berikutnya'. Sekarang Anda akan diminta untuk membuat kunci baru untuk pengguna.

Klik tombol 'Berikutnya'.

Siapkan 'Frase Sandi', ketikkan frasa sandi Anda yang kuat.

Klik tombol 'Berikutnya'. Cadangkan kunci Anda dengan menekan tombol 'Unduh' dan klik 'Berikutnya' lagi.

Untuk token keamanan, biarkan default dan klik 'Berikutnya'.

Dan Anda akan diarahkan ke halaman login Passbolt.

Ketik 'Frase Sandi' Anda dan klik 'Masuk'. Dan Anda akan melihat Dashboard pengguna Passbolt seperti di bawah ini.

Instalasi pengelola kata sandi sumber terbuka Passbolt pada CentOS 7 telah berhasil diselesaikan.

Langkah 9 - Pengaturan Server Keamanan Tambahan

- Siapkan Firewalld

Buka port HTTP, HTTPS, dan SMTP baru di server.

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --add-service=smtp --permanent

Sekarang muat ulang konfigurasi firewalld.

sudo firewall-cmd --reload

- Siapkan Izin Selinux

Izin untuk direktori webroot 'Passbolt'.

sudo semanage fcontext -a -t httpd_sys_content_t '/var/www(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/passbolt/tmp(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/passbolt/logs(/.*)?'
sudo restorecon -Rv /var/www

Izin untuk direktori keyring Nginx gnupg.

sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/lib/nginx/.gnupg(/.*)?'
sudo restorecon -Rv /var/lib/nginx/.gnupg

Cent OS
  1. Cara Menginstal Vagrant di CentOS 7

  2. Cara Menginstal Gitea di CentOS 8

  3. Cara Menginstal ownCloud di CentOS 8

  1. Cara Menginstal Memcached di CentOS 8

  2. Cara Menginstal Nginx di CentOS 7

  3. Cara Menginstal Apache di CentOS 7

  1. Cara Menginstal Tomcat 8.5 di CentOS 7

  2. Cara Menginstal Jenkins di CentOS 7

  3. Cara Menginstal Tomcat 9 di CentOS 7