SFTPGO多平台离线部署指南(2.7.0)
1.SFTPGO简介
sftpgo作为免费开源软件,能够多平台离线部署(windows、linux、国产麒麟),还能够同时开启FTP、SFTP、webdav三项功能,非常方便局域网下扫描仪和个人终端同时使用。
2.下载地址
github下载:https://github.com/drakkan/sftpgo/releases
根据需求选择window和linux安装包,把安装包放到需要部署服务器的地址即可
3.linux离线安装教程
以下载的sftpgo_v2.7.0_linux_x86_64.tar.xz安装包为例
2.1 将安装包放到任意目录中,然后解压到/opt/sftpgo/目录下
mkdir /opt/sftpgo/
tar xvJf sftpgo_v2.7.0_linux_x86_64.tar.xz -C /opt/sftpgo/

3.1 添加sftpgo用户
创建用户 useradd -M -s /sbin/nologin sftpgo
授权 chown -R sftpgo:sftpgo /opt/sftpgo

3.2配置授权文件
#创建目录 mkdir -pv /etc/sftpgo
#授权 chown -R sftpgo:sftpgo /etc/sftpgo/
#复制配置文件 cp /opt/sftpgo/sftpgo.json /etc/sftpgo/
#创建数据依赖 /opt/sftpgo/sftpgo initprovider
#授权 chown -R sftpgo:sftpgo /etc/sftpgo/

3.3创建并验证sqlite3
#进入配置文件目录 cd /etc/sftpgo
#创建数据库文件 sqlite3 sftpgo.db
按Ctrl+D退出sqlite3

3.4添加服务文件
#复制命令文件 cp /opt/sftpgo/init/sftpgo.service /usr/lib/systemd/system/
#刷新系统指令 systemctl daemon-reload
#添加关联 ln -s /opt/sftpgo/sftpgo /usr/bin/
#查询版本 sftpgo -v

3.5修改配置文件
vi /etc/sftpgo/sftpgo.json #按ESC后输入/后加字段查找,配置错一项可能会导致无法启动
1) SFTP访问文件系统端口号配置(默认2022)
“sftpd”–>“bindings”–>(“port”=“2022”)
2)backups目录配置(需手动创建)
“data_provider”–>(“backups_path”: “/opt/sftpgo/backup”)
3)sftpgo的管理页面(web端)访问端口(默认8080)
“httpd”–>“bindings”–>(“port”=“8090”)
4)templates目录配置(在解压目录,需手动创建)
“httpd”–>(“templates_path”=“/opt/sftpgo/templates”)
5)static目录配置(在解压目录,需手动创建)
“httpd”–>(“static_files_path”=“/opt/sftpgo/static”)
6)后台存储配置数据库(默认sqlite)
“data_provider”–>(“driver”: “sqlite”)
“data_provider”–>(“name”: “sftpgo.db”)
“data_provider”–>(“host”: “localhost”)
“port”–>(“”) ##端口默认为改为""

7) 启动FTP服务(如需)
“ftpd”–>“bindings”–>(“port”=“2021”)
3.6复制配置文件(新版无法启动原因)
cp -rf /opt/sftpgo/templates /etc/sftpgo
#因为服务器启动时会生成文件,但运行账户是root,导致文件归属是root,需再次授权
chown -R sftpgo:sftpgo /etc/sftpgo
chown -R sftpgo:sftpgo /opt/sftpgo

3.7运行服务
#配置服务生效 sftpgo serve -c /etc/sftpgo 手动Ctrl+C退出
# 启动sftpgo服务 systemctl start sftpgo
# 查看服务状态 systemctl status sftpgo

/etc/sftpgo目录下会生成密钥文件,需要再次授权才能正常启动
chown -R sftpgo:sftpgo /etc/sftpgo
chown -R sftpgo:sftpgo /opt/sftpgo
systemctl start sftpgo #启动sftpgo服务
systemctl status sftpgo #服务器状态为running即为启动成功
systemctl stop sftpgo #关闭sftpgo服务

登录页面http://localhost:8080/web/admin/就可以配置管理员账户密码和连接用户了
3.8无法上传问题
配置上传用户和上传目录后无法扫描或者上传文件
Liunx的用户权限限制非应用用户管理该目录,使用chown -R sftpgo:sftpgo (对应目录)配置权限后可以正常上传了。
3.9时区问题
vi /etc/sftpgo/sftpgo.env
写入TZ=Asia/shanghai
这样在下载界面就不会看到时间是+8小时的了
4.window安装
window安装较为简单,无需修改过多配置。从下载sftpgo_v2.7.0_windows_x86_64.exe版本
下载完成后,安装完成,进入安装目录,我安装在D:\sftpgo目录下。
修改配置文件 C:\ProgramData\SFTPGo\sftpgo.json
必须修改项:templates_path改为C:\ProgramData\SFTPGo\templates
SFTP访问文件系统端口号配置(默认2022)
“sftpd”–>“bindings”–>(“port”=“2022”)
sftpgo的管理页面(web端)访问端口(默认8080)
“httpd”–>“bindings”–>(“port”=“8090”)
启动FTP服务(如需)
“ftpd”–>“bindings”–>(“port”=“2021”)

以管理员模式启动CMD 输入指令
D:\
cd sftpgo
输入 sftpgo serve -c C:\ProgramData\SFTPGo\templates 即可启动

查询其他命令 sftpgo help
效果图如下:

5.参考文章
https://www.jianshu.com/p/e5a68aebf97f,https://github.com/drakkan/sftpgo/blob/main/README.zh_CN.md
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)