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

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

mac安装brew 与 HomeBrew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh >> brew_install BREW_REPO="