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

相关文章

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地