leanote介绍

Leanote, 不只是笔记!

特性

  • 高效笔记:Leanote 有易操作的界面, 包含一款富文本编辑器和Markdown编辑器,让 您的笔记记录更轻松和高效。对高阶用户,我们还提供Vim 和Emacs 编辑模式,助推你 的写作速度更上层楼。
  • 知识管理: Leanote 灵活而强大的“笔记本-笔记-标签”系统,让它成为你个人知识管理的利器。
  • 分享: 你可以通过Leanote同好友分享知识、想法和经历, 邀请好友加入你的笔记簿,通过云端交流信息。
  • 协作: Leanote协助你与同事之间相互协作,激荡新思路,随时随地头脑风暴。
  • 博客: Leanote也可以作为你的个人博客, 把你的知识传播的更远!

其它特性

  • 支持Markdown编辑
  • 写作模式
  • VimEmacs 编辑模式
  • 支持PDF导出
  • 支持批量操作
  • 博客自定义主题, 实现高度定制化

官方文档

leanote安装

下载leanote二进制版本

mkdir -p /home/ubuntu/leanote
wget https://nchc.dl.sourceforge.net/project/leanote-bin/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
tar -zxvf leanote-linux-amd64-v2.6.1.bin.tar.gz

导入mongodb数据

mongorestore -h localhost -d leanote --dir /home/ubuntu/leanote/leanote/mongodb_backup/leanote_install_data/ -u admin -p xxxx --authenticationDatabase admin

由于mongodb开启了认证,则需要为leanote数据库创建一个用户:

db.createUser({
user:"leanote", pwd:"xxxxxx",
roles:[{
role:"dbOwner", db:"leanote"
}]
})

mongodb 内置角色

  1. 数据库用户角色:read、readWrite;
  2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
  3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  4. 备份恢复角色:backup、restore;
  5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase;
  6. 超级用户角色:root
  7. 内部角色:__system

查看mongodb用户

查看所有用户:

> use admin
> db.auth('admin','xxxxxx')
> db.system.users.find().pretty()

查看当前库下的用户:

> show users

删除mongodb用户

db.dropUser(<user_name>) 删除某个用户,接受字符串参数
示例:db.dropUser("admin")
db.dropAllUser() 删除当前库的所有用户

配置leanote

修改配置文件,填写mongodb 用户信息,然后启动

cd sudo vim /home/ubuntu/leanote/leanote
vim conf/app.conf
sh bin/run.sh

之后,打开 http:xxxx:9000 就可以访问了。

Nginx配置leanote

使用Nginx配置域名访问,并启动https。

添加Nginx配置文件

cd /home/ubuntu/www/conf
touch xxx.conf
vim xx.conf

Nginx配置文件内容如下:

server {
    listen  80;
    server_name xxxx.com;
    rewrite ^(.*)$ https://$host$1 permanent;
}

upstream xxxx.com {
    server 127.0.0.1:9000;
}

server {
    listen 443 ssl;
    server_name xxxx.com;
    ssl_certificate /home/ubuntu/www/ssl/1_xxxx.com_bundle.crt;
    ssl_certificate_key /home/ubuntu/www/ssl/2_xxxx.com.key;    
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

    
    # 将 HTTP 请求重定向至 HTTPS
    #return 301 https://$host$request_uri;
    
    location / {
    proxy_pass        http://xxxx.com;
    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

安装 supervisor 守护

apt-get install supervisor

测试 supervisor 是否安装成功

echo_supervisord_conf

创建配置文件:

echo_supervisord_conf > /etc/supervisord.conf

修改配置文件

vim supervisord.conf

# 修改引用文件
[include]
files = /etc/supervisor/conf.d/*.conf

conf.d 目录下创建文件 leanote.conf

touch leanote.conf

# 添加如下内容
[program:leanote]
command=sh /home/ubuntu/leanote/leanote/bin/run.sh
directory=/home/ubuntu/leanote/leanote/bin
autorestart=true
redirect_stderr=true

启动 supervisord 服务:

supervisord -c /etc/supervisord.conf 

supervisorctl 是 supervisord的命令行客户端工具

其常用命令如下:

  • supervisorctl status:查看所有进程的状态
  • supervisorctl stop es:停止es
  • supervisorctl start es:启动es
  • supervisorctl restart es: 重启es
  • supervisorctl update :配置文件修改后可以使用该命令加载新的配置
  • supervisorctl reload: 重新启动配置中的所有程序