参考了官方wiki以及中文博客

  https://github.com/leanote/leanote/wiki

  http://leanote.leanote.com/post/Leanote-manual-project

  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

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

  但是在使用过程中发现改变量只能在当前终端中生效,新开的终端或者系统重启后就要重新手动使之生效,这里有个办法:直接在用户目录下的.bashrc文件(隐藏文件)中添加你的环境变量就可以了

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

2.2 mongodb运行测试

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

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

  用以下命令启动mongod:

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

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

--02T02::19.481- [FileAllocator] done allocating datafile /home/user/data/local.ns, size: 16MB, took  secs
--02T02::19.516- [FileAllocator] allocating new datafile /home/user/data/local., filling with zeroes...
--02T02::19.532- [FileAllocator] done allocating datafile /home/user/data/local., size: 64MB, took 0.011 secs
--02T02::19.597- [initandlisten] build index on: local.startup_log properties: { v: , key: { _id: }, name: "_id_", ns: "local.startup_log" }
--02T02::19.597- [initandlisten] added index to empty collection
--02T02::19.597- [initandlisten] command local.$cmd command: create { create: "startup_log", size: , capped: true } ntoreturn: keyupdates: numYields: reslen: 115ms
--02T02::19.599- [initandlisten] waiting for connections on port

  重新打开一个终端(因为刚刚启动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: demo@leanote.com, password: demo@leanote.com (仅供体验使用)

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

> db.users.update({Username:'admin'},{$set:{Email:'001@test.com'}});
> db.users.update({Username:'demo'},{$set:{Email:'002@test.com'}});

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=V85ZzBeTfghthgjhgykjyegpd5g9y2aDM55VWxAH4r95jhglk4hykgk3x52qwjhogh0y #
#-----------------------------------------------------------------------

  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 // :: watcher.go:: Watching: /home/life/leanote/bin/src/github.com/leanote/leanote/conf/routes
Go to /@tests to run the tests. Listening on :...

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

补充内容:

  Mongodb开机启动

  在/etc/rc.local文件末尾添加下面的代码

#add mongodb service

/home/user1/mongodb-linux-x86_64-3.0.1/bin/mongod --dbpath=/home/user1/data --logpath=/home/user1/logs/mongodb.log --logappend --auth --port=27017 

  leanote开机启动

  直接在后面跟上命令&….&,eg:

/home/user1/mongodb-linux-x86_64-3.0.1/bin/mongod --dbpath=/home/user1/data --logpath=/home/user1/logs/mongodb.log --logappend --auth --port=27017 & bash /home/user1/leanote/bin/run.sh &

  创建mongodb超级管理员

  在未开启权限验证机制的状态下,使用“命令指示符”窗口键入"mongo"命令打开MongoDB的shell,进行一下操作:

  1.使用“use”命令,切换到admin数据库,MongoDB用admin的system.users集合保存着用户信息。

> use admin

  2.使用db.createUser方法来创建用户,具体的说明,请参考官网文档

> db.createUser(
... {
... user: "sa",
... pwd: "123",
... roles: [ { role: "__system", db: "admin" } ]
... }
... )

  这样我们就创建了一个账号:sa,密码:123,拥有“__system”角色的权限,关于“__system”角色的具体说明,请参考官网文档

  警告:不要把拥有“__system”角色的账号分配给系统程序使用

  此处参考:http://www.cnblogs.com/sheepswallow/p/4868519.html

  其他参考链接(有没有用上不知道,反正看是看了一下):

  http://blog.csdn.net/jaylong35/article/details/7219410

  http://blog.csdn.net/leftfist/article/details/40544415

  最后比较重要的,关于防火墙Debian的防火墙设置(反正我就只开了443)

  https://wiki.debian.org/iptables

Debian8.0 搭建leanote的更多相关文章

  1. centos 搭建 leanote

    centos 搭建leanote(蚂蚁笔记) 至于蚂蚁笔记是什么可以看官网的介绍,https://leanote.com/  ,我只能说 nice,你值得拥有. 开始搭建(源码安装,安装路径在 /et ...

  2. Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架

    Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...

  3. 超详细!CentOS 7 + Hadoop3.0.0 搭建伪分布式集群

    超详细!CentOS 7 + Hadoop3.0.0 搭建伪分布式集群 ps:本文的步骤已自实现过一遍,在正文部分避开了旧版教程在新版使用导致出错的内容,因此版本一致的情况下照搬执行基本不会有大错误. ...

  4. Vulkan(0)搭建环境-清空窗口

    Vulkan(0)搭建环境-清空窗口 认识Vulkan Vulkan是新一代3D图形API,它继承了OpenGL的优点,弥补了OpenGL的缺憾.有点像科创板之于主板,歼20之于歼10,微信之于QQ, ...

  5. 用pytorch1.0搭建简单的神经网络:进行多分类分析

    用pytorch1.0搭建简单的神经网络:进行多分类分析 import torch import torch.nn.functional as F # 包含激励函数 import matplotlib ...

  6. Vue3实战系列:Vue3.0 + Vant3.0 搭建种子项目

    最近在用 Vue3 写一个开源的商城项目,开源后让大家也可以用现成的 Vue3 大型商城项目源码来练练手,目前处于开发阶段,过程中用到了 Vant3.0,于是就整理了这篇文章来讲一下如何使用 Vue3 ...

  7. ESXI系统从0搭建流程

    ESXI系统从0搭建流程 简单介绍 简单介绍:项目中使用到了这个系统,我自己不会搭建,但是请教别人之后自己成功搭建出来了此系统.所以在此记录一下搭建流程,希望能够帮助"零"小白. ...

  8. 手动从0搭建ABP框架-ABP官方完整解决方案和手动搭建简化解决方案实践

      本文主要讲解了如何把ABP官方的在线生成解决方案运行起来,并说明了解决方案中项目间的依赖关系.然后手动实践了如何从0搭建了一个简化的解决方案.ABP官方的在线生成解决方案源码下载参考[3],手动搭 ...

  9. AI识万物:从0搭建和部署手语识别系统 ⛵

    作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 计算机视觉实战系列: https://www.showmeai.tech ...

随机推荐

  1. Qt 事件处理机制 (下篇)

    继续我们上一篇文章继续介绍,Qt 事件处理机制 (上篇) 介绍了Qt框架的事件处理机制:事件的产生.分发.接受和处理,并以视窗系统鼠标点击QWidget为例,对代码进行了剖析,向大家分析了Qt框架如何 ...

  2. 在上已个Java Spring MVC项目基础上加MyBatis

    代码目录: /Users/baidu/Documents/Data/Work/Code/Self/HelloSpringMVC 1. 首先在resource目录加上jdbc.properties: d ...

  3. Power Desginer系列00【转载】

    绪论 Sybase PowerDesigner(简称PD)是最强大的数据库建模工具,市场占有率第一,功能也确实十分强大,现在最新版本是15.1,已经支持最新的SQL Server 2008等数据库,另 ...

  4. 设备树(Device Tree)

    设备树介绍: 设备树是一个描述设备硬件资源的文件,该文件是由节点组成的树形结构.如下: / { node1 { a-string-property = "A string"; a- ...

  5. input 输入框默认获得焦点

    JavaScript实现默认焦点: 如下写<body>标签: <body onload="window.formLogin.user.focus()"> & ...

  6. Android -- Vibrator

    Vibrator                                                                                    public c ...

  7. Python函数的循环调用

    def foo (): print 'runing foo' bar () def bar (): print 'runing bar' foo () bar() 直接上脚本,上面的脚本如果换成C语言 ...

  8. springmvc 入门(1)

    1.1 Springmvc 本套课程基于spring4.X来讲解的 SpringMVC 概述 Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架,是目前最主流的 MVC 框架之一 ...

  9. JavaScript indexof方法

    1.indexof方法 indexof方法可以在字符串和数组上使用. 2.字符串使用 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. <!DOCTYPE html&g ...

  10. Execute failed: java.io.IOException: Cannot run program &quot;sdk-linux/build-tools/22.0.0/aapt&quot;: error=2

    在Linux上使用ant编译打包apk的时候,出现以下的错误及解决方法: 1./usr/local/android-sdk-linux/tools/ant/build.xml:698: Execute ...