0%

云笔记leanote搭建

ubuntu下leanote个人云笔记搭建

image-20220110205445493

工具在pan.cutexin.cn中

安装mangodb数据库版本过高会出错

卸载参考博客linux卸载mongodb

安装步骤:

下载leanote二进制版。

安装mongodb。

导入初始数据。

配置leanote。

运行leanote。

\1. 下载 leanote 二进制版

由此处下载 leanote 最新二进制版。

假设将文件下载到/home/user1目录下, 解压文件从而在/home/user1目录下生成leanote目录:

$> cd /home/user1

$> tar -xzvf leanote-darwin-amd64.v2.0.bin.tar.gz

\2. 安装 mongodb

2.1 安装mongodb

到 mongodb 官网 下载相应系统的最新版安装包,或者从以下链接下载旧版本:

64位 linux mongodb 3.0.1 下载链接: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.1.tgz

下载到/home/user1下, 直接解压即可:

$> cd /home/user1

$> tar -xzvf mongodb-linux-x86_64-3.0.1.tgz/

为了快速使用mongodb命令, 可以配置环境变量。编辑~/.profile或/etc/profile文件, 将mongodb/bin路径加入即可:

$> sudo vim /etc/profile

此处实例使用了vim文本编辑器,你可以使用自己熟悉的编辑器。

在/etc/profile中添加以下行,注意把用户名(user1)和相应的文件目录名(mongodb-linux-x86_64-3.0.1)替换成自己系统中的名称:

export PATH=$PATH:/home/user1/mongodb-linux-x86_64-3.0.1/bin

image-20220110214947649

保存修改后,在终端运行以下命令使环境变量生效:

$> source /etc/profile

2.2 测试mongodb安装

先在/home/user1下新建一个目录data存放mongodb数据:

mkdir /home/user1/data

用以下命令启动mongod:

1
mongod --dbpath /home/user1/data

这时mongod已经启动,重新打开一个终端, 键入mongo进入交互程序:

$> mongo

> show dbs

…数据库列表

mongodb安装到此为止, 下面为mongodb导入leanote初始数据。

\3. 导入初始数据

leanote初始数据存放在/home/user1/leanote/mongodb_backup/leanote_install_data中。

打开终端, 输入以下命令导入数据。

$> mongorestore -h localhost -d leanote –dir /home/user1/leanote/mongodb_backup/leanote_install_data/

现在在mongodb中已经新建了leanote数据库, 可用命令查看下leanote有多少张”表”:

$> mongo

> show dbs # 查看数据库

leanote0.203125GB

local0.078125GB

> use leanote # 切换到leanote

switched to db leanote

> show collections # 查看表

files

has_share_notes

note_content_histories

note_contents

….

初始数据的users表中已有2个用户:

user1 username: admin, password: abc123 (管理员, 只有该用户才有权管理后台, 请及时修改密码)

user2 username: demo@leanote.com, password: demo@leanote.com (仅供体验使用)账号修改

服务自启动

一个简单的 leanote 服务脚本sudo vi /etc/systemd/system/leanote.service:

[Unit]

Description=Leanote, Not Just A Notepad!

After=syslog.target network.target mongod.service

[Service]

User=root

ExecStart=/home/ubuntu/leanote/bin/run.sh

[Install]

WantedBy=multi-user.target

之后

sudo systemctl enable leanote

sudo systemctl start leanote

如果启动失败,先确认leanote/bin/run.sh是否可执行:

sudo chmod +x leanote/bin/run.sh4. 配置leanote

leanote的配置存储在文件conf/app.conf中。

请务必修改app.secret一项, 在若干个随机位置处,将字符修改成一个其他的值, 否则会有安全隐患!

其它的配置可暂时保持不变, 若需要配置数据库信息, 请参照 leanote问题汇总。

\5. 运行leanote

注意: 在此之前请确保mongodb已在运行!

新开一个窗口, 运行:

$> cd /home/user1/leanote/bin

$> bash run.sh

最后出现以下信息证明运行成功:

TRACE 2013/06/06 15:01:27 watcher.go:72: Watching: /home/life/leanote/bin/src/github.com/leanote/leanote/conf/routes

Go to /@tests to run the tests.

Listening on :9000…

恭喜你, 打开浏览器输入:http://localhost:9000体验leanote吧!

记得开放9000端口

注意!!!!!!!!!!!!!!

按照本教程启动Mongodb是没有权限控制的, 如果你的Leanote服务器暴露在外网, 任何人都可以访问你的Mongodb并修改, 所以这是极其危险的!!!!!!!!!!! 请务必为Mongodb添加用户名和密码并以auth启动, 方法请见: 为mongodb数据库添加用户

leanote安装/配置问题汇总

如果运行有问题或想要进一步配置leanote, 请参照 leanote问题汇总。

\6. 为mongodb数据库添加用户

像mysql一样有root用户, mongodb初始是没有用户的, 这样很不安全, 所以要为leanote数据库新建一个用户来连接leanote数据库(注意, 并不是为leanote的表users里新建用户, 而是新建一个连接leanote数据库的用户, 类似mysql的root用户).

mognodb v2与v3创建用户命令有所不同

mongodb v2 创建用户如下:

# 首先切换到leanote数据库下

> use leanote;

# 添加一个用户root, 密码是abc123

> db.addUser(“root”, “abc123”);

{

“_id” : ObjectId(“53688d1950cc1813efb9564c”),

“user” : “root”,

“readOnly” : false,

“pwd” : “e014bfea4a9c3c27ab34e50bd1ef0955”

}

# 测试下是否正确

> db.auth(“root”, “abc123”);

1 # 返回1表示正确

1
db.createUser({user: 'root',pwd: 'abc123',roles: [{role: 'dbOwner',db: 'leanote'}]});

mongodb v3 创建用户如下:

# 首先切换到leanote数据库下

> use leanote;

# 添加一个用户root, 密码是abc123

> db.createUser({

user: ‘root’,

pwd: ‘abc123’,

roles: [{role: ‘dbOwner’, db: ‘leanote’}]

});

# 测试下是否正确

> db.auth(“root”, “abc123”);

1 # 返回1表示正确

用户添加好后重新运行下mongodb, 并开启权限验证. 在mongod的终端按ctrl+c即可退出mongodb.

启动mongodb:

$> mongod –dbpath /home/user1/data –auth

还要修改配置文件 : 修改 leanote/conf/app.conf:

db.host=localhost

db.port=27017

db.dbname=leanote # required

db.username=root # if not exists, please leave blank

db.password=abc123 # if not exists, please leave blank为Leanote指定超级管理员帐户(admin用户)

Leanote默认超级管理员为admin, 且一旦不小心修改了username则不能改回. 此时可修改配置文件app.conf, 比如指定用户life为超级管理员, 修改或/添加一行:

adminUsername=life

全部完成后,运行:

nohup mongod –dbpath /home/sxf/mongodb/data –auth &

nohup bash /home/sxf/leanote/bin/run.sh &

注意:最后一步不好使,使用宝塔面板下守护进程开启

mongod要用绝对路径!!!

手机端还会有问题,到时候再看看吧!