安装 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位版本。我们获取其地址后,通过wget
或curl
命令将源码包下载下来。
复制完链接后,在你的服务器执行下面的代码,注意替换链接地址
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 进程