CentOS 7 部署 Seafile 服务器(使用 MySQL/MariaDB)
本文档用来说明通过预编译好的安装包来安装并运行基于 MySQL/MariaDB 的 Seafile 服务器。(MariaDB 是 MySQL 的分支)
提示:如果您是初次部署 Seafile 服务,我们建议您使用自动安装脚本来快速部署一个 Seafile 服务。
下载
到下载页面下载最新的服务器安装包.
假设你已经下载 seafile-server_* 到/opt/seafile目录下。 我们建议这样的目录结构:
mkdir /opt/seafile
mv seafile-server_* /opt/seafile
cd /opt/seafile
#将 seafile-server_* 移动到 seafile 目录下后
tar -xzf seafile-server_*
mkdir installed
mv seafile-server_* installed
现在,你的目录看起来应该像这样:
#tree seafile -L 2
haiwen
├── installed
│ └── seafile-server_7.0.0_x86-64.tar.gz
└── seafile-server-7.0.0
├── reset-admin.sh
├── runtime
├── seafile
├── seafile.sh
├── seahub
├── seahub.sh
├── setup-seafile-mysql.sh
└── upgrade
HTML
CSS
Javascript
C
C++
C#
Java
Python
Sql
Swift
这样设计目录的好处在于
和 seafile 相关的配置文件都可以放在
/opt/seafile/conf目录下,便于集中管理.后续升级时,你只需要解压最新的安装包到
/opt/seafile目录下.
安装 Seafile 服务器
安装前的准备工作
安装 Seafile 服务器之前,请确认已安装以下软件:
2、yum install zlib-devel libjpeg-devel freetype-devel #安装下依赖
# 在 CentOS 7 下
yum install mariadb-server #Seafile的MySQL数据库
yum install python-setuptools python-imaging python-ldap MySQL-python python-memcached python-urllib3 #MariaDB数据库的依赖
———————————————————————————————————————————
# 启动、开机启动 MariaDB数据库
systemctl start mariadb
systemctl enable mariadb
注意:需要先设置MySQL的数据库初始密码
#登录MySQL数据库(就是MariaDB数据库)
mysql -u root -p
#提示输入密码,初始密码空,直接回车,看到欢迎界面。
MariaDB [(none)]>
#修改用户密码:12345678
update mysql.user set password=password('12345678') where user='root' and host='localhost';
#刷新一下
flush privileges;
#查看当前用户
MariaDB [(none)]> select user();

#退出
exit

_________________________________________________________________________________
Seafile 8.0.x 版本
# on CentOS 8 (本次我是安装在CentOS7.5系统下,用这个命令是正常的)
yum install python3 python3-setuptools python3-pip python3-ldap python3-devel mysql-devel gcc gcc-c++ -y
pip3 install --timeout=3600 django==2.2.* future mysqlclient pymysql Pillow pylibmc \ captcha jinja2 sqlalchemy==1.4.3 psd-tools django-pylibmc django-simple-captcha
注意:seafile 9.0.x 版本不支持在 Centos 系统 tar 包部署,支持 Docker 方式部署,因此此次下载安装8.0.8版本
安装
cd seafile-server-*
./setup-seafile-mysql.sh #运行安装脚本并回答预设问题
该脚本会依次询问你一些问题,从而一步步引导你配置 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, 你需要提供根密码. 脚本程序会创建数据库和用户。如果选择
2, ccnet/seafile/seahub 数据库应该已经被你(或者其他人)提前创建。
我们默认选择1,后面是简单设置,顺序填写即可。
如果安装正确完成,你会看到下面这样的输出 (新版本可能会有所不同)

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

seafile-server-latest文件夹为指向当前 Seafile 服务器文件夹的符号链接. 将来你升级到新版本后, 升级脚本会自动更新使其始终指向最新的 Seafile 服务器文件夹.
启动 Seafile 服务器和 Seahub 网站
启动Seafile服务器
./seafile.sh start # 启动 Seafile 服务
启动Seahub
./seahub.sh start # 启动 Seahub 网站 (默认运行在8000端口上根据之前的配置)
6.3.0 及其之后的版本,我们弃用了 ./seahub.sh start <port> 的方式使seahub进程监听在其他端口。但是,您可以通过修改 conf/gunicorn.conf 中的端口设置来指定seahub启动端口。

小贴士: 你第一次启动 seahub 时,seahub.sh 脚本会提示你创建一个 seafile 管理员帐号
————————————————————————————————————————————————————————————————————————
如果你想在其他端口上运行 Seahub
如果你不想在默认的 8000 端口上运行 Seahub, 而是想自定义端口(比如8001)中运行,请按以下步骤操作:
- 关闭 Seafile 服务器
./seahub.sh stop # 停止 Seafile 进程
./seafile.sh stop # 停止 Seahub
- 更改
haiwen/conf/ccnet.conf文件中SERVICE_URL的值(假设你的 ip 或者域名时192.168.1.100), 如下 (从 5.0 版本开始,可以直接在管理员界面中设置。注意,如果同时在 Web 界面和配置文件中设置了这个值,以 Web 界面的配置为准。):
SERVICE_URL = http://192.168.1.100:8001
- 重启 Seafile 服务器
./seafile.sh start # 启动 Seafile 服务
./seahub.sh start 8001 # 启动 Seahub 网站 (运行在8001端口上)
关闭/重启 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 进程
OK!我们继续
————————————————————————————————————————————————
防火墙开放8000 , 8082端口
Seabub: 8000
FileServer: 8082
默认情况下,我们的服务器没有开放8000,8082端口,那么我们需要去开放8000,8082端口。
CentOS升级到7之后,发现无法使用iptables控制Linuxs的端口,Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口:
开启端口
[root@centos7 ~]# firewall-cmd --zone=public --add-port=8000/tcp --permanent
[root@centos7 ~]# firewall-cmd --zone=public --add-port=8082/tcp --permanent
查询端口号8000 是否开启:
[root@centos7 ~]# firewall-cmd --query-port=8000/tcp
yes
重启防火墙:
[root@centos7 ~]# firewall-cmd --reload
查询有哪些端口是开启的:
[root@centos7 ~]# firewall-cmd --list-port
8000/tcp 8082/tcp
命令含义:
--zone #作用域
--add-port=8000/tcp #添加端口8000,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
至此,Seafile服务器安装完成,你可以访问
http://你的IP
https://blog.csdn.net/h952520296/article/details/89472518
CentOS 7 部署 Seafile 服务器(使用 MySQL/MariaDB)的更多相关文章
- CentOS 7 部署Memcached服务器——超级详细
操作系统:CentOS 7.x 64位实现目的:安装部署Memcached服务器 一.防火墙设置CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭f ...
- Centos 7服务器搭建MySQL(mariadb)服务
1.下载并安装MySQL yum install mariadb mariadb-server -y 2.启动MySQL systemctl start mariadb 3.对mariadb进行初始化 ...
- 在centos上搭建SVN服务器和MySQL
----------搭建MySQL--------------- 1.查看yum库中的mysql yum list | grep mysql //查看yum库中的mysql 2.选择需要的mysql进 ...
- 在 CentOS 中部署 KMS 服务器(vlmcsd)
准备 vlmcsd 下载 vlmcsd 本文使用的 vlmcsd 版本为 svn1111,支持的产品: Windows Vista – 10Windows Server 2008 - 2016Offi ...
- centos 安装部署ftp服务器
0. 安装ftp yum install vsftpd 1. 添加ftp账户 useradd -d /home/test -g ftp -s /sbin/nologin test 命令的意思: 添加t ...
- mysql/mariadb主从复制
主从复制简介 MySQL数据库的主从复制方案,是其自带的功能,并且主从复制并不是复制磁盘上的数据库文件,而是通过binlog日志复制到需要同步的从服务器上. MySQL数据库支持单向.双向.链式级联, ...
- 记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb
记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb 前段时间我个人Google服务器意外不能用,并且我犯了一件很低级的错误,直接在gcp讲服 ...
- CentOS 7.0系统安装配置LAMP服务器(Apache+PHP+MariaDB)
CentOS 7.0接触到的用户是比较少的,今天看了站长写了一篇关于centos7中安装配置LAMP服务器的教程,下面我把文章稍加整理一下转给大家学习交流,希望例子能给各位带来帮助哦. cento ...
- 【原】基于 HAproxy 1.6.3 Keeplived 在 Centos 7 中实现mysql mariadb galera cluster 集群分发读写 —— 上篇
前言 有一段时间没有写blogs,乘着周末开始整理下haproxy + keeplived 实现 mysql mariadb galera cluster 集群访问环境的搭建工作. 本文集中讲hapr ...
- CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...
随机推荐
- C51单片机开发
C51单片机开发笔记 定时器 C51中的定时器和计数器是同一个硬件电路支持的,通过寄存器配置不同,就可以将他当做定时器 或者计数器使用. 确切的说,定时器和计数器区别是致使他们背后的计数存储器加1的信 ...
- div 让a内容居中方法
<div>标签是HTML中的一个重要标签,它代表了一个文档中的一个分割区块或一个部分.在<div>标签中,我们可以放置各种内容,包括文本.图像.链接等等.有时候,我们需要将其中 ...
- Android news Display Owner Info on Your Android Device in Case It Gets Lost
Display Owner Info on Your Android Device in Case It Gets Lost The latest versions of Android includ ...
- [AHOI2002] Kitty猫基因突变
我们不妨将所有权值打到一棵树上,这很容易想到. 考虑暴力,如果我们选择了 \(w\) 个点,修改后我们会从叶子节点依次合并去计算贡献. 很显然我们可以动态规划维护. \(f[p][w][0/1/2]\ ...
- SQL还是NoSQL?架构师必备选型技能
很多时候我们都会有这样的疑问. 如果这时候直接去看MySQL.Mongo.HBase.Redis等数据库的用法.特点.区别,其实有点太着急了. 这时候,最好从「数据模型」开始讨论. 1.SQL vs ...
- Vue之自定义过滤器
使用Vue.filter('过滤器名称',方法); 1. <!DOCTYPE html> <html lang="en"> <head> < ...
- 基于Electron27+Vite4+React18搭建桌面端项目|electron多开窗口实践
前段时间有分享一篇electron25+vite4搭建跨桌面端vue3应用实践.今天带来最新捣鼓的electron27+react18创建跨端程序.electron多开窗体(模拟QQ登录窗口切换主窗口 ...
- Production Environment Difference Between Development, Stage, And Production
There are three different environments that you'll probably deal with at some point. Each environmen ...
- 快速教程|如何在 AWS EC2上使用 Walrus 部署 GitLab
Walrus 是一款基于平台工程理念的开源应用管理平台,致力于解决应用交付领域的深切痛点.借助 Walrus 将云原生的能力和最佳实践扩展到非容器化环境,并支持任意应用形态统一编排部署,降低使用基础设 ...
- 开发现代化的.NetCore控制台程序:(2)创建一个C#项目模板
前言 上一篇文章(开发一个现代化的.NetCore控制台程序,包含依赖注入/配置/日志等要素)介绍了开发现代化的.NetCore控制台程序的细节,但这还不够,我又创建了一个脚手架模板,并命名为 Flu ...