基于阿里云服务器ECS和宝塔面板,适合初学者的蚂蚁笔记(Leanote)超详细配置教程(但是真的不好用)

文章目录

      • 前言
        • 环境准备
        • 蚂蚁笔记(Leanote)介绍
      • 一、设置安全组、配置规则
      • 二、安装 Leanote 二进制版
      • 三、安装MongoDB
      • 四、导入Leanote初始数据
      • 五、配置 Leanote
        • 5.1 给Leanote数据库创建用户和密码,增加安全性
        • 5.2 重新启动MongoDB
        • 5.3 编辑Leanote配置文件
      • 六、运行Leanote
        • 6.1 运行Leanote
        • 6.2 加入后台运行
        • 6.3 为Leanote指定超级管理员帐户(==待解决==)
      • 七、配置域名
      • 八、数据的备份与恢复
        • 8.1 数据备份
        • 8.2 数据恢复
      • 参考资料

最新更新(2022年11月1日)

之前作死进了Leanote的坑,折腾了几天确实能搭建出一个勉强能用的,但还是有些问题没解决:

  1. 那个软件最新版本都是几年前了,现在有没有人维护都是个问题;
  2. 搭建后同步有问题,在网页端编辑后,桌面端(Windows)的数据和网页不一致;
  3. 不知道更改了超级管理员用户后怎么改回来;
  4. 对Markdown的支持貌似不怎么完美,连这个高亮都显示不出来,也许是我不会吧;
    基于阿里云服务器ECS和宝塔面板,适合初学者的蚂蚁笔记(Leanote)超详细配置教程(但是真的不好用)_第1张图片
  5. 渲染并不是同步的,编辑窗口和预览窗口各自有滚动条;
    总之用着各种别扭,留下这篇文章也算是对踩坑的总结吧,目前在跟着大佬的一篇文章试着搭配云笔记,目前没有明显硬伤,下面是地址:
    基于Joplin+PicGo+阿里OSS搭建自己的云笔记
    如果你你真的想试试Leanote,那就看我这篇就好,搭建出来自己感受下,否则的话我强烈建议你别往下看了,别浪费自己宝贵的时间!

前言

自己之前买了台阿里云的服务器,做了一个Wordpress网站,也没啥流量,突发奇想闲着也是闲着,要不用服务器搞一个笔记应用,方便平时记记笔记,希望能满足下列需求:

  • 多端同步
    最好是桌面端的Windows,Macos,Linux,移动端的苹果和Android都能同步,我自己主要是Windows和Android能同步就好了,电脑端做笔记,移动端主要是利用零碎时间复习下笔记而已;

  • 数据安全
    数据存储下自己的服务器上,不用担心哪天笔记厂商倒闭了,或者是应用下架了等不可控状况,自己心血都没了;

  • 支持Markdown语法
    能够支持Markdown语法,我才开始学Markdown,好像用这个写文章很方便的样子;希望学会之后能够方便使用Markdown写作提升效率;

  • 数据备份及恢复
    数据虽然存储在服务器,但有时候避免不了需要更换服务器什么的,这时候能方便的进行数据备份和恢复就显得尤为重要;

基于上面的需求,我开始了漫漫寻找之路,终于了解到了蚂蚁笔记(Leanote)这个笔记软件,看了N多篇教程,踩了N多坑,折腾了几天,总算是的搭建出能用的了。但是因为我也是新手,很多东西只能跟着别人的教程慢慢摸索,本文也只争对和我有类似需求和经历的新手,算是对之前踩坑的总结吧,有不对的地方或更高效的办法能解决的问题还希望大神们不吝赐教!

如同上面说的,我同时也在尝试Joplin,好像更喜欢Joplin一点,而且有大佬做了详细的教程,同样可以满足上面的需求,笔记同步各种云或者云对象存储,链接已经放在文章开头了,不过Leanote这个坑既然踩了,总得填上才是。

环境准备

  1. 阿里云服务器(其他云服务器也是类似的),并且已经安装了宝塔面板,前面说过我已经装了一个Wordpress网站了,所以服务器的配置及宝塔面板的安装我就不展开了,有不知道的小伙伴自己搜一下;
  2. Leanote,软件下载地址:http://leanote.org/#download
  3. MongoDB,https://www.mongodb.com/try/download/enterprise,不过本文是基于宝塔面板,所以 MongoDB是通过宝塔安装的。
  4. 一个已经备案的域名(可选),如果你手上有已经备过案的域名的话,通过一些配置就可以直接通过域名访问笔记应用,但这步不是必须的,没有域名通过IP地址和端口一样可以访问的。

蚂蚁笔记(Leanote)介绍

Leanote是一款开源云笔记软件,使用Go的Web框架revel和MongoDB开发完成。支持多语言,多用户,有非常好的笔记记录体验,本文介绍 Leanote 二进制版的安装方法(Mac,Linux用户)。

一、设置安全组、配置规则

登陆阿里云服务器后台,在安全组设置里面添加安全组规则,打开以下端口:443(https)80(http)9000(Leanote),授权对象:0.0.0.0/0

因为我之前已经在服务器上放了一个网站,其他端口比如宝塔面板(8888),MySQL数据库(3306),FTP被动模式常用端口(39000/40000),FTP(文件传输)协议代理服务器(20/21),phpmyadmin(888),SSH远程连接(22)等端口我都已经打开过了,所以现在只需要打开9000端口就行,如果你服务器是第一次配置,打开上面端口至少可以保证笔记应用不出问题,如果是建站的话,记得去搜一下阿里云服务器ECS的安全组配置。

二、安装 Leanote 二进制版

点击下载 Leanote 最新二进制版,http://leanote.org/#download。

通过上面的地址下载压缩包后,登陆宝塔面板,选择文件,进入相应的目录,上传下载的压缩包并解压,我是将leanote解压到www目录,对应的文件地址应该是:/www/leanote,具体可以参照下面图片:

基于阿里云服务器ECS和宝塔面板,适合初学者的蚂蚁笔记(Leanote)超详细配置教程(但是真的不好用)_第2张图片 基于阿里云服务器ECS和宝塔面板,适合初学者的蚂蚁笔记(Leanote)超详细配置教程(但是真的不好用)_第3张图片

三、安装MongoDB

在宝塔面板搜索MongoDB并安装,安装后应该就是默认启动的,如果没启动,自己启动一下 MongoDB 服务即可。就是不知道为啥选择安装的是4.4版本,装上后显示的是4.0.10,更新也不行,不知道什么原因?不过应该没啥影响。


汇智网—点击查看MongoDB数据库相关命令
菜鸟教程—点击查看MongoDB数据库相关命令

基于阿里云服务器ECS和宝塔面板,适合初学者的蚂蚁笔记(Leanote)超详细配置教程(但是真的不好用)_第4张图片

测试 MongoDB 是否安装成功

这一步就要注意了,尤其对新手,输入命令的时候一定要注意当前所处的路径,在终端输入mongo命令之后再输入show dbs,有的人(比如我)当前面是这个">“符号,我输入"mongo"报错,当前面一个”#“号在哪里闪,我却在输入"show dbs”,也报错,还以为ssh软件有问题,看到这里老鸟估计得笑死…

$> mongo
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

正确的应该如下图:


基于阿里云服务器ECS和宝塔面板,适合初学者的蚂蚁笔记(Leanote)超详细配置教程(但是真的不好用)_第5张图片

MongoDB安装到此就完成了, 下面为MongoDB导入Leanote初始数据。

四、导入Leanote初始数据

我之前的Leanote是直接解压在www目录下,你根据自己的实际情况更改为相应的目录。

注意:输入命令一定要注意路径,之前我通过堡塔远程工具输入命令,在这一步老是出错,死活进行不下去,后来才发现是自己没注意命令的路径,毕竟新手也不懂相关命令,卡了了好久。

$> mongorestore -h localhost -d leanote --dir /www/leanote/mongodb_backup/leanote_install_data/

五、配置 Leanote

5.1 给Leanote数据库创建用户和密码,增加安全性

# 首先切换到leanote数据库下
> use leanote;

# 添加一个用户root, 密码是abc123
> db.createUser({
    user: 'root',
    pwd: 'abc123',
    roles: [{role: 'dbOwner', db: 'leanote'}]
});

# 测试下是否正确
> db.auth("root", "abc123");

1 # 返回1表示正确

用户添加好后重新运行下MongoDB, 并开启权限验证. 在Mongod的终端按ctrl+c即可退出MongoDB.

5.2 重新启动MongoDB

注意重启的时候去宝塔后台检查下MongoDB的配置文件,里面有数据文件存放的地址,我的是:/www/server/mongodb/data,不用命令的话直接在宝塔后台点击重启即可。

基于阿里云服务器ECS和宝塔面板,适合初学者的蚂蚁笔记(Leanote)超详细配置教程(但是真的不好用)_第6张图片

$> mongod --dbpath /www/server/mongodb/data --auth

5.3 编辑Leanote配置文件

熟悉Vim的朋友可以使用下面的命令编辑,像我等新手还是推荐直接找到文件的路径,直接在宝塔打开编辑就行,如下图:

vim /www/leanote/conf/app.conf  //打开配置文件,修改以下几项

site.url=http://你的外网访问域名:9000

db.host=localhost  //mongodb地址
db.port=27017     //mongodb端口
db.dbname=leanote  // 数据库名字
db.username=root   //之前创建的数据库用户名
db.password=abc123  //之前创建的数据库密码

app.secret = 'sdggertwertsdfsd' //任意修改填写 

基于阿里云服务器ECS和宝塔面板,适合初学者的蚂蚁笔记(Leanote)超详细配置教程(但是真的不好用)_第7张图片

好了,完成了MongoDB和Leanote的安装配置,接下来就看能不能访问了。

六、运行Leanote

6.1 运行Leanote

注意: 在此之前请确保MongoDB已在运行!

新开一个窗口, 运行:

$> cd /opt/leanote/bin  //进入可执行文件的目录
$> bash run.sh  //启动leanote

最后出现以下信息证明运行成功:

...
Listening on..0.0.0.0:9000

然后打开浏览器输入: http://localhost:9000,就可以体验leanote了。

注意

  1. localhost改成你服务器真实的IP地址
  2. bash run.sh命令只有在窗口运行时候,前端才能访问,如果关闭窗口,则无法访问leanote,所以我们需要将设置下让bash run.sh在我们关闭窗口后任然能够运行,具体操作如下;

6.2 加入后台运行

cd /www/leanote/bin //进入可执行文件的目录
nohup bash run.sh& //让程序在后台运行

注意:这里前往别忘记加命令末尾的"&",网上有的教程就没有加,否则会提示错误:

ignoring input and appending output to 'nohup.out'

6.3 为Leanote指定超级管理员帐户(待解决

Leanote默认超级管理员为admin, 用户名可以点击右上角的头像,选择个人中心,点击账户信息进行修改,但注意只能修改一次,一旦不小心修改了用户名就不能改回了,而且经过测试,超级管理员的权限也会没有了,我在网上搜了下,说是下面方法可以指定超级管理员账户,但经过测试不能用,不知道是不是打开姿势不对,希望有知道的大佬指点下我再更新文章。


# 修改配置文件app.conf, 比如指定用户life为超级管理员, 修改或/添加一行:

adminUsername=life


七、配置域名

为了方便起见或者看着舒服,我们可以配置一个域名。假设域名为:http://apple.cn,通过宝塔面板配置的方法如下:

宝塔后台添加网站,在网站右侧的网站设置选项添加"反向代理",在"目标URL"中输入:http://IP:9000,保存后就可以通过域名访问笔记了,如下图:

基于阿里云服务器ECS和宝塔面板,适合初学者的蚂蚁笔记(Leanote)超详细配置教程(但是真的不好用)_第8张图片

基于阿里云服务器ECS和宝塔面板,适合初学者的蚂蚁笔记(Leanote)超详细配置教程(但是真的不好用)_第9张图片

注意

  1. 有个疑问是建站的时候不知道需不需要同时建MySQL数据库,我是建了的,不知道有什么影响,麻烦知道的大神给指点下;
  2. 域名要提前备案,并解析到服务器

八、数据的备份与恢复

最后再来聊一下笔记数据的备份和迁移问题,这个尤为重要,毕竟折腾半天主要就是期望有这个功能。

8.1 数据备份

  • 概述

在MongoDB中我们可以在不停止服务的情况下使用mongodump命令来备份MongoDB数据,该命令可以导出所有数据库到指定目录中。

  • 语法

mongodump命令脚本语法如下:

mongodump -h dbhost -d dbname -o dbdirectory

-h:MongoDB所在服务器地址,对于本教程可以直接写:localhost,代表的就是你服务器。

-d:需要备份的数据库实例,例如:leanote,也就是数据库的名字。

-o:备份的数据存放位置,例如:/www/server/mongodb/data/leanote-bak

  • 实例

执行下面的mongodump命令,系统自动在leanote-bak目录下建立一个leanote目录,这个目录里面存放leanote这个数据库实例的备份数据。

mongodump -h localhost -d leanote -o /www/server/mongodb/data/leanote-backup

8.2 数据恢复

  • 概述

数据备份好后,以后如果想换服务器或者换平台,需要把数据迁移过去,就需要用到mongorestore命令。其实前面导入leanote数据的时候就用过这个命令,这里详细介绍下。

  • 语法
 >mongorestore -h <:port> -d dbname 

-h:MongoDB所在服务器地址,对于本教程可以直接写:localhost,代表的就是你服务器的IP地址;命令也可以写成–host <:port>, -h <:port>,后面加端口号,不写就是默认:27017

-d:需要恢复的数据库实例,例如:leanote,也就是数据库的名字当然这个名称也可以和备份时候的不一样,比如test2

:mongorestore 最后的一个参数,设置备份数据所在位置,例如:/www/leanote-backup/leanote。你不能同时指定 和 --dir 选项,–dir也可以设置备份目录。

: 主要常用上面三个命令,下面两个不常用。

–dir:指定备份的目录,你不能同时指定 和 --dir 选项。

–drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!

  • 实例

执行下面的mongorestore命令,系统自动将/www/leanote-backup/leanote目录下的数据恢复到leanote这个新建的数据库。

mongorestore -h localhost -d leanote  /www/leanote-backup/leanote

参考资料

  1. leanote官方安装文档,Mac,Linux用户的二进制版安装,点击查看
  2. leanote 安装/配置问题汇总,点击查看
  3. 为羊哥点赞,利用云服务器搭建私人云笔记,点击查看
  4. 基于宝塔面板使用 Leanote 搭建自己专属的云笔记,点击查看
  5. 菜鸟教程—MongoDB数据库教程,点击查看
  6. 汇智网—MongoDB数据库教程,点击查看
  7. 基于Joplin+PicGo+阿里OSS搭建自己的云笔记

你可能感兴趣的:(markdown笔记软件,编辑器)