!
也想出现在这里? 联系我们
全球五大数据中心,CYUN提供海外优质服务器,CN2优化线路,为您的业务推进提供强大助力

部署 Seafile 服务器(使用 MySQL)

这个CMS部署起来还是蛮麻烦的,可做深入探究。我在此收集了一些相关方法。
部署 Seafile 服务器(使用 MySQL)

Seafile是一个开源、专业、可靠的云存储平台;解决文件集中存储、共享和跨平台访问等问题,由北京海文互知网络有限公司开发,发布于2012年10月;除了一般网盘所提供的云存储以及共享功能外,Seafile还提供消息通信、群组讨论等辅助功能,帮助更好的围绕文件展开协同工作。---来源百度百科

网上有相关详细教程,链接如下:

  • 部署 Seafile 服务器(使用 MySQL):https://ewgo.net/2016/05/21/371
  • 官方文档:部署 Seafile 服务器(使用 MySQL/MariaDB)

以下文章来源于:https://ewgo.net/2016/05/21/371

 下载

到下载页面下载最新的服务器安装包.

部署和目录设计

假设你公司的名称为 haiwen,你也已经下载 seafile-server_1.4.0_* 到你的 home 目录下。 我们建议这样的目录结构:

  1. mkdir haiwen
  2. mv seafile-server_* haiwen
  3. cd haiwen
  4. #将 seafile-server_* 移动到 haiwen 目录下后
  5. tar -xzf seafile-server_*
  6. mkdir installed
  7. mv seafile-server_* installed

复制代码

现在,你的目录看起来应该像这样:

  1. #tree haiwen -L 2
  2. haiwen
  3. ├── installed
  4. │  └── seafile-server_1.8.2_x86-64.tar.gz
  5. └── seafile-server-1.8.2
  6.   ├── reset-admin.sh
  7.   ├── runtime
  8.   ├── seafile
  9.   ├── seafile.sh
  10.   ├── seahub
  11.   ├── seahub.sh
  12.   ├── setup-seafile.sh
  13.   └── upgrade

复制代码

这样设计目录的好处在于

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

这样你可以重用 haiwen 目录下已经存在的配置文件,而不用重新配置.

准备 MySQL 数据库

Seafile 服务器有三个组件需要拥有自己的数据库:

  • ccnet server
  • seafile server
  • seahub

Seafile 服务器组件更多信息请看[[Seafile服务器组件概览]].

有两种方法可以初始化数据库:

  • 通过setup-seafile-mysql.sh脚本创建数据库.
  • 自己或其他人(比如数据库管理员)创建

我们建议采用第一种方法. 脚本会要求你提供 MySQL 数据库的的根密码,之后创建:

  • ccnet/seafile/seahub 数据库
  • 一个可以连接到这些数据库的用户

然而,有时你不得不使用第二种方法. 如果你没有根密码,你需要通过拥有这种权限的人(比如数据库管理员)来帮助你创建三个数据库,和一个能连接这三个数据库的用户. 例如,为 ccnet/seafile/seahub 分别创建如下三个数据库: ccnet-db / seafile-db / seahub-db, 和一个可以连接这三个数据库的 MySQL 用户seafile:

  1. create database `ccnet-db` character set = ‘utf8’;
  2. create database `seafile-db` character set = ‘utf8’;
  3. create database `seahub-db` character set = ‘utf8’;
  4.  
  5. create user ‘seafile’@’localhost’ identified by ‘seafile’;
  6.  
  7. GRANT ALL PRIVILEGES ON `ccnet-db`.* to `seafile`;
  8. GRANT ALL PRIVILEGES ON `seafile-db`.* to `seafile`;
  9. GRANT ALL PRIVILEGES ON `seahub-db`.* to `seafile`;

复制代码

安装 Seafile 服务器

安装前的准备工作

安装 Seafile 服务器之前,请确认已安装以下软件

  • python 2.7
  • python-setuptools
  • python-imaging
  • python-mysqldb

 

  1. #在Debian/Ubuntu系统下
  2. apt-get update
  3. apt-get install python2.7 python-setuptools python-imaging python-mysqldb

复制代码

安装

  1. cd seafile-server-*
  2. ./setup-seafile-mysql.sh  #运行安装脚本并回答预设问题

复制代码

如果你的系统中没有安装上面的某个软件,那么 Seafile初始化脚本会提醒你安装相应的软件包.

宝贝日记, 1

 

该脚本会依次询问你一些问题,从而一步步引导你配置 Seafile 的各项参数

 

参数作用说明seafile server name

seafile 服务器的名字,将来在客户端会显示为这个名字

3 ~ 15 个字符,可以用英文字母,数字,下划线

seafile server ip or domain

seafile 服务器的 IP 地址或者域名

客户端将通过这个 IP 或者地址来访问你的 Seafile 服务

ccnet server port

ccnet 使用的 TCP 端口

一般使用默认的10001 端口,如果已经被占用,可以设置为其他的端口

seafile data dir

seafile 数据存放的目录,用上面的例子,默认将是 /data/haiwen/seafile-data

seafile 数据将随着使用而逐渐增加,请把它放在一个有足够大空闲空间的分区上

seafile server port

seafile 服务器 使用的 TCP 端口

一般使用默认的 12001 端口,如果已经被占用,可以设置为其他的端口

seafile fileserver port

seafile fileserver 使用的 TCP 端口

一般使用默认的 8082 端口,如果已经被占用,可以设置为其他的端口

seahub admin email

sehaub管理员的登录帐户名

使用一个 email 地址

seahub admin password

seahub 管理员的密码

在这里, 你会被要求选择一种创建 Seafile 数据库的方式:

  1. ——————————————————-
  2. Please choose a way to initialize seafile databases:
  3. ——————————————————-
  4.  
  5. [1] Create new ccnet/seafile/seahub databases
  6. [2] Use existing ccnet/seafile/seahub databases

复制代码

具体选择哪项, 取决于你是否拥有根密码.

  • 如果选择1, 你需要提供根密码. 脚本程序会创建数据库和用户。
  • 如果选择2, ccnet/seafile/seahub 数据库应该已经被你(或者其他人)提前创建。

如果选择 [1] Create new ccnet/seafile/seahub databases,你会被问三个问题:

宝贝日记, 2

 

QuestionDescriptionNotemysql server host

the host address of the mysql server

the default is localhost

mysql server port

the port of the mysql server

the default is 3306. Almost every mysql server uses this port.

root password

the password of mysql root account

the root password is required to create new databases and a new user

mysql user for seafile

the username for seafile programs to use to access MySQL server

if the user does not exist, it would be created

password for seafile mysql user

the password for the user above

 ccnet dabase name

the name of the database used by ccnet, default is “ccnet-db”

the database would be created if not existing

seafile dabase name

the name of the database used by seafile, default is “seafile-db”

the database would be created if not existing

seahub dabase name

the name of the database used by seahub, default is “seahub-db”

the database would be created if not existing

如果你选择[2] Use existing ccnet/seafile/seahub databases, 你会被问到如下三个问题:

 

宝贝日记, 3

 

QuestionDescriptionNotemysql server host

the host address of the mysql server

the default is localhost

mysql server port

the port of the mysql server

the default is 3306. Almost every mysql server uses this port

mysql user for seafile

the user for seafile programs to use to access MySQL server

the user must already exists

password for seafile mysql user

the password for the user above

 ccnet dabase name

the name of the database used by ccnet

this database must already exist

seafile dabase name

the name of the database used by seafile, default is “seafile-db”

this database must already exist

seahub dabase name

the name of the database used by seahub, default is “seahub-db”

this database must already exist

如果安装正确完成,你会看到下面这样的输出

 

宝贝日记, 4

现在你的目录结构看起来应该是这样:

  1. #tree haiwen -L 2
  2. haiwen
  3. ├── ccnet          # configuration files
  4. │  ├── ccnet.conf
  5. │  ├── mykey.peer
  6. │  ├── PeerMgr
  7. │  └── seafile.ini
  8. ├── installed
  9. │  └── seafile-server_1.8.2_x86-64.tar.gz
  10. ├── seafile-data
  11. │  └── seafile.conf
  12. ├── seafile-server-1.8.2  # active version
  13. │  ├── reset-admin.sh
  14. │  ├── runtime
  15. │  ├── seafile
  16. │  ├── seafile.sh
  17. │  ├── seahub
  18. │  ├── seahub.sh
  19. │  ├── setup-seafile.sh
  20. │  └── upgrade
  21. ├── seafile-server-latest  # symbolic link to seafile-server-1.8.2
  22. ├── seahub-data
  23. │  └── avatars
  24. ├── seahub_settings.py  # optional config file
  25. └── seahub_settings.pyc

复制代码

seafile-server-latest文件夹为指向当前 Seafile 服务器文件夹的符号链接. 将来你升级到新版本后, 升级脚本会自动更新使其始终指向最新的 Seafile 服务器文件夹..

启动 Seafile 服务器

启动之前

因为 Seafile 在客户端和服务器之间使用持续连接,如果你的客户端数量巨大, 你应该在启动 Seafile 之前修改你的 Linux 文件最大打开数,如下:

ulimit -n 30000

启动 Seafile 服务器和 Seahub 网站

在 seafile-server-1.8.2 目录下,运行如下命令

  • 启动 Seafile:

 

./seafile.sh start # 启动 Seafile 服务

复制代码

 

  • 启动 Seahub

 

./seahub.sh start <port>  # 启动 Seahub 网站 (默认运行在8000端口上)

复制代码

小贴士: 你第一次启动 seahub 时,seahub.sh 脚本会提示你创建一个 seafile 管理员帐号。

服务启动后, 打开浏览器并输入以下地址

http://192.168.1.111:8000/

你会被重定向到登陆页面. 输入你在安装 Seafile 时提供的用户名和密码后,你会进入 Myhome 页面,新建资料库.

恭喜! 现在你已经成功的安装了 Seafile 服务器.

在另一端口上运行 Seahub

如果你不想在默认的 8000 端口上运行 Seahub, 而是想自定义端口(比如8001)中运行,请按以下步骤操作:

  • 关闭 Seafile 服务器

 

./seahub.sh stop # 停止 Seafile 进程
./seafile.sh stop # 停止 Seahub

复制代码

 

  • 更改haiwen/ccnet/ccnet.conf文件中SERVICE_URL 的值(假设你的 ip 或者域名时192.168.1.100), 如下:

 

  1. SERVICE_URL = http://192.168.1.100:8001

复制代码

 

  • 重启 Seafile 服务器

 

./seafile.sh start # 启动 Seafile 服务
./seahub.sh start 8001 # 启动 Seahub 网站 (运行在8001端口上)

复制代码

ccnet.conf更多细节请看(server_configuration.md) .

关闭/重启 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 “manage.py run_gunicorn” # 查看 Seahub 进程

复制代码

 

  • 使用pkill命令杀掉相关进程

 

pkill -f seafile-controller # 结束 Seafile 进程
pkill -f “manage.py run_gunicorn” # 结束 Seafile 进程

复制代码

OK!

人已赞赏
网站

NextCloud - 私有云盘

2018-7-12 15:10:16

网站

DzzOffice – 云-开源办公套件

2018-7-12 15:20:43

⚠️
Npcink上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。
无意侵害您的权益,请发送邮件至 link@baimu.org 或点击右侧 私信:Muze 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索