title: Leanote蚂蚁笔记-私人云笔记服务器搭建
date: 2020-02-22 21:53:24
categories:
- [IT,技术]
- [IT,软件,程序]
- [IT,软件,搭建与配置] tags:
- leanote
- 蚂蚁笔记
- 笔记
- 搭建 comments: true
description:

leanote蚂蚁笔记

本文博客地址

目前在知识管理/笔记类软件领域有强大的印象笔记 (Evernote)、微软(OneNote)、国产的(为知笔记)、(有道云笔记)以及(讯飞语记)等都是非常优秀的产品,但总有一部分人会觉得“把自己的笔记放在别人兜里,心里不踏实”。

我一开始用的也是讯飞语记,刚开始还不懂,只是被它的语音识别和云同步所吸引。后来懂的越来越多,愈发觉得自己的一些笔记还是不要放别人的数据库里。碰巧,在阿里云的一篇学习文章里,我发现了leanote,于是乎,我也就进入了私人云笔记时代!

个人对leanote的理解:

简约、免费、开源、支持 Markdown 语法,支持程序代码高亮、笔记历史记录、支持笔记分享协作、将笔记发布成博客、云同步、多终端兼容(Windows、Mac、iOS、Linux、Android),最关键的:搭建私人云笔记。

介绍

Leanote, 不只是笔记!

Leanote 蚂蚁笔记是一款国产的在线网页版云笔记软件,集知识管理、笔记、分享、博客功能于一身,界面简约但功能不简单!

该项目采用 Golang+MongoDB 开发,现已完全开源并能免费使用。普通用户可以直接使用 Leanote 提供的公共服务,也可以自行搭建属于自己或公司局域网内的私有云笔记平台。

特性

  • 高效笔记:Leanote 有易操作的界面, 包含富文本编辑器和Markdown编辑器,让您的笔记记录更轻松和高效。对高阶用户,还提供Vim和Emacs编辑模式,助推你的写作速度更上层楼。
  • 知识管理: Leanote 灵活而强大的“笔记本-笔记-标签”系统,让它成为你个人知识管理的利器。
  • 分享: 你可以通过Leanote同好友分享知识、想法和经历, 邀请好友加入你的笔记簿,通过云端交流信息。
  • 协作: Leanote协助你与同事之间相互协作,激荡新思路,随时随地头脑风暴。
  • 博客: Leanote也可以作为你的个人博客, 把你的知识传播的更远!

其它特性

  • 支持Markdown编辑
  • 写作模式
  • Vim 及 Emacs 编辑模式
  • 支持PDF导出
  • 支持批量操作
  • 博客自定义主题, 实现高度定制化

leanote

下载准备

搭建leanote需要,leanote本体和MongoDB数据库支持。

首先,是leanote官方下载地址MongoDB官方下载地址,用这个可以马上使用到最新的产品。

然后,如果大家不想那么麻烦的去官方那里下载,或者官方链接已经丢失,可以私聊我获取文件。

写在前面

这里,我将介绍Windows版和Linux版的搭建过程。

{% button #Windows版安装, Windows版 %}

{% button #Linux版安装, Linux版 %}

Windows版安装

1、将下载的文件里面的leanote-windows-amd64-v2.6.1.bin.tar.gz文件解压到C盘(本文默认解压到了 C:\leanote)。

2、运行mongodb-windows-x86_64-4.4.2-signed.msi进行安装(本文默认解压到了 C:\MongoDB\Server\4.2)。

接下来的MongoDB的配置极其麻烦,这里我放到另一篇文章里,{% post_link "MongoDB数据库-安装与配置" %}


测试mongodb安装

打开cmd,输入:

cd C:\MongoDB\Server\4.2\bin
mongo

行首出现> 表示进入mongo 的交互程序。此时输入:

show dbs

出现

show dbs
admin 0.000GB
config 0.000GB
local 0.000GB

即安装成功

这个窗口可以先不要关

导入初始数据

打开新cmd, 运行以下命令

cd C:\MongoDB\Server\4.2\bin
mongorestore -h localhost -d leanote --dir C:\leanote\mongodb_backup\leanote_install_data

出现 “499 document(s) restored successfully. 0 document(s) failed to restore.” 表示结束,这样就完成了数据的导入

在刚才没关闭的窗口里,你再次使用show dbs命令时就会显示

show dbs
admin 0.000GB
config 0.000GB
leanote 0.002GB
local 0.000GB

{% note info %}

有时候leanote的数据库名字不是leanote,而是 ir那后面的配置文件里的数据库名字也要跟着改变

{% endnote %}

添加leanote数据库用户

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

打开cmd,进入bin目录,然后输入mongo进入数据库,再输入下面的命令

cd C:\MongoDB\Server\4.2\bin
mongo // 进入mongodb的交互程序
use leanote; // 切换到leanote数据库下,如果前面数据库名字是ir,这里也是ir

添加一个用户root, 密码是abc123

db.createUser({
user: 'root',
pwd: 'abc123',
roles: [{role: 'dbOwner', db: 'leanote'}]
});

测试下是否正确

db.auth("root", "abc123");

返回1表示正确

用户添加好后重启下mongodb服务。 (如果不会就去网上搜:重启Windows服务


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

找到以下参数,并修改为你之前配置的

db.host=127.0.0.1
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

{% note info %}

如果前面数据库名字是ir,这里的db.dbname= 也是 ir

{% endnote %}

除此之外,请务必修改app.secret一项, 在若干个随机位置处,将字符修改成一个其他的值, 否则会有安全隐患!其它的配置可暂时保持不变,或根据需要进行修改。

运行leanote

到了这一步,基本上可以宣告成功了

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

cd C:\leanote\bin
run.bat

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

Listening on :9000...

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

选择登录,默认管理员账号为admin,密码为abc123。登陆成功后选择右上角的后台管理,即可登录后台管理。

{% note primary 提示 %}

做到这里,leanote已经正常运行,但在电脑重启后,还需要再依次运行MongoDB server、leanote才能够正常使用,所以把 C:\leanote\bin\ 路径下的run.bat文件,创建一个快捷方式放到系统的启动里面即可,也可以放在桌面开机的时候手动启动。

如果你建在服务器上,那请自行将MongoDB服务设为自启,把Leanote启动文件配置为开机自动运行。

{% endnote %}

绑定域名

修改 C:\leanote\conf\app.conf 文件里的

http.port=80
site.url=http://localhost:9000

输入http://localhost:9000,假设ip地址是111.111.111.111,把localhost换成你的IP地址111.111.111.111即可,如果有域名,也可以把localhost换成你的域名

Linux版安装

下载

Leanote:

cd /home

wget https://sourceforge.net/projects/leanote-bin/files/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz/download

MongoDB:

cd /home

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-5.0.6.tgz

解压Leanote压缩包

假设已将文件下载到 /home/ 目录下,打开终端,通过使用下面的命令

cd /home

tar -xzvf leanote-linux-amd64-v2.6.1.bin.tar.gz

mkdir -p /home/software

mv /home/leanote /home/software/leanote

解压文件,从而在 /home/software 目录下生成 leanote目录

Mongodb 安装

{% post_link "MongoDB数据库-安装与配置" %}

导入Leanote初始数据

下面为MongoDB导入leanote初始数据。

leanote初始数据存放在/home/software/leanote/mongodb_backup/leanote_install_data中。

重新打开一个终端, 输入以下命令导入数据。

mongorestore -h localhost -d leanote --dir /home/software/leanote/mongodb_backup/leanote_install_data/

出现 “499 document(s) restored successfully. 0 document(s) failed to restore.” 表示结束,这样就完成了数据的导入

当你再次使用show dbs命令时就会显示

show dbs

admin    0.000GB
config 0.000GB
leanote 0.001GB
local 0.000GB

{% note info %}

有时候leanote的数据库名字不是leanote,而是 ir那后面的配置文件里的数据库名字也要跟着改变

{% endnote %}

初始数据的users表中已有2个用户:

user1 username: admin, password: abc123 (管理员, 只有该用户才有权管理后台, 请及时修改密码)
user2 username: demo@leanote.com, password: demo@leanote.com (仅供体验使用)

添加leanote数据库用户

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

打开终端,进入bin目录,然后输入mongo进入数据库,再输入下面的命令

cd /home/software/mongodb-5.0.6/bin
mongo // 进入mongodb的交互程序
use leanote; // 切换到leanote数据库下,如果前面数据库名字是ir,这里也是ir

添加一个用户root, 密码是abc123

db.createUser({
user: 'root',
pwd: 'abc123',
roles: [{role: 'dbOwner', db: 'leanote'}]
});

测试下是否正确

db.auth("root", "abc123");

返回1表示正确


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

找到以下参数,并修改为你之前配置的

db.host=127.0.0.1
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

{% note info %}

如果前面数据库名字是ir,这里的db.dbname= 也是 ir

{% endnote %}

除此之外,请务必修改app.secret一项, 在若干个随机位置处,将字符修改成一个其他的值, 否则会有安全隐患!其它的配置可暂时保持不变,或根据需要进行修改。

运行leanote

到了这一步,基本上可以宣告成功了。

新开一个窗口, 运行:(注意: 在此之前请确保mongodb已在运行!)

bash /home/software/leanote/bin/run.sh

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

Listening on :9000...

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

选择登录,默认管理员账号为admin,密码为abc123。登陆成功后选择右上角的后台管理,即可登录后台管理。

{% note primary 提示 %}

做到这里,leanote已经正常运行,但在电脑重启后,还需要再依次运行MongoDB、leanote才能够启动,所以可以把 Mongodb 创建一个服务项,并设为开机自启;把 leanote 设置为启动项。

{% endnote %}

绑定域名

修改 /home/software/leanote/conf/app.conf 文件里的

http.port=80

site.url=http://localhost:9000

输入http://localhost:9000,假设ip地址是111.111.111.111,把localhost换成你的IP地址111.111.111.111即可,如果有域名,也可以把localhost换成你的域名

leanote备份

笔记的备份还是非常有必要的,我曾经发生过mongodb崩溃、Leanote崩溃、服务器崩溃等等问题,虽然基本上都救回来了,但如果有备份的话,那一切都会更简单一点。

新建一个leanote_backup.sh脚本,输入以下内容:

#!/bin/bash

# 获得当前的时间
currentTime=$(date +%Y%m%d%H%M%S) mkdir -p /home/data/leanote_backup/new
mkdir -p /home/data/leanote_backup/old mv /home/data/leanote_backup/new/leanote_* /home/data/leanote_backup/old # mongodb备份命令
mongodump -h 127.0.0.1:27017 -d leanote -o /home/data/leanote_backup # 压缩为tar.gz文件
tar -zcvf /home/data/leanote_backup/new/leanote_${currentTime}.tar.gz /home/data/leanote_backup/leanote # 删除30天前的备份文件
# 类型匹配查找 -type ,f 为普通文件,d 为目录,l 为链接
find /home/data/leanote_backup/old/ -mtime +30 -type f -name "*.tar.gz" -exec rm -rf {} \; # 删除leanote备份文件夹
rm -rf /home/data/leanote_backup/leanote

然后要备份的时候就运行一下这个脚本。

当然,最好是配置一个定时任务,运行这个脚本。我就是用宝塔的计时任务配置的。

Leanote蚂蚁笔记-私人云笔记服务器搭建的更多相关文章

  1. Leanote 蚂蚁笔记 云笔记

    Leanote 蚂蚁笔记  1.Leanote 数据存储是使用mongo存放的,所以需要安装mongo包 1.MongoDB 数据存储 Leanote 依赖 MongoDB 作为数据存储,下面开始安装 ...

  2. CAS5.3服务器搭建与客户端整合SpringBoot以及踩坑笔记

    CAS5.3服务器搭建与客户端整合SpringBoot以及踩坑笔记 cas服务器的搭建 导出证书(1和2步骤是找了课程,随便写了一下存记录,不过对于自己测试不投入使用应该不影响) C:\Users\D ...

  3. Linux笔记③(ftp、nfs、ssh服务器搭建)

    1.ftp服务器搭建(利用vsftpd这个工具) 作用:文件的上传和下载 服务器端: 修改配置文件,配置文件目录:/etc/vsftpd.conf ,修改里面的允许匿名访问.指定匿名访问目录等操作,根 ...

  4. Git本地服务器搭建及使用详解

    Git本地服务器搭建及使用 Git是一款免费.开源的分布式版本控制系统.众所周知的Github便是基于Git的开源代码库以及版本控制系统,由于其远程托管服务仅对开源免费,所以搭建本地Git服务器也是个 ...

  5. [No000081]SVN学习笔记1-服务端搭建

    目录 一:SVN服务器搭建和使用. 1.首先来下载和搭建SVN服务器,地址http://subversion.apache.org/packages.html 2.安装完成后,启动VisualSVN ...

  6. SVN服务器搭建之提交日志模版构建

    SVN服务器搭建之提交日志模版构建 日志提交有两种 一种是自己客户端设置提交日志模版,这个只适用于自己,没办法强制性运用到项目中,只能依照每个人的自觉性来处理. 第二种方法是SVN服务器设置提交日志模 ...

  7. Hadoop学习笔记(3)——分布式环境搭建

    Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...

  8. 基于腾讯Centos7云服务器搭建SVN版本控制库

    基于腾讯Centos7云服务器搭建SVN版本控制库 最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费svn托管服务器的服务,但是所给的免费空间 ...

  9. Nutch1.7学习笔记:基本环境搭建及使用

    Nutch1.7学习笔记:基本环境搭建及使用 作者:雨水,时间:2013-10-31博客地址:http://blog.csdn.net/gobitan 说明:Nutch有两个主版本1.x和2.x,它们 ...

  10. Git 基本命令与服务器搭建

    Git教程 一套视频 详细教程 完全命令手册 Git常用命令 git config:配置相关信息 git clone:复制仓库 git init:初始化仓库 git add:添加更新内容到索引中 gi ...

随机推荐

  1. Traefik知识点

    Traefik 的各种 Providers Traefik 中的配置发现是通过下面的一些 providers 来实现的. providers 是现有的一些基础架构组件,可以是编排工具,容器引擎,云提供 ...

  2. yaml文件执行后常见错误解决

    yaml文件中个别数值有大写,报错信息如下 : The Deployment "my-nginx" is invalid: spec.template.spec.volumes[0 ...

  3. Jhipster自动生成实体类等文件

    官网:https://www.jhipster.tech/cn/ 准备工作 安装node(npm) 准备jdl文件 安装Jhipster:npm install -g generator-jhipst ...

  4. Opengl ES之FBO

    FBO介绍 FBO帧缓冲对象,它的主要作用一般就是用作离屏渲染,例如做Camera相机图像采集进行后期处理时就可能会用到FBO.假如相机出图的是OES纹理,为了方便后期处理, 一般先将OES纹理通过F ...

  5. C/C++ 关于默认构造函数

    前言: 在C++中,对于一个类,C++的编译器都会为这个类提供四个默认函数,分别是: A() //默认构造函数 ~A() //默认析构函数 A(const A&) //默认拷贝构造函数 A&a ...

  6. 洛谷P3810 陌上花开 (cdq)

    最近才学了cdq,所以用cdq写的代码(这道题也是cdq的模板题) 这道题是个三维偏序问题,先对第一维排序,然后去掉重复的,然后cdq分治即可. 为什么要去掉重复的呢?因为相同的元素互相之间都能贡献, ...

  7. 从SVN导出项目出现的乱码问题

    解决的方法很简单,只需要将Eclipse的编码标准设置为UTF-8即可 1.Window->Preferences->General->Workspace   面板Text file ...

  8. WiresShark

    WireShark 分析数据包技巧 确定WireShark的位置[是否在公网上] 选择捕获接口,一般都是internet网络接口 使用捕获过滤器 使用显示过滤器[捕获后的数据包还是很复杂,用显示过滤器 ...

  9. Tomcat 调优之从 Linux 内核源码层面看 Tcp backlog

    前两天看到一群里在讨论 Tomcat 参数调优,看到不止一个人说通过 accept-count 来配置线程池大小,我笑了笑,看来其实很多人并不太了解我们用的最多的 WebServer Tomcat,这 ...

  10. Codeforces1695 D1.+D2 Tree Queries

    题意 给一个n个点的无向图,其中有一个隐藏点X,可以进行一组询问S来确定S是n个节点中的哪个点.S包括k个询问节点.询问返回的值也为k个值,每个值为X点到每个询问节点的最短路距离,求k最小为多少. 提 ...