ubuntu服务器 安装 seafile 个人网盘

主要参考教程:

腾讯云基于 Ubuntu 搭建个人网盘

seafile用户论坛

Seafile服务器手册中文版

google搜索

一、实验环境:

  • 腾讯云学生机64位ubuntu16.04
  • 腾讯云已备案解析域名
  • 使用腾讯云webshell登入服务器
  • 发送邮件提醒设置使用QQ邮箱

二、实验流程介绍

安装个人网盘,安装分成三个步骤:数据库、python2.7、seafile

  • 数据库选用了mysql,下载安装mysql,提供数据库来存储网盘数据

  • python2.7用来支持seafile的运行,python3.x目前不支持

  • Seafile 是一个免费开源且专业可靠的云存储平台软件。本人多次测试后发现,目前seafile 6.1以及更高的版本在本实验环境下会出现难以解决的bug,建议使用6.0x版本的seafile

安装完成后,基本功能以可以使用,但是邮件服务器没有配置,所以无法发送邮件,为了让自动发送邮件的邮箱更加专业,所以我们需要:

  • 使用本域名配置QQ域名邮箱
  • 配置域名邮箱发送邮件

三、网盘搭建

1.安装依赖环境

安装python依赖包

sudo apt-get update
sudo apt-get install python2.7 python-setuptools python-imaging python-ldap python-mysqldb python-memcache python-urllib3

安装MySQL

sudo apt-get install mysql-server

注:安装 MySQL 过程需要为 MySQL 的 root 用户设置新密码,请记住该[密码]以供后面步骤使用。

2.安装seafile

新建seafile用户

新建一个用户,把seafile网盘的相关内容放在这个用户下管理:

sudo useradd -m -s /bin/bash seafile

设置用户密码

sudo passwd seafile

切换进入用户目录

su - seafile
cd ~

下载seafile

seafile6.0.8安装包地址:http://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_6.0.8_x86-64.tar.gz

下载安装包:

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

也可以从从seafile下载页面中选择相应版本的下载

敲黑板敲黑板:如何在ubuntu下,下载相应的安装包?

用图形界面如windows,点击下载安装包后,可以找对对应生成的临时链接,复制下临时链接的地址即可,如:

正如我之前所说,使用6.1以上安装包在安装过程中出现难以解决的问题,但是官网没有挂出6.1之前的安装包,怎么办?

当当当!又是一个小技巧:

官方的链接都是有规律可循的,将安装包下载链接后面的对应于版本的数字,改成你所需要的版本即可,如:

改掉圈圈部分即可。

:本人使用的是阿里云网址的链接,因为使用官方的曾经出现过系统是64位,但是安装包是32位的,出现不兼容的情况,我也不知道为什么会这样子。

下载完成后然后可以在目录下查看到你的安装包

ls

安装seafile

解压:

tar -xzf seafile-server_*
mv seafile-server-*/ seafile-server/

进入安装包并运行seafile脚本

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

除了用户名、域名设置、选择数据库时选择1,以及管理员账号,其他都按默认的来。

如果忘记管理员账号或者没有让你设置管理员账号,

请在seafile-server文件夹下运行reset-admin.sh脚本来重置管理员账号

./reset-admin.sh

注意:如果你已经失败过一次,一种简单从来的方法,请清空账户seafile下的所有文件,可以保留或者重新下载安装包,并且删除mysql里面sea开头的3个数据库然后再重新开始安装seafile。或者不删除3个数据库,清空三个数据库下面的所有表,然后数据库选择时选择2,并且选择正确对应的数据库。

测试

如果你运气很好,到这一步都没有问题,那么

启动你的seafile

./seafile start
./seahub start

在浏览器中输入域名加上8000端口

www.你的域名:8000

就可以正常访问了!

注:seafile默认访问网页端口为8000,上传下载使用端口为8082,所以当你打不开网页时,很可能是8000端口方面的配置出了问题,下载失败,与8082相关的配置有关系

三、配置QQ域名邮箱

先进入QQ域名邮箱登入页面

按照流程做到需要添加解析CNAME和MX的页面

然后在解析处添加这两个字段,唯一需要注意的是, CNAME别名填写在主机记录处

然后验证,通过即可,然后设置自己想要的域名,如,我设置了seafile_admin@域名,看起来是不是就很专业?

四、配置seafile邮件服务

QQ配置发送邮件服务和其他邮件不一样的地方在于,要想取得发送权限,

不是给定账号密码,而是给定账号和授权码,这里的授权码就像是密码,但是需要你自己去获取

QQ授权码设置

官方的授权码设置方法

授权码的教程有很多,这里就不再重复叙述,

注:域名邮箱可以简单理解为你QQ邮箱的别名,看起来发送和接收的是域名邮箱,本质还是qq邮箱,你可以登入QQ邮箱账号使用域名邮箱,但是密码还是qq邮箱密码,所以授权码也是你QQ邮箱的授权码

配置发送邮件提醒

参考seafile中文手册_发送邮件提醒

发送格式为:

EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.qq.com'
EMAIL_HOST_USER = 'username@domain.com'
EMAIL_HOST_PASSWORD = 'Auth_Code'
EMAIL_PORT = '465'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER

你只需要改动两个部分

  • username@domain.com换成你的域名邮箱,如seafile_admin@域名
  • Auth_Code换成你获取到的16位的授权码

然后进入主入口的conf文件夹下,编辑 seahub_settings.py,在末尾加上 上面的代码,保存

cd ~
cd conf
vim seahub_settings.py

完成后重启./seahub

cd ~
cd seafile-server
./seahub.sh restart

如果有问题,可以删除conf下的seahub_setting.pyc试试看。

大功告成,你的seafile以及可以基本运作了

五、总结

从备案后选择ubuntu开始.搭建seafile网盘前前后后大概花了两天多的时间。

现实从centOS没有图形界面用不来转战到想安装图形界面,失败。

然后重装系统ubuntu安不来图形界面,放弃。

才开始乖乖的接受我必须用命令行界面。

第一天上午我是蒙蔽的,无论我怎么安装,到了启动./setup-seafile-mysql.sh这一步,无论如何,都是有bug前前后后参考了无数的博客。

最后发现问题主要出在:系统位数和seafile位数不对应

这个问题导致了我配置完成最后一步最后总是跳出一堆BUG。而且好像有些安装包是不分32位、64位的,所以我也分不清楚到底什么情况,所以最后选择了阿里的安装包。

之后终于出现了初始界面后,无论怎么点击都是Page unavailable。我也不知道为什么会这样子。

然后终于弄好了后,又出现了访问文件页面失败

这两个问题,我感觉都是:seafile版本过高,seafile6.1x和seafile6.2x,我试了确实不行,最后seafile6.0.8完美运行,可以在线浏览pdf和txt,但是不能在线浏览视频

至于 手机上传下载,使用google浏览器没问题

总之前前后后折腾了两三天,至于弄好了,写下这个教程,是为了日后我自己的观看。

如果有出错之处,还望见谅

ubuntu服务器 安装 seafile 个人网盘的更多相关文章

  1. docker安装nextcloud私人网盘,开启https配置证书

    docker安装nextcloud私人网盘 之前一直用的百度网盘最近svip超级会员到期了,续费要¥199元,对于一个打工人的我来说有点儿贵.作为技术人的一员,我就来发挥发挥自己的长处,来搭建一个私人 ...

  2. 基于Ubuntu搭建Seafile专属网盘

    系统要求: Ubuntu 16.04.1 LTS 64 位操作系统 安装 Seafile 服务器 安装依赖环境 在 Debian/Ubuntu 系统下,可以使用以下命令安装 MySQL: sudo a ...

  3. 树莓派搭建Seafile个人网盘

    步骤一.安装Seafile依赖包 yum install python-setuptools python-ldap python-memcached MySQL-python mariadb mar ...

  4. 搭建 Seafile 专属网盘

    准备域名 任务时间:15min ~ 20min 域名注册 如果您还没有域名,可以在腾讯云上选购,过程可以参考下面的视频. 视频 - 在腾讯云上购买域名 域名解析 域名购买完成后, 需要将域名解析到实验 ...

  5. 基于CentOS 搭建 Seafile 专属网盘

    系统要求:CentOS 7.2 64 位操作系统 安装 Seafile 安装依赖环境 使用 yum 安装 Python 及 MySQL: yum install python python-setup ...

  6. 基于 CentOS 搭建Seafile个人网盘

    一.安装 Seafile 安装依赖环境使用 yum 安装 Python 及 MySQL: yum install python python-setuptools python-imaging pyt ...

  7. seafile私有网盘搭建

    各种公有网盘确实很方便,但总有些特殊情况不是? 闲来无聊准备自己搭建一个私有网盘,也让自己的闲置的服务器好好利用一下 搜索一番,找到了专业户seafile 一顿操作,踩了无数大坑,特此总结一下 1.c ...

  8. nginx及依赖包安装分享 百度网盘(pcre+openssl+zlib)

    链接:https://pan.baidu.com/s/1gggq1p-uZSmAw49o5xfl4g 提取码:ypoj 复制这段内容后打开百度网盘手机App,操作更方便哦 1.安装pcre 解压:ta ...

  9. Centos搭建Seafile个人网盘

    1.安装依赖环境 yum install python python-setuptools python-imaging python-ldap python-memcached MySQL-pyth ...

随机推荐

  1. HDU_6043_KazaQ's Socks

    KazaQ's Socks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

  2. Oracle管理监控之检查数据库和日常维护数据库

    linux系统的系统日志一般位于/var/log目录下.linux的系统日志由一个叫syslog的进程管理的,如下日志都是由syslog服务驱动的. /var/log/ messages:记录linu ...

  3. iOS多线程编程之线程间的通信(转载)

    一.简单说明 线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信 线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任务后,转到另1个线程继续执行任务 ...

  4. 实例Python处理XML文件的方法

    转自:http://www.jb51.net/article/71773.htm 以下是部分代码: <?xml version="1.0" encoding="UT ...

  5. 2018/03/21 每日一个Linux命令 之 scp

    在平常的工作和学习中,难免要和远程服务器产生一些文件的交互. 当然也有 xftp 这种工具在,干的事情是一样的,不过今天还是介绍命令行下 scp 的用法,毕竟每天都在和命令行打交道. -- scp 命 ...

  6. sql两列相除,保留n位小数

    ), ) from tablename 以上代码意思两列相处,然后保留4位小数.

  7. docker使用Dockerfile搭建spark集群

    1.创建Dockerfile文件,内容如下 # 基础镜像,包括jdk FROM openjdk:8u131-jre-alpine #作者 LABEL maintainer "tony@163 ...

  8. 洛谷P2801 教主的魔法 分块

    正解:分块 解题报告: 哇之前的坑还没填完就又写新博客? 不管不管,之前欠的两三篇题解大概圣诞节之前会再仔细想想然后重新写下题解趴,确实还挺难的感觉没有很好的理解呢QAQ还是太囫囵吞枣不求甚解了,这样 ...

  9. 匿名内部类的参数引用只能是final,可能遇到的问题及其解决

    这个是我碰到比较多次的问题,一开始是不解,不过查了下大家都觉得没什么,而且只是加个final好像影响也不大,于是我就直接加个final了事,之后也不管了 直到昨天: 遇到了这个宿命般的问题 难道解决方 ...

  10. 011-jdk1.8版本新特性三-Date API

    1.7.Date API Java 8 在包java.time下包含了一组全新的时间日期API.新的日期API和开源的Joda-Time库差不多,但又不完全一样,下面的例子展示了这组新API里最重要的 ...