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

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

在这里插入图片描述


前言

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


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

一、Lightsail实例介绍

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

在这里插入图片描述

官方提供的案例场景:

  • 启动简单的 Web 应用程序

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

  • 构建小型业务应用程序

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

  • 启动测试环境

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

扫描二维码关注公众号,回复: 17151904 查看本文章

简单来说,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.gz

tar -zxvf seafile-server_10.0.1_x86-64.tar.gz

cd  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 -p

mysql> 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:            seafile
    server ip/domain:       3.36.53.6
    seafile 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更好地服务团队协作需求。同时也感谢亚马逊云提供这样一个很好的平台作实战学习与验证。 这次参与测评也给了我们贵的学习体会。以后项目如果有类似需求,云端部署将是首选。这将是我们未来云化应用的重要参考案例。

猜你喜欢

转载自blog.csdn.net/hacks8/article/details/134573747