安装Seafile Server 7.1.3 不完全避坑指南

容易踩的坑



解决依赖关系是安装seafile server的第一个坑。 官方提供的安装包,大部分依赖都已经打包在包里了, 只有seahub依赖的部分Python包,因为使用了C语言,编译安装时必须和Python的版本对应(这也是之前Windows版本必须安装指定版本python的原因),由于无法预知客户端的Python版本,所以无法包含在安装包中。

MySQL/Mariadb数据库配置是第二个坑。 有些系统安装的MySQL/Mariadb数据库,默认配置是不允许root用户通过网络连接服务器的,而安装脚本配置数据库一项有两个选项,分别是自动创建和使用已有的数据库,其中自动创建数据库需要使用root连接数据库。

开机自动启动时第三个坑。 由于每个人的安装路径和用户配置不同,Seafile安装包中无法附带现成的systemd服务脚本文件,致使部分新手无法配置开机自启动服务。

避坑之一:安装依赖


1. Seafile依赖说明

系统软件包:

  • [x] python3 *
  • [ ] sqlite3 / sqlite *
  • [ ] mysql-server

pythonr软件包:

  • [x] Pillow
  • [x] django-simple-captcha
  • [x] captcha
  • [ ] pylibmc *
  • [ ] python-ldap *
  • [ ] jinja2
  • [ ] sqlalchemy *
  • [ ] psd-tools

解决依赖的工具:

  • [x] 软件包管理系统 (yum / apt / pacman / portage 等) *
  • [x] pip *
  • [x] wheel

以上依赖,打勾的为必装,加粗加粗打星号表示推荐使用系统提供的软件包安装,下面理一理这些依赖软件(注:有些python包之所以推荐使用系统提供的包管理器安装,是因为他们基本都需要编译,并且有的软件包还依赖其他第三方的软件,若使用pip安装,需要安装其他依赖):

依赖(加粗为必装) 说明
软件包管理系统 这个一般系统装好都已经安装好了,这里之举例 aptyum ,其他发行版大同小异,关键是弄清楚软件包名,不同的发行版会有所区别
pip Python 的包管理器,推荐使用系统软件包安装,包名为 python3-pip
wheel Python 包的最新二进制格式支持,部分 Python 包安装时会先打包成 .whl 格式,需要这个包的功能
python3 使用系统软件包安装,包名为 python3
sqlite3 使用sqlite数据库时需要安装,apt中包名为 sqlite3,yum中包名为 sqlite
mysql-server 使用mysql数据库时要安装,若有其他可用的mysql服务,可以不装。这里推荐 mariadb-server,因为各发行版都会提供
python-ldap 需要使用ldap存储用户信息(通常在企业中使用)时要安装,推荐使用系统软件包
jinja2 这是 Python Web 开发的一套模板系统,功能、性能、安全性都比较强,不安装这个包并没发现什么影响,可能专业版需要 *
sqlalchemy Python 的一套功能强大的 ORM 系统,不安装没发现受到影响,可能专业版会用到。
pylibmc Python 的 memcached 绑定,可以理解为 python 语言使用 memcached 服务的客户端,不使用 memcache加速的可以不用安装 *
django-simple-captcha Django的插件,生成表单验证码使用,虽然没看到哪个表单有验证码,但是这个插件必须安装,否则 seahub 会发生 500 内部服务器错误。
captcha django-simple-captcha 的依赖,必须安装
Pillow captcha 的依赖,必须安装
psd-tools 用来支持 psd 文件(Photoshop 图片源文件), 相关依赖非常大(几百M) ^2 *

* 从这次多出来的依赖来看,可能seafile团队打算使用flask今后将Seahub重写(胡乱猜测 -_-||)

* memcached是需要额外配置的服务,通过将数据缓存在内存达到加速的目的,使用时需注意内存是否足够

* psd-tools 我没有测试,可能只是用来在线预览,也可能支持在线简单编辑,有人测试了希望能给我反馈

2. 安装依赖

使用的 pip 为系统级 Python 环境, 如果使用 root 用户运行会造成升级系统的部分软件包,有可能会导致其他的系统软件依赖关系冲突,所以我们运行 pip 命令安装软件包的时候需要添加 --user 选项,把需要的包安装在用户家目录。

此外,使用 pip 安装 python 包的时候,会自行解决依赖关系,但是 在这里,由于 seafile-server 安装包自带的一部分依赖不宜被覆盖或升级,因此我们在安装依赖前应该把 seafile-server 自带的 Python 包让 pip 能识别,其方法是到处环境变量 PYTHONPATH,使其执行自带的 python 包目录。

2.1 安装系统软件包

2.1.1准备工作

\(\color{red}{注意:}\) 此处假设起始路径为 /opt,当前用户为 seafuser,下载的安装包在用户家目录。

$ sudo mkdir seafile
$ sudo chown seafuser.seafuser seafile
$ cd seafile
$ tar xzf ~/seafile-server-7.1.3.tar.gz
$ export PYTHONPATH=/opt/seafile/seafile-server-7.1.3/seahub/thirdpart

2.1.2 安装必装软件

由于 Pillow 和 captcha 都处在 django-simple-captcha 的依赖链中,所以使用 pip 只要安装最后一个就行了。

使用 pip install --user 安装的 Python 包,会保存在家目录下的 .local/lib/python3.X/site-packages 其中 python3.X 以实际版本号代替。

-> Deb 系:

$ sudo apt update
$ sudo apt install -y python3 python3-pip python3-wheel
$ pip3 install --user django-simple-captcha

-> Rpm 系:

$ sudo yum install -y python3 python3-pip python3-wheel
$ pip3 install --user django-simple-captcha

2.1.3 根据需要安装其他软件包

-> Deb 系:

$ sudo apt install -y sqlite3
$ sudo apt install -y mariadb-server
$ sudo apt install -y pylibmc
$ sudo apt install -y sqlalchemy
$ sudo apt install -y python3-ldap
$ pip3 install --user jinja2
$ pip3 install --user psd-tools

-> Rpm 系:

$ sudo yum install -y sqlite3
$ sudo yum install -y mariadb-server
$ sudo yum install -y pylibmc
$ sudo yum install -y sqlalchemy
$ sudo yum install -y python3-ldap
$ pip3 install --user jinja2
$ pip3 install --user psd-tools

2.1.4 转移安装的 Python包

安装完成之后,需要把安装的软件包移到 seafile 文件夹中适当的位置,避免之后启动 seahub 出现依赖问题。

mv -f ~/.local/lib/python3.X/site-packages/* $PYTHONHOME

至此,依赖安装完毕,可以进行下一步了:

$ cd seafile-server-7.1.3
$ ./setup-seafile.sh            # or ./setup-seafile-mysql.sh

避坑之二:配置 MySQL 数据库



安装Seafile Server 7.1.3 不完全避坑指南

原文地址:https://www.cnblogs.com/inpool/p/12616960.html

时间: 2024-07-31 13:56:57

安装Seafile Server 7.1.3 不完全避坑指南的相关文章

Windows 下安装 tensorflow & keras & opencv 的避坑指南!

安装 Anaconda3 关键的一步: conda install pip 下面再去安装各种你需要的包,一般不会再报错. pip install tensorflow-gpu ==1.5.0rc1 pip install -U keras 如果需要安装 theano,则需要先安装它的依赖包,即 conda install mingw libpython pip install -U theano 安装 OpenCV3 (Windows环境): pip install -U opencv-cont

基于apache和mysql,安装seafile - v1.0

seafile:下一代的开源云存储更好的文件同步,隐私保护和团队协作功能!本文基于官方文档,补充描述基于apache和mysql,安装seafile服务器. 原文网址:https://cloud.seafile.com/group/762/wiki/%E5%9C%A8apache%E7%8E%AF%E5%A2%83%E4%B8%8B%E9%83%A8%E7%BD%B2seafile/ 修改:陈海青(http://hhrz.org) 1.准备 下载安装预装了apache和mysql的虚拟机(基于d

Windows 2008 R2安装wamp server

一.平台windows 2008 R2,安装驱动,office 2010: 二.安装SP1补丁包,下载地址https://www.microsoft.com/zh-cn/download/details.aspx?id=5842 具体见附件1: 三.安装Microsoft Visual C++ 2015运行库 14.0.23026.0: 四.安装wamp server 3.0.6.即可

安装sql server提示挂起报错

在安装sql server时出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作.运行安装程序之前必须重新启动计算机”错误.无法进行下去. 参考有关资料后,以下步骤基本可以解决: 1)添加/删除程序中彻底删除sql server. 2)将没有删除的sql server目录也删除掉.3)点击 开始 运行 输入:regedit打开注册表,找到如下目录在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Session Manager中找到P

在wamp中安装sql server驱动的步骤方法

在wamp中安装sql server驱动的方法 配置php+sql server 连接方式,配置成功才能远程访问数据库. PHP自带的MSSQL扩展php_mssql.dll是给SQL Server 2000用的 要使用SQL Server 2005以上版本,就要用到微软为PHP提供的最新第三方扩展SQL Server Driver for PHP才行. 以下是安装的步骤:(前提条件,在wamp安装正确的情况下,图标是粉红色的,打开运行后变成绿色就是正常的) 第一步.下载SQL Server D

华为RH 5885 v3 安装windows server 2008 R2推荐步骤(自我总结)

近日为华为RH5885 v3型号的服务器安装windows server 2008 R2操作系统,总是会在安装过程中,安装程序报错,提示:安装过程中遇到问题或者机器重启,后来经过客服确认原因是windows server 2008 R2 的安装驱动与hba驱动冲突造成的,安装前需要拆掉hba.总结前几次华为RH5885 v3 安装中遇到的问题,现把能保证在V3服务器正常安装window server 2008R2的步骤总结如下: 1装备好安装介质:华为提供的安装引导盘,操作系统安装介质. 2服务

Centos 7.0 下安装 Zabbix server 服务器的安装及 监控主机的加入(1)

一.本系列分为6部分 1.Centos 7.0 下安装 Zabbix server 服务器的安装及 监控主机的加入 2.Centos 6.5 下安装 Zabbix server 服务器的安装及 监控主机的加入 3.zabbix server的Discover功能,实现zabbix agent 大批量的自动添加,并链接到指定的模版 4.zabbix 报警方式之 邮件报警 5.zabbix 报警方式之 微信公众号报警 6.zabbix server 端的优化工作(解决mysql 性能下降,以及zab

安装VisualSVN Server 报" Service 'VisualSVN Server' failed to start. " 服务启动失败

安装VisualSVN Server 报"Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details"错误.原因是启动"VisualSVN Server"失败 2 咱们先来看一下这个服务在哪,计算机-右键-管理或者系统服务-在服务里面可以看到一个"VisualSVN Server"项,状

安装Mysql Server

添加系统以外源: http://kernal.blog.51cto.com/8136890/1426095 [1]Install Mysql Server # yum -y install mysql-server # /etc/rc.d/init.d/mysqld start Initializing MySQL database:  WARNING: The host 'webserver1.lisys.cn' could not be looked up with resolveip. T