Seafile云盘
1、Seafile简介
Seafile 是一款开源的企业云盘,注重可靠性和性能。支持 Windows, Mac, Linux, iOS, Android 平台。支持文件同步或者直接挂载到本地访问。
2、Seafile特性
可靠的文件同步:文件组织成资料库。每个资料库可选择性的同步到任意设备。可靠高效的文件同步将提高您的工作效率;
挂载盘客户端:直接通过本地 S 盘来访问云端文件,不占用本地存储。为电脑提供服务器的海量存储空间。同操作系统无缝集成,还可以离线修改文件;
团队协作:可以共享文件到群组。权限管理、版本控制、事件通知让协作更为流畅;
高性能:Seafile 服务器内核由 C 语言编写。运行起来小巧快速;
Wiki 与知识管理:融合 Wiki 与网盘的功能,使用 Markdown 格式以所见即所得方式编辑 Wiki 文档,提供搜索、标签、评审等知识管理功能,支持对外发布 Wiki 内容;
适用于企业环境:可与 AD/LDAP 集成。可同步 AD 群组和用户信息。
3、Linux 下部署 Seafile 服务器
3.1、 目录设计
cd /root/
mkdir seafile #seafile的整体文件
cd seafile
mkdir seafile_pkg #存放下载好的seafile包
这样设计目录的好处在于:
和 seafile 相关的配置文件都可以放在 seafile 目录下,便于集中管理
后续升级时,你只需要解压最新的安装包到 seafile 目录下配置的管理
3.2、下载并解压
cd /root/seafile/seafile_pkg/
wget http://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_7.0.5_x86-64.tar.gz
tar -xf seafile-server_7.0.5_x86-64.tar.gz -C /root/seafile/
3.3、 目录结构如下
3.4、 安装 Seafile 服务器
3.4.1、安装 Seafile 服务器之前,请确认已安装以下软件
MariaDB 服务器 (MariaDB 是 MySQL 的分支)
python 2.7 (从 Seafile 5.1 开始,python 版本最低要求为2.7)
python-setuptools
python-imaging
python-mysqldb
python-ldap
python-urllib3
python-memcache (或者 python-memcached)
在Debian/Ubuntu系统下
apt-get update
apt-get install mariadb-server
apt-get install python2.7 python-setuptools python-imaging python-ldap python-mysqldb python-memcache python-urllib3
在 CentOS 7 下
yum install mariadb-server
yum install python-setuptools python-imaging python-ldap MySQL-python python-memcached python-urllib3
3.4.2、安装
1)执行脚本
cd /root/seafile/seafile-server-7.0.5
./setup-seafile-mysql.sh #运行安装脚本并回答预设问题
如果你的系统中没有安装上面的某个软件,那么 Seafile初始化脚本会提醒你安装相应的软件包.
该脚本会依次询问你一些问题,从而一步步引导你配置 Seafile 的各项参数:
seafile server name:seafile 服务器的名字,目前该配置已经不再使用;3 ~ 15 个字符,可以用英文字母,数字,下划线。
seafile server ip or domain:seafile 服务器的 IP地址或者域名;客户端将通过这个 IP 或者地址来访问你的 Seafile 服务。
seafile data dir:seafile数据存放的目录,用上面的例子,默认将是 /root/seafile/seafile-data;seafile数据将随着使用而逐渐增加,请把它放在一个有足够大空闲空间的分区上。
seafile fileserver port:seafile fileserver 使用的 TCP 端口;该端口用于文件同步,请使用默认的 8082,不能更改。
填写默认的数据库端口、数据库名
服务安装信息输出
安装成功
2)启动 Seafile 服务器
启动 Seafile::./seafile.sh start # 启动 Seafile 服务
启动 Seahub:./seahub.sh start # 启动 Seahub 网站 (默认运行在8000端口上)
小贴士: 你第一次启动 seahub 时,seahub.sh 脚本会提示你创建一个 seafile 管理员帐号。
3)登陆主页
4)关闭/重启 Seafile 和 Seahub
关闭
./seahub.sh stop # 停止 Seahub
./seafile.sh stop # 停止 Seafile 进程
重启
./seafile.sh restart # 停止当前的 Seafile 进程,然后重启 Seafile
./seahub.sh restart # 停止当前的 Seahub 进程,并在 8000 端口重新启动 Seahub
如果停止/重启的脚本运行失败
大多数情况下 seafile.sh seahub.sh 脚本可以正常工作。如果遇到问题:
使用pgrep命令检查 seafile/seahub 进程是否还在运行中
pgrep -f seafile-controller # 查看 Seafile 进程
pgrep -f "seahub" # 查看 Seahub 进程
使用pkill命令杀掉相关进程
pkill -f seafile-controller # 结束 Seafile 进程
pkill -f "seahub" # 结束 Seafile 进程
5)注意要点:
在这里, 你会被要求选择一种创建 Seafile 数据库的方式:
选1时,会在如下箭头所示的地方回车后提示权限拒绝,因为需要单独对创建的seafile用户授权,同时如果数据库和seafile服务分离部署还需要对root授权;授权之后就无需在选择1,直接选择2,然后将在1中创建的数据库同样在2中的粘贴进去即可
grant all privileges on *.* to 'root'@'%';
grant all privileges on *.* to 'seafile'@'%';
若失败则执行 ,则执行下面命令
mysql5.7授权
update user set host='%' where user='root';
grant all privileges on *.* to 'seafile'@'%'; grant all privileges on *.* to 'root'@'%';
mysql8授权
update user set host='%' where user='root';
grant all privileges on *.* to 'root'@'%' with GRANT OPTION;
grant all privileges on *.* to 'root'@'%';
选2,需要提前创建seafile用户,同时给seafile用户授权
3.4.3、有时候搭建好了,但是不能上传文件,需要查看此配置
或者页面的配置不一样导致引起的
3.4.4、Nginx 下配置 Seahub
在C:\Windows\System32\drivers\etc目录下的hosts文件最终组添加
192.168.171.129 www.myseafile.com
Seahub 是 Seafile 服务器的网站界面, SeafServer 用来处理浏览器端文件的上传与下载. 默认情况下, 它在 8082 端口上监听 HTTP 请求;
这里我们通过 fastcgi 部署 Seahub, 通过反向代理(Reverse Proxy)部署 SeafServer. 我们假设你已经将 Seahub 绑定了域名"www.myseafile.com".
下面是一个 Nginx 配置文件的例子(待上传)