1. Seafile 简介
Seafile是国内团队开发的一个国际化的开源项目,在 GitHub 上的项目有超过4500人关注,在国内最大的开源社区开源中国上面也赢得了很多赞誉。Seafile目前拥有国内外两个活跃的用户社区:seafile官方中文社区(http://bbs.seafile.com),seafile官方英文社区(http://forum.seafile.com/),活跃用户已超过50万。
Seafile的客户有卡巴斯基、德国 Mainz 大学、德国柏林洪堡大学、法国 Strasbourg 大学、德国 Max Planck 科学院、芬兰 Turku 大学、中国平安等。
Seafile是一款强大优秀的云同步软件,拥有跨平台文件同步、移动端文件访问、挂载盘、文件共享和权限控制、文件锁定、文件版本管理和资料库镜像、在线编辑和协同编辑、审计日志等功能。
Seafile服务器端支持Linux、Windows(已不再更新,但我们可以使用Docker)和树莓派,客户端支持Mac、Linux、Windows、Android和iOS,当然也支持网页的形式来管理和访问。
2. Seafile服务端部署教程(Linux) 部署 Seafile 服务器笔者采用的是使用官网推荐,也是最简单的安装方式,即使用Docker。
2.1 安装Docker社区版
Docker的安装参见官方文档
执行以下命令安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
添加yum软件源
#这是官方yum源
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
#由于网络问题非常建议使用国内源
#yum-config-manager \
# --add-repo \
# https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
安装 Docker CE
yum install docker-ce docker-ce-cli containerd.io
#启动docker
systemctl start docker
配置Docker国内镜像加速由于国内网络问题,不修改后面拉取镜像的速度会太慢
vi /etc/docker/daemon.json
写入如下内容并保存
{ "registry-mirrors": ["https://registry.docker-cn.com"]
重新启动服务
systemctl daemon-reload
systemctl restart docker
修改SELINUX设置,否则后面可能会出错
vi /etc/selinux/config
将SELINUX一栏修改为修改为SELINUX=disabled保存并重启centos
2.2 拉取seafile镜像
拉取seafile镜像,可能需要下载一会儿
docker pull seafileltd/seafile
列出本地镜像,检查一下
docker images
2.3 创建seafile容器并运行
参数解析:
SEAFILE_SERVER_HOSTNAME:服务器域名
SEAFILE_ADMIN_EMAIL:管理员账号
SEAFILE_ADMIN_PASSWORD:管理员密码
-v /opt/seafile-data:seafile容器挂载目录
-p 80:80:端口映射 以上参数可根据需要修改
docker run -d --name seafile \
-e SEAFILE_SERVER_HOSTNAME=seafile.example.com \
-e SEAFILE_ADMIN_EMAIL=me@example.com \
-e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \
-v /opt/seafile-data:/shared \
-p 80:80 \
seafileltd/seafile:latest
有可能第一次启动会失败,可以输入docker ps检查seafile容器是否在运行 如果失败,重启该容器即可
找到创建的seafile容器contanier id
docker ps -a
输入刚才contanier id
docker stop ${contanier id }
再次启动
docker start ${contanier id }
2.4 打开防火墙端口
打开80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙
firewall-cmd --reload
2.5 关于实际部署到云服务器
基本同上,根据实际需要修改创建seafile的参数即可,服务器域名可以去注册一个,如果没有,直接使用服务器的公网ip地址也可以。另外要检查服务器的防火墙设置是否打开了80端口。