目录:
环境说明:
系统: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端口即可进入首页:
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)