您的当前位置:首页正文

在Centos7中安装Seafile6.0.8教程

来源:花图问答

引言
Seafile 是国内团队开发、国际领先的开源企业云存储软件,为企业提供私有云环境下的网盘解决方案,满足文件集中管理、多终端访问、共享协作等需求。

功能列表如下


seafile功能.jpg

1. 环境要求

centos7
python2.7
python-setuptools
mysql已经安装并且服务正常运行中(如果没有安装,请先安装,因为在安装seafile过程中,要用到mysql创建数据库和表等)

2. 准备工作

2.1 下载64位的Seafile安装包6.0.8

2.png

2.2 部署和目录设计

#创建getui目录,本人是以root用户登录,定位在根目录下。
mkdir getui
#将下载的seafile-server_6.0.8_x86-64.tar.gz上传到getui目录下
rz seafile-server_6.0.8_x86-64.tar.gz
#解压文件
tar -xzf seafile-server_6.0.8_x86-64.tar.gz
#在getui目录里创建installed目录
mkdir installed
#将压缩文件移到installed目录
mv seafile-server_6.0.8_x86-64.tar.gz installed

3. 安装Seafile服务器

cd /root/getui/seafile-server-6.0.8/
./setup-seafile-mysql.sh #运行安装脚本并回答预设问题

如果你的系统中没有安装上面的某个软件,那么 Seafile初始化脚本会提醒你安装相应的软件包。
该脚本会依次询问你一些问题,从而一步步引导你配置 Seafile 的各项参数:

seafile安装过程中参数说明

在这里, 你会被要求选择一种创建 Seafile 数据库的方式:
-------------------------------------------------------
Please choose a way to initialize seafile databases:
-------------------------------------------------------

[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases
如果选择1, 你需要提供根密码. 脚本程序会创建数据库和用户。(本人安装选择的是1
如果选择2, ccnet/seafile/seahub 数据库应该已经被你(或者其他人)提前创建。
如果安装正确完成,你会看到下面这样的输出 (新版本可能会有所不同)

Paste_Image.png
现在安装完成后目录结构应该是这样:
Paste_Image.png
seafile-server-latest文件夹为指向当前 Seafile 服务器文件夹的符号链接. 将来你升级到新版本后, 升级脚本会自动更新使其始终指向最新的 Seafile 服务器文件夹。

4. 启动Seafile服务器

4.1 开放端口和重启防火墙

firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --reload

4.2 配置开机启动

4.2.1 新建seafile.service文件

vim /etc/systemd/system/seafile.service
输入以下内容

[Unit]
Description=Seafile Server
After=network.target mysql.service

[Service]
Type=oneshot
ExecStart=/root/getui/seafile-server-latest/seafile.sh start
ExecStart=/root/getui/seafile-server-latest/seahub.sh start
ExecStop=/root/getui/seafile-server-latest/seafile.sh stop
ExecStop=/root/getui/seafile-server-latest/seahub.sh stop
RemainAfterExit=yes
User=root
Group=root

[Install]
WantedBy=multi-user.target

说明:# User 和 Group 如果未建立seafile用户和用户组,则修改为root,否则无法启动。

4.2.2 运行systemctl daemon-reload使配置生效

systemctl daemon-reload

4.2.3设置seafile开机启动

systemctl enable seafile.service #设置seafile随系统启动
systemctl is-enabled seafile #检查seafile是否已经设置为自启动

4.3 配置邮件提醒

vim /root/getui/conf/seahub_settings.py
添加如下语句

EMAIL_USE_TLS = False
EMAIL_HOST = 
EMAIL_HOST_USER = 
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = '25'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER
TIME_ZONE = 'Asia/Shanghai'

4.4 启动 Seafile 服务器和 Seahub 网站

systemctl start seafile
Paste_Image.png
恭喜! 现在你已经成功的安装了 Seafile 服务器。

5. 常见问题解答

5.1 安装过程中,报错Python setuptools不存在

setuptools未安装

通过yum安装又提示已经是最新的,如图所示。


yum安装

解决方案:手动安装setuptools。
原因:

已经安装了python2.7,而yum默认使用的是其他版本的python,导致seafile运行脚本的时候,检查不到模块的存在,所以我们需要手动安装模块,编译。这些只要按照顺序去编译安装就没问题了。

步骤:

#在opt目录下,通过wget命令下载
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
#解压setuptools
tar zxvf setuptools-0.6c11.tar.gz
#编译及安装
cd setuptools-0.6c11
python2.7 setup.py build
#如果编译OK,即可安装
python2.7 setup.py install

5.2 8000端口占用,想换其他端口,如何解决

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

  • 通过web界面修改端口


    Paste_Image.png
  • 执行如下命令
#修改seahub访问端口
vim /etc/systemd/system/seafile.service

默认端口是8000,将图中所示位置填上期望的端口8001即可。


Paste_Image.png
#应用配置
systemctl daemon-reload
#重启Seafile 服务
systemctl restart seafile

感谢