使用Seafile+ossfs+oss搭建属于自己的私有云盘

在今年2月份左右写了一篇博客,但是略潦草,现在重新实现,重新写一篇博客。

准备工作

VPS

这里使用的是便宜的腾讯云学生机,Ubuntu14.04LTS 64bit系统。

OSS

阿里有赠送OSS流量的活动,单独买40G/年的服务也不贵。

安装ossfs

注意:在这之前你需要先开通oss,最好是和你的ECS是一个地区的,当然不是用的ECS也可以用,只是速度会慢一些,还有就是下载会使用公网流量,上传没有

  1. 点击打开ossfs的下载页面下载对应系统的安装包,地址
  2. 我以Ubuntu为例,安装ossfs,其他系统看官方的文档就行
    1
    2
    sudo apt-get update
    sudo apt-get install gdebi-core

下载包安装

1
2
wget http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/32196/cn_zh/1496671441720/ossfs_1.80.2_ubuntu14.04_amd64.deb
sudo gdebi ossfs_1.80.2_ubuntu14.04_amd64.deb

  1. 切到root权限,将my-bucket这个bucket挂载到/cloud目录下,AccessKeyId是faint, AccessKeySecret是123,oss endpoint是http://oss-cn-hangzhou.aliyuncs.com

    1
    2
    3
    echo my-bucket:faint:123 > /etc/passwd-ossfs
    chmod 640 /etc/passwd-ossfs
    mkdir /cloud
  2. 将OSS bucket mount到指定目录。
    最后一步很重要,不能直接照官方文档上面的来,不然安装的时候可能会出现没有访问权限的问题。

  • 首先先看一下用户id,以我的是root为例。
    会返回给你用户的uid和gid等等,我假设返回的uid和gid都为0
    1
    ossfs my-bucket  my-mount-point -ourl=my-oss-endpoint -ouid=0 -ogid=0 -o allow_other -o umask=007

这里面allow_other是允许其他用户访问,但是默认设置的是777权限这样owncloud会提示不安全,用umask=007挂载为770权限,不知道为啥这里0代表7,7表示0。

  1. 卸载bucket:

    1
    fusermount -u /tmp/ossfs
  2. 出现的错误
    使用-f进行调试。
    “ossfs: could not determine how to establish security credentials”
    搜索后发现文章
    (已解决)OSSfs折腾一个星期了 麻烦大大们进来看下
    是因为没有找到passwd-ossfs文件,如果在~/.passwd-ossfs文件已经存在,把它的所有者改成www:
    sudo chown www ~/.passwd-ossfs
    后来提示用户组不对,使用chgrp更改用户组,权限要改成600,取消组内所有权限。

    安装Seafile

    安装Seafile依赖关系

    所列依赖关系列表

  • Java运行时环境(JRE)
  • Poppler-utils
  • Libreoffice 4.1+和Python-uno
  • libpython 2.7
  • Python库(确保在此安装中包含python 2.7,您可以使用图像1.2上的命令来验证,如果已经安装了该命令,如果没有,则使用此命令apt-get install python 2.7,并且如果您收到“您安装需要setuptools> = …“,那么您可以使用pip安装setuptools –no-use-wheel –upgrade )。 您还需要安装使用 easy_install pippip安装boto 如图1.3和1.4所示)
    以root用户身份运行以下命令来安装所需的软件:
    1
    apt-get install openjdk-7-jre poppler-utils libreoffice libreoffice-script-provider-python libpython2.7 python-pip mysql-server python-setuptools python-imaging python-mysqldb python-memcache

在这个过程中会提示输入MySql密码,输入两次,并记住。
现在我将检查安装的python版本是否符合Seafile的要求:

1
python -V

正如你在屏幕截图中看到的那样,python版本是2.7.6,所以它在所支持的python版本的范围内。

[图像1.2]
接下来我将使用easy_install安装pip软件包

1
easy_install pip


[图像1.3]
和boto包

1
pip install boto


[图像1.4]
接下来为您的语言安装一些额外的字体(例如WenQuanYi,如果我们要使用中文)

1
apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy

用MySQL安装Seafile

首先,您需要验证您的系统是32位还是64位系统。

1
uname -m

我的服务器是一个64位系统。

32个或64位可以使用两种选择,这两种选项都可以在Seafile的下载页面http://seafile.com/en/download/上获得
选择自己的系统以及系统版本使用wget下载,放到/opt/目录下
Ubuntu 系统下载包

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

接下来,将要创建所需的目录。
首先,我需要创建一个目录名“ guide ”,你可以使用任何描述你的组织的名字。

1
mkdir /root/guide

然后将文件移动到我们创建的目录

1
mv seafile-server_6.0.9_x86-64.tar.gz /root/guide

切换到/root/guide目录使用tar命令解压

1
tar -xzf seafile-server_6.0.9_x86-64.tar.gz

接下来创建一个安装的目录 。

1
mkdir installed

我们可能会将文件seafile-server_6.0.9_x86-64.tar.gz移动到安装的新创建的目录 。

1
mv seafile-server_6.0.9_x86-64.tar.gz /installed

如我们的版本的目录结构所述,一切都应该在正确的位置。

配置MySQL数据库

seafile由3个核心部件组成。 我们需要为这个给定的组件创建一个数据库。

  • ccnet服务器
  • seafile服务器
  • seahub
    现在正在为列出的给定数据库创建mysql数据库,帐户和设置权限。 (这只是一个例子,您可以在数据库名称上创建自己的设计)。
海底部件 数据库名称 帐户
ccnet服务器 ccnet-db seafile
seafile服务器 seafile-db seafile
seahub seahub-db seafile

以root用户身份登录到mysql

1
mysql -u root -p

输入之前安装设置的MySql密码,然后在mysql shell中发出这些命令:

1
2
3
4
5
6
7
create database`ccnet-db`character set =utf8; 
create database`seafile-db`character set =utf8;
create database`seahub-db`character set =utf8;
create user 'seafile'@'localhost' identified by 'seafile';
grant all privileges on `ccnet-db`.* to `seafile`@localhost;
grant all privileges on `seafile-db`.* to `seafile`@localhost;
grant all privileges on `seahub-db`.* to `seafile`@localhost;

输入exit退出

设置seafile服务器

所需包:

  • python 2.7
  • python-setuptools
  • python-imaging
  • python-mysqldb
    通过使用此命令:(以验证其是否已安装)
    1
    apt-get install python2.7 python-setuptools python-imaging python-mysqldb

接下来你需要安装seafile服务器。 转到目录seafile-server-6.0.9然后运行脚本setup-seafile-mysql.sh

1
2
3
cd seafile-server-6.0.9
ls -lrt
./setup-seafile-mysql.sh

下面是需要填写的问题,根据自己情况填写,data地址填oss映射地址这里是/cloud/data后面端口可以默认。

启动Seafile服务器

需要切到/seafile-server-6.0.9目录

1
2
3
cd /root/guide/seafile-server-6.0.9
ls -al
./seafile.sh start

然后开始seahub。 默认端口为8000。

1
./seahub.sh start

现在可以用浏览器访问了,地址栏输入相应的ip地址

1
http://123.207.155.108:8000/

登录后,您将看到seafile web管理页面。

参考

使用lnmp+owncloud+ossfs+oss搭建属于自己的私有云盘
手动搭建属于自己的私有云-seafile安装教程
如何安装Seafile在Ubuntu 14.04(Trusty Tahr)

文章目录
  1. 1. 准备工作
    1. 1.1. VPS
    2. 1.2. OSS
  2. 2. 安装ossfs
  3. 3. 安装Seafile
    1. 3.1. 安装Seafile依赖关系
    2. 3.2. 用MySQL安装Seafile
    3. 3.3. 配置MySQL数据库
    4. 3.4. 设置seafile服务器
    5. 3.5. 启动Seafile服务器
  4. 4. 参考
|