Leanote是一款golang语言编写的开源程序,它的特色在于把博客和笔记二者的功能合二为一,既能用作知识管理,也能用来发表博客。当选中一个笔记把它设定为公开为博客,它就会出现在自己的博客中。这个特色还是很有看点的;尤其当leanote的各个平台下客户端的客户端出来后,能够在各个平台下保持统一的阅读、书写体验。尤其对一些个人的独立博客,博客发表后也需要反复编辑,这个时候用起来就很顺手。
一、使用体验
我是自己搭建的leanote,搭建好后完全没想到leanote的开源程序就是leanote.com的程序。也就是说能够注册新用户,他们拥有自己的博客主页。当直接访问域名时,打开的直接是leanote.com那样的主页,当然也可以设置为访问域名时打开页面用户为admin的博客主页。
当我打开admin blog中的一篇文章后,链接格式为domain/blog/admin/post/xxx
,这样实在显得罗嗦且不利于seo,由于没有找到可以设置的地方,放弃了把leanote作为博客的欲念。leanote.com的高级用户可以绑定域名,但是必须要备案,也比较麻烦,所以博客不打算更改了。
说实在的,leanote能开发到现在这种程度很不容易,我想要去试用它当然也有它自己的一系列优点:
- 支持markdown呵富文本两种编写方式,还有vim、emacs两种模式可供选择。书写体验无可挑剔。
- 跨平台的客户端支持,目前已支持windows、linux、mac、iso,当然还有web版,不过android版目前仍在开发中。
- 支持代码高亮
- 良好的数据导入导出:支持leanote和evernote两种格式的导入和导出。还支持导出为pdf。
- 笔记可以方便的发表为博客。
不过我目前仅仅是把笔记迁移到leanote,放弃了博客的迁移。除了前面的文章链接格式的难以修改,主要是考虑到目前leanote还是比较小众的,小众意味着扩展功能的不完善,寻求支持的难度;而且作为博客来说功能还是有点简陋,不支持一些WordPress等一系列博客的导入等。
虽然如此,我仍然看好leanote的发展,会持续关注。不过leanote作者看起来只会写代码,不善于推广,虽然拥有一系列的高级功能但是仍然没有火起来。
二、Leanote的搭建
如果认为之前的那些问题自己都不在意,或者喜欢折腾,那么可以考虑我的安装过程来搭建leanote。我的搭建环境为Ubuntu14.04,32位版本。其中包括了完整的leanote的安装、开机启动、ssl的配置。
2-1下载leanote二进制版本
二进制就是把源码编译好的版本,不需要费时间make了。先下载Leanote 最新二进制版,直接点击自己需要的版本,之后浏览器会弹出下载窗口,复制其中下载链接,ssh连接到自己的vps,使用命令wget 粘贴下载链接
。假设leanote下载到/var/www/下。则
cd /var/www/
sudo wget 下载链接
sudo tar -xzvf leanote-.tar.gz
到这里,leanote的部分暂时完成了。
2-2安装mongodb
Ubuntu 下安装就是一条命令的事。直接敲入:
sudo apt-get install mongodb -y
值得一提的是,mongodb本身只有几百kb,但大概有200m大小的依赖。
2-3开启mongodb并导入数据库
sudo mkdir /var/www/leanote/data #创建文件夹
sudo mongod --dbpath /var/www/leanote/data #启用mongodb
mongorestore -h localhost -d leanote --dir /var/www/leanote/mongodb_backup/leanote_install_data/ #导入数据库
2-4配置leanote
请修改conf/app.conf
中app.secret
任意一个值, 若不修改, 可能会有安全问题。
这时直接sh /var/www/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 :9000...
2-5nginx配置leanote https
先参考这里Ghost Blog启用HTTPS使用LetsEncrypt SSL证书,配置好ssl证书,然后直接在nginx配置文件中粘贴进去
server {
listen 80;
server_name yuan.ga;
return 301 https://yearliny.com$request_uri;
}
server {
listen 443 ssl;
server_name yuan.ga;
ssl_certificate /etc/letsencrypt/live/yuan.ga/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yuam.ga/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
access_log /var/log/nginx/leanote.log;
error_log /var/log/nginx/leanote_error.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:9000;
proxy_redirect off;
}
}
其中把yuan.ga修改成自己的域名,证书位置填写正确,其他的则可以选择性修改。
2-6supervisor守护leanote运行
为了避免leanote崩溃或其他情况导致的退出,所以需要维持leanote的后台运行与开机启动。操作方法如下:
sudo pat-get install supervisor #安装
sudo vim /etc/supervisord.conf #配置文件
#填加以下内容
[program:leanote]
command=sh /var/www/leanote/bin/run.sh
directory=/var/www/leanote/bin
autorestart=true
redirect_stderr=true
之后可以通过下面的命令控制supervisor
sudo supervisord #启动supervisor
sudo supervisorctl reload #重新加载supervisor
sudo supervisorctl leanote start #启动leanote
发表回复