经常在多台电脑之间跨电脑工作,又入坑了云服务器,搭建私人网盘和私人笔记平台的对我来说太有必要了,这次我选择搭建蚂蚁笔记,虽然不难,但是还说走了不少坑。安装前一定要先看官方安装文档。

安装文档

安装 MongoDB

安装Percona repository

1
sudo yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm

启动Percona repository

1
percona-release enable psmdb-40 release

安装percona-server-mongodb

1
yum install -y percona-server-mongodb

MongoDB使用

1
service mongod start
1
2
3
service mongod status #确认服务正在运行
service mongod stop #停止服务
service mongod restart #重新启动服务

设置开机启动

1
systemctl enable mongod

安装leanote

下载 leanote

1
2
wget https://nchc.dl.sourceforge.net/project/leanote-bin/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
tar -xzvf leanote-linux-amd64-v2.6.1.bin.tar.gz

导入初始数据

1
2
cd leanote
mongorestore -h localhost -d leanote --dir mongodb_backup/leanote_install_data/

把/root/leanote/conf/app.conf中的site.url=http://localhost:9000 修改为你的域名或者地址

把app.secret=后面的代码修改其中一部分

运行leanote

1
2
cd bin
sh run.sh

初始用户admin,初始密码abc123

leanote后台运行

1
setsid sh /root/leanote/bin/run.sh  #/root/可省略

开机启动

1
2
vi /etc/rc.d/rc.local #编辑这个文件
setsid sh /root/leanote/bin/run.sh #最后一行添加

关闭进程

ps -A|grep leanote

kill

leanote

配置leanote

Q&A

修改管理员账户名称

名称默认是admin,你要先登陆9000端口,网页设置里面修改用户名,这时候再登陆会发现不是管理员了

再去修改/root/leanote/conf/app.conf,把adminUsername=改为你刚刚修改的名字。

只改其中一处都是不行的

导出PDF

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

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

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

1
rpm -ivh wkhtmltox-0.12.5-1.centos7.x86_64.rpm

在后台设置的Export PDF-Wkhtmltopdf Binary Path输入/usr/local/bin/wkhtmltopdf

PDF中文问题

若导出PDF后中文内容为空白则是linux系统缺少中文字体。可以从windwows机器的windwows/fonts目录拷贝几个中文字体文件(微软雅黑之类的),右键复制粘贴出来桌面,上传到到linux系统的/usr/share/fonts目录,然后再去测试下导出带中文的页面。

Nginx反向代理

假设Leanote运行的端口是9000, 域名为darler.cn, 那么nginx.conf可以配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 本配置只有http部分, 不全
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

upstream darler.cn {
server localhost:9000;
}

# http
server
{
listen 80;
server_name darler.cn;
location / {
proxy_pass http://darler.cn;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

配置反向代理是为了不用在地址中输入:9000,

除了做反向代理,你还可以在域名解析做隐形url转发,记录着为ip:9000。

自从有自己的云笔记,写文章方便了好多。