GNU/Linux >> Linux の 問題 >  >> Rocky Linux

RockyLinuxにPassboltPasswordManagerをインストールする方法

Passboltは、PHP、MySQL、およびOpenPGPに基づく無料のオープンソースパスワードマネージャーです。これは自己ホスト型のアプリケーションサーバーであり、サーバーにインストールできます。 Passboltは主にチーム向けに設計されていますが、個人のパスワードマネージャーとしても使用できます。

PassboltはOpenPGP上に構築されており、拡張可能なAPIを備えています。クライアント側では、暗号化機能のためにOpenPGP.js上に構築されたPassboltブラウザー拡張機能を使用できます。サーバー側では、PassboltはGnuPG PHP拡張機能とopenpgp-phpを使用して、キーの検証とユーザー認証を実行します。 Passboltは、ユーザー認証にGPGAuthプロトコルを使用します。

前提条件

この記事では、PassboltセルフホストパスワードマネージャーをRockyLinuxサーバーにインストールする方法を学習します。 PHP 7.4、MariaDBサーバー、およびNginxWebサーバーを使用してPassboltをインストールします。

この例では、次のサーバーの詳細を使用します。

  • オペレーティングシステム: Rocky Linux 8.4(緑の黒曜石)
  • IPアドレス: 192.168.1.10
  • ドメイン名、この例では使用します:https://pass.example.io

それでは、Passboltのインストールを開始しましょう。

パッケージの依存関係をインストールする

まず、新しいリポジトリを追加し、いくつかのパッケージの依存関係をRockyLinuxシステムにインストールします。

1.次のコマンドを実行して、「PowerTools」リポジトリを有効にし、Enterprise Linux(EPEL)リポジトリ用の追加パッケージをインストールします。

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

2.次のコマンドを実行して、PHP7.4リポジトリを有効にします。

 sudo dnf module enable php:7.4 -y 

3.次に、以下のDNFコマンドを使用して、PHP-FPM、MariaDB、Nginx、およびいくつかの追加パッケージをインストールします。

 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.すべてのインストールが完了したら、次のコマンドを実行してPHPComposerインストーラースクリプトをダウンロードします。

 php -r "copy('https://getcomposer.org/installer'、'composer-setup.php');" 
php -r "if(hash_file('sha384'、'composer- setup.php')===' 906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8'){echo'インストーラー検証済み';} else {echo'インストーラー破損';unlink('composer;

次に、次のコマンドを再度実行して、PHPコンポーザーをシステム全体の環境にインストールします。

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

以下のようにPHPcomposerコマンドを確認してください。

 sudo -u nginx composer --version 

以下のような出力が得られます。

作曲家バージョン2.1.122021-11-0916:02:04 

5.次に、PHP Extension Community Library(PECL)リポジトリからGnuPGPHPExtensionsをインストールします。

 pecl install gnupg 

その後、次のコマンドを使用してGnuPGPHP拡張機能を有効にします。

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

6.次に、以下のsystemctlコマンドを使用して、いくつかのサービスを開始して有効にします。

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

これで、Passboltのパッケージ依存関係のインストールが完了しました。

MariaDBとPHP-FPMの構成

このステップでは、MariaDBルートパスワードとPHP-FPMサービスを設定します。

1.次のコマンドを実行して、MariaDBルートパスワードを設定します。

 mysql_secure_installation 

MariaDB rootユーザーの新しい強力なパスワードを入力して繰り返し、「Y」と入力します すべてのMariaDB構成に同意します。

2.次に、' /etc/php.iniを編集します 'nanoエディターを使用した構成ファイル。

 nano /etc/php.ini 

'date.timezone'オプションのコメントを解除し、サーバーのタイムゾーンで値を変更します。

date.timezone=ヨーロッパ/パリ

構成を保存して終了します。

3.PHP-FPM構成を編集します'/etc/php-fpm.d/www.conf 'nanoエディターを使用します。

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

PHP-FPMのデフォルトのユーザーとグループを'nginxに変更します '。

 user =nginx 
group =nginx

' listen.ownerのコメントを解除します 'および'listen.group '、値をユーザー' nginxに変更します '。

 listen.owner =nginx 
listen.group =nginx

構成を保存して終了します。

次に、以下のsystemctlコマンドを使用してPHP-FPMサービスを再起動し、新しいPHP-FPM構成を適用します。

 sudo systemctl restart php-fpm 

これで、PHP-FPMの基本構成が完了し、MariaDBrootユーザーの新しいパスワードが作成されました。

Passboltの新しいデータベースを作成する

Passboltインストール用の新しいデータベースを作成するには、「 mysql」を使用してMariaDBシェルにログインします。 '以下のコマンド。

 mysql -u root -p 

1.次のクエリを使用して、新しいデータベース「passdb」を作成します。

 CREATE DATABASE passdb; 

2.データベースのすべての権限を付与します'passdb '新しいユーザーに。次のクエリは、新しいMariaDBユーザー' passboltを自動的に作成します。 '。

 GRANT ALLONpassdb。*[email protected] IDENTIFIED BY'PassboltdbPass'; 

3.すべてのテーブルの権限を再読み込みします。

 FLUSH PRIVILEGES; 

次に、「 EXIT」と入力します 'を押して'Enter 'MariaDBシェルからログアウトします。

次の手順に進み、Passboltのインストールを開始します。

PassboltをダウンロードしてPHPの依存関係をインストールする

このステップでは、Passboltソースコードをサーバーにダウンロードし、PHPコンポーザーを使用してPHP依存関係をインストールします。

1.現在の作業ディレクトリを「/var/ www」に変更し、以下のコマンドを使用してPassboltソースのクローンを作成します。

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

パスボルトのインストールは'/var / www / passbolt'

2.Passboltインストールディレクトリの所有権をユーザー'nginxに変更します '。

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

3. Passboltインストールディレクトリに移動し、PHPcomposerコマンドを使用してPHP依存関係をインストールします。また、PHPコンポーザーコマンドをユーザーとして実行してください' nginx '。

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

すべてのPHP依存関係のインストールが完了したら、次の手順に進んでGPGキーを生成します。

サーバーのGPGキーを生成

このステップでは、Passboltサーバー用の新しいGPGキーを生成します。

現在のPHP拡張機能openpgp-phpとGnuPGPHPはまだパスフレーズをサポートしていないため、パスフレーズなしで新しいGPGキーを作成します。

1. GPGキーを生成するには、以下のgpgコマンドを実行します。

 gpg --gen-key 

名前とメールアドレスを入力し、パスフレーズは使用しないでください。

 gpg(GnuPG)2.2.20; Copyright(C)2020 Free Software Foundation、Inc. 
これはフリーソフトウェアです。自由に変更および再配布できます。
法律で許可されている範囲で、保証はありません。

注:フル機能のキー生成ダイアログには「gpg--full-generate-key」を使用してください。

GnuPGは、キーを識別するためにユーザーIDを作成する必要があります。

本名:johndoe
メールアドレス:[メール保護]
このユーザーIDを選択しました:
"johndoe<[メール保護]>"

変更(N)ame、(E)mail、または(O)kay /(Q)uit? O
ランダムなバイトをたくさん生成する必要があります。プライム生成中に
他のアクション(キーボードでの入力、マウスの移動、
ディスクの利用)を実行することをお勧めします。これにより、乱数ジェネレーターが十分なエントロピーを取得できる可能性が高くなります。
多くのランダムバイトを生成する必要があります。プライム生成中に
他のアクション(キーボードでの入力、マウスの移動、
ディスクの利用)を実行することをお勧めします。これにより、乱数ジェネレーターが十分なエントロピーを取得できる可能性が高くなります。
gpg:最終的に信頼できるとマークされたキー14F31ED1FBEBAD9A
gpg:'/root/.gnupg/openpgp-revocsとして保存された失効証明書.d / BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A.rev'
公開鍵と秘密鍵が作成され、署名されました。

pub rsa2048 2021-11-16 [SC] [有効期限:2023-11-16]
BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A
uid johndoe
sub rsa2048 2021-11-16 [E] [expires:2023-11-16]

また、新しいキーのフィンガープリントをメモします。この例では、キーのフィンガープリントは' BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A '。

2.次に、GPGキーをpassboltインストールディレクトリにエクスポートします' / var / www / passbolt / config / gpg / '。

 gpg --armor--export-secret-keys[メール保護]>/var/www/passbolt/config/gpg/serverkey_private.asc
gpg --armor--export[メール保護]>/ var / www / passbolt / config / gpg / serverkey.asc

この時点で、以下のようなGPGキー情報についてメモする必要があります。

  • 指紋: BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A
  • メール:[メールで保護]
  • 公開鍵: serverkey.asc
  • 秘密鍵: serverkey_private.asc

3.次に、次のコマンドを使用して、ユーザーnginxのGNUPGディレクトリを生成する必要があります。

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

以下のような出力が表示されます。

 gpg:ディレクトリ'/var/lib/nginx/.gnupg'が作成されました
gpg:キーボックス'/var/lib/nginx/.gnupg/pubring.kbx'が作成されました
gpg:/ var / lib / nginx / .gnupg / trustdb.gpg:trustdbが作成されました

これで、PassboltのGPGキー構成が完了しました。 Passbolt構成の次のステップに進みます。

PassboltおよびNginxサーバーブロックの構成

このステップでは、Passboltのインストールドメイン名、データベース、およびGPGキーを構成します。

開始する前に、作業ディレクトリを'/ var / www / passbolt'に変更します。 ディレクトリ。

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

1.デフォルト設定を「passbolt.php」にコピーしてから、nanoエディターを使用して編集します。

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

' fullBaseUrlを変更します 'Passboltドメイン名をインストールするオプション。この例は「https://pass.example.io」

です。
'アプリ'=>[
//コメント

'fullBaseUrl' =>'https://pass.example.io'、

/ /コメント..
]、

以下のMariaDBユーザーとパスワードを使用してデータベース構成を変更します。

//データベース構成。
'データソース'=>[
'default' => [
'host' =>'localhost'、
//'port' =>'non_standard_port_number'、
'username' =>'passbolt'、
'password' =>'PassboltdbPass'、
'database' =>'passdb'、

]、

GPGフィンガープリントをコピーして貼り付け、「パブリック」オプションと「プライベート」オプションのコメントを解除します。

'gpg' => [
//
//コメントが削除されました
//
フィンガープリント'serverKey'=> [

'fingerprint' => '38E3736DD02860F8CBA57BB99C8B82A2C3A6959F'、
'public'=>CONFIG。 'gpg'。 DS。 'serverkey.asc'、
'private'=>CONFIG。 'gpg'。 DS。 'serverkey_private.asc'、
]、

構成を保存して終了します。

2.次に、新しいNginxサーバーブロック構成を作成します' /etc/nginx/conf.d/passbolt.conf 'nanoエディターを使用します。

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

次の構成をコピーして貼り付け、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-AES DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_ecdh_curve secp384r1; #nginxが必要> =1.1.0
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off; #nginxが必要> =1.5.9
#ssl_stapling on; #nginxが必要> =1.3.7
#ssl_stapling_verify on; #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;
document SC root $ SC /> fastcgi_param SERVER_NAME $ http_host;
}

場所〜* \。(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;
}
}

構成を保存して終了します。

次に、Nginxの構成を確認し、エラーが発生しないことを確認してから、Nginxサービスを再起動します。

 nginx -t 
sudo systemctl restart nginx

3.次に、作業ディレクトリを' / var / www / passboltに変更します。 'そして、以下のコマンドを使用してPassboltのインストールを開始します。

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

Passboltのインストールプロセスの最後に、Passboltの新しい管理者ユーザーを作成します。

メールアドレス、名、名前を入力します。次に、Passboltインストールリンクをコピーします。

WebブラウザからPassboltにアクセスする

Webブラウザーを開き、Passboltインストーラーによって生成されたPassboltインストールリンクをアドレスバーに貼り付けます。

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

1. Passboltは、Webブラウザーを自動的に検出し、Passboltブラウザー拡張機能のインストールリンクを表示します。

ボタンをクリックします'拡張機能をダウンロード '、Passboltブラウザ拡張機能をインストールします。

2.新しい強力なパスフレーズを入力し、[次へ]をクリックします 'ボタン。

3.リカバリキットをローカルコンピュータにダウンロードし、[次へ]をクリックします ' ボタン。リカバリキットを使用して、パスボルトパスフレーズをリセットできます。

4. Passboltセキュリティトークンの色を選択し、これらの3文字を忘れないようにしてください。 '次へをクリックします 'ボタンをもう一度。

5.これで、以下のようにPassboltユーザーダッシュボードにリダイレクトされます。

6.パスボルトリストのユーザー。

これで、Passboltパスワードマネージャーのインストールが完了しました。

結論

おめでとうございます!これで、PassboltパスワードマネージャーがPHP-FPM、MariaDBサーバー、およびNginxWebサーバーとともにRockyLinuxに正常にインストールされました。

次のステップでは、チームの新しいパスボルトユーザーを作成できます。


Rocky Linux
  1. RockyLinux8にPadlocPasswordManagerをインストールする方法

  2. RockyLinuxにNextcloudをインストールする方法

  3. AlmaLinuxとRockyLinuxにPHP8をインストールする方法

  1. RockyLinuxに最新のPHP8をインストールする方法

  2. RockyLinuxにphpMyAdminをインストールする方法

  3. RockyLinux8にPython3.9をインストールする方法

  1. RockyLinux8にPHPComposerをインストールする方法

  2. RockyLinuxにNginxでJoomlaをインストールする方法

  3. RockyLinux8にUVdeskヘルプデスクシステムをインストールする方法