• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Proxmox VE(PVE) Seafile企业版安装日记

互联网 diligentman 4周前 (10-30) 18次浏览

Proxmox VE(PVE) Seafile企业版安装日记

概述

​ 家里有一台Proxmox VE虚拟化服务器,构建了家中的主路由、nas、emby、nextcloud、srs流媒体服务器等服务。

​ 平时一直用nextcloud作为自己的云盘,前阵子国产操作系统UOS正式版发行,以后国企、政府等单们都要部署,所以自己也装了一个,安装后发现nextcloud客户端不能用。正好没事整理一下家里的服务器,顺便找了一个国产的云盘,先是安装了免费版,后来发现企业版可以3用户免费,刚好符合自己的需求。安装记录如下:

注:需对照官方安装文档一起使用

准备工作

企业版安装包需要在Seafile官网注册登录后才能下载,在普通模式下只能下载免费版,我下载的最新的7.18版本。官方文档分为中文版和英文版,更新时间不太一样 内容也不太一样, 自行选择。

​ 按照官方文档描述 Seafile 可以支持主流的 Debian/Ubuntu 和 CentOS 系统,由于平时自己都是用Debian,所以选择了 deb 安装包。系统选择了 Debian10.6 网络安装包。

​ 系统安装就略过了….,根据文档描述,企业版内存要设置2G以上,我的系统盘安装SSD上,通过pve直通了一块3T机械盘存储数据,CPU设置为2核心。

安装服务之前准备

  • 数据库 (选用了Debian源中自带的MariaDB),数据库安装配置MariaDb数据库安装方法,一定要设置数据库的root密码!!!
  • java 企业版需要java8以上支持 Debian10源中自带java11 安装就好 apt-get install default-jdk
  • Python3组件(在部署服务中再说…)

部署服务

部署之前先完成准备工作中 MariaDB 和 Java 的安装 ,然后根着官方文档走。

部署 Seafile 服务器(使用 MySQL/MariaDB)# 官方文档看这个标题就可以了

目录设计

安装包:seafile-pro-server_7.18_x86-64_Ubuntu.tar.gz

目录:/opt/seafile

cd /opt
mkdir seafile

将安装包放在 /opt/seafile下进行解压:

mv seafile-server_* /opt/seafile

cd /opt/seafile

tar -zxvf seafile-server_*

目录结构如下:

#tree seafile -L 2

├── seafile-pro-server_7.18_x86-64_Ubuntu.tar.gz  

└── seafile-pro-server_7.1.8

    ├── reset-admin.sh

    ├── runtime

    ├── seafile

    ├── seafile.sh

    ├── seahub

    ├── seahub.sh

    ├── setup-seafile-mysql.sh

    └── upgrade

这样设计目录的好处在于

  • 和 seafile 相关的配置文件都可以放在 /opt/seafile/conf 目录下,便于集中管理.
  • 后续升级时,你只需要解压最新的安装包到 /opt/seafile 目录下.

Python组件

根据官方文档,需先安装python组件,但在安装时下载太慢了,所以先进行python换源。

注意我这里用的是root帐号。 也就是说我的家目录是 /root

在家目录建一个文件夹

mkdir ~/.pip

创建pip.conf文件并写入内容:

vim ~/.pip/pip.conf

文件内容:

# pip 国内源
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/

[install]
trusted-host = mirrors.aliyun.com

保存退出后,再按文档安装组件

apt-get update
apt-get install python3 python3-setuptools python3-pip python3-ldap -y

pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy psd-tools django-pylibmc django-simple-captcha

安装服务

python组件都安装完成后就可以进行安装了,运行安装脚本并回答预设问题

cd /opt/seafile/seafile-pro-server-7.1.8	#进入目录
./setup-seafile-mysql.sh					#执行安装脚本

问题都是很简单,在官方英文文档中有问题描述, 不过自己看看一路回答下去就好

数据库选择时要选 1 新创建数据库,如果已经存在数据库选 2(这里选 1 )

-------------------------------------------------------

Please choose a way to initialize seafile databases:

-------------------------------------------------------

[1] Create new ccnet/seafile/seahub databases

[2] Use existing ccnet/seafile/seahub databases

选择后要输入 MariaDB 数据库的root密码!!! 可以看看前面准备工作

安装完成后在 /opt/seafile/ 目录下多出一些文件,其中 seafile-server-latest 目录是程序执行目录

启动服务

启动 Seafile 服务器和 Seahub 网站

在 seafile-server-latest 目录下,运行如下命令

  • 启动 Seafile:
./seafile.sh start # 启动 Seafile 服务
  • 启动 Seahub
./seahub.sh start  # 启动 Seahub 网站 (默认运行在127.0.0.1:8000端口上)

第一次启动 seahub 时,seahub.sh 脚本会提示你创建一个 seafile 管理员帐号。

管理员帐号是邮箱 密码自己设置

注意:7.0.x 版本之后,8000端口默认监听在127.0.0.1地址上,无法直接通过8000端口访问Seafile服务。

这句话的意思是在其它机器上Web不能访问服务器

解决方法:

cd /opt/seafile/conf
vim gunicorn.conf.py

将默认的 bind = "127.0.0.1:8000" 改为 0.0.0.0

# default localhost:8000
bind = "0.0.0.0:8000"

重启服务

./seafile.sh restart
./seahub.sh restart

恭喜! 现在你已经成功的安装了 Seafile 服务器.

网页访问例子:http://192.168.1.1:8000 (你服务器的IP地址)

开机自动启动服务

官方文档中有例子,复制后更改一下就行了,后面说个我遇到的坑-_-

1. 创建 systemd seafile服务文件

/etc/systemd/system/seafile.service

sudo vim /etc/systemd/system/seafile.service

内容如下:

[Unit]
Description=Seafile
# add mysql.service or postgresql.service depending on your database to the line below
After=network.target #这里是坑

[Service]
Type=oneshot
ExecStart=${seafile_dir}/seafile-server-latest/seafile.sh start
ExecStop=${seafile_dir}/seafile-server-latest/seafile.sh stop
RemainAfterExit=yes
User=seafile # root
Group=seafile # root

[Install]
WantedBy=multi-user.target

这里说一下 ${seafile_dir} 要替换为你的安装目录,比如:/opt/seafile/

User 和 Group 我改为了 root

2. 创建 systemd seahub 服务文件

/etc/systemd/system/seahub.service

sudo vim /etc/systemd/system/seahub.service

文件内容如下(如果你想要运行fastcgi模式,请不要忘记修改它。)

[Unit]
Description=Seafilehub
After=network.target seafile.service #这里是坑

[Service]
# change start to start-fastcgi if you want to run fastcgi
ExecStart=${seafile_dir}/seafile-server-latest/seahub.sh startExecStop=${seafile_dir}/seafile-server-latest/seahub.sh 
stopUser=seafile
Group=seafile
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

更改同上,然后后就可以用Systemd来管理服务了

# 启动服务
sudo systemctl start seafile.service
sudo systemctl start seahub.service

# 停止服务
sudo systemctl stop seafile.service 
sudo systemctl stop seahub.service

开机自动启动

sudo systemctl enable seafile.service # 开机启动 seafile
sudo systemctl enable seahub.service # 开机启动 seahub

**但是我配置完成后开机启动不了@@@**

查看日志后发现找不到数据库。。。。。没有截图-_-

原因是开机的时候这两个服务先于数据库启动了!!!

解决办法:在上面两个配置文件中的After中加入mariadb.service

例:

# seafile.service文件中
After=network.target mariadb.service

# seahub.service文件中
After=network.target mariadb.service seafile.service

OK,开机可以启动了!

后记

通过上面的操作,一个企业版Seafile服务器搭建成功,但还有一些其它操作,比如office文档预览、钉钉、企业微信、https、文件检索、等等,可根据官方文档继续折腾。这次就先搞到这里吧:)


喜欢 (0)