本文介绍在Ubuntu 18.04操作系统上安装Passbolt密码管理器的方法。
简介 Passbolt是一个开源的自托管密码管理器,它使你可以安全地共享和存储网站的登录凭据、路由器密码、Wi-Fi密码等。 功能: 免费和开源。 密码使用OpenPGP(一种公认的加密标准)进行加密。 可用于Firefox和Google Chrome的浏览器扩展。 与你的团队轻松共享登录凭据,而不会影响安全性。 干净,用户友好的界面。 导入和导出密码。 你可以手动添加登录凭据。 注: 1]、你可能听说过其他类似Bitwarden的自托管密码管理器,但是它需要安装Docker,因此它只能在64位计算机上运行,该Passbolt教程可在32位和64位计算机上使用。 2]、Passbolt用PHP编写,并依赖于MySQL/MariaDB数据库服务器,因此,你需要设置一个LAMP堆栈或LEMP堆栈,参考在Ubuntu 18.04 Server中安装LAMP的方法[Apache、MariaDB、PHP7.2]。
一、将Passbolt下载到Ubuntu 18.04上 如果你去官方网站下载Passbolt,则需要输入你的姓名和电子邮件地址,如果觉得麻烦,请通过在系统上执行以下命令从Github下载最新的稳定版本: sudo apt install git cd /var/www/ sudo git clone https://github.com/passbolt/passbolt_api.git 这些文件将保存在passbolt_api目录中,我们将其重命名为passbolt: sudo mv passbolt_api passbolt 然后使Web服务器用户(www-data)成为该目录的所有者: sudo chown -R www-data:www-data /var/www/passbolt/ 更改目录: cd /var/www/passbolt/ 安装Composer–PHP依赖管理器: sudo apt install composer 使用Composer安装依赖项: sudo -u www-data composer install --no-dev 如果它要求你设置文件夹权限,请选择Y:
二、为Passbolt创建MariaDB数据库和用户、安装必需和推荐的PHP模块 1、为Passbolt创建MariaDB数据库和用户 现在,我们需要登录到MariaDB控制台,并为Passbolt创建数据库和用户,默认情况下,Ubuntu上的MaraiDB软件包使用unix_socket来验证用户登录名,这基本上意味着你可以使用操作系统的用户名和密码登录MariaDB控制台,因此,可以运行以下命令来登录,而无需提供MariaDB根密码: sudo mysql -u root 接下来,使用以下命令为Passbolt创建一个新数据库,本文将其命名为passbolt,你可以为数据库使用任何喜欢的名称,我们还将utf8mb4指定为字符集,以支持非拉丁字符和表情符号: CREATE DATABASE passbolt DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 以下命令将创建数据库用户和密码,并同时将新数据库的所有权限授予新用户,以便以后在Passbolt上可以写入数据库,用你喜欢的数据库名称、用户名和密码替换: GRANT ALL ON passbolt.* TO 'passboltuser'@'localhost' IDENTIFIED BY 'password'; 刷新特权表并退出MariaDB控制台: FLUSH PRIVILEGES; EXIT; 2、安装必需和推荐的PHP模块。 运行以下命令以安装Passbolt所需或推荐的PHP模块: sudo apt install php-imagick php-gnupg php7.2-common php7.2-mysql php7.2-ldap php7.2-gd php7.2-imap php7.2-json php7.2-curl php7.2-zip php7.2-xml php7.2-mbstring php7.2-bz2 php7.2-intl php7.2-gmp php7.2-xsl 然后重新启动Apache(如果你使用Nginx,则无需重新启动Nginx): sudo systemctl restart apache2
三、产生OpenPGP金钥 如果你使用的是VPS(虚拟专用服务器),建议安装haveged: sudo apt install haveged 然后运行以下命令以生成新的密钥对: sudo gpg --gen-key 将被要求输入你的姓名和电子邮件地址,如果要求你设置密码短语,只需按Tab键并选择确定,因为php-gnupg模块目前不支持使用密码短语:
将私钥复制到密码配置位置: sudo gpg --armor --export-secret-keys you@example.com | sudo tee /var/www/passbolt/config/gpg/serverkey_private.asc > /dev/null 并复制公钥: sudo gpg --armor --export you@example.com | sudo tee /var/www/passbolt/config/gpg/serverkey.asc > /dev/null 初始化www-data用户的密钥环: sudo su -s /bin/bash -c "gpg --list-keys" www-data
四、配置Passbolt 确保在/var/www/passbolt/目录中: cd /var/www/passbolt/ 将样本配置文件复制到生产配置文件: sudo cp config/passbolt.default.php config/passbolt.php 使用命令行文本编辑器(例如Nano)编辑配置文件: sudo nano config/passbolt.php 首先,找到以下行: 'fullBaseUrl' => 'https://www.passbolt.test', 用您自己的URL替换该URL,例如https://passbolt.yourdomain.com,不要忘记在你的DNS记录管理器中为此子域创建DNS A记录。 在“database configuration”部分中,输入你先前创建的数据库名称,数据库用户名和密码: // Database configuration. 'Datasources' => [ 'default' => [ 'host' => 'localhost', //'port' => 'non_standard_port_number', 'username' => 'user', 'password' => 'secret', 'database' => 'passbolt', ], ], 在电子邮件配置部分: 指定SMTP主机名,端口号,登录凭据,以便你的密码可以发送电子邮件。通常,你需要使用端口587将电子邮件汇总到远程SMTP服务器,确保将tls设置为yes,以便SMTP事务将被加密。 还要设置“发件人:”电子邮件地址和“发件人”名称。 // Email configuration. 'EmailTransport' => [ 'default' => [ 'host' => 'mail.yourdomain.com', 'port' => 587, 'username' => 'you@example.com', 'password' => 'secret', // Is this a secure connection? true if yes, null if no. 'tls' => yes, //'timeout' => 30, //'client' => null, //'url' => null, ], ], 'Email' => [ 'default' => [ // Defines the default name and email of the sender of the emails. 'from' => ['passbolt@your_organization.com' => 'Passbolt'], //'charset' => 'utf-8', //'headerCharset' => 'utf-8', ], ], 为了轻松设置自己的电子邮件服务器,请参考在Debian 9 Stretch服务器上安装Modoboa的方法。 注意:如果passbolt与邮件服务器安装在同一盒子上,则无需在EmailTransport中指定用户名和密码,只需使用//注释掉这两行,以下屏幕快照显示了此方案的示例配置:
在gpg部分中,输入GPG密钥指纹,如下所示,需要删除所有空格: 'fingerprint' => '2FC8945833C51946E937F9FED47B0811573EE67E', 可以使用以下命令获取钥匙指纹,生成PGP密钥对时,用你的电子邮件地址替换you@example.com: sudo gpg --list-keys --fingerprint | grep -i -B 2 'you@example.com' 输入指纹后,取消注释以下两行: 'public' => CONFIG . 'gpg' . DS . 'serverkey.asc', 'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc', 保存并关闭文件。
五、运行安装脚本 以www-data用户身份运行安装脚本: sudo su -s /bin/bash -c "./bin/cake passbolt install --force" www-data 在安装过程中,将要求创建一个管理员帐户:
创建帐户后,将为你提供URL,以在Web浏览器中完成安装,在此之前,我们需要使用Apache或Nginx配置Web服务器。
六、为Passbolt创建Apache主机 如果使用Apache Web服务器,请为Passbolt创建主机: sudo nano /etc/apache2/sites-available/passbolt.conf 将以下文本放入文件中,用你的真实域名替换passbolt.example.com,不要忘记为其设置DNS A记录,另请注意,Passbolt的Web根目录是/var/www/passbolt/webroot/,而不是/var/www/passbolt/: <VirtualHost *:80> ServerName passbolt.exmaple.com DocumentRoot /var/www/passbolt/webroot/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/passbolt/> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> 保存并关闭文件,然后通过以下方式启用此主机: sudo a2ensite passbolt.conf 重新加载Apache以使更改生效: sudo systemctl reload apache2
七、在Web浏览器中完成Passbolt安装 首先,你需要在Firefox或Google Chrome浏览器上安装Passbolt扩展。 现在,复制运行安装脚本后获得的URL,并将其粘贴到浏览器的地址栏中,你将看到基于Web的设置向导,第一步是确保你的域和服务器密钥指纹正确:
在第二步中,只需单击下一步按钮即可导入现有密钥:
在第三步中,创建一个密码短语:
然后下载加密的密钥并将其存储在安全的地方,只能使用你的密码来解密此密钥:
在第4步中,设置安全令牌:
最后,可以使用密码登录:
现在,可以创建密码,从csv或kdbx文件导入密码:
八、设置Cron作业以自动发送电子邮件 要发送系统电子邮件,请运行以下命令: sudo -u www-data /var/www/passbolt/bin/cake EmailQueue.sender 可以将命令添加到www-data用户的Crontab文件中,以自动处理电子邮件: sudo crontab -u www-data -e 在文件中添加以下行,以便每分钟处理一次电子邮件: * * * * * /var/www/passbolt/bin/cake EmailQueue.sender 保存并关闭文件。 至此,在Ubuntu 18.04上安装Passbolt的操作步骤全部完成了。
相关主题 |