目录
- 选择leanote的原因
- 环境
- 参考
- 下载
- 部署
- 安装mongodb
- 恢复mongodb数据
- mongodb创建用户
- 编辑app.conf
- 启动
- 编写快捷启动脚本,start.sh stop.sh
- mongodb的备份与恢复
- 编写脚本(备份leanote)
- leanote自带的备份与恢复
- 配置pdf导出
选择leanote的原因
Leanote 虽然最后一次更新是在 2018 年,但其开源特性使得部署和维护成本较低。由于客户信息及服务器信息等极为重要,若放在公网的笔记平台,会存在信息泄露风险,因此选择本地部署。如果采用本地的 word、excel 保存并放入 svn 上也是一种方式,但在检索文件内部信息时不够灵活。而部署 Leanote 后,不仅可以作为部门内部的知识库,方便分享和检索,还能极大地提高信息管理的效率和安全性。
环境
mongodb
nginx
参考
https://github.com/leanote/leanote/wiki/Leanote-%E4%BA%8C%E8%BF%9B%E5%88%B6%E7%89%88%E8%AF%A6%E7%BB%86%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B----Mac-and-Linux
官方的文档;很多问题都可以从中找到解决方式
下载
https://github.com/leanote/leanote/releases/tag/2.6.1
或者
http://leanote.org/#download
部署
安装mongodb
具体参考:mongodb在linux下的部署
恢复mongodb数据
/opt/leanote/mongodb_backup
# 恢复数据
mongorestore -h localhost -u admin -p P@ssw0rd --authenticationDatabase admin -d leanote --dir leanote_install_data
mongodb创建用户
mongosh use leanote
db.createUser({user:"leanote", pwd:"1234567Aa.",roles:[ { role: "dbOwner", db: "leanote" }]})
mongodb删除用户 (记录一下命令)
db.dropUser(“leanote”)
修改密码
db.updateUser(“usertest”,{pwd:“changepass1”});
编辑app.conf
vi /opt/leanote/conf/app.conf修改mongodb的用户名密码 并保存
注意:
- mongodb中的密码不要有特殊字符,否则无法连接。但是客户端可以连接,有可能还有别的设置方式。
- site.url 不要填写localhost 或者 127.0.0.1 ; 需要填写服务器的ip;否则图片同步会有问题
- i18n.default_language=zh-cn 改为中文
启动
cd /opt/leanote/bin
nohub bash run.sh &
启动成功
编写快捷启动脚本,start.sh stop.sh
start.sh
#!/bin/bash
echo "开始启动"
export PYTHONUNBUFFERED=1
nohup bash bin/run.sh > log/leanote.log 2>&1 &
echo "启动结束"
stop.sh
#!/bin/bashprocess_id=$(ps -ef | grep leanote | grep -v "grep" | awk '{print $2}')
if [[ ! -z "$process_id" ]]
thenecho "杀死进程:[$process_id]"kill -9 $process_id
elseecho "进程id是空的"
fi
mongodb的备份与恢复
编写脚本(备份leanote)
# 示例#!/usr/bin/env bashDATE=`date +%Y_%m_%d` #获取当前系统时间
DAYS=3 #DAYS=3代表删除3天前的备份,即只保留最近3天的备份
TAR_BAK="mongod_bak_$DATE.tar.gz" #最终保存的数据库备份文件名
mongodump -d leanote -u=leanote -p=1234567Aa. -o /opt/leanote-bak/$DATE --authenticationDatabase=leanote
cp -r /opt/leanote/files /opt/leanote-bak/$DATE
tar -zcvf /opt/leanote-bak/$TAR_BAK /opt/leanote-bak/$DATE
rm -rf /opt/leanote-bak/$DATE
find /opt/leanote-bak/ -mtime +$DAYS -delete
# 防止以外,另一台服务器也传一份
sshpass -p 123456 scp -r -o StrictHostKeyChecking=no /opt/leanote-bak/$TAR_BAK ccdc@10.0.99.115:/home/ccdc/leanote-bak/
sshpass -p 123456 ssh -o StrictHostKeyChecking=no ccdc@10.0.99.115 "find /home/ccdc/leanote-bak/ -mtime +3 -delete"
添加定时任务,每天备份一次
vi /etc/crontab
systemctl restart crond.service
leanote自带的备份与恢复
admin用户登录后,去后台管理中配置 mongodump,mongorestore 工具的位置
就可以备份与恢复了。 这里备份的是mongodb数据; files文件不会备份。
配置pdf导出
QA · leanote/leanote Wiki (github.com)