最新自建极客范的云笔记–蚂蚁笔记Leanote

Z站站长今天给大家分享一个来自柴郡猫的资源,也是来自别的网站,希望大家喜欢,下载地址就在文中。

自建极客范的云笔记–蚂蚁笔记Leanote

官网:https://leanote.com/

GitHub地址:https://github.com/leanote/leanote

自建极客范的云笔记--蚂蚁笔记Leanote

1. 介绍

Leanote, 不只是笔记!

特性

  • 高效笔记:Leanote 有易操作的界面, 包含一款富文本编辑器和Markdown编辑器,让您的笔记记录更轻松和高效。对高阶用户,我们还提供VimEmacs 编辑模式,助推你的写作速度更上层楼。
  • 知识管理: Leanote 灵活而强大的“笔记本-笔记-标签”系统,让它成为你个人知识管理的利器。
  • 分享: 你可以通过Leanote同好友分享知识、想法和经历, 邀请好友加入你的笔记簿,通过云端交流信息。
  • 协作: Leanote协助你与同事之间相互协作,激荡新思路,随时随地头脑风暴。
  • 博客: Leanote也可以作为你的个人博客, 把你的知识传播的更远!

其它特性

  • 支持Markdown编辑
  • 写作模式
  • VimEmacs 编辑模式
  • 支持PDF导出
  • 支持批量操作
  • 博客自定义主题, 实现高度定制化

2. 为什么我们要创建Leanote?

我们都曾是Evernote的忠实粉丝, 一直以来Evernote都是我们日常知识管理的有效工具。于是我们决定重新创造一款工具,提供Evernote所能提供的功能,同时弥补Evernote的不足,比如:

  • 功能更强的文本编辑器:Evernote的编辑器不能满足我们的需求, 不能实现文档导航、不能贴代码(格式会乱掉, 作为程序员, 代码是我们的基本需求啊), 图片不能缩放等。
  • Evernote 不支持所有人都喜爱的markdown语法,于是我们为Leanote配备了一款可以实时渲染的markdown编辑器。
  • 如果你是一名开发者,觉得手指怀念VimEmacs 了,那么我们还提供给你VimEmacs 写作模式,配合markdown的格式编辑,写作的时候再也不用去碰鼠标了。
  • 知识积累和知识分享同样重要,因此大家都有自己的笔记账号和社交账号。但为什么这两者不能合二为一呢? Leanote 做到了将二者无缝衔接。
  • 一套完整的、全平台覆盖的软件套装,包括了web、桌面、安卓、IOS设备,而且全部开源!
  • 还有…

3. 获取Leanote

Leanote云笔记产品包括: Leanote Web & Server(即本仓库), 桌面客户端, IOS, android. 4端全部开源!

如果想试用我们的产品,欢迎在 https://leanote.com 上注册, Leanote团队为你提供稳定可靠的服务。 担心服务厂商如何处理你的个人数据吗?你可以下载Leanote安装在自己的服务器上, 通过Leanote客户端连接与自建服务同步数据。

这里详细整理了Leanote二进版和Leanote开发版的安装教程, 请移步至:

 

以下为常见问题处理方式:

no reachable server

请确保数据库是否启动, 如果确定已启动 可以 尝试将 conf/app.conf db.host=localhost 改为db.host=127.0.0.1

修改后请重新启动Leanote.

安装Leanote后运行出错

如果出现以下问题:

Go to /@tests to run the tests. panic: auth fails  goroutine 1 [running]: github.com/leanote/leanote/app/db.Init()  /home/life/gopackage1/src/github.com/leanote/leanote/app/db/Mgo.go:64 +0x356 

Leanote运行出错90%的原因是数据库的问题, 请检查:

  1. 数据库是否启动了?
  2. 如果数据库是以auth方式启动的, 请检查conf/app.conf是否配置了正确的数据库用户名和密码

注意, 默认的conf/app.conf 数据库配置如下:

# mongdb db.host=localhost db.port=27017 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 mongdb 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 

即数据库名为leanote, 用户名和密码为空, 请检查是否正确.

Leanote运行成功, 但不能登录

原因: 数据库已停止运行, 请重新启动数据库和Leanote.

如果数据库在运行, 请重新启动Leanote.

修改Leanote运行端口

比如想以8080端口启动.

修改conf/app.conf:

http.port=8080 site.url=http://localhost:8080 

请重启Leanote, 使用http://localhost:8080访问.

如何绑定域名?

比如想绑定域名a.com到你运行Leanote服务器, 你需要将leanote以80端口运行, 请修改conf/app.conf的如下配置:

http.port=80 site.url=http://a.com 

然后启动Leanote. 当然你还需要将a.com绑定ip到Leanote服务器.

如果服务器上已有其它程序运行了80端口, 怎么办呢? 请google或百度下 “使用nginx分发请求到不同端口”.

为mongodb数据库添加用户

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

mognodb v2与v3创建用户命令有所不同

mongodb v2 创建用户如下:

# 首先切换到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 创建用户如下:

# 首先切换到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:

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

还要修改配置文件 : 修改 leanote/conf/app.conf:

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为超级管理员, 修改或/添加一行:

adminUsername=life 

为Leanote配置https

1. 生成SSL证书

可以在网上买一个, 或者自己做一个. 这里有一个shell脚本可以自动生成证书: (cert.sh)

#!/bin/sh  # create self-signed server certificate:  read -p "Enter your domain [www.example.com]: " DOMAIN  echo "Create server key..."  openssl genrsa -des3 -out $DOMAIN.key 1024  echo "Create server certificate signing request..."  SUBJECT="/C=US/ST=Mars/L=iTranswarp/O=iTranswarp/OU=iTranswarp/CN=$DOMAIN"  openssl req -new -subj $SUBJECT -key $DOMAIN.key -out $DOMAIN.csr  echo "Remove password..."  mv $DOMAIN.key $DOMAIN.origin.key openssl rsa -in $DOMAIN.origin.key -out $DOMAIN.key  echo "Sign SSL certificate..."  openssl x509 -req -days 3650 -in $DOMAIN.csr -signkey $DOMAIN.key -out $DOMAIN.crt 

假设得到了两个文件: a.com.crt, a.com.key

2. 配置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;         }     }          # https     server     {         listen  443 ssl;         server_name  a.com;         ssl_certificate     /root/a.com.crt; # 修改路径, 到a.com.crt, 下同         ssl_certificate_key /root/a.com.key;         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;         }     } } 

Import of github.com/revel/revel/modules/testrunner failed

1.0版之前(beta版)会遇到这个问题, 1.0采用revel-0.12, 所以不会遇到这个问题.

Failed to load module.  Import of github.com/revel/revel/modules/testrunner failed: cannot find package "github.com/revel/revel/modules/testrunner" in any of:  /Users/life/app/go1.4/src/github.com/revel/revel/modules/testrunner (from $GOROOT)  /Users/life/Documents/Go/package_base/src/github.com/revel/revel/modules/testrunner (from $GOPATH) 

revel 0.12 版配置不一样, 请修改app.conf

module.static=github.com/revel/modules/static     module.testrunner=github.com/revel/modules/testrunner   

开发版如何更新leanote?

可以使用git pull得到leanote上最新版本, 如果你已修改了leanote, 可以先fetch(推荐使用fetch的方式)最新到本地, 再与本地的合并. 如:

git fetch origin master:tmp # 得到远程最新版本, 别名为tmp git diff tmp # 查看tmp与本地的不同 git merge tmp # 合并到本地 

如果不能用git方式同步源码, 请下载 https://github.com/leanote/leanote

  1. 请先备份leanote之前的目录, 以防万一
  2. 将下载好的替换之前的leanote
  3. 将之前版本下的
    • /public/upload/ 目录
    • /files/ 目录
    • /conf/app.conf 移到新版下相应位置.

重启Leanote.

如果运行有问题, 如 “cannot find package “github.com/PuerkitoBio/goquery” in any of:…” 类似的信息, 原因是Leanote增加了新的依赖, 此时可以使用go get命令下载新包, 如下载”github.com/PuerkitoBio/goquery”

go get github.com/PuerkitoBio/goquery 

或下载依赖包与源码全集: https://github.com/leanote/leanote-all

二进制版如何更新leanote?

请下载最新的leanote二进制版, 将之前版本下的

  • /public/upload/ 目录
  • /files/ 目录
  • /conf/app.conf

移到新版下相应位置.

在新版下运行leanote.

为什么需要 site.url

site.url是外网可访问的域名, 比如你可以配置为http://a.com, 但在运行leanote可以设端口为9000, 再通过Nginx转发到9000. 如果外网地址是80端口, 请不要填写http://a.com:80, 而只要为http://a.com即可!

site.url用于生成笔记内的图片/附件路径.

若使用nginx转发到https方式部署leanote,site.url需要配置成https://a.com ;否则在博客页面输出的css和js是以http链接形式展现在html中,高版本浏览器比如firefox会直接block掉这部分内容,从而页面显示不正常。更多信息请查看https://github.com/leanote/leanote/issues/228

客户端不能同步图片

请确保conf/app.conf的site.url和在客户端登录时填写的自建服务地址相同!

导出PDF配置 wkhtmltopdf

Leanote的PDF导出使用了wkhtmltopdf, 所以需要先安装wkhtmltopdf, 然后以管理员身份登录Leanote管理后台配置wkhtmltopdf路径.

下文讲解如何安装wkhtmltopdf.

源码编译安装

源码编译安装不会出现依赖的问题,wkhtmltopdf提供的编译脚本已经包含了相关依赖库的下载和安装过程,具体编译请查看wkhtmltopdf的源码包中的install.md文件。

二进制版本wkhtmltopdf安装 [推荐]

下载wkhtmltopdf,选择对应的版本,下载下来后通过rpm -ivh命令进行安装。

然后就会看到缺少一些依赖,所以要安装一些依赖库。

安装wkhtmltopdf的依赖包:

yum install -y fontconfig libX11 libXext libXrender xorg-x11-fonts-Type1 xorg-x11-fonts-75dpi libpng 

安装完后再通过rpm -ivh命令安装wkhtmltopdf。

测试wkhtmltopdf

使用命令wkhtmltopdf http://google.com google.pdf,若没有问题则安装ok。若提示缺少库无法运行,则可以通过ldd wkhtmltopdf,查看缺少什么依赖库,然后再安装缺少的依赖库。

可能部分机器会遇到libpng提示缺少的问题,原因是直接安装的版本过高,某些版本wkhtmltopdf预编译版本依赖的libpng版本要低一点,通过yum provides *libpng12.so.0*,找到对应的版本,然后在进行安装yum install libpng12-1.2.50-6.el7.x86_64

中文问题

在测试了将google页面导出成pdf,并检查pdf内容正常后,可以试一下使用命令wkhtmltopdfhttp://baidu.com baidu.pdf看一下中文页面是否能正常导出。若导出后中文内容为空白则是linux系统缺少中文字体。可以从windwows机器的windwows/fonts目录拷贝几个中文字体文件(微软雅黑之类的)到linux系统的/usr/share/fonts目录,然后再去测试下导出百度页面。

不能导出PDF?

如果导出PDF没有出现下载文件的提示, 证明导出出错, 请按照以下步骤检查:

  1. wkhtmltopdf安装是否成功? 请通过 wkhtmltopdf http://baidu.com baidu.pdf 检查
  2. wkhtmltopdf的路径在Leanote是否正确设置? 请复制你设置的路径到控制台导出试试, 比如/usr/bin/wkhtmltopdf http://baidu.com baidu.pdf
  3. 导出还有问题? 请检查你的conf/app.conf中设置的site.url是否可以访问, Leanote导出PDF时会访问笔记链接, 这个链接的前缀就是 site.url

不能通过IP访问

2.6版默认绑定localhost, 不能通过ip访问Leanote,

请修改 app.conf

http.addr=0.0.0.0 # listen on all ip addresses 

重启Leanote

大家觉得Z站站长分享得这个资源怎么样?赶紧评论一下吧!

【小程序源码网资源版权风险说明】:
本站为避免不必要的纷争,分享的所有资源中一切可能有版权风险的资源将全部转载自第三方网站或平台,站长只为大家提供相关资源的介绍和跳转引导。 因可能有疏忽大意,所以如有遗漏资源侵犯了您的合法权利,请联系站长删除。
【小程序源码网资源下载使用说明】:
本站所分享的一切QQ小程序源码,thinkphp整站源码,微信小程序源码,图文教程等资源仅供用户学习参考使用,任何人不得作其他用途,违者自行承担所有责任。
【小程序源码网毫无人看的介绍】:
本站又称Z站,原名贼娘网,开站于2018年,换过三任站长,目前站长是第四任站长,本站是一个主要分享免费开源小程序源码/网站源码/免费素材/教程资源的网站,主要小程序资源有用于学习的小程序源码,也有正版原创可商用的小程序源码,是一个公益博客型网站。
【小程序源码网原创源码版权申明】:
未经小程序源码网许可,任何人不得擅自使用本站原创首发源码进行商业行为(除本站VIP用户在期限内,版权无使用限制),否则将依法承担相应赔偿责任。
【小程序源码网转载文章版权申明】:
本站所转载的QQ小程序或微信小程序源码与其他资源仅供学习,任何人不得作其他用途,违者自行承担所有责任。
【小程序源码网站长最后的屁话】:
如有您认为本站有任何侵犯您合法权益的文章,或者您有什么疑问需求,欢迎联系站长QQ,站长24小时在线,备注公司名称和源码版权问题或者需要小程序定制开发等站长业务类型可急速处理,如果您只是交流小程序的一些开发问题或源码问题可以加入QQ群讨论,就不用加站长啦,对于白嫖党,QQ群才是处理问题的天堂,当然站长也欢迎大家骚扰~
小程序源码网 » 最新自建极客范的云笔记–蚂蚁笔记Leanote

发表评论

嘿,投喂下嘛!