本文档用来说明通过预编译好的安装包来安装并运行基于 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

Text
HTML
CSS
Javascript
C
C++
C#
Java
Python
Sql
Swift

这样设计目录的好处在于

  • 和 seafile 相关的配置文件都可以放在 /opt/seafile/conf 目录下,便于集中管理.

  • 后续升级时,你只需要解压最新的安装包到 /opt/seafile 目录下.

安装 Seafile 服务器

安装前的准备工作

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

1、wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo    #安装下epel源
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 的各项参数:

在这里, 你会被要求选择一种创建 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

 Nginx反向代理启动Seafile

https://blog.csdn.net/h952520296/article/details/89472518

 

CentOS 7 部署 Seafile 服务器(使用 MySQL/MariaDB)的更多相关文章

  1. CentOS 7 部署Memcached服务器——超级详细

    操作系统:CentOS 7.x 64位实现目的:安装部署Memcached服务器 一.防火墙设置CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭f ...

  2. Centos 7服务器搭建MySQL(mariadb)服务

    1.下载并安装MySQL yum install mariadb mariadb-server -y 2.启动MySQL systemctl start mariadb 3.对mariadb进行初始化 ...

  3. 在centos上搭建SVN服务器和MySQL

    ----------搭建MySQL--------------- 1.查看yum库中的mysql yum list | grep mysql //查看yum库中的mysql 2.选择需要的mysql进 ...

  4. 在 CentOS 中部署 KMS 服务器(vlmcsd)

    准备 vlmcsd 下载 vlmcsd 本文使用的 vlmcsd 版本为 svn1111,支持的产品: Windows Vista – 10Windows Server 2008 - 2016Offi ...

  5. centos 安装部署ftp服务器

    0. 安装ftp yum install vsftpd 1. 添加ftp账户 useradd -d /home/test -g ftp -s /sbin/nologin test 命令的意思: 添加t ...

  6. mysql/mariadb主从复制

    主从复制简介 MySQL数据库的主从复制方案,是其自带的功能,并且主从复制并不是复制磁盘上的数据库文件,而是通过binlog日志复制到需要同步的从服务器上. MySQL数据库支持单向.双向.链式级联, ...

  7. 记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb

    记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb 前段时间我个人Google服务器意外不能用,并且我犯了一件很低级的错误,直接在gcp讲服 ...

  8. CentOS 7.0系统安装配置LAMP服务器(Apache+PHP+MariaDB)

    CentOS 7.0接触到的用户是比较少的,今天看了站长写了一篇关于centos7中安装配置LAMP服务器的教程,下面我把文章稍加整理一下转给大家学习交流,希望例子能给各位带来帮助哦.   cento ...

  9. 【原】基于 HAproxy 1.6.3 Keeplived 在 Centos 7 中实现mysql mariadb galera cluster 集群分发读写 —— 上篇

    前言 有一段时间没有写blogs,乘着周末开始整理下haproxy + keeplived 实现 mysql mariadb galera cluster 集群访问环境的搭建工作. 本文集中讲hapr ...

  10. CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)

    CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...

随机推荐

  1. 万字长文教你实现华为云IoT+OpenHarmony智能家居开发

    本文分享自华为云社区<华为云IoT+OpenHarmony的智能家居开发>,作者:袁睿. 一.选题说明 1. 选题为基于OpenHarmony的智能家居,应用场景为户用,受益人群为住户. ...

  2. 算法打卡|Day1 数组part01

    Day1 数组part01 今日任务:数组理论基础,704. 二分查找,27. 移除元素 目录 Day1 数组part01 今日任务:数组理论基础,704. 二分查找,27. 移除元素 Part1: ...

  3. Django框架——forms组件、cookie与session

    文章目录 1 forms 组件 1 校验字段功能 2 渲染标签功能 渲染方式1 渲染方式2 渲染方式3 3 渲染错误信息功能 视图 模板 4 组件的参数配置 5 局部钩子 6 全局钩子 2 cooki ...

  4. PostgreSQL学习笔记-1.基础知识:创建、删除数据库和表格

    PostgreSQL 创建数据库 PostgreSQL 创建数据库可以用以下三种方式:1.使用 CREATE DATABASE SQL 语句来创建.2.使用 createdb 命令来创建.3.使用 p ...

  5. TTS背后的技术原理——前端和后端系统

        就解锁了一个温柔又风趣的「女朋友」萨曼萨.不过,在现实生活中,和语音助手谈恋爱还是一件十分遥远的事情--刨去现阶段的语音助手们双商水平还有限,语音助手的语言表达能力还远远达不到我们理想状态. ...

  6. aspnetcore微服务之间grpc通信,无proto文件

    aspnetcore微服务之间通信grpc,一般服务对外接口用restful架构,HTTP请求,服务之间的通信grpc多走内网. 以前写过一篇grpc和web前端之间的通讯,代码如下: exercis ...

  7. js数据结构--散列表

    <!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...

  8. node(1)

    1.新建http.js //node搭建http服务器 let http=require('http'); //使用http建立服务请求 http.createServer(function(requ ...

  9. CSS 溢出overflow属性的使用

    作者:WangMin 格言:努力做好自己喜欢的每一件事 在CSS中,如果给一个盒子设置了固定的宽度与高度,但内容过多就会溢出盒子本身的宽度或高度.此时,就可以使用 overflow 属性来控制内容溢出 ...

  10. 题解 CF690C2

    题目大意: 给你一棵树,求一下直径 题目分析: emm,怎么说吧,就是树的直径的裸板子. 可能有人不大理解,明明是图,你为什么要说是给定一棵树. 大家可以自行验证一下,满足如下两个性质的是否是一棵树: ...