安装步骤:
- 下载
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
保存修改后,在终端运行以下命令使环境变量生效:
代码语言:javascript复制$> source /etc/profile
2.2 测试mongodb
安装
先在/home/user1
下新建一个目录data
存放mongodb
数据:
mkdir /home/user1/data
用以下命令启动mongod
:
mongod --dbpath /home/user1/data
这时mongod
已经启动,重新打开一个终端, 键入mongo
进入交互程序:
$> mongo
> show dbs
...数据库列表
mongodb
安装到此为止, 下面为mongodb
导入leanote
初始数据。
3. 导入初始数据
leanote
初始数据存放在 /home/user1/leanote/mongodb_backup/leanote_install_data
中。
打开终端, 输入以下命令导入数据。
代码语言:javascript复制$> mongorestore -h localhost -d leanote --dir /home/user1/leanote/mongodb_backup/leanote_install_data/
现在在mongodb
中已经新建了leanote
数据库, 可用命令查看下leanote
有多少张"表":
$> mongo
> show dbs # 查看数据库
leanote 0.203125GB
local 0.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 (仅供体验使用)
账号修改
除了通过 /admin/index 页面修改设置以外,还可以通过操作 mongo 数据库的方式。
服务自启动
一个简单的 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
之后
代码语言:javascript复制sudo systemctl enable leanote
sudo systemctl start leanote
如果启动失败,先确认 leanote/bin/run.sh
是否可执行:
sudo chmod x leanote/bin/run.sh
4. 配置leanote
leanote
的配置存储在文件 conf/app.conf
中。
请务必修改app.secret
一项, 在若干个随机位置处,将字符修改成一个其他的值, 否则会有安全隐患!
其它的配置可暂时保持不变, 若需要配置数据库信息, 请参照 leanote问题汇总。
5. 运行leanote
注意: 在此之前请确保mongodb
已在运行!
新开一个窗口, 运行:
代码语言:javascript复制$> cd /home/user1/leanote/bin
$> bash run.sh
最后出现以下信息证明运行成功:
代码语言:javascript复制...
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 创建用户如下:
代码语言:javascript复制# 首先切换到leanote数据库下
> use leanote;
# 添加一个用户root, 密码是abc123
> db.addUser("root", "abc123");
{
"_id" : ObjectId("53688d1950cc1813efb9564c"),
"user" : "root",
"readOnly" : false,
"pwd" : "e014bfea4a9c3c27ab34e50bd1ef0955"
}
# 测试下是否正确
> db.auth("root", "abc123");
1 # 返回1表示正确
mongodb v3 创建用户如下:
代码语言:javascript复制# 首先切换到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:
代码语言:javascript复制$> mongod --dbpath /home/user1/data --auth
还要修改配置文件 : 修改 leanote/conf/app.conf:
代码语言:javascript复制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为超级管理员, 修改或/添加一行:
代码语言:javascript复制adminUsername=life
全部完成后,运行:
nohup mongod --dbpath /home/sxf/mongodb/data --auth &
nohup bash /home/sxf/leanote/bin/run.sh &