参考了官方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. Tomcat中JVM参数设置

    Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对JavaJVM有关内存方面的知识进 ...

  2. ASP.NET中使用TreeView显示文件

    在ASP.NET中,TreeView的使用很普遍,把它利用上来 首先加入TreeView控件 <asp:TreeView ID="driverInfoView" runat= ...

  3. JSP学习笔记(四):文件上传

    JSP 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器.上传的文件可以是文本文件或图像文件或任何文档.我们使用 Servlet 来处理文件上传,使用到的文件有: upload.j ...

  4. [笔记][Java7并发编程实战手冊]3.8 并发任务间的数据交换Exchanger

    [笔记][Java7并发编程实战手冊]系列文件夹 简单介绍 Exchanger 是一个同步辅助类.用于两个并发线程之间在一个同步点进行数据交换. 同意两个线程在某一个点进行数据交换. 本章exchan ...

  5. 如何使用angularjs实现抓取页面内容

    <html ng-app="myApp"> <head> <title>angularjs-ajax</title> <scr ...

  6. PL/SQL 之 基础

    PL/SQL(Procedural Language extensions to SQL)是Oracle 对标准 SQL 语言的过程化扩展,是专门用于各种环境下对 Oracle 数据库进行访问和开发的 ...

  7. Eclipse启动Tomcat错误(其他类似)

    Eclipse启动Tomcat错误信息: Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are alre ...

  8. java 动态代理(模式) InvocationHandler(为类中方法执行前或后添加内容)

    动态代理属于Java反射的一种. 当我们得到一个对象,想动态的为其一些方法每次被调用前后追加一些操作时,我们将会用到java动态代理. 下边上代码: 首先定义一个接口: package com.liu ...

  9. Hive面试题——累计求和

    需求: 有如下访客访问次数统计表 t_access_times 访客 月份 访问次数 A 2015-01 5 A 2015-01 15 B 2015-01 5 A 2015-01 8 B 2015-0 ...

  10. 【转载】IIS6、IIS7、IIS7.5设置拒绝一组计算机(IP段)访问网站的方法

    IIS6设置方法: 1.打开IIS管理器,右键点击网站,选择“属性” 2.把标签切换到“目录安全性”,点击“IP地址和域名限制”的编辑按钮,如下图: IP地址和域名限制 3.选择“授权访问”,然后点击 ...