搭建leanote

参考了官方wiki https://github.com/leanote/leanote/wiki

1,下载 leanote 二进制版

2,安装 mongodb

3,导入初始数据

4,配置 leanote

5,启动mongodb

6, 运行 leanote

1 下载 leanote 二进制版

到http://leanote.org/#download下载最新二进制版。

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

$> cd /home/user1
$> tar -xzvf leanote-darwin-amd64.v2.0.bin.tar.gz

2.1 部署 mongodb

到http://www.mongodb.org/downloads 下载相应系统的最新版安装包

下载到 /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

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

$> source /etc/profile

2.2 mongodb运行测试

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

$> mkdir /home/user1/data
$> mkdir /home/user1/logs

用以下命令启动mongod:

$> mongod --dbpath /home/user1/data

显示如下内容则表示启动成功(启动后不要关闭终端,关闭就会停止运行)

-07-02T02:14:19.481-0400 [FileAllocator] done allocating datafile /home/user/data/local.ns, size: 16MB, took 0 secs

-07-02T02:14:19.516-0400 [FileAllocator] allocating new datafile /home/user/data/local.0, filling with zeroes...

-07-02T02:14:19.532-0400 [FileAllocator] done allocating datafile /home/user/data/local.0, size: 64MB, took 0.011 secs

-07-02T02:14:19.597-0400 [initandlisten] build index on: local.startup_log properties: { v: 1, key: { _id: 1 }, name: "_id_", ns: "local.startup_log" }

-07-02T02:14:19.597-0400 [initandlisten] added index to empty collection

-07-02T02:14:19.597-0400 [initandlisten] command local.$cmd command: create { create: "startup_log", size: 10485760, capped: true } ntoreturn:1 keyupdates:0 numYields:0 reslen:37 115ms

-07-02T02:14:19.599-0400 [initandlisten] waiting for connections on port 27017

重新打开一个终端(因为刚刚启动mongodb占用了一个终端,所以这里要再开启一个终端), 键入mongo进入交互程序:

$> mongo
> show dbs #查看数据库列表

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

3.1 导入初始数据

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/

现在在mongodb中已经新建了leanote数据库, 可在之前打开的终端中用命令查看下leanote有多少张"表":

$> mongo
> show dbs # 查看数据库
leanote 0.203125GB
local 0.078125GB
> use leanote # 切换到leanote
switched to db leanote
> show collections # 查看表
files
note_contents
....

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

user1 username: admin, password: abc123 (管理员, 只有该用户才有权管理后台, 请及时修改密码)
user2 username: [email protected], password: [email protected] (仅供体验使用)

建议修改邮箱(便于验证):

> db.users.update({Username:‘admin‘},{$set:{Email:‘[email protected]‘}});
> db.users.update({Username:‘demo‘},{$set:{Email:‘[email protected]‘}});

3.2设置 MongoDB 安全访问

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

# 首先切换到admin数据库下

> use admin
switched to db admin  

# 添加一个用户root, 密码是abc123,对应数据库leanote,权限是dbowner
> db.createUser({
user: ‘root‘,
pwd: ‘ abc123‘,
roles: [{role: ‘dbOwner‘, db: ‘leanote‘}]
});

# 测试下是否正确

>db.auth("root","abc123"); 

1

# 返回1表示正确

然后重启 mongodb 数据库(在之前运行界面直接ctrl+c即可关闭,然后重新启动mongodb)

4. 配置leanote

4.1 修改leanote/conf/app.conf中的db.username和db.password

#----------------------------------------------------------------

# 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.2 leanote的http端口默认是9000,改成80

#----------------------------------------------------------------

http.port=80

#----------------------------------------------------------------

4.3 还需要修改app.secret ,请随意修改几个值,若不修改,会有安全问题!

#----------------------------------------------------------------

# You Must Change It !! About Security!!

app.secret=V85ZzBeTfghthgjhgykjyiegpd5g9y2aDM55VWxAH4r95jhglk4hykgk3x52qwjhogh0y #

#----------------------------------------------------------------

4.4 site.url 如果由外网访问的话,这里可以改成外网访问的网址。

5.mongo启动

5.1 命令加参数启动

$> mongod --fork --dbpath /home/user1/data --logpath /home/user1/logs/mongodb.log --logappend --auth

--fork守护进程的方式运行MongoDB,创建服务器进程 必须配合--logpath一起使用

--dbpath 指定数据库路径

--logpath 指定MongoDB日志文件,注意是指定文件不是目录

--auth 启用验证(必须)

最后--logappend表示使用追加的方式写日志,防止把之前的日志删除了

5.2调用配置文件启动(推荐)

在/home/user1下新建一个mongod.conf配置文件,加入以下参数

dbpath=/home/user1/data
logpath=/home/user1/logs/mongodb.log
logappend=true
auth=true
fork=true
port=27017   #默认27017,如果要修改mongo服务端口直接修改这个即可

引入配置文件启动mongod

$> mongod -f /home/user1/mongod.conf

启动后无日志显示,要关闭程序直接ctrl+c再回车即可。

6 运行 leanote

$> bash /home/user1/leanote/bin/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 :80...

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

时间: 2024-12-06 00:13:18

搭建leanote的相关文章

自己搭建一个记笔记的环境记录(leanote)

一直在找一个开源的记笔记的软件,偶然看到leanote.竟然还是开源的,还是国人开发的果断mark了.自己在电脑上搭建了一个挺好玩的.可以记录一些不给别人看的小秘密. 下面是步骤记录,当然可以到官网上看,都是中文不存在看不懂!..... https://github.com/leanote/leanote 可以按照官网的来完全没有问题,可是官网没有说怎样能再次启动环境.自己做了补充 安装步骤: 下载 leanote 二进制版.安装 mongodb.导入初始数据.配置 leanote.运行 lea

树莓派+花生棒+leanote搭建自己的笔记服务器

背景 对于一个程序猿来说.女朋友可以(暂时)没有,但是不能没有一个很好的记笔记的应用.因为记笔记可以帮助自己积累学习提升自己.每一次回头看自己记得笔记,你都会有新的理解. 也许有人会说,用有道云啊,有道云就很好啊,你还纠结啥呢? 我是一个对产品需求要求很苛刻的人,也是一个追求性价比的人,所以这里我想说说各个笔记产品的一些缺陷: 有道云: 有道云的优势是笔记预览演示/文件上传及预览. 但对我来说他的缺点: markdown不支持截图直接粘贴,所以我一般把截图传到github的issue里或者传到博

搭建自己私有的PKM系统,各家KPM大比拼。。附:构建自己熟悉的基础Docker

Docker这容器真是很好玩!干啥都想上docker了,快疯了. 这不,最近wiz笔记开始收费,很是不爽,需要寻求新的PKM系统了.备选及落选理由如下: wiz笔记 -- 好用,顺手.要开始收费了,不然就只能本地用用,无法同步. evernote -- 记下日记挺好用的,但是不能markdown,不好贴代码,作为一个程序员伤不起啊.何况免费版就两台设备同步,区区数十MB的流量,逼人出钱买会员啊. 有道云笔记 -- 流量巨大,服务稳定,小巧高性能.奈何除了写日记简直没法用. 简书.墨迹等 -- 支

如何使用GNS3和Cisco IOU搭建路由交换实验-IOU篇

前面介绍了GNS3的概念,安装,配置和使用,本篇将介绍怎么利用GNS3配置IOU从而实现使用GNS3和Cisco IOU搭建路由交换实验. 由于本篇篇幅较长,所以先过一下大纲: 1. IOU模拟环境介绍 2. IOU软件环境的准备 3. VMware虚拟机的安装.导入和配置 4. IOU镜像的上传 5. GNS3的配置 6. IOU模拟环境的实现 IOU模拟环境介绍 IOU即IOS running in Unix,最初是由思科内部人员开发来测试IOS的平台,后来流传到互联网经网友改进有了后来的W

一、环境搭建

1 更新到最新版本的pip(这是安装python扩展包的一个插件)命令如下: python -m pip install --upgrade pip 2 使用pip安装virtualenv,命令 pip install virtualenv  如果要指定版本号,pip install virtualenv==15.0.1(安装虚拟环境) 3 创建django虚拟环境,命令 virtualenv django_basic_venv 4 使用虚拟环境 需要进入到安装目录的Scripts文件夹下,运行

cocos Creator js 房卡麻将/血战/H5四川麻将源码下载搭建

房卡麻将/血战/H5四川麻将 源码 支持iOS/Android/H5 完整源码 1.基于NODEJS+MYSQL的服务器,成熟的技术方案,高效稳定,且方便Windows开发,Linux平台布署,节约服务器运转成本. 2.采用最新版本的cocos引擎,cocos creator开发,可快速的进行界面调整.且能够快速地发布iOS,Android版本. 3.如需H5版本,只需针对H5平台进行资源优化即可. 4.成熟可靠的房卡式设计,能满足大部分用户使用体验. 5.产品经过大量测试,可以运转稳定. 测试

Vue.js系列之项目搭建(vue2.0 + vue-cli + webpack )

1.安装node node.js环境(npm包管理器) cnpm npm的淘宝镜像 从node.js官网下载并安装node,安装过程很简单,一路"下一步"就可以了(傻瓜式安装).安装完成之后,打开命令行工具,输入 node -v,如果出现相应的版本号,则说明安装成功. npm包管理器,是集成在node中的,所以,直接输入 npm -v就会显示出npm的版本信息. 2.安装cnpm 在命令行中输入 npm install -g cnpm --registry=http://registr

Vue.js项目模板搭建

前言 从今年(2017年)年初起,我们团队开始引入「Vue.js」开发移动端的产品.作为团队的领头人,我的首要任务就是设计 整体的架构 .一个良好的架构必定是具备丰富的开发经验后才能搭建出来的.虽然我有多年的前端开发经验,但就「Vue.js」来说,仍然是个新手.所幸「Vue.js」有一个配套工具「Vue-CLI」,它提供了一些比较成熟的项目模板,很大程度上降低了上手的难度.然而,很多具体的问题还是要自己思考和解决的. 项目划分 我们公司的H5产品大部分是嵌套在手机客户端里面的页面.每个项目的功能

部署AlwaysOn第一步:搭建Windows服务器故障转移集群

在Windows Server 2012 R2 DataCenter 环境中搭建集群之前,首先要对Windows服务器故障转移集群(Windows Server Failover Cluster,简称WSFC)有基本的了解.WSFC必须部署在域管理环境中,由多台服务器组成,每台服务器称作一个"结点"(Node),每个结点上都运行了Windows服务器故障转移集群服务,整个集群系统允许部分结点掉线.故障或损坏而不影响整个系统的正常运作.集群自动检测结点的健康状态,一旦活跃结点发生异常,变