『亚马逊云科技产品测评』活动征文|搭建跨平台知识管理Seafile

本文主要是介绍『亚马逊云科技产品测评』活动征文|搭建跨平台知识管理Seafile,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提示:授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道

在这里插入图片描述

文章目录

  • 前言
  • 一、Lightsail实例介绍
  • 二、Lightsail实例创建
  • 三、Seafile介绍
  • 四、Seafile环境搭建
    • 4.1 下载seafile
    • 4.2 按照Mysql
    • 4.3 初始化Mysql
  • 五、运行Seafile以及预览
    • 5.1 初始化seafile
    • 5.2 启动seafile server 和 seahub
    • 5.3 预览seahub
    • 5.4 放开8000端口
  • 六、总结


前言

话说以前我们组织文件的工作都很混乱,项目文档和资料分散在各种地方,想查找资料常常要翻天翻地。后来我就想开发一个在线的知识管理系统方便统一管理。去年随手试用过开源项目Seafile,发现它功能强大易用,正好满足我们的需求。我们就打算基于AWS Lightsail来搭建Seafile的在线版本。最近逛CSDN发现亚马逊云的这个测评活动,我看了很感兴趣!这又给了我参与这个测评的理由。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Lightsail实例介绍

  • 详情文档:https://aws.amazon.com/cn/lightsail/?nc2=h_ql_prod_fs_ls

在这里插入图片描述

官方提供的案例场景:

  • 启动简单的 Web 应用程序

使用预配置的开发堆栈,如 LAMPNginxMEANNode.js,以快速轻松地上网。
创建自定义网站

  • 构建小型业务应用程序

使用预配置的应用程序,如 WordPressMagentoPrestashopJoomla,只需几次点击,就可以构建和个性化您的博客、电子商务或个人网站。

  • 启动测试环境

启动业务线软件,如文件存储和共享、备份、财务和会计软件等等。

简单来说,Lightsail其实就是给小白朋友设计的一个超简单的虚拟服务器。和传统VPS不同,它不但很经济实惠,配置起来轻松简单。支持LinuxWindows系统。我们只需选择系统和资源就可以随时开箱即用了。

更重要的是Lightsail出众的简化设计思路。公网IP、带宽、安全组这些网络设置,一键就全搞定了。部署常见应用也一键可选择,像Linux环境直接选择就能运行一个面向PHPLAMP环境!而且和亚马逊云生态完美连接,这个物理资源安全可靠,性能监控也到位。

二、Lightsail实例创建

首先注册AWS账号,可以免费领取12个月EC2和3个月Lightsail,然后转入到Lightsail的控制台,点击创建实例进入创建页面

  • 可用区选择

Lightsail提供多个可用区,我们选择离业务最近的地区即可,这里我就选择 Seoul,大家可以通过点击切换可用区进行选择合适的

在这里插入图片描述

随时都可以很方便地切换

在这里插入图片描述

对应的,我们实例需要运行的平台是 Linux,所以我这里选择了 Linux + Ubuntu22.04 作为咱们今天的部署环境

在这里插入图片描述

注意的是咱们选择的是 OS Only,因为我们只需要一个干净的操作系统即可

在这里插入图片描述

关于这个密钥,大家如果想自定义的话可以直接创建,但是创建之后要第一时间下载到本地,因为只支持一次下载,AWS不会存储咱们的密钥

在这里插入图片描述

根据需求选择好自己的配置后,输入实例的唯一标识,点击创建就开始启动实例了

在这里插入图片描述
这个状态就是实例已经正常运行,可以进行环境部署了!

三、Seafile介绍

Seafile 是一款开源的企业云盘,注重可靠性和性能。支持 Windows, Mac, Linux, iOS, Android 平台。支持文件同步或者直接挂载到本地访问。Seafile 主要注重的是文件安全工作,写一个基本的文件同步工具是件简单的事情,但是要保证在各种极端的场合下都能正确的工作、不丢数据是件不容易的事情。Seafile 专注文件同步的可靠性。同步算法经过 3 年的不断改进和数十万用户的使用,已经非常可靠。Seafile 的文件历史和资料库镜像机制保证了文件可随时方便的恢复到任意历史状态。
其拥有如下特点:

  • 可靠的文件同步

    文件组织成资料库。每个资料库可选择性的同步到任意设备。可靠高效的文件同步将提高您的工作效率。

  • 挂载盘客户端

    直接通过本地 S 盘来访问云端文件,不占用本地存储。为电脑提供服务器的海量存储空间。同操作系统无缝集成,还可以离线修改文件。

  • 团队协作

    可以共享文件到群组。权限管理、版本控制、事件通知让协作更为流畅。

  • 高性能

    Seafile 服务器内核由 C 语言编写。运行起来小巧快速。

  • Wiki 与知识管理

    融合 Wiki 与网盘的功能,使用 Markdown 格式以所见即所得方式编辑 Wiki 文档,提供搜索、标签、评审等知识管理功能,支持对外发布 Wiki 内容。

  • 适用于企业环境

    可与 AD/LDAP 集成。可同步 AD 群组和用户信息。

在这里插入图片描述

四、Seafile环境搭建

我们先通过 ssh 客户端连接到 Lightsail 实例,然后准备去下载 Seafile,下载地址:

  • https://www.seafile.com/download/

在这里插入图片描述可以看到 Linux 服务端是支持到了 Debian11Ubuntu22.04 的,也就是可以正常在我们系统上运行

4.1 下载seafile

  • 提权
sudo su
  • 进入家目录
cd ~
  • 更新源
apt-get update
  • 下载安装包
wget https://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_10.0.1_x86-64.tar.gztar -zxvf seafile-server_10.0.1_x86-64.tar.gzcd  seafile-server_10.0.1

在这里插入图片描述解压后这里我们可以看到有很多可执行脚本:

  • reset-admin.sh 重置管理员
  • seafile.sh seafile服务脚本
  • seahub.sh seahub网站脚本
  • setup-seafile-mysql.sh 初始化mysql脚本
  • setup-seafile.sh 初始化seafile脚本

这里在启动 seafile 还需要做一些初始化的操作

4.2 按照Mysql

因为seafile是需要一个持久数据库的,这里是通过mysql进行数据存储,所以我们需要提前安装一下

  • 安装
sudo apt-get install mysql-server
  • 修改密码

默认是密码为空

sudo mysql -u root -pmysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '123456';
Query OK, 0 rows affected (0.00 sec)mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)mysql> exit
Bye

4.3 初始化Mysql

这里我们运行:

./setup-seafile-mysql.sh

这个脚本会提示我们进行一步步初始化操作

在这里插入图片描述

首先会让我们输入自己的服务名称,然后再配置端口,默认是 8082

在这里插入图片描述

这里会让我们选择创建一个新的数据库还是使用一个存在的,我们第一次部署,所以创建新的即可,按照提示输入 mysql 的服务配置,ip、账号密码

---------------------------------This is your configuration--------------------------------- 
server name:            seafileserver ip/domain:       3.36.53.6seafile data dir:       /home/ubuntu/seafile-data    fileserver port:        8082    database:               create new    ccnet database:         ccnet-db    seafile database: seafile-db    seahub database:        seahub-db   database user:          seafile

在这里插入图片描述
这里就完成了Mysql的初始化操作了,可以看到这里也说了如何启动服务

run seafile server:     ./seafile.sh { start | stop | restart }
run seahub  server:     ./seahub.sh  { start <port> | stop | restart <port> }

启动 seafile server 只需要执行 : ./seafile.sh start
启动 seahub server 只需要执行 : ./seahub.sh start

五、运行Seafile以及预览

5.1 初始化seafile

  • 执行初始化脚本
./setup-seafile.sh

这里会提示我们没有 sqllite3,我们需要安装一下依赖

在这里插入图片描述

  • 安装sqlite3
apt-get install sqlite3

然后重新执行初始化即可完成检测

在这里插入图片描述

5.2 启动seafile server 和 seahub

  • 启动命令
./seafile.sh start

在这里插入图片描述以上状态就是启动完成,然后我们开始启动seahub

./seahub.sh start

在这里插入图片描述这里会让我们设置一下管理的账号和密码,等会用来登录的,全部启动完成后,我们可以访问 8000 端口看到后台系统页面

5.3 预览seahub

通过ip + 端口8000,输入到浏览器中即可完成访问,这里大家可能访问不到,是因为防火墙没有放开 8000 端口,可以从实例详情的networking中放开

在这里插入图片描述

5.4 放开8000端口

在这里插入图片描述

六、总结

经过几番折腾,咱们这次 LightsailSeafile 的联合测试获得圆满成功。从测试过程可以看出,Lightsail的基础设施确保了Seafile各项指标的稳定性。而简单易用的Lightsail管理界面也让Seafile一键搭建部署的实现成为可能。此外,通过亚马逊云性能监控与检查功能,也保障了系统的安全性和可用性。相信以后我们可以基于Lightsail更好地服务团队协作需求。同时也感谢亚马逊云提供这样一个很好的平台作实战学习与验证。 这次参与测评也给了我们贵的学习体会。以后项目如果有类似需求,云端部署将是首选。这将是我们未来云化应用的重要参考案例。

这篇关于『亚马逊云科技产品测评』活动征文|搭建跨平台知识管理Seafile的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

全屋WiFi 7无死角! 华硕 RP-BE58无线信号放大器体验测评

《全屋WiFi7无死角!华硕RP-BE58无线信号放大器体验测评》家里网络总是有很多死角没有网,我决定入手一台支持Mesh组网的WiFi7路由系统以彻底解决网络覆盖问题,最终选择了一款功能非常... 自2023年WiFi 7技术标准(IEEE 802.11be)正式落地以来,这项第七代无线网络技术就以超高速

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Spring中管理bean对象的方式(专业级说明)

《Spring中管理bean对象的方式(专业级说明)》在Spring框架中,Bean的管理是核心功能,主要通过IoC(控制反转)容器实现,下面给大家介绍Spring中管理bean对象的方式,感兴趣的朋... 目录1.Bean的声明与注册1.1 基于XML配置1.2 基于注解(主流方式)1.3 基于Java

基于Python+PyQt5打造一个跨平台Emoji表情管理神器

《基于Python+PyQt5打造一个跨平台Emoji表情管理神器》在当今数字化社交时代,Emoji已成为全球通用的视觉语言,本文主要为大家详细介绍了如何使用Python和PyQt5开发一个功能全面的... 目录概述功能特性1. 全量Emoji集合2. 智能搜索系统3. 高效交互设计4. 现代化UI展示效果