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

https://blog.csdn.net/qq_45661358/article/details/126580800

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐