这篇文章起头于今年的
2
月,大概完成于4
月。当时的ProjectSend
的版本为r1070
,现在的版本为r1295
。老苏已重新验证过,虽然在界面上已经存在细节上的差异,但并不会影响对本文的理解
什么是 ProjectSend ?
ProjectSend
是一款免费的开源软件,可让您与客户共享文件,注重易用性和隐私性。它支持客户端组、系统用户角色、统计、多语言、详细日志等等!
简单的说就是有点像发邮件,只有指定的收件人才能收到发件人发送的文件,但又不依赖于邮件
安装
建数据库
ProjectSend
需要至少具有 php 7.1
和 MySQL 5
或更高版本才能运行该软件。
所以数据库这块我直接用的群晖的 MariaDB 5
,在 phpMyAdmin
中创建了表名为 projectsend
的空表
安装镜像
在群晖上以 Docker 方式安装。
在注册表中搜索 projectsend
,选择第一个 linuxserver/projectsend
,版本选择 latest
。
卷
在 docker
文件夹中,创建一个新文件夹,并将其命名为 projectsend
,然后在 projectsend
文件夹中再创建两个新的子文件夹,分别命名为 config
和 data
。
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/projectsend/config | /config | 存放设置 |
docker/projectsend/data | /data | 存放数据 |
端口
默认的端口 80
不能用,换成了不冲突的 8222
,443
用不上,所以老苏给删了
本地端口 | 容器端口 |
---|---|
8222 | 80 |
环境
可变 | 值 |
---|---|
TZ | 设置为 Asia/Shanghai |
PGID | <gid> 设为 1000 |
PUID | <uid> 设为 1000 |
PUID
为什么默认设置为1000
,请看老苏写的『如何获取PUID和PGID』
初始化设置
在浏览器中输入 http://群晖IP:8222
,就能看到主界面了,第一次需要设置
默认情况下数据库右侧是红色的感叹号,必须全部变绿
注意:下图中密码被我隐藏了,不是为空
拉到底部,按钮从 check
变成了 Check again
和 Write config file
点 Write config file
点 Continue to installation
项目地址和数据库地址不同是因为:
100
开头的是tailscale
的地址,对应的局域网IP
为192.168.0.199
,实际上这两个地址是同一台机器,当然数据库也可以安装在另外一台机器上
填写站点名称和管理员信息
继续 install
,到这里就设置完成了
高级设置
增加上传的文件大小限制
有三个地方可以修改,第一种是在初始化的时候设置,第二种是设置全局参数,第三种是给每个账户单独设置
初始化设置
全局设置
找到 sys.config.php
文件
修改前需要先修改
sys.config.php
文件的权限,需勾选写入
权限
找到 MAX_FILESIZE
,默认是 2048MB
,也就是 2GB
,可以将 2048
更改为所需的任何内容,但必须是整数。
单独设置
在新建用户时,单独设置 Max. upload filesize
,如果保留为空或将其设置为0,它将使用全局值。
汉化
目前已经支持 71
种语言,需要在 https://www.projectsend.org/translations/ 页面下载
将下载的 zh_CN.zip
文件解压到 projectsend
目录中
语言包目录中包含了 zh_CN.mo
和 zh_CN.po
的文件
PO
是Portable Object
(可移植对象)的缩写形式,它是面向翻译人员的、提取于源代码的一种资源文件。MO
是Machine Object
(机器对象)的缩写形式,它是面向计算机的、由.po
文件通过GNU gettext
工具包编译而成的二进制文件,应用程序通过读取.mo
文件使自身的界面转换成用户使用的语言,如简体中文。
可以在 http://www.dayanzai.me/poedit-pro.html 下载
Poedit
文件,用于将.po
文件编译为.mo
文件
语言包在容器中的路径对应下表
模块 | 路径 |
---|---|
主程序 | /app/projectsend/lang |
模板 Default | /app/projectsend/templates/default/lang |
模板 Gallery | /app/projectsend/templates/gallery/lang |
模板 Pinboxes | /app/projectsend/templates/pinboxes/lang |
SSH 连接到群晖,执行下面的拷贝命令
【注意】:
/volume2/docker/projectsend/zh_CN/.
是群晖上汉化包解压出来的目录linuxserver-projectsend1
为容器名称/app/projectsend
容器内的目录
# 从群晖拷贝到容器linuxserver-projectsend1内
docker cp /volume2/docker/projectsend/zh_CN/. linuxserver-projectsend1:/app/projectsend
修改 sys.config.php
文件,将 define('SITE_LANG','en')
改为 define('SITE_LANG','zh_CN')
保存后 logout
,登录界面 语言
默认就是中文了
运行
回到 http://群晖IP:8222
,会看到登录页面,用刚才创建的管理员账号和密码登录
使用还是很简单的,简单介绍下流程:
为了开始上传文件并与客户共享,首先,您需要添加客户
邮件没设置,而且用户的邮箱地址也是乱填的,报错信息不用管
然后单击文件栏,然后从下拉菜单中选择“上传”按钮以添加添加,然后上传文件。
上传文件后,您可以选择要共享的特定客户
分配完成后
要检查状态并管理上传的文件,请点击文件栏下方的 管理文件
选项
客户登录后,就能看到分享给自己的文档了
参考文档
projectsend/projectsend: ProjectSend is a free, open source software that lets you share files with your clients, focused on ease of use and privacy. It supports clients groups, system users roles, statistics, multiple languages, detailed logs… and much more!
地址:https://github.com/projectsend/projectsend
ProjectSend - Share files with your clients from your own server. Open source, free software.
地址:https://www.projectsend.org/