はじめに
Orange PIでPassboltを動かそう企画という事で……
って、これが、中々動かないんだ
何度か試して動くには動くが、インストール手順が確立できなくって、動く時もあれば、動かない時もある…
何度も何度も繰り返して
いろいろと試すなか、やっと導入手順が確立できたのであった!
この通りにやれば動くハズです
準備
まずは、Orange PI に ubuntu を入れていきたいと思う
今回のターゲットは 2017年10月に購入した Prange Pi PC2 です。こちらに入れていきたいと思います。
という事なので、ローカルネットワークに環境を作ります!
まずは、OSイメージをダウンロードします
https://drive.google.com/drive/folders/1NluVqvOlKXeGHsRF3tICpzdIdHfPaJaK
今回はOrangepipc2_2.1.2_ubuntu_focal_server_linux5.4.65.7zを利用する事にします。focal_server ってあるので、Ubuntu 20.04 LTS でしょうかね。Desktopは使わないので、serverです。
解凍してイメージファイルをmicroSDカードに書き込みます。
今回は、Rufusを使っています
https://github.com/pbatard/rufus/releases
書き込みが終わったら、SDカードを Orange PI 本体に差し込んで、起動します
ユーザー:root
パスワード:orangepi
で、無事にログインする事ができました。めちゃ簡単w
基本的な設定
とりあえず、ターミナルからも接続できると作業も非常に楽であるので、ターミナルから接続しておく
取り急ぎタイムゾーンを変えておくことに
timedatectl set-timezone Asia/Tokyo
お約束のパッケージの更新とアップデートをしておく
apt update && apt upgrade -y
を実行した、こいつが結構時間かかるので覚悟してください(汗
upgradeは途中で聞かれるので、注意する事
そして、固定IPに変更しておきたいので、nmcli connection show コマンドで名称を確認
nmcli connection show NAME UUID TYPE DEVICE Wired connection 1 6e5af115-6b35-3eb6-b3db-7fa2ff787447 ethernet eth0
固定IPに設定変更GO!
nmcli connection modify "Wired connection 1" \ ipv4.method manual \ ipv4.addresses 192.168.0.106/24 \ ipv4.gateway 192.168.0.1 \ ipv4.dns "192.168.0.1" \ ipv4.dns-search ""
次に nmcli connection down “Wired connection 1”
と(この時ターミナルから切断される)
nmcli connection up “Wired connection 1”
で有効化するのだが、どのみち切断されるのであれば reboot しちゃうw
reboot
これで指定したIPになって起動してくれるハズである
外も見れるので問題ないでしょうかね
ping www.yahoo.co.jp PING edge12.g.yimg.jp (124.83.184.124) 56(84) bytes of data. 64 bytes from 124.83.184.124 (124.83.184.124): icmp_seq=1 ttl=55 time=9.13 ms 64 bytes from 124.83.184.124 (124.83.184.124): icmp_seq=2 ttl=55 time=9.87 ms ^C --- edge12.g.yimg.jp ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1002ms rtt min/avg/max/mdev = 9.134/9.503/9.872/0.369 ms
必要なパッケージ類を準備
次は nginx と MariaDB をインストールしていきましょうか
apt install -y nginx mariadb-server
あと、DBのセキュリティー面について、こいつも流しておきました
mysql_secure_installation
現時点で公式サイトのやり方とは違うのですが、以下のコマンド群でインストールしていく
wget -O- https://download.passbolt.com/pub.key | sudo tee /etc/apt/trusted.gpg.d/passbolt.asc echo "deb [signed-by=/etc/apt/trusted.gpg.d/passbolt.asc] https://download.passbolt.com/ce/ubuntu focal stable" | sudo tee /etc/apt/sources.list.d/passbolt.list
いよいよpassboltのインストール
いったんアップデートして、passbolt-ce-server パッケージ をインストールします
apt update
apt install passbolt-ce-server -y
ここでCUI画面が表示されて、回答する必要がある
DBは後で作成するので、No を選択する
次に nginx の設定ですが、ここも画面でも No を選択する
しばらくすると、以下の画面が表示され、インストールが終わる
次は DBを作成していく
mysql -u root -p
CREATE DATABASE passboltdb; CREATE USER 'passboltadmin'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON passboltdb.* TO 'passboltadmin'@'localhost'; FLUSH PRIVILEGES; EXIT;
あと、nginx を設定していきますが、この辺りは好みで良いですがw
以下のようにしてみました
cd /etc/nginx/sites-enabled rm default rm nginx-passbolt.conf
シンボリックリンクを貼って
ln -s /etc/nginx/sites-available/nginx-passbolt.conf nginx-passbolt.conf
いったん、以下のように修正
vi nginx-passbolt.conf ------------------------------ : server_name 192.168.0.106; : fastcgi_pass unix:/run/php/php7.4-fpm.sock; ------------------------------
そしてnginxを再起動
systemctl restart nginx
passboltの設定
次はブラウザからの設定なので、http://192.168.0.106/ へアクセスする
SSLの設定していないですが、以下のような画面が表示されれはOKです。設定に進めます。
全部で7つの工程があります
1. System check
2. Database
3. Server keys
4. Options
5. Emails
6. First user
7. Installation
8. That’s it!
最初に System check が走ります、PHPのバージョンやSSLの部分でワーニングになりますが、問題ないでしょうw
次は Database の設定です、先ほど作成したデータベースの情報を入れてあげましょう
Server keys はインポートができるようになっています。別で稼働しているPassbolt Serverから持ってこれるハズです。今度試してみます。
サーバー名とSSLかどうかの設定です、ここは後から設定ファイルでも変更ができる
メールの設定です、今回は外部のメールサーバーを指定しています
アカウントの登録、これは管理者になるのかな
で、設定が始まりまして、以下の画面になります
ただ、私の環境では 7. Installation が一向に終わらない
なので、テーブルの件数を見て以下のような感じだったらOKです(多分)
mysql -u root -p
SELECT table_name AS 'Table Name', table_rows AS 'Number of Rows' FROM information_schema.tables WHERE table_schema = 'passboltdb'; +---------------------------+----------------+ | Table Name | Number of Rows | +---------------------------+----------------+ | resources | 0 | | permissions | 0 | | rbacs | 20 | | phinxlog | 97 | | ui_actions | 20 | | resource_types | 4 | | profiles | 1 | | folders_relations_history | 0 | | folders | 0 | | email_queue | 0 | | secrets_history | 0 | | entities_history | 0 | | account_settings | 0 | | users | 1 | | roles | 3 | | groups | 0 | | permissions_history | 0 | | transfers | 0 | | folders_history | 0 | | favorites | 0 | | organization_settings | 1 | | actions | 0 | | secrets | 0 | | comments | 0 | | authentication_tokens | 1 | | secret_accesses | 0 | | folders_relations | 0 | | groups_users | 0 | | avatars | 0 | | action_logs | 3 | | gpgkeys | 0 | +---------------------------+----------------+ 31 rows in set (0.006 sec)
で、おそらくですが、
/var/log/passbolt/cli-error.log にエラーが1分間隔で吐かれているハズ
2024-10-27 10:00:02 error: [PDOException] SQLSTATE[42S22]: Column not found: 1054 Unknown column 'EmailQueue.to' in 'field list' in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Statement/MysqlStatement.php on line 39 2024-10-27 10:01:02 error: [PDOException] SQLSTATE[42S22]: Column not found: 1054 Unknown column 'EmailQueue.to' in 'field list' in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Statement/MysqlStatement.php on line 39 2024-10-27 10:02:01 error: [PDOException] SQLSTATE[42S22]: Column not found: 1054 Unknown column 'EmailQueue.to' in 'field list' in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Statement/MysqlStatement.php on line 39
そんな時は、キャッシュをクリアすると治まる
cd /usr/share/php/passbolt/ sudo -u www-data ./bin/cake cache clear_all
このあと、再度ブラウザにて、 http://192.168.0.106 へアクセスして進めるわけだが
先に Passboltのプラグインをブラウザに入れておく
そして http://192.168.0.106 へアクセスして、メールアドレスを入力して先に進めるのだが、メールが一向に届かない現象が発生する(場合がある)。このキャッシュをクリアすると、正しくメールが送信された!!
何度かやってみたが、このキャッシュクリアする事で 100% メールが届いたのだ
先に設定したメールアドレスを入力して次へ進めると
メールが届くので、メール内にあるリンクをクリックする
パスフレーズを入力します。こちらも忘れないように!
リカバリキット(passbolt-recovery-kit.txt)がダウンロードされますので、大切に保管しましょう!
最後にセキュリティートークンを設定します。これは、passbolt ログイン時に使用するので、忘れないで覚えておきましょう
これで、設定も完了です!
おわりに
セットアップ中にメールの設定が合っているのに届かない場合は、キャッシュクリアする事をお勧めします!
cd /usr/share/php/passbolt/ sudo -u www-data ./bin/cake cache clear_all
これ発見するまで、かなり苦労した(汗
次回はスマホのpassboltアプリから使えるように設定を追加していきたい
コメント