【编辑】蚂蚁笔记服务端搭建(Windows版)

【编辑】蚂蚁笔记服务端搭建(Windows版)

【编辑】蚂蚁笔记服务端搭建(Windows版)

独立观察员 2022年2月2日

原文:

https://github.com/leanote/leanote/wiki/Leanote - 二进制版详细安装教程 ----Windows

安装步骤:

  1. 下载 leanote 二进制版。
  2. 安装 mongodb
  3. 导入初始数据。
  4. 配置 leanote
  5. 运行 leanote

 

1. 下载 leanote 二进制版

下载 leanote 最新二进制版 , 请根据系统选择相应文件。

假设将文件下载到 C: 下并解压,现在应该有 C:leanote

 

2. 安装 mongodb

2.1 安装 mongodb

到 mongodb 官网 下载相应系统的最新版安装包。一直点击下一步默认安装。

 

Windows 平台安装 MongoDB (菜鸟教程,供参考,可能已过时)

 

[dlgcy.com] 在官网下载社区版 https://www.mongodb.com/try/download/community :

【编辑】蚂蚁笔记服务端搭建(Windows版)插图

 

下载后默认安装即可,记得勾上 MongoDB Compass,是一个图形化管理工具:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图1

 

安装后打开安装目录的 bin 目录,可以看到 mongod.cfg 配置文件,.bat 文件是我后来建的:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图2

 

先看看配置文件,可以手动修改数据存储目录、日志目录、IP 和端口等:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图3

 

然后看看几个便捷操作的批处理文件:

1、安装 Install.bat:

mongod.exe --config "C:\Program Files\MongoDB\Server\5.0\bin\mongod.cfg" --install
pause

 

2、移除 Remove.bat:

mongod.exe --remove
pause

 

3、启动 Start.bat:

net start MongoDB
pause

 

4、停止 Stop.bat:

net stop MongoDB
pause

 

2.2 连接数据库

打开 MongoDB Compass,可以直接粘贴连接字符串(可运行 mongo.exe 查看)进行连接,但是我没有成功,这里我们点击右上角的链接:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图4

 

切换为表单的形式:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图5

 

直接使用默认的 localhost 和 27017 端口,点击 Connect 按钮即可连上数据库:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图6

 

2.3 安装数据库命令行工具

方法:https://docs.mongodb.com/database-tools/installation/installation-windows/

【编辑】蚂蚁笔记服务端搭建(Windows版)插图7

 

下载并安装:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图8

 

配置环境路径

右键电脑 -- 属性 -- 高级系统设置 -- 环境变量:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图9

 

选择系统变量中的 Path 并点击编辑:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图10

 

点击新建,然后点击浏览,选择安装工具的目录:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图11

 

比如我这里的目录是 C:Program FilesMongoDBTools100bin,选择好了点击确定:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图12

 

3. 导入初始数据

打开 cmd,使用导入命令导入蚂蚁笔记数据库:

mongorestore -h localhost -d leanote --dir C:\leanote\mongodb_backup\leanote_install_data

 

执行命令:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图13

 

导入成功:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图14

 

点击 MongoDB Compass 的 View--Reload Data 进行刷新数据:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图15

 

可以看到导入的蚂蚁笔记的原始数据库:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图16

 

注意:导入成功的数据已经包含 2 个用户

user1 username: admin, password: abc123 (管理员, 只有该用户可以管理后台)  
user2 username: demo@leanote.com, password: demo@leanote.com (仅供体验使用)​

 

4. 配置 leanote

leanote 的配置存储在文件 conf/app.conf 中。

请务必修改 app.secret 一项,在若干个随机位置处,将字符修改成一个其他的值,否则会有安全隐患!

其它的配置可暂时保持不变,若需要配置数据库信息,请参照 leanote 问题汇总

 

5. 运行 leanote

以 管理员权限 打开 cmd,输入:

$> cd C:\leanote\bin
$> run.bat 

 

或者以管理员身份运行 run.bat:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图17

 

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

...
TRACE 2013/06/06 15:01:27 watcher.go:72: Watching: /home/life/leanote/bin/src/github.com/leanote/leanote/conf/routes
Go to /@tests to run the tests.
Listening on :9000... 

 

恭喜你,打开浏览器输入: http://localhost:9000 体验 leanote 吧!

 

客户端可登陆自建服务:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图18

 

【编辑】蚂蚁笔记服务端搭建(Windows版)插图19

 

注意!!!!!!!!!!!!!!

按照本教程启动 Mongodb 是没有权限控制的,如果你的 Leanote 服务器暴露在外网,任何人都可以访问你的 Mongodb 并修改,所以这是极其危险的!!!!!!!!!!!请务必为 Mongodb 添加用户名和密码并以 auth 启动,方法请见: 为 mongodb 数据库添加用户

 

leanote 安装 / 配置问题汇总

如果运行有问题或想要进一步配置 leanote, 请参照 leanote 问题汇总

目录:

 

[dlgcy] 启动脚本很容易被终止

启动成功后,稍微点击或移动一下 cmd 窗口,会出现 “终止批处理操作吗 (Y/N)?",然后在有动作就会关闭了,输入 N 也一样:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图20

 

解决方法:把开头的 @echo off 注释掉即可(:@echo off):

【编辑】蚂蚁笔记服务端搭建(Windows版)插图21

 

不能通过 IP 访问

2.6 版默认绑定 localhost, 不能通过 ip 访问 Leanote,

请修改 app.conf

http.addr=0.0.0.0 # listen on all ip addresses

 

重启 Leanote。

 

还要注意在服务器相关安全设置中放行端口。

 

为什么需要 site.url

site.url 是外网可访问的域名,比如你可以配置为 http://a.com, 但在运行 leanote 可以设端口为 9000, 再通过 Nginx 转发到 9000. 如果外网地址是 80 端口,请不要填写 http://a.com:80, 而只要为 http://a.com 即可 !

 

site.url 用于生成笔记内的图片 / 附件路径.

若使用 nginx 转发到 https 方式部署 leanote,site.url 需要配置成 https://a.com ;否则在博客页面输出的 css 和 js 是以 http 链接形式展现在 html 中,高版本浏览器比如 firefox 会直接 block 掉这部分内容,从而页面显示不正常。更多信息请查看 https://github.com/leanote/leanote/issues/228

 

客户端不能同步图片

请确保 conf/app.conf 的 site.url 和在客户端登录时填写的自建服务地址相同!

 

[dlgcy] MongoDB Compass 运行不显示界面的问题

重新从官网(https://www.mongodb.com/try/download/shell)下载安装:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图22

 

为 mongodb 数据库添加用户

像 mysql 一样有 root 用户,mongodb 初始是没有用户的,这样很不安全,所以要为 leanote 数据库新建一个用户来连接 leanote 数据库 (注意,并不是为 leanote 的表 users 里新建用户,而是新建一个连接 leanote 数据库的用户,类似 mysql 的 root 用户).

。。。。。。

 

mongodb 创建用户如下:

# 首先切换到leanote数据库下
> use leanote;
# 添加一个用户root, 密码是abc123
> db.createUser({
    user: 'root',
    pwd: 'abc123',
    roles: [{role: 'dbOwner', db: 'leanote'}]
});
# 测试下是否正确
> db.auth("root", "abc123");
1 # 返回1表示正确

 

[dlgcy] 在 MongoDBCompass 的命令区进行执行:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图23

 

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

启动 mongodb:

$> mongod --dbpath /home/user1/data --auth

 

[dlgcy] 也可以在 “服务” 中进行操作:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图24

 

mongodb 的 auth 启动,配置文件中的配置项为:

security:
  authorization: 'enabled'
  keyFile: C:\MongoDbData\etc\keyFile
  clusterAuthMode: "keyFile"

 

如下图:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图25

 

新建 keyFile 文件,里面随便输入一些内容(长度为 6-1024 的 base64 字符):

【编辑】蚂蚁笔记服务端搭建(Windows版)插图26

 

还要修改配置文件 : 修改 leanote/conf/app.conf:

db.host=localhost
db.port=27017
db.dbname=leanote # required
db.username=root # if not exists, please leave blank
db.password=abc123 # if not exists, please leave blank​

 

[dlgcy] 使用密码后启动蚂蚁笔记没有成功:
panic: server returned error on SASL authentication step: BSON field 'saslContinue.mechanism' is an unknown field.

 

【编辑】蚂蚁笔记服务端搭建(Windows版)插图27

 

而使用工具是可以连接的:

【编辑】蚂蚁笔记服务端搭建(Windows版)插图28

 

2 Comments

yidong Posted on07:18 - 2022年4月8日

BSON field 'saslContinue.mechanism' is an unknown field.

这个问题解决了么

    独立观察员 Posted on22:29 - 2022年4月15日

    没有

Leave a Reply