利用Seafile搭建私有文件同步云盘

安装 Seafile 所需环境

如果你的CVM系统为Ububtu系统,请查看Ububtu系统安装教程,如果系统为CentOS,请参考CentOS操作系统安装教程,本文以Ubuntu Server 16.04.1 LTS为例。

Ubuntu系统

这里我们使用apt包管理器进行安装,安装之前,我们首先需要使用sudo apt-get update更新apt包管理器列表。然后在安装python及其 Seafile 所需要的环境。最后使用pip工具安装 Seafile 所需要的视频渲染动画插件moviepy具体代码如下

sudo apt-get update
sudo apt-get install python python2.7 libpython2.7 python-setuptools python-imaging python-ldap python-urllib3 ffmpeg python-pip python-mysqldb python-memcache -y
sudo pip install pillow moviepy

执行完命令后,你可能需要等待一段时间,系统将会自动安装所需要的文件。

CentOS系统

这里我们使用yum包管理器进行安装,安装之前,我们首先需要使用yum -y install epel-release安装epel-release第三方数据包。然后在安装python及其 Seafile 所需要的环境。最后使用pip工具安装 Seafile 所需要的视频渲染动画插件moviepy具体代码如下

yum -y install epel-release
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
yum -y install python-imaging MySQL-python python-memcached python-ldap python-urllib3 ffmpeg ffmpeg-devel
pip install pillow moviepy

执行完命令后,你可能需要等待一段时间,系统将会自动安装所需要的文件。

 

下载 Seafile 源码

我们可以在这里下载Seafile 源码安装文件。截止本文撰写日期,最新版的系统为6.3.3 64位版本。我们获取其地址后,通过wgetcurl命令将源码包下载下来。

 

复制完链接后,在你的服务器执行下面的代码,注意替换链接地址

sudo wget http://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_6.3.3_x86-64.tar.gz

这时,我们就将文件下载到服务器了

 

部署Seafile

接下来,我们需要解压这个文件,为了方便后续升级,建议按照下面的步骤去设置目录结构。我们新建一个名为Seafile的目录,当然,这个名字是自定义的,我这里只是用Seafile演示,请执行下面的命令。

mkdir Seafile
mv seafile-server_* Seafile
cd Seafile
tar -zxvf seafile-server_*
mkdir installed
mv seafile-server_* installed

这时,你的文件目录类似如下

ubuntu@VM-0-7-ubuntu:~$ tree Seafile -L 2
Seafile
├── installed
│   └── seafile-server_6.3.3_x86-64.tar.gz
└── seafile-server-6.3.3├── check_init_admin.py├── reset-admin.sh├── runtime├── seaf-fsck.sh├── seaf-fuse.sh├── seaf-gc.sh├── seafile├── seafile.sh├── seahub├── seahub.sh├── setup-seafile-mysql.py├── setup-seafile-mysql.sh├── setup-seafile.sh└── upgrade

这样设计目录的好处在于

  • 和 seafile 相关的配置文件都可以放在 Seafile目录下,便于集中管理。
  • 后续升级时,你只需要解压最新的安装包到 Seafile 目录下。

安装Seafile

接下来就可以进行安装了,我们找到上一步新建的目录,然后开始安装。

cd seafile-server-*
sudo ./setup-seafile-mysql.sh

输出如下:

ubuntu@VM-0-7-ubuntu:~/Seafile/seafile-server-6.3.3$ sudo ./setup-seafile-mysql.sh
Checking python on this machine ...Checking python module: setuptools ... Done.Checking python module: python-imaging ... Done.Checking python module: python-mysqldb ... Done.
​
-----------------------------------------------------------------
This script will guide you to setup your seafile server using MySQL.
Make sure you have read seafile server manual at
​https://github.com/haiwen/seafile/wiki
​
Press ENTER to continue
----------------------------------------------------------------

系统示意我们按ENTER键继续,我们按下键盘上的回车键,第一个弹出的是server name这里我们输入自己想定义的服务器名称,我这里填写为qcloud-Seafile,接下来要求填写你的服务器的IP或者指向的域名,我这里填写自己CVM的IP123.456.789.123。接下来系统要求填写你存放文件数据的目录,因为我们要放在CFS上,则填写CFS映射的文件夹\home\ubuntu\qcloud-cfs。最后填写你服务器文件同步端口,该端口用于文件同步,请使用默认的 8082,不能更改。然后,服务器将要求你选择创建数据库的方式。

-------------------------------------------------------
Please choose a way to initialize seafile databases:
-------------------------------------------------------
​
[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases
  • 如果选择1, 你需要提供根密码. 脚本程序会创建数据库和用户。
  • 如果选择2, ccnet/seafile/seahub 数据库应该已经被你(或者其他人)提前创建。

这里我们是新建,则选择1,选择完成后,系统要求你输入数据库地址,我们这里输入准备数据库步骤中创建数据库的内网地址。我这里填172.27.16.14,接下来会询问你使用那个账户运行MySQL,默认是root,我们直接点回车,接下来会询问你的数据库的端口,我们依然保持默认3306端口,接下来,输入你的数据库的密码。默认密码是不显示的。输入完成后,系统会为你创建一个名为seafile的用户,我们保持默认即可,之后输入你为seafile用户创建的密码。创建完成后系统要求你创建ccnet-db数据库,我们保持默认的ccnet-db就行。接下来要求创建seafile-server的数据库,我们依然保持默认。接下来还要创建seahub数据库,仍保持默认就OK。一切完成后,系统将输出下面的内容。

--------------------------------
This is your configuration
---------------------------------
​server name:            qcloud-Seafileserver ip/domain:       123.456.789.123
​seafile data dir:       \home\ubuntu\qcloud-cfsfileserver port:        8082
​database:               create newccnet database:         ccnet-dbseafile database:       seafile-dbseahub database:        seahub-dbdatabase user:          seafile
​
​
---------------------------------
Press ENTER to continue, or Ctrl-C to abort
---------------------------------

我们按下键盘上的Enter键继续。不久,你会发现服务器创建完成。

 

启动 Seafile 服务器

现在,我们打开seafile-server-6.3.3目录,使用下面的命令启动启动 Seafile 服务器和 Seahub 网站。

  • 启动 Seafile 服务:
sudo ./seafile.sh start
  • 启动 Seahub 网站 (默认运行在8000端口上)
sudo ./seahub.sh start

你第一次启动 seahub 时,seahub.sh 脚本会提示你创建一个 seafile 管理员帐号。会要求你输入电子邮箱,管理密码及重新输入密码。请如实输入就行。输入完成后,你就通过访问http://你服务器的地址:8000来打开Seafile了。

 

输入你刚创建的用户名及密码,就可以访问 seafile 管理页面了。

关闭/重启 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 进程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java更改用户邮箱_git修改user.name 和user.email

今天刚刚入门了下git,,然后初始化的时候将用户名弄错了。。。就很气啊。然后网上找了半天都找不出一个可靠的修改全局用户名和邮箱的方法。。最后还是自己摸索出来了。。其实也很简单。首先进入git bash0:输入$ git config --list可以查看配置…

js堆栈溢出的问题

js是最令程序员头疼的问题了,不是语法也不是使用头疼,而是调试头疼,虽然有很方便的各种各样的调试工具,但经管这样有时候一个疏忽的小问题,会导致各种各样的奇怪问题的出现,今天笔者的同事就出现了这样的问…

halcon 17 cuda cudnn 深度学习环境搭建

如果你想安装halcon17,那么很简单,硬盘剩余空间2G,内存超过256M,操作系统win7以上即可。 但显然我们的要求不仅如此,因为我们期待已久的深度学习功能。 详细要求见下表 必备环境:电脑必须要有 NVIDIA 独立显卡&#x…

给java程序员网址_程序员常用网址,必须收藏

金山快盘 http://www.kuaipan.cn/login/ yijianfeng_vip163.com115 网盘 http://my.115.com/ yijianfeng_vip163.com.六间房图片外链刷流量工具-软件 http://www.safe-120.com/sites/yijianfeng/sh…

Format Currency Sample

2019独角兽企业重金招聘Python工程师标准>>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"&…

jQuery.html()方法ie下不能设置html代码的问题

jQuery一般来说还是很好用的&#xff0c;但有时候它也会有些问题的&#xff0c;比如jQuery的html()方法设置html代码&#xff0c;在一种情况下&#xff0c;ie6、ie7、ie8 下是不能设置html代码的。本文说的问题只针对ie8&#xff08;包括ie8&#xff09;以下的浏览器。 1.什么情…

深度学习-服务端训练+android客户端物体识别实战(caffe入门教程+mobilenet+ncnn+android)

文章目录 背景 物体识别简介 自动驾驶 淘宝京东使用物体识别技术公司业务需求 深度学习简介 深度学习的位置 深度学习概念深度学习优势 深度学习基础知识 感知机 激活函数多层感知机卷积神经网络 卷积层 * 池化层 模型训练 前向传播 * 反向传播与参数优化 深度学习服务端框…

java数组怎么倒循环_java – 用于数组倒计时的反向循环

我收到错误..Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10at Reverse.main(Reverse.java:20).语法没有错,所以我不确定为什么编译时会出错&#xff1f;public class Reverse {public static void main(String [] args){int i, j;System…

解压zip,解决中文乱码

Project p new Project(); Expand e new Expand(); e.setProject(p); e.setSrc(file); e.setOverwrite(false); e.setDest(new File(savepath)); /* * * ant下的zip工具默认压缩编码为UTF-8编码&#xff0c; …

二维码的生成(可设置大小)以及插件下载地址

本文写的二维码生成是基于jQuery和jquery.qrcode.min.js插件的&#xff0c;本文将介绍两种方法和方式&#xff0c;仅供朋友选择和取舍。本文最下面附有插件的下载地址&#xff01; 方式1&#xff1a; 基于jquery.qrcode.min.js插件生成&#xff0c;代码如下&#xff1a; <h…

java+包装类,装箱和拆箱_Java包装类,装箱和拆箱详解

下面要给大家讲到的就是Java内置包装类方面的知识&#xff0c;这章主要会讲到Java包装类装箱和拆箱方面的知识&#xff0c;一起来了解一下。Java为每种基本数据类型分别设计了对应的类&#xff0c;这就被叫做是包装类(WrapperClasses)&#xff0c;当然&#xff0c;也有的地方叫…

AI换声,只需5秒音源,这个网络就能实时“克隆”你的声音

本文中&#xff0c;Google 团队提出了一种文本语音合成&#xff08;text to speech&#xff09;神经系统&#xff0c;能通过少量样本学习到多个不同说话者&#xff08;speaker&#xff09;的语音特征&#xff0c;并合成他们的讲话音频。此外&#xff0c;对于训练时网络没有接触…

Using JSON for data transfer

为什么80%的码农都做不了架构师&#xff1f;>>> JSON basics At its simplest, JSON allows you to transform a set of data represented in a JavaScript object into a string that you can easily pass from one function to another, or -- in the case of as…

jquery的扩展方法介绍

最近一直在写js&#xff0c;这其中也少不了一位js的主角了jQuery&#xff0c;下面介绍的是jQuery的一些扩展&#xff0c;也就是jQuery的扩展方法&#xff0c;jQuery的扩展方法有两种方式&#xff0c;一种是jQuery本身的扩展方法&#xff0c;另一种是jQuery所选对象的扩展方法&a…

Gtk-WARNING : cannot open display----这个问题在NVIDIA TX2上碰到过就是DISPLAY=“:0“

切换到root权限&#xff0c;在终端下使用gedit时出现下面的错误&#xff1a; No protocol specified (gedit:14333): Gtk-WARNING **: cannot open display: :0.0 下面是从网上找到的正解&#xff0c;贴——分析——总结之&#xff1a; 原因&#xff1a; 当使用su 到另外一个用…

蓝桥杯vip答案java_Java实现 蓝桥杯VIP 算法训练 麦森数

算法训练 麦森数时间限制&#xff1a;1.0s 内存限制&#xff1a;256.0MB问题描述形如2P-1的素数称为麦森数&#xff0c;这时P一定也是个素数。但反过来不一定&#xff0c;即如果P是个素数&#xff0c;2P-1不一定也是素数。到1998年底&#xff0c;人们已找到了37个麦森数。最大的…

Visual Studio 2010 中JS注释制作

Visual Studio 2010中的js注释已经很强大了&#xff0c;但怎么才能和调用c#的方法一样容易呢&#xff1f;怎样才能让每个参数都有注释说明呢&#xff1f;底下就是想要的答案。 先上图&#xff0c;如图所示&#xff1a; 其中红色的办法为注释效果&#xff0c;当然制作的方法也在…

windows下配置caffe-matlab接口

一、环境说明 也是安装顺序。特别强调的是除VS2015以外&#xff0c;其他软件的安装路径都最好不要包含空格。 1、Windows 64位系统。 2、Visual Studio 2015(VS2015, 对应VC14)。 3、Matlab 2017a。Matlab的版本倒不是很重要&#xff0c;只要支持Matlab 2015a之后的版本都应该…

java在文档末尾添加_如何在打开表单后将子文件添加到Word文档的末尾?

我m trying to write a macro that adds subdocuments to the end of a Word document when the Word document is opened. The document in question already has some text in it, so before running the macro I d喜欢将光标移动到文档的末尾 . 我可以使用代码实现这一点&am…

oracle的db link

cd $ORACLE_HOME/network/admin vi tnsnames.ora 添加 CCPBS_19 (DESCRIPTION (ADDRESS_LIST (ADDRESS (PROTOCOL TCP)(HOST 10.130.38.19)(PORT 1521)) ) (CONNECT_DATA (SERVICE_NAME CCPBS) ) ) >create public database link ecbm_19 …