简介

蚂蚁笔记是一款非常非常非常好用的笔记软件,对程序员非常友好,每个功能点都很方便,采用golang & mongodb开发。核心功能除了笔记以外,也是个博客。他可以把指定笔记,1秒公开成博客,支持自定义主题样式,且自带评论。客户端支持windows 、 mac 、 linux 、 android 、ios等。



正文

先说明一下,正常的蚂蚁笔记用法,是去官方注册一个的账号,然后用官方客户端连官方服务器。

我这里折腾的是另一种玩法,通过官方公开的源码和教程,在自己的centos7的服务器上搭一套go+mongodb环境的蚂蚁笔记私人服务端,并且可以把生成的博客映射到我自己的域名。

客户端方面,登录界面都自带了一个登录自建服务


本篇内容主要讲一下,我折腾自建蚂蚁笔记私有服务端的过程。基于centos7.4



准备


首先自己建服务端,得有一个基本款的云主机 + 一个域名 + https证书,如果不会golang没事,但最好学几句mongodb入门。在本文结尾我会贴出一下方便参考的链接。另外服务器最好再做一次nginx反向代理。



一、 基本安装


所有安装过程都参考的官方教程,地址如下 官方教程链接


1 下载 leanote 二进制版

说明:由于下载地址不固定,如果在下载这一步失败,可以试试另一个下载方案,先在自己电脑,到http://leanote.org/#download 下载一个最新版,然后自己上传到服务器上,解压。

  1. # 新建文件夹 leanote
  2. mkdir leanote
  3. cd leanote
  4. # 下载
  5. wget https://nchc.dl.sourceforge.net/project/leanote-bin/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
  6. # 解压
  7. tar -xzvf leanote-linux-amd64-v2.6.1.bin.tar.gz


2 安装 mongodb

(本方法主要仅针对centos 7的yum方法,安装新版mongodb)
参考:https://www.cnblogs.com/benjamin77/p/8465394.html

  1. # 新增3.4配置到仓库
  2. vim /etc/yum.repos.d/mongodb-org-3.4.repo
  3. #添加以下内容:
  4. [mongodb-org-3.4]
  5. name=MongoDB Repository
  6. baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
  7. gpgcheck=1
  8. enabled=1
  9. gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
  1. # yum安装
  2. yum -y install mongodb-org

到这里就大功告成了,再补上常用命令

  1. # 启动
  2. systemctl start mongod.service
  3. # 停止
  4. systemctl stop mongod.service
  5. # 状态
  6. systemctl status mongod.service
  7. # 进入mongodb
  8. mongo

进入以后的基本操作可以参考mongo入门:https://www.runoob.com/mongodb/

  1. # 例如常用命令
  2. show dbs
  3. use [databasename] # databasename填入上一步查出的数据库名称,例如use leanote
  4. show collections
  5. db.collection.find(); # collection填入上一步查到的collection名称,例如db.users.find();

个人感觉入门用法上和mysql的思路还是有很多相似的。



3 导入 mongodb 初始数据

官方给的命令如下

  1. mongorestore -h localhost -d leanote --dir /home/user1/leanote/mongodb_backup/leanote_install_data/

但这里的地址要根据实际情况更改,参考第一步,解压的位置

初始化导入以后,可以查看users集合,已经有了2个默认用户

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


4 配置 leanote

这段就直接复制官方的说法:
leanote的配置存储在文件 conf/app.conf 中。
请务必修改app.secret一项, 在若干个随机位置处,将字符修改成一个其他的值, 否则会有安全隐患!
其它的配置可暂时保持不变, 若需要配置数据库信息, 请参照 leanote问题汇总



5 启动 leanote

xxx是指你第一步解压的路径

  1. cd xxx/leanote/bin
  2. bash run.sh

出现以下内容说明成功

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

附上后台执行命令

  1. nohup bash xxx/leanote/bin/run.sh > logs/leanote.log &



二、 进阶配置


到这里,只是搭建了一个全新的私有云笔记。还有很多优化空间,进阶玩法。



1. 备份旧的笔记到新笔记账号。

对 “笔记本” 或 “子笔记本” 右击 - 导出笔记 - 导出Leanote,即可批量导出leanote文件,再去新的账户里,新建笔记本,右击 - 导入笔记 - 导入Leanote,即可。


这里我遇到过一个小坑,nginx对客户端上传的文件大小有一定的默认规则限制,导致部分文章附件过大出现502,我通过临时放开nginx的限制来实现旧文章的同步,之后新文章就按照更严格的附件限制来实现就好了。



2. 基本配置

我这里的做法是,让蚂蚁跑在本地的localhost:9000端口上,再用nginx 反向代理到域名的二级域名,最终效果就是https://leanote.zzzmh.cn
我配置过以后的,不同的路径说明
笔记页面
https://leanote.zzzmh.cn/note/5cab18ba16199b20590004c2
总管理页面
https://leanote.zzzmh.cn/admin/index
博客
https://leanote.zzzmh.cn/
博客管理
https://leanote.zzzmh.cn/member


主要后台配置简介看下图



3. 博客主题配置

简单来说,这部分就是,去蚂蚁官方的博客主题设置页面,找第三方主题库,导出ZIP,再打开自己搭的蚂蚁笔记的博客主题设置页面,导入主题。亲测这样子做90%的内容都是可行的,最后就是会缺一些js/css依赖,建议换cdnjs/bootcdn的依赖。

简单说下过程

再到个人私服的博客主题页面,导入ZIP即可。

访问 https://leanote.zzzmh.cn 即可看到效果。



4. 博客转PDF

这个部分官方写在设置的说明是这样的

Leanote use wkhtmltopdf to export pdf. You should install it on your server. 
Please input the path that wkhtmltopdf installed, e.g. /usr/local/bin/wkhtmltopdf on mac os/linux or C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe on windows.


简单来说,就是去http://wkhtmltopdf.org 官网,下载适合你的服务器系统的安装包,安装以后把文件安装路径配到设置里,就可以实现导出PDF了。我这里测了centos7.4下默认安装路径就是/usr/local/bin/wkhtmltopdf


安装命令

  1. rpm -ivh wkhtmltox-0.12.5-1.centos7.x86_64.rpm

查找命令

  1. find / -name wkhtmltopdf

最终效果如图,对客户端的笔记右击 - 导出 - 导出PDF , 选择保存的路径即可。

5. 自带备份配置、以及自定义定期备份脚本

如下图,配置mongodb自带的备份和恢复工具的默认路径,centos7.4下默认路径如图是
/usr/bin/mongodump/usr/bin/mongorestore

亲测只需要配置完路径,提交,即可实现备份和还原备份,且全程图形化操作。



6. 遗留问题

还是有一些小问题暂时没时间去研究透,等下次有时间再继续精进。
1. 邮箱尚未调通
2. 输出日志功能
3. 静态依赖OSS

链接

蚂蚁笔记官网:https://leanote.com/
蚂蚁笔记服务端github:https://github.com/leanote
官方安装教程(linux):https://github.com/leanote/leanote/wiki



END

另外欢迎关注一下我的线上网站作品
博客:https://zzzmh.cn/
壁纸:https://bz.zzzmh.cn/
插件:https://chrome.zzzmh.cn/
笔记:https://leanote.zzzmh.cn/