引言
Seafile 是国内团队开发、国际领先的开源企业云存储软件,为企业提供私有云环境下的网盘解决方案,满足文件集中管理、多终端访问、共享协作等需求。
功能列表如下
seafile功能.jpg
1. 环境要求
centos7
python2.7
python-setuptools
mysql已经安装并且服务正常运行中(如果没有安装,请先安装,因为在安装seafile过程中,要用到mysql创建数据库和表等)
2. 准备工作
2.1 下载64位的Seafile安装包6.0.8
2.png2.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 数据库的方式:
-------------------------------------------------------
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
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