最近对记笔记需求越来越多,之前正好看过程序羊自己搭建云笔记的视频,所以也尝试动手做一下。可以用docker或者宝塔,我这里为了学习Linux就不用那两个了。然后如果文章对您有一定的帮助,请给文中的参考链接文章点赞,我只是个搬运工。
1.mongoDB安装
这部分参考mongo4.4.2安装
然后笔记数据的备份迁移就两条命令搞定
mongodump -h localhost -d leanote -o <dir>
mongorestore -h localhost -d leanote --dir <dir>
2.leanote安装
选择合适版本下载,我选的是leanote-linux-amd64-v2.6.1.bin.tar.gz,并上传服务器
下载https://github.com/leanote/leanote/releases
https://github.com/leanote/leanote/releases
在home目录下新建一个目录存放压缩包
mkdir /home/www/
解压包
tar -zxvf xxxx.tar.gz
leanote初始数据导入mongo数据库
cd leanote/
cd mongodb_backup/
mongorestore -h localhost -d leanote --dir leanote_install_data/
leanote启动!
nohup bash run.sh
这时候就可以通过9000端口访问笔记网站,账号:admin 密码:abc123
最好是将导入的数据库再备份一下,我没操作数据库,就把权限和认证改来改去跑项目,之后一直登录错误,发现leanote库被删到只剩一个session集合了 (泪
3.mongo权限设置
admin库添加用户,远程连接用
#进入数据库操作
use admin
db.createUser({
user: "admin",
pwd: "adminpassword",
roles: [{ role: "root", db: "admin" }]
})
leanote添加用户
# 首先切换到leanote数据库下
use leanote;
# 添加一个用户root, 密码是abc123
db.createUser({
user: 'root',
pwd: 'abc123',
roles: [{role: 'dbOwner', db: 'leanote'}]
});
检查用户是否添加成功
db.auth("root", "abc123");
1 # 返回1表示正确
#或者在当前数据库下查看用户
db.getUsers()
设置登录认证
vim /etc/mongod.conf
#解开注释security,并添加下面
authorization: enabled
这里想要用navicat或者别的工具连接mongo数据库的话,记得把配置文件里面的127.0.0.1改为0.0.0.0,并设置服务器规则放行对应端口(27017)
配置leanote项目内数据库相关参数
#进入leanote目录下进行操作
cd ./conf/app.conf
设置里面的用户和密码
# mongdb
db.host=127.0.0.1
db.port=27017
db.dbname=leanote # required
db.username=root# if not exists, please leave it blank
db.password=abc123# if not exists, please leave it blank
4.nginx代理配置
有时候输入域名后面还得跟端口号就很麻烦,所以配置一下nginx直接访问
nginx安装可以直接用宝塔,也可以在c站找,我这里贴一个链接
把它注册为服务
修改nginx配置文件
cd /usr/local/nginx/conf/
vim nginx.conf
主要是加了个upstream,然后就是location里面的修改
upstream note {
server 127.0.0.1:9000;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://note;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
#root html;
#index index.html index.htm;
}
然后启动nginx服务
systemctl start nginx
此时直接访问网站域名就可以看见云笔记了
PS:
羊哥的视频一气之下,我自己搭了个云笔记!!手把手带你打造一个属于自己的免费云笔记,神清气爽_哔哩哔哩_bilibili
官方文档
Leanote 二进制版详细安装教程 Mac and Linux · leanote/leanote Wiki (github.com)
官方Q&A