使用蚂蚁笔记搭建个人云笔记

知识分子没文化
2021-06-15 / 0 评论 / 335 阅读 / 正在检测是否收录...

目录:

环境说明:

系统:ubuntu 20.04

数据库:MongoDB 4.4.6

leanote V2.6.1

前言

蚂蚁笔记官网:Leanote 蚂蚁笔记,有极客范的云笔记!

类似于有道笔记、印象笔记等,蚂蚁笔记也是一款笔记软件,最重要的是蚂蚁笔记是开源的,这就意味可以自己搭建服务端。而我的网站平时访客不多,服务器大部分时候处于闲置状态,所以搭建一个属于自己的云笔记是一个不错的选择。

蚂蚁笔记github首页地址:Leanote - open source alternative to Evernote · GitHub,可以下载到各个平台的蚂蚁笔记客户端。

1.安装MongoDB

蚂蚁笔记使用的是MongoDB来存储文章数据,并不是mysql。

ubuntu系统下安装MongoDB的过程参考我的另一篇博客:ubuntu安装MongoDB数据库 - Roookie博客 | 记录 · 收纳 · 分享 (langp.wang),此处不再赘述。

2.下载

用以下命令下载安装文件:

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

然后解压:

sudo tar -zxvf leanote-linux-amd64.v2.6.1.bin.tar.gz

解压后的文件夹名称为”leanote“。

如果要手动下载也行,蚂蚁笔记下载地址:Leanote。下载时选择“leanote-linux-amd64.v2.6.1.bin.tar.gz”:

3.安装

先往MongoDB中导入初始数据:

# 执行命令时位于“leanote”同级目录下,此命令适用于MongoDB没有开启安全授权的情况
mongorestore -h localhost  -d leanote --dir leanote/mongodb_backup/leanote_install_data/

# 当MongoDB开启安全授权时,需要加入“--authenticationDatabase”(后面是用户所在的数据库)与“-u”参数(后面是用户名)执行此命令,否则就会导入失败
mongorestore -h localhost  -d leanote --dir leanote/mongodb_backup/leanote_install_data/ --authenticationDatabase admin -u root

控制台界面滚动几下之后,出现“499 document(s) restored successfully. 0 document(s) failed to restore.”字样提示,说明导入成功。

接下来为leanote数据库添加一个账户:

# 进入数据库控制台
mongo

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

并修改配置文件leanote/conf/app.conf,找到下面两行:

# 填入上面设置的账户密码
db.username=root # if not exists, please leave blank
db.password=abc123 # if not exists, please leave blank

根据蚂蚁笔记的官方安装文档,还要将配置文件中的app.secret一项任意做一些更改,否则会有安全隐患

4.启动

蚂蚁笔记的启动脚本位于leanote/bin/目录下,执行脚本启动命令:

sudo bash leanote/bin/run.sh

启动后,蚂蚁笔记默认运行在9000端口上,访问的话需要在云服务器的安全组中放行这个端口。访问IP地址或者域名的9000端口即可进入首页:

01

5.其他

5.1 加入开机自启

将蚂蚁笔记加入开机自启,在/etc/init.d目录下新建一个脚本文件:

sudo nano /etc/init.d/leanote.sh

输入以下内容,并根据注释更改相关内容:

#!/bin/bash
### BEGIN INIT INFO
# Provides:     leanote
# Required-Start:  $remote_fs $syslog
# Required-Stop:   $remote_fs $syslog
# Default-Start:   2 3 4 5
# Default-Stop:   0 1 6
# Short-Description: start leanote
# Description:    start leanote
### END INIT INFO

# 上面一部分不可少,下面这一部分是命令内容,以exit 0结束
bash /root/leanote/bin/run.sh
exit 0

修改完之后ctrl +o保存,ctrl +x退出。执行以下语句给脚本文件足够的执行权限:

sudo chmod 755 leanote.sh

最后再将脚本添加到开机启动:

sudo update-rc.d leanote.sh defaults 90
# 90表示执行的优先级,数字越大表示越晚执行。

附:移除脚本命令:

sudo update-rc.d -f [脚本文件名] remove

5.2 设置nginx代理

为了方便访问,我们可以单独设置一个域名来访问蚂蚁笔记,原理是利用nginx进行反向代理,将本机的9000端口的所有请求转发到新域名上,新建一个nginx配置:

upstream note {
    server 127.0.0.1:9000;
}

server{
    listen 80;
    # SSL端口配置
    listen 443 ssl;
    # domainName是域名
    server_name domainName;
    location / {
        proxy_pass http://note;
    }

    # 以下为SSL配置部分 没有配置SSL证书的直接删除以下配置即可
    # 设置http强制跳转https
    if ($server_port = 80){
        rewrite ^/(.*) https://$host/$1 permanent;
    }

    #需要将cert-file-name.pem替换成已上传的证书文件的名称。
    ssl_certificate cert-file-name.pem;
    #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
    ssl_certificate_key cert-file-name.key;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DHE;
    #表示使用的TLS协议的类型。
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
}

然后重启nginx配置即可:

nginx -s reload

附上官方github的wiki:Home · leanote/leanote Wiki · GitHub

0

评论 (0)

取消