seafile 私有云盘seafile的搭建
Seafile是一个开源、专业、可靠的云存储平台;解决文件集中存储、共享和跨平台访问等问题,由北京海文互知网络有限公司开发,发布于2012年10月;除了一般网盘所提供的云存储以及共享功能外,Seafile还提供消息通信、群组讨论等辅助功能,帮助更好的围绕文件展开协同工作。
主要功能有以下:
文件同步与共享
你可以创建不同的资料库来分类组织文件。可以在私人间或群组*享这些资料库。每个资料库都可以选择性的在多台设备上同步。
在线协作
你可以在线编辑文件,对文件进行评论,在私人间或群组间展开讨论。事件通知、版本管理使得文件协作异常的方便和安全。
移动办公
移动客户端使得你可以在移动设备上查看最新改动、访问文件资料、进行群组讨论等等,方便的完成移动办公。
当然也可以搭建作为私人网盘来用
目录
一、安装环境
二、基于Docker方式安装
三、基于安装包方式安装
四、参考并致谢
一、安装环境
操作系统:CentOS 7
Docker版本:Docker 19.03.8
数据库版本:
MariaDB 10.1(基于docker)
MySQL 5.7 (基于安装包)
seafile版本:seafile 7.0.5
二、基于Docker方式安装
说明: 基于docker的方式安装较为简单,官网也推荐使用这种方式安装
1、下载配置文件
官网地址: https://www.seafile.com/home/
配置文件下载地址:https://docs.seafile.com/d/cb1d3f97106847abbf31/files/?p=/docker/docker-compose.yml
下载后将配置文件上传到服务器上
2、基本环境准备
python版本确认
[aaa@qq.com ~]# python -V
依赖环境搭建
[aaa@qq.com ~]# yum install python-devel
[aaa@qq.com ~]# yum -y install gcc gcc-c++ autoconf automake
[aaa@qq.com ~]# yum -y install libtool make
安装/升级pip
[aaa@qq.com ~]# yum -y install epel-release
[aaa@qq.com ~]# yum -y install python-pip
[aaa@qq.com ~]# pip install --upgrade pip
安装docker-compose(Seafile v7.x.x 容器是通过 docker-compose 命令运行)
进行安装compose 第一条语句报错执行第二条,执行成功则跳过第二条
[aaa@qq.com ~]# pip install docker-compose
[aaa@qq.com ~]# pip install docker-compose --ignore-installed requests
验证docker-compose版本
[aaa@qq.com ~]# docker-compose -version
注意: 如果出现
ImportError: No module named urllib3之类的报错,可以尝试重装一下urllib3库
[aaa@qq.com ~]# pip uninstall urllib3
[aaa@qq.com ~]# pip install urllib3
安装docker
安装所需软件包
[aaa@qq.com ~]# yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
设置仓库
[aaa@qq.com ~]# yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装最新版本
[aaa@qq.com ~]# yum install docker-ce docker-ce-cli containerd.io
安装完后启动服务
[aaa@qq.com ~]# systemctl start docker
创建seafile数据库存放目录(当然也可以保持默认不用创建)
[aaa@qq.com ~]# mkdir /home/seafile
安装seafile
1、将配置文件放到刚刚创建的/home/seafile目录下
[aaa@qq.com home]# mv docker-compose.yml /home/seafile/
2、编辑配置文件
其中需要修改的配置项如下:
MYSQL_ROOT_PASSWORD:mysql root用户的密码(会自动安装数据库然后配置该密码)
DB_ROOT_PASSWD:mysql root用户的密码(会自动安装数据库然后配置该密码)
volumes:持久化存储 MySQL 数据的 volumes 目录、持久化存储 Seafile 数据的 volumes 目录
SEAFILE_ADMIN_EMAIL:界面上管理员账号
SEAFILE_ADMIN_PASSWORD:界面上管理员登录密码
如果您把 SEAFILE_SERVER_LETSENCRYPT 设置为 true,该容器将会自动为您申请一个 letsencrypt 机构颁发的 SSL 证书,并开启 https 访问,为此您需要做如下配置:
SEAFILE_SERVER_LETSENCRYPT=true
SEAFILE_SERVER_HOSTNAME=myseafile.com
如果您想要使用自己的 SSL 证书,而且如果用来持久化存储 Seafile 数据的目录为 /opt/seafile-data,您可以做如下处理:
创建 /opt/seafile-data/ssl 目录,然后拷贝您的证书文件和**文件到ssl目录下。
假设您的站点名称是 seafile.example.com,那么您的证书名称必须就是 seafile.example.com.crt,**文件名称就必须是 seafile.example.com.key
3、在配置文件所在目录执行以下命令以安装、开启服务
[aaa@qq.com seafile]# docker-compose up -d
4、安装完毕后,可以打开浏览器房访问
http://IP:80来打开主页
主页1
主页
5、运维
停止所有服务(停止所有docker)
docker-compose stop
重启所有服务(重启所有docker)
docker-compose restart
也可以直接进入到docker中开启、停止其中的部分服务
进入到seafile目录中启动seafile
./seafile.sh start
进入到seafile目录中启动seahub
./seafile.sh start
三、基于安装包方式安装
1、下载安装mysql,并配置好用户名和密码
具体下载安装步骤此处省略,可参考:https://www.jianshu.com/p/345caa47d1e6
2、创建数据库用户,并创建数据库
新建一个普通用户(seafile不允许使用管理员用户)
mysql> grant all on . to seafile_user identified by ‘Seafile_123’;
创建ccnet数据库
mysql> create database ccnet;
创建seafile数据库
mysql> create database seafile;
创建seahub数据库
mysql> create database seahub;
3、依赖环境安装
[aaa@qq.com ~]# yum install python-devel
[aaa@qq.com ~]# yum -y install epel-release
[aaa@qq.com ~]# yum -y install gcc gcc-c++
[aaa@qq.com ~]# yum install MySQL-python
4、下载seafile安装包
这里下载的是7版本
官网下载地址:https://www.seafile.com/download/
需要注意的是,7版本的安装方式与之前的版本有出入,还有一点,最新版本7.1.3是需要python3来支持 ,如果是安装该版本的话需要将系统自带的python2.7升级,具体升级步骤此处不多介绍
5、创建seafile目录
[aaa@qq.com ~]# mkdir /home/app
6、上传并解压安装包
[aaa@qq.com app]# tar zxvf seafile-server_7.0.5_x86-64.tar.gz
7、进入解压出来的安装包目录执行安装
[aaa@qq.com app]# cd seafile-server-7.0.5/
[aaa@qq.com seafile-server-7.0.5]# ./setup-seafile-mysql.sh
8、修改配置文件
7.0.x 版本之后,8000端口默认监听在127.0.0.1地址上,这意味着您无法直接通过8000端口访问Seafile服务,按官方文档建nginx或者修改下面配置
/home/seafile/conf/gunicorn.conf文件
9、启动seafile
10、启动seahub
10、将端口加入到防火墙
[aaa@qq.com seafile-server-7.0.5]# firewall-cmd --zone=public --add-port=8000/tcp --permanent
[aaa@qq.com seafile-server-7.0.5]# firewall-cmd --zone=public --add-port=8082/tcp --permanent
[aaa@qq.com seafile-server-7.0.5]# systemctl restart firewalld
11、浏览器访问
浏览器打开http://192.168.111.249:8000访问主页,登录用户和密码是刚刚配置的邮箱和管理员登录密码
四、参考并致谢
https://www.seafile.com/home/
https://blog.csdn.net/q_linchao/article/details/94760990
https://www.jianshu.com/p/80d97bf373ac