• 如何在Ubuntu 20.04服务器上安装Passbolt密码管理器

    Passbolt是一个开源的自托管密码管理器,它允许您安全地存储和共享网站的登录凭据、路由器密码、Wi-Fi密码等。本教程将向您展示如何使用Apache或Nginx web服务器在Ubuntu20.04上安装Passbolt Community Edition(CE)。 Passbolt特性 免费&开源 密码使用OpenPGP加密,OpenPGP是一种经过验证的加密标准。 Firefox和Google Chrome都有浏览器扩展。 在不影响安全性的情况下,轻松与团队共享登录凭据。 干净、用户友好的界面。 导入和导出密码。您可以将密码导出到。kdbx或。用于KeepassX、LastPass或1password的csv文件格式。 您可以手动添加登录凭据。 在Ubuntu 20.04服务器上安装Passbolt的先决条件 Passbolt是用PHP编写的,依赖于MySQL/MariaDB数据库服务器。因此,在安装Passbolt之前,您需要设置一个灯组或LEMP组。如果您更喜欢ApacheWeb服务器,请设置LAMP堆栈。 如何在Ubuntu 20.04上安装LAMP Stack 如果您更喜欢Nginx web服务器,那么设置LEMP堆栈。 如何在Ubuntu 20.04上安装LEMP堆栈 你还需要一个域名,这样你就可以通过网络浏览器从任何地方安全地访问Passbolt。我从namescape注册了我的域名,因为价格低廉,而且他们终身免费保护whois的隐私。 满足上述要求后,按照以下说明安装Passbolt。 第一步:将Passbolt下载到你的Ubuntu 20.04服务器上 如果你去官方网站下载Passpolt,你需要输入你的姓名和电子邮件地址。如果您不喜欢,那么在服务器上执行以下命令,从Github下载最新的稳定版本。 sudo apt install git cd/var/www/sudo git clonehttps://github.com/passbolt/passbolt_api.git 这些文件将保存在passbolt_api目录中。我们把它改名为passbolt。 sudo mv passbolt_api passbolt 然后使web服务器用户(www数据)成为该目录的所有者。 sudo chown-R www-data:www-data/var/www/passbolt 运行以下命令安装Passpolt所需或推荐的PHP模块 sudo apt安装php-imagick-php-gnupg-php7。4-常见php7。4-mysql php7。4-fpm php7。4-ldap php7。4-gd php7。4-imap php7。4-json php7。4-卷曲php7。4-zip php7。4-XMLPHP7。4-Mb字符串php7。4-bz2 php7。4-intl php7。4-gmp php7。4-xsl 然后重启Apache。(如果使用Nginx,则无需重新启动Nginx。) sudo systemctl重启apache2 更改目录。 cd/var/www/passbolt/ 安装Composer–PHP依赖项管理器。 sudo-apt-install-composer 为Composer创建缓存目录。 sudo mkdir/var/www/。创作者 将www数据作为所有者。 sudo chown-R www-data:www-data/var/www/。创作者 使用Composer安装依赖项。 sudo-uWWW数据生成器安装--无开发 如果它要求您设置文件夹权限,请选择Y. 步骤2:为Passbolt创建一个MariaDB数据库和用户 登录MariaDB控制台。 sudo mysql-u root 接下来,使用以下命令为Passbolt创建一个新数据库。本教程将其命名为passbolt,您可以对数据库使用任何您喜欢的名称。我们还指定utf8mb4作为字符集,以支持非拉丁字符和表情符号。 创建数据库密码默认字符集utf8mb4 COLLATE utf8mb4_unicode_ci; 下面的命令将创建数据库用户和密码,同时将新数据库的所有权限授予新用户,以便Passbolt稍后可以写入数据库。将红色文本替换为首选的数据库名称、用户名和密码。 授予所有通行证。*至“passboltuser”@“localhost”,由“password”标识; 刷新特权表并退出MariaDB控制台。 同花顺特权;出口 步骤3:生成OpenPGP密钥 如果您使用的是VPS(虚拟专用服务器),建议安装haveged软件包以产生足够的熵。 sudo-apt-haveged 黑帮。安装后服务将自动启动。您可以通过以下方式检查其状态: sudo systemctl状态已恢复 然后运行以下命令生成一个新密钥对。 gpg——通用密钥 您将被要求输入您的姓名和电子邮件地址。如果要求您设置密码短语,请按Tab键并选择OK跳过它,因为php gnupg模块目前不支持使用密码短语。 将私钥复制到Passpolt配置位置。生成PGP密钥时,将[email protected]替换为电子邮件地址。 gpg——armor——导出密钥[email protected]| sudo tee/var/www/passbolt/config/gpg/serverkey_private。asc&gt/dev/null 并复制公钥。 gpg——装甲——导出[email protected]| sudo tee/var/www/passbolt/config/gpg/serverkey。asc&gt/dev/null 初始化www数据用户的密钥环。 sudo su-s/bin/bash-c“gpg——列出键”www数据 第4步:配置Passbolt 确保您位于/var/www/passbolt/目录中。 cd/var/www/passbolt/ 将示例配置文件复制到生产配置文件。 sudo cp config/passbolt。违约php config/passbolt。php 使用命令行文本编辑器(如Nano)编辑配置文件。 sudo nano config/passbolt。php 首先,找到下面这行。 “fullBaseUrl”=>'https://www.passbolt.test', 用自己的URL替换URL,如https://passbolt.yourdomain.com.不要忘记在DNS记录管理器中为此子域创建DNS记录。 在数据库配置部分,输入在步骤2中创建的数据库名称、数据库用户名和密码。 //“数据库配置。”数据源“=>['default'=>['host'=>'localhost',//'port'=>'non_standard_port_number','username'=>'user','password'=>'secret','database'=>'passbolt',], 在电子邮件配置部分, 指定SMTP主机名、端口号、登录凭据,以便Passpolt可以发送电子邮件。通常,您需要使用端口587将电子邮件发送到远程SMTP服务器。确保将tls设置为true,这样SMTP事务将被加密。 同时设置发件人:电子邮件地址和发件人姓名。 //电子邮件配置。”EmailTransport'=>['default'=>['host'=>'mail.yourdomain.com','port'=>587','username'=>'[email protected],'password'=>'机密“,//这是安全连接吗?如果是,则为true;如果否,则为null。'tls'=>为true,//“超时”=>30、/“客户”=>空,//url'=>空、]、]、“电子邮件”=>['default'=>[//定义电子邮件发件人的默认名称和电子邮件。'from'=>['[email protected]u组织。com'=>'Passbolt'],//charset'=>'utf-8',//'headerCharset'=>'utf-8',],], 要轻松设置自己的电子邮件服务器,请查看以下教程。 如何使用iRedMail在Ubuntu20.04上轻松设置自己的邮件服务器 注意:如果Passpolt与邮件服务器安装在同一个框中,则无需在EmailTransport中指定用户名和密码。只需使用//注释掉这两行。下面的屏幕截图显示了此场景的示例配置。 在gpg部分,输入gpg密钥指纹,如下所示。您需要删除指纹中的所有空白。 “指纹”=>'2FC8945833C51946E937F9FED47B0811573EE67E', 您可以使用以下命令获取密钥指纹。生成PGP密钥对时,将[email protected]替换为您的电子邮件地址。 gpg——列出密钥——指纹| grep-i-b2'[email protected]' 输入指纹后,取消对以下两行的注释。 “公开”=>配置。”gpg'。“是的。”服务器键。asc、private=>配置。”gpg'。“是的。”ServeKey_private。asc', 保存并关闭文件。 第5步:运行安装脚本 以www数据用户的身份运行安装脚本。 sudo su-s/bin/bash-c.“/bin/cake passbolt安装--force”www-data 在安装过程中,系统会要求您创建一个管理员帐户。 一旦你创建了一个帐户,你将获得一个URL,以便在web浏览器中完成安装。在此之前,我们需要使用Apache或Nginx配置web服务器。 步骤6:为Passbolt创建Apache虚拟主机或Nginx配置文件 阿帕奇 如果使用ApacheWeb服务器,请为Passbolt创建一个虚拟主机。 sudo nano/etc/apache2/网站可用/passbolt。形态 将以下文本放入文件中。更换安全螺栓。实例com与你的真实域名,别忘了为它设置DNS记录。还要注意,Passbolt的web根是/var/www/Passbolt/webroot/,而不是/var/www/Passbolt/。 <虚拟主机*:80>服务器名passbolt。埃克斯马普尔。com DocumentRoot/var/www/passbolt/webroot/ErrorLog${APACHE_LOG_DIR}/error。log CustomLog${APACHE_log_DIR}/access。日志合并<目录/>选项如下SymLinks AllowOverride All&lt/目录&gt&书信电报;目录/var/www/passbolt/>选项如下SymLinks Multiview allow Override All Order allow,deny allow from All&lt/目录&gt&lt/VirtualHost> 保存并关闭文件。然后通过以下方式启用此虚拟主机: sudo a2ensite Passpolt。形态 重新加载Apache以使更改生效。 sudo systemctl重新加载apache2 Nginx 如果使用Nginx web服务器,请为Passbolt创建一个虚拟主机。 sudo nano/etc/nginx/conf.d/passbolt。形态 将以下文本放入文件中。更换安全螺栓。实例com与你的真实域名,别忘了为它设置DNS记录。还要注意,Passbolt的web根是/var/www/Passbolt/webroot/,而不是/var/www/Passbolt/。 服务器{listen 80;listen[:]:80;server_name passbolt.example.com;root/var/www/passbolt/webroot/;error_log/var/log/nginx/passbolt.error;access_log/var/log/nginx/passbolt.access;index index.php index.html index.htm index.nginx-debian.html;location/{try_files$uri$uri//index.php?$query string;}地点~/。php${#try_files$uri=404;fastcgi_split_path_info^(.+/.php)(/.+)$;#注意:您应该有“cgi.fix_pathinfo=0”在php中。ini fastcgi_pass unix:/var/run/php/php7。4-fpm。短袜fastcgi_索引。php;fastcgi_参数SCRIPT_FILENAME$document_root$fastcgi_SCRIPT_name;包括fastcgi_参数;fastcgi_缓冲区大小128k;fastcgi_缓冲区256 16k;fastcgi_busy_busy_buffers_size 256k;fastcgi_temp_file_write_size 256k;}不要记录favicon location=/favicon。ico{log_not_found off;access_log off;}不要记录robots location=/robots。txt{access_log off;log_not_found off;}拒绝访问隐藏文件/文件夹的所有尝试,例如。htaccess。htpasswd。DS_商店(Mac)等。。。地点~//。{拒绝所有;访问注销;注销未发现;}拒绝所有grunt、composer文件位置~*(GrunFile | package | composer)/。(js | json)${deny all;access_log off;log_not_found off;}#较长的浏览器缓存寿命可以加快对页面位置的重复访问~*/。(jpg | jpeg | gif | png | webp | svg | woff | woff2 | ttf | css | js | ico | xml)${accesslog off lognot found off;expires 360d;} 保存并关闭文件。然后测试Nginx配置。 sudo nginx-t 如果测试成功,请重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx 第7步:启用HTTPS 为了加密HTTP流量,我们可以通过安装Let's encrypt颁发的免费TLS证书来启用HTTPS。运行以下命令在Ubuntu20.04服务器上安装Let's Encrypt client(certbot)。 sudo apt安装certbot 如果您使用Nginx,那么您还需要安装Certbot Nginx插件。 sudo apt安装python3 certbot nginx 接下来,运行以下命令获取并安装TLS证书。 sudo certbot--nginx--agree tos--redirect--hsts--staple ocsp--email[email protected]-d passbolt。实例通用域名格式 如果使用Apache,请安装Certbot Apache插件。 sudo apt安装python3 certbot apache 并运行此命令以获取并安装TLS证书。 sudo certbot--apache--同意tos--重定向--hsts--订书机ocsp--电子邮件[email protected]-d passbolt。实例通用域名格式 哪里 --nginx:使用nginx插件。 --apache:使用apache插件。 --同意:同意服务条款。 --重定向:通过301重定向强制HTTPS。 --hsts:为每个HTTP响应添加严格的传输安全头。强制浏览器始终对域使用TLS。防止SSL/TLS剥离。 --装订ocsp:启用ocsp装订。有效的OCSP响应被绑定到服务器在TLS期间提供的证书上。 现在应获得证书并自动安装。 步骤8:在Web浏览器中完成Passbolt安装 首先,您需要在Firefox或Google Chrome浏览器上安装Passbolt扩展。 Firefox的Passpolt扩展 Google Chrome的Passbot扩展 现在复制运行安装脚本后获得的URL,并将其粘贴到浏览器的地址栏中。您将看到基于web的设置向导。第一步是确保域和服务器密钥指纹正确。 在第二步中,只需单击“下一步”按钮即可创建新密钥。 在第三步中,创建一个密码短语。 然后下载加密的密钥并将其存储在安全的地方。只有使用您的密码才能解密此密钥。 在第四步中,设置一个安全令牌。 最后,您可以使用您的密码登录。 现在您可以创建密码,从csv或kdbx文件导入密码。 第8步:设置Cron作业以自动发送电子邮件 要发送系统电子邮件,请运行以下命令。 sudo-u www-data/var/www/passbolt/bin/cake-EmailQueue。发件人 您可以在www数据用户的Crontab文件中添加该命令,以自动处理电子邮件。 sudo crontab-u www-data-e 在文件中添加以下行以每分钟处理电子邮件。 ****/var/www/passbolt/bin/cake-EmailQueue。发件人 保存并关闭文件。 (可选)设置ModSecurity 您可能还想设置ModSecurity web应用程序防火墙,以保护您的PHP web应用程序免受黑客攻击。如果您在Debian/Ubuntu上使用Apache web服务器,请阅读以下教程。 如何在Debian/Ubuntu上使用Apache设置ModSecurity 如果您在Debian/Ubuntu上使用Nginx web服务器,请阅读以下教程: 如何在Debian/Ubuntu上使用Nginx设置ModSecurity 故障排除 如果你试图创建一个密码,但却被困在“深呼吸,享受当下……”屏幕上,很可能是因为你的Apache或Nginx配置文件中有什么东西。如果从文章中复制Apache/Nginx配置,那么在创建密码时应该没有问题。 如果启用了ModSecurity web应用程序防火墙,您会看到无法验证服务器密钥错误。 然后需要在ModSecurity中添加以下自定义规则排除。 SecRule REQUEST_URI“@streq/auth/verify.json?api version=v2”“id:1060,阶段:2,ctl:ruleRemoveById=942100” 然后重新启动web服务器。 sudo systemctl重启apache2 或 sudo systemctl重启nginx 收尾 我希望本教程能帮助你在Ubuntu 20.04上安装Passbolt。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.23 浏览:222