标准安装在Linux上
最低系统要求 passwork 对服务器资源的要求不高。所需资源(ram、cpu、hdd)的容量和服务器的数量取决于活跃用户的数量、存储数据的容量以及对系统容错能力的要求。 通用信息 linux上的标准安装使用docker。docker镜像的结构是这样的,所有重要数据都存储在与宿主机共享的目录中,因此您可以停止、删除和创建新的容器。 配置文件也存储在挂载的目录中,因此您可以对组件进行大多数配置更改,而无需直接修改docker镜像或容器。要做到这一点,请更改必要组件的配置文件并重启容器。 组成 该程序由6个容器组成。一些容器是强制启动的,而其他部分可以通过更改环境变量文件 env中的环境变量compose profiles来启用或禁用: nginx — 基于官方nginx镜像的镜像。默认情况下会启动。 php — 基于ubuntu的带有php和php fpm的镜像。默认情况下会启动。 cron — 基于php镜像的单独容器,用于运行计划任务。默认情况下会启动。 psmdb — 基于官方percona server for mongodb镜像的镜像。如果使用外部mongodb/psmdb,则可以禁用启动。 postfix — 基于ubuntu的带有postfix的镜像。如果通过php mailer发送通知,则可以禁用。 certbot — 来自let's encrypt的官方certbot镜像。如果您使用的是let's encrypt的证书,则需要它。如果您使用其他ssl证书,则可以禁用。 系统更新 基于deb的 sudo apt get update 基于rpm的 sudo yum update docker安装 下载并安装docker。最低要求版本为18 06 0。官方安装文章 — https //docs docker com/engine/installation/ 如果之前未安装docker compose插件,请安装并启用。官方安装文章 — https //docs docker com/compose/install/linux/ 我们建议使用非通过snap安装的docker 安装 要安装passwork,您需要下载并运行脚本,该脚本将安装所有必需的组件。 创建一个目录并导航到该目录: mkdir your directory cd your directory 复制安装脚本: wget https //repos passwork pro/repository/docker/passwork compose install sh 真实性检查 检查文件passwork compose install sh的哈希值,以验证文件的真实性: echo "4c53964eac8e4e82edd6751f57b099622ba56a2ed51f0f6f1528fed9a802fb3d passwork compose install sh" | sha256sum check 系统应显示消息passwork compose install sh ok。 用户权限验证和脚本执行 如果您不是以root身份安装,请确保用户是docker组的成员。 您可以使用以下方法检查: id $user | grep docker 您可以这样将用户添加到docker组: sudo usermod a g docker $user 赋予脚本执行权限并运行它: chmod +x passwork compose install sh /passwork compose install sh 该脚本使用apt或dnf,以及curl。如果您的网络中使用代理服务器,您需要添加环境变量:export http proxy= http //proxy example com 8080 http //proxy example com 8080/ export https proxy= http //proxy example com 8080 http //proxy example com 8080/ 脚本执行的操作 检查已安装的docker 检查docker版本(高于18 06 0) 检查docker是否正在运行 检查用户是否属于docker组或拥有sudo权限 检查docker compose插件是否已安装并启用 检查系统是否属于deb或rpm发行版 为了脚本的正确运行安装额外的实用程序curl、unzip和jq 请求输入passwork客户端证书 检查证书是否符合格式 检查证书的有效性 下载并解压包含docker compose构建文件的存档 检查环境变量文件并添加证书编号 执行passwork代码更新脚本 执行docker compose up d 执行安装脚本的过程 脚本将检查当前用户的权限以及必要组件的版本。如遇错误,脚本将以install log date log的格式创建日志,并将错误放置其中。 脚本执行完成后 脚本将自动执行docker ps。请检查正在运行的容器列表。如果容器没有启动,请检查安装输出和日志。正确输出的示例: 设置向导 在构建并运行容器之后,passwork将可通过以下链接访问: https //your servername 默认情况下,passwork使用在安装过程中自动生成的自签名证书,因此当您首次打开页面时,会看到浏览器不信任该网站证书的消息。 选择语言 在第一步,系统将提供选择界面语言的选项。 系统参数检查 参数清单将显示您的服务器上是否安装了所有组件。 数据库连接 默认情况下,docker中的passwork连接到名为db的服务,因此在初始安装的第三阶段需要更改连接字符串。 连接字符串为mongodb //db 27017 加密密钥 passwork将为服务器加密生成一个新的密钥。如果您将passwork连接到现有数据库,请指定现有的加密密钥。 不要输入在passwork外部生成的密钥。passwork使用特殊的安全算法以适当的格式生成新密钥。使用第三方工具生成的密钥可能会导致操作不正确。 许可证密钥 您可以在您的passwork客户端门户中下载许可证密钥,或者向经理请求。 设置您自己的ssl证书 使用您自己的证书 对于由受信任发行机构颁发的证书 对于由您组织的域名认证机构颁发的证书 重命名并放置您的ssl证书或认证链到 /conf/ssl privkey pem — 私钥。 fullchain pem — 证书\认证链 使用let's encrypt 如果您没有证书颁发机构(由受信任中心颁发的证书),但您有服务器的公共dns名称,您可以配置let's encrypt。 编辑文件 env 更改并添加以下参数: use letsencrypt=true letsencrypt reg email=mail\@example com domain=example com compose profiles="local notify,mongo,certbot" 保存所做的更改并启动容器。 docker compose up d certbot 检查容器日志以获取证书。 docker compose logs certbot 颁发证书的示例 重新创建容器,使用新证书更新数据。 docker compose up d force recreate nginx certbot 使用let's encrypt的证书,passwork将通过https协议可用。 脚本和命令 脚本 update sh — 执行应用程序代码的更新到您的许可证中可用的最新版本。 db backup sh — 执行备份到备份文件夹。 db restore sh — 执行备份恢复。如果没有提供备份名称,将显示可用备份的列表。 collect log sh — 执行组件日志的收集。这是出于调试目的以及将日志发送给技术支持服务所必需的。 collect conf sh — 收集组件的配置文件。这是出于调试目的以及将配置文件发送给技术支持服务所必需的。 命令 docker compose stop — 停止服务 docker compose restart — 重新启动服务 docker compose start — 启动已停止的服务 docker compose down — 移除服务。数据,包括数据库和配置文件,将被保留。 参数和设置 描述 大多数设置可以通过 env中的环境变量或修改单独组件的配置文件来完成。 参数 描述 默认值 cert passwork证书编号。用于升级脚本,以从客户门户中检索应用程序文件 xxx xxx xxx xxx xxxxxxxxxxxx use letsencrypt 是否使用certbot来发行ssl证书 false letsencrypt staging certbot的测试模式。对于调试很有用,因为let's encrypt对请求的数量有限制。默认为true,以避免因dns记录配置错误或其他原因导致的错误。建议首先使用测试环境。 true letsencrypt reg email let's encrypt的电子邮件 domain let's encrypt的域名 alias containers name 容器名前缀 "passwork " compose profiles 允许您启用/禁用服务启动的compose配置文件 "local notify,mongo" php conf dir php配置目录 /conf/php php log dir php日志目录 /log/php app dir passwork应用程序目录 /www/latest (symlink to the latest version) app log dir 应用程序日志目录 /log/app keys dir 存放许可证密钥及主应用程序配置文件的目录 /conf/keys nginx conf dir nginx配置目录 /conf/nginx nginx log dir nginx日志目录 /log/nginx ssl dir 包含ssl证书的目录 /conf/ssl mongo data dir 包含mongo数据的目录 /data/mongo custom ca dir 用于额外根证书的目录(例如,用于ldaps) /conf/custom ca postfix log dir postfix日志目录 /log/postfix postfix conf dir postfix配置目录 /conf/postfix 应用设置 在对 env或特定组件的配置文件进行更改后,需要重启相应的容器。 docker restart container name docker restart container name