Fork me on GitHub

Leanote

简介

Leanote 蚂蚁笔记是一款国产的在线网页版云笔记软件, 集知识管理、笔记、分享、博客功能于一身,界面简约但功能不简单!它支持多笔记本、标签分类、笔记共享、添加保存附件等,而且还提供了免打扰写作模式、支持图片尺寸调整、并且支持 Markdown 语法写作,最重要的是,它还能完美支持代码高亮显示!

该项目采用 Golang+MongoDB 开发,现已完全开源并能免费使用。普通用户可以直接使用 Leanote 提供的公共服务,也可以自行搭建属于自己或公司局域网内的私有云笔记平台。 而且,Leanote 可以让用户创建一个用户组,并将笔记共享到这个组里,所有组员都可以浏览、编辑笔记,可以非常方便地进行协作或知识共享。(题外话:团队内还可以通过 SeaFile 搭建私有的云存储配合使用)

搭建思路

1.上传mongodb软件包到服务器,解压,起服务

2.上传leanote软件包到服务器,解压,修改配置文件,向mongodb导入lenote文件夹下的原始库表

4.起leanote服务

软件包

软件包 下载地址
mongodb-linux-x86_64-3.0.1 点击下载
leanote-linux-amd64-v2.6 点击下载
leanote-desktop 点击下载

实验步骤

1.上传,解压,创建数据文件夹,起服务

$ tar xf mongodb-linux-x86_64-3.0.1.tgz -C /usr/local

$ mv mongodb-linux-x86_64-3.0.1/ mongodb

$ mkdir -p /usr/local/mongodb/data

$ /usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data/ --bind_ip 127.0.0.1 &>> /tmp/mongo.log &  

$ kill -4 xxx        # xxx为mongo的进程号,安全关闭

2.上传,解压,修改配置文件,导原始库表

$ tar xf leanote-linux-amd64-v2.6.bin.tar.gz -C /usr/local/

$ vi /usr/local/leanote/conf/app.conf 

修改服务端口,加密字符串

$ /usr/local/mongodb/bin/mongorestore -h localhost -d leanote --dir /usr/local/leanote/mongodb_backup/leanote_install_data/

3.起服务并验证可用

$ cd /usr/local/leanote/bin

$ nohup ./run.sh &   

进程正常

服务正常

至此以私人服务器为server,仅供个人及好友使用的leanote搭建完成。

能在线编辑保存普通文件

能在线编辑保存markdown文件并发布为个人博客等

效果演示

这是leanote登陆页面,访问服务器的9000端口,如该服务器ip为192.168.x.x,访问”http://192.168.x.x:9000"即可进入该页面。

因私人服务器性能有限,且非盈利自用,管理员已经关闭注册功能,使用该私人服务的唯一途径就是向管理者申请,通过后台单独添加用户

这是在线编辑页面,可以设置头像,访问别名,自定义很多参数,可以创建普通文本文件并保存,进行上传附件,插入图片,网页链接,版本管理等操作,类似有道云,为知等在线笔记

可以将写好的markdown文件公布为博客,任何人都可以通过链接访问该博客,添加评论。

访问该网站就是对server服务器的9000端口发起访问请求,leanote将数据库的数据展示出来,用户编辑的普通文件和博客文件在保存后都会经过leanote的加密字符串运算加密后存放在数据库,本人对自己的文章具有最高权限,admin管理员具有后台添加删除用户并设置一些参数等权限,对普通用户的博客文章没有修改删除等权限。

有没有发现软件包有三个文件至此只用了两个,没错,第三个是leanote桌面版,下载解压就能用,不用安装,登陆的时候选择登陆自建服务,进去后可以像在线一样编辑文件,完成后保存,公布为博客,软件内即可访问自己的博客,而这所有的都是开源免费,如此干净高效,良心得我有点感动。

解锁更多姿势

1.数据库备份策略

备份
$ /usr/local/mongodb/bin/mongodump -h 127.0.0.1 -d leanote -o /~(备份集存放路径)


恢复
$ /usr/local/mongodb/bin/mongorestore -h 127.0.0.1 -d leanote --drop --dir ~/leanote (备份集所在路径)

用linux系统自带的crontab定时执行备份脚本,实现每天三次备份,数据备份集可以保证即使服务挂了,甚至服务器挂了,被回收了,随时找个腾讯云或者阿里云的主机,分分钟重新搭建一套,导入数据后恢复服务,对普通用户来说除了期间无法使用之外,没有区别,所有数据都在。

$ crontab -l

0 6,14,22 * * * /usr/local/mongodb/backup/back.sh

$ more /usr/local/mongodb/backup/back.sh

#!/bin/sh

#该脚本通过crontab定时执行,实现每天6,14,22整点共三次备份mongo数据,保留两周内的备份集

#备份目录为BASEDIR,将带时间戳文件夹的备份集压缩,最后检测是否有14天前的文件夹,有则删除

BASEDIR="/usr/local/mongodb/backup"

CURDIR=$BASEDIR/`date "+%Y-%m-%d_%H.%M.%S"`

/usr/local/mongodb/bin/mongodump -h 127.0.0.1 -d leanote -o $CURDIR

cd $CURDIR

tar -zcvf leanote.tar.gz leanote

rm -rf leanote/

find $BASEDIR -mtime +14 -exec rm -rf {} \;

2.docker部署

1.制作docker镜像

docker是个很好用的工具,将系统,应用,程序制作成docker镜像,分发部署使用都会特别方便,这里是leanote的docker镜像,服务器有docker可以直接导入然后使用,没有需要先安装docker。导入制作好的docker镜像并启动,这时所有前面配置过程的安装包,备份策略,配置文件更改都已经解决,使用效果一致。

2.一键部署使用
$ docker load -i leanote_2.6-image.tar.gz

$ docker history 69e799db2e66

$ docker run -tid –name leanote -p 80:80 –restart always -v /data/leanote:/data/ leanote:2.6

$ docker exec -ti cbc598f37d50 sh

$ tar xf leanote.tar.xz

$ mongorestore -h 127.0.0.1 -d leanote –drop –dir ./leanote

3.使用技巧详细介绍

1.普通用户傻瓜攻略

普通用户不用管上述搭建过程,有兴趣的可以研究下,没兴趣知道怎么使用就足够了。


首先,访问。要在线写文章并保存以待后来回顾,写博客发布出去给别人看,得知道在哪里写,先访问我搭建的私人leanote的网页;

然后,登陆。你需要一个账号密码来登陆站点使用各种功能,我已经关闭了注册权限,新用户只能沟通后由我后台手动建立账号。因为服务器存储计算网络资源有限,这个服务也不是盈利性质,就是个使用方便小范围共享的利器,所以使用者那必须是有限制的。

最后,编辑。登陆成功就可以为所欲为了,具体功能看本文中间段落效果演示。所有编写的文章和markdown(后缀为.md的博客文件)保存在我的服务器上,每天备份,保留两周的备份集,所以就可劲作吧。

最最后,可以写什么?

什么都可以写,在线写的文章和博客如果不发布,没有任何人可以看到,包括管理员,所有文章加密后保存在数据库;
可以发布出去,比如这样,发布的内容所有人都可以通过网络访问。

你可以写一些技术文档分类保存不发布,当作一个在线笔记存储,可以写一些游戏攻略经验发布出去装逼,可以写一些抒情的文章然后把链接给别人看(说真的,这个有点骚包,我绝逼干不出来这种事),基本功能就是这些,具体的骚操作自己开发,enjoy it!!!

2.深度用户高级攻略