Seafile网盘安装

2024-01-31 02:32
文章标签 安装 网盘 seafile

本文主要是介绍Seafile网盘安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Seafile网盘安装

忙里偷闲,正好想起来TencentCloud有一台机制闲着也是闲着,先玩玩

直接冲docker, tencentCloud都是有心安装好了的,我直接pull不客气了

$ docker pull seafileltd/seafile

注意这里有很多人给了很多参数,咱不管那些,先把端口同开,一个8000(下载文件) , 一个8082( 上传文件) 其他设置先不搞

$ docker run -d -t --name seafile -p 8000:8000 -p 8082:8082 68

之后我们直接冲8000 和8082 , 悲剧了,我们没有可以登录的账号和密码。欸,遇事不要慌,我们进seafile的容器内修改配置不久搞定了么

$ docker exec -it 1c bash
root@1c123febd262:/opt/seafile# ls
ccnet       conf  pids          seafile-server-6.3.4   seahub-data
ccnet.sock  logs  seafile-data  seafile-server-latest

很爽的,我们一进来就是他的安装穆勒,看来是个合格的容器。俗话说的号,了解一个网盘最快的方式就是度娘,我们有一下两种选择方法:1.自己蝇头漫漫,不知向何处 2. 度娘给你指路,直奔杏花村。 那么,我们果断选择21 嘛,毕竟浏览一下网盘的文件结构页没啥不好。我记得我当年配的时候又要装数据库啥的,他直接搞定了,定有些不为人知的阴谋(笑)

众所周知,一个文件的配置最重点肯定是在conf里面,我们想都不想直接冲到donf中查看一番:

root@1c123febd262:/opt/seafile/conf# ls
ccnet.conf  gunicorn.conf  seafdav.conf  seafile.conf  seahub_settings.py  seahub_settings.pyc

我们一个一个点进去看嘛,这里顺便放一个教程链接:https://www.kancloud.cn/kancloud/seafile-manual/51436

ccnet.conf 部分与seafileconf重复
[General]
# 该设置不再使用
USER_NAME = seafile# 使用seafile的ID 不要更改
ID = 688383cb430d37cd7619e9c12fc4e0370db17518
NAME = seafile
# URL
SERVICE_URL = http://seafile.example.com:8000[Client]
# 该设置不在使用
PORT = 13419# 数据库
[Database]
ENGINE = mysql
HOST = 127.0.0.1
PORT = 3306
USER = seafile
PASSWD = 5b73bcee-aa59-423a-93bc-b5da4688bb85
DB = ccnet_db
CONNECTION_CHARSET = utf8[Client]
UNIX_SOCKET = /opt/seafile/ccnet.sockgunicorn.conf 怎么说呢,属于是python相似度极高了
import os
daemon = True
# 应该是支持的worker进程为5个
workers = 5
# default localhost:8000
bind = "0.0.0.0:8000"
# Pid
pids_dir = '/opt/seafile/pids'
pidfile = os.path.join(pids_dir, 'seahub.pid')# for file upload, we need a longer timeout value (default is only 30s, too short),超时判断,1200s,20min
timeout = 1200limit_request_line = 8190seafiledav.conf[WEBDAV]
# 我就不自定义了
enabled = false
port = 8080
# 支持fastcgi, 详见nginx  https://www.jianshu.com/p/565217337247
# 我这个放在docker中, docker本身没有cgi, 而nginx打算部署在本机上所以就让他false了
fastcgi = false
share_name = /seahub_settings.py
# -*- coding: utf-8 -*-
SECRET_KEY = "&zr1lph_%%&)1kbsjf@n@uywvkq1^9fsnp#vg=#82r&@w#z4dh"# 数据库用的是Django连数据库的引擎,可能ORM更好管理一些吧,毕竟Django的ORM谁用谁香
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'seahub_db','USER': 'seafile','PASSWORD': '5b73bcee-aa59-423a-93bc-b5da4688bb85','HOST': '127.0.0.1','PORT': '3306'}
}CACHES = {'default': {'BACKEND': 'django_pylibmc.memcached.PyLibMCCache','LOCATION': '127.0.0.1:11211',},'locmem': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',},
}
COMPRESS_CACHE_BACKEND = 'locmem'
FILE_SERVER_ROOT = "http://seafile.example.com/seafhttp"

根据官方文档说的,我们可以更改在settings中的必要参数实现个性化即可,比如放开注册啥的

https://www.kancloud.cn/kancloud/seafile-manual/51501

所以很明显数据存在数据库中,咱直接冲数据库呗

Seafile数据占据两张表,一张是seafile_db 一张是seahub_db。seafile_db存放的类似于文件及所属信息

MariaDB [(none)]> use seafile_db
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
MariaDB [seafile_db]> show tables;
# 咱没完全显示,我显示了几类,这也是官网说的类别
+----------------------+
| Tables_in_seafile_db |
+----------------------+
Repo, Branch, Commit, FS, and Block ,咱把网址介绍放这https://www.kancloud.cn/kancloud/seafile-manual/51444

咱就是说,咱们慢慢看看,我就不把表意义放上了,放几个有代表性的(英文真的是硬伤)

Repo,本质来说就是库,每个用户都有一个库,存放库的各种关系等

FS 文件及路径。 FS刚创建的时候是没有的因为你没有文件(笑)

Branch 这个怎么解释也优点怪怪的,先放到一边,反正现在也没有

Block 文件会分成块进行存储的, Block保留这些块的类似顺序流和切分算法之类的信息。

再看seahub_db 简直更不当人,一堆东西,不过我们至少可以明确:

admin, user, share ,registration, profile等等信息都放在这里

啥意思呢; 除了文件,剩下辅助的 账号,密码,文件共享记录,注册, 邮箱操作等全在这,属于是附操作全了。这种数据库的管理应该也是多亏了django的ORM, 这些东西具体用到的时候在从源码里去看去读把。总之我们先搞定一个管理员账号。看了上面的一堆,我们先从最贱的搞起, 根据文档我们可以用reset-admin.sh搞定:https://www.kancloud.cn/kancloud/seafile-manual/51432

# 我们来读一下这个shSCRIPT=$(readlink -f "$0")
INSTALLPATH=$(dirname "${SCRIPT}")
TOPDIR=$(dirname "${INSTALLPATH}")
default_ccnet_conf_dir=${TOPDIR}/ccnet
central_config_dir=${TOPDIR}/conf# 有没有装python
function check_python_executable() {if [[ "$PYTHON" != "" && -x $PYTHON ]]; thenreturn 0fiif which python2.7 2>/dev/null 1>&2; thenPYTHON=python2.7elif which python27 2>/dev/null 1>&2; thenPYTHON=python27elseechoecho "Can't find a python executable of version 2.7 or above in PATH"echo "Install python 2.7+ before continue."echo "Or if you installed it in a non-standard PATH, set the PYTHON enviroment varirable to it"echoexit 1fi
}function read_seafile_data_dir () {seafile_ini=${default_ccnet_conf_dir}/seafile.iniif [[ ! -f ${seafile_ini} ]]; thenecho "${seafile_ini} not found. Now quit"exit 1fiseafile_data_dir=$(cat "${seafile_ini}")if [[ ! -d ${seafile_data_dir} ]]; thenecho "Your seafile server data directory \"${seafile_data_dir}\" is invalid or doesn't exits."echo "Please check it first, or create this directory yourself."echo ""exit 1;fi
}check_python_executable;
read_seafile_data_dir;export CCNET_CONF_DIR=${default_ccnet_conf_dir}
export SEAFILE_CONF_DIR=${seafile_data_dir}
export SEAFILE_CENTRAL_CONF_DIR=${central_config_dir}
export PYTHONPATH=${INSTALLPATH}/seafile/lib/python2.6/site-packages:${INSTALLPATH}/seafile/lib64/python2.6/site-packages:${INSTALLPATH}/seahub/thirdpart:$PYTHONPATH
export PYTHONPATH=${INSTALLPATH}/seafile/lib/python2.7/site-packages:${INSTALLPATH}/seafile/lib64/python2.7/site-packages:$PYTHONPATH# 前面都是环境准备,我们看一眼manage.py
manage_py=${INSTALLPATH}/seahub/manage.py
exec "$PYTHON" "$manage_py" createsuperuser

虽然但是,没有pycharm看这个还是有点伤的,不过这个关键字应该很有印象。没错,这是用django的createsuperuser接口(我这的一层一层的往下翻了,感性却的小伙伴可以自己翻翻看)。

所以几乎可以确定这是一个纯纯Django框架部署的东西了,当然我也懒得往下翻了,咱直接查看Django root的数据库, 找到auth_user,真的有,就是放管理员的地方。至此我们可以选择修改数据库创建超级用户 天真, 数据库的密码是以sha256的格式存放的,所以不能直接铭文存储,最好还是用脚本哒

这里更详细的解析我就不做了,咱们完成最后一步Nginx的部署

命途多舛了兄弟们,国内的机子URL都要去备案,那没办法了我就不搞了,弄了半天竹篮打水一场空,呵。 这里再强调一个问题,seafile的文件上传下载依赖于80端口,docker配置的时候把80端口映射出来,然后再conf/ccnet.conf 以及网页管理员的URL里面改成80的映射端口,不然就会像我一样麻了改3个小时还是上传下载失败

这篇关于Seafile网盘安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/662306

相关文章

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p