私有云笔记leanote搭建

个人知识管理软件onenote是当之无愧的王者,但因为特殊的原因,其同步速度实在太慢。所以找了替代者leanote(作者还是一名大学生),后生可畏啊。本文介绍把leanote搭建在自己的VPS服务器上的步骤。
centos为32位版本,32位

安装步骤:
1、下载leanote二进制版
2、安装mongodb
3、导入初始数据
4、配置leanote
5、运行leanote

下载leanote二进制版

下载leanote 最新二进制版
假设将文件下载到 /home/user1下, 解压文件

$> cd /home/user1
$> tar -xzvf leanote-.tar.gz

此时在/home/user1目录下有leanote目录, 可以看看里面有什么:

$> cd leanote
$> ls
app  bin  conf  messages  mongodb_backup  public

安装mongodb

到 http://www.mongodb.org/downloads 去下载
32位下载点这里
https的链接有时候用wget无法下载:
curl -O -L https://fastdl.mongodb.org/linux/mongodb-linux-i686-3.2.4.tgz

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

$> cd /home/user1
$> tar -xzvf mongodb-linux-x86_64-2.6.4.tgz/

为了快速使用mongodb的命令, 可以配置环境变量,

编辑 ~/.profile或/etc/profile 将mongodb bin路径加入即可.

$> sudo vim /etc/profile
添加:
export PATH=$PATH:/home/user1/mongodb-linux-x86_64-2.6.4/bin

使环境变量生效:

$> source /etc/profile

使用mongodb

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

mkdir /home/user1/data

启动mongodb

mongod --dbpath=/home/user1/data --logpath=/home/user1/data/mongo.log --fork --bind_ip 127.0.0.1 --port 3307 --storageEngine=mmapv1

--dbpath:指定数据存放目录
--fork:以后台服务模式运行
--bind_ip:只允许指定IP登录数据库
storageEngine=mmapv1:指定引擎,32位的mongdb如果不指定的话,启动会报如下错
The default storage engine 'wiredTiger' is not available with this build of mongod. Please specify a different storage engine explicitly
mongodb安装到此为止, 下面为mongodb导入数据leanote初始数据

导入初始数据

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

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

mongodb v2 与 v3 版本导入数据会有些区别.

mongodb v2 导入数据命令:

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

mongodb v3 导入数据命令:

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

配置leanote

文件: conf/app.conf

#------------------------
# leanote config
#------------------------

http.port=9000

site.url=http://leanote.hqidi.com # 改成你自己的域名

# admin username
adminUsername=admin  #后台管理员用户名

# mongdb
db.host=127.0.0.1
db.port=3307   #自定义的数据库服务端口
db.dbname=leanote # required
db.username= # if not exists, please leave it blank
db.password= # if not exists, please leave it blank
# or you can set the mongodb url for more complex needs the format is:
# mongodb://myuser:mypass@localhost:40001,otherhost:40001/mydb
# db.url=mongodb://root:root123@localhost:27017/leanote
# db.urlEnv=${MONGODB_URL} # set url from env. eg. mongodb://root:root123@localhost:27017/leanote

# You Must Change It !! About Security!!
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0z #这一行要改掉,随便改,长度一致就行。

#--------------------------------
# revel config
# for dev
#--------------------------------
app.name=leanote
http.addr=
http.ssl=false
cookie.httponly=false
cookie.prefix=LEANOTE
cookie.domain= # for share cookie with sub-domain
cookie.secure=false
format.date=2006-01-02
format.datetime=2006-01-02 15:04:05 # 必须这样配置
results.chunked=false

log.trace.prefix = "TRACE "
log.info.prefix  = "INFO  "
log.warn.prefix  = "WARN  "
log.error.prefix = "ERROR "

# The default language of this application.
i18n.default_language=en

这个文件,只有我添加了注释的地方要修改,其他地方保持默认就行。

运行leanote

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

$> cd /home/user1/leanote/bin
$> bash run.sh (或 sh 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...

对外提供服务

到你的域名提供商管理端添加一条A记录,把conf/app.conf里面site.url的值指向你VPS的外网IP 。

配置Nginx转发

假设Leanote运行的端口是9000, 域名为a.com, 那么nginx.conf可以配置如下:

# 本配置只有http部分, 不全
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    upstream  a.com  {
        server   localhost:9000;
    }

    # http
    server
    {
        listen  80;
        server_name  a.com;

        # 强制https
        # 如果不需要, 请注释这一行rewrite
        rewrite ^/(.*) https://jp_linode2.com/$1 permanent;

        location / {
            proxy_pass        http://a.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;
        }
    }

reload一下nginx, 此时,你就可以通过web或者app访问属于你自己的云端笔记了。
QQ截图20160408115644

原创文章,转载请注明: 转载自笛声

本文链接地址: 私有云笔记leanote搭建

2 条评论

  • 完美世界 2018年7月7日 回复

    要敲代码真心看不懂

  • 123 2018年12月18日 回复

    我直接使用docker一键部署

发表评论

电子邮件地址不会被公开。 必填项已用*标注