赞
踩
【1】下载安装服务端
【2】leanote导出PDF
【3】制作 leanote docker 镜像
【1】下载安装服务端
参考链接
###下载地址 https://sourceforge.net/projects/leanote-bin/files/ ###安装 MongoDB,Leanote 依赖 MongoDB 作为数据存储 cd /home wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.1.tgz tar -xzvf mongodb-linux-x86_64-3.0.1.tgz mkdir -p /data/db #创建用于存储的文件夹目录 vim /etc/profile #配置 MongoDB 的环境变量 export PATH=$PATH:/home/mongodb-linux-x86_64-3.0.1/bin source /etc/profile mongod --bind_ip localhost --port 27017 --dbpath /data/db/ --logpath=/var/log/mongod.log --fork #启动 MongoDB ###安装 Leanote cd /home wget https://iweb.dl.sourceforge.net/project/leanote-bin/2.4/leanote-linux-amd64-v2.4.bin.tar.gz tar -zxvf leanote-linux-amd64-v2.4.bin.tar.gz vim app.conf #编辑 Leanote 配置文件, #修改app.secret= 项(官方说明文档里说用户必须要修改,要不然会有安全问题,随便改改就好),为: app.secret=qcloud666 #修改site.url mongorestore -h localhost -d leanote --dir /home/leanote/mongodb_backup/leanote_install_data/ #导入初始化数据 nohup /bin/bash /home/leanote/bin/run.sh >> /var/log/leanote.log 2>&1 & #启动 Leanote 服务 ###通过访问 http://<您的 CVM IP 地址>:9000 就可以了使用自己的笔记本。 初始化账户: admin 初始化密码: abc123
【2】leanote导出PDF
Leanote 蚂蚁笔记 自建私人云服务简单流程 Centos 7.4
Centos 7 安装 Wkhtmltopdf
###导出PDF需安装wkhtmltopdf
#wkhtmltopdf下载地址
https://github.com/wkhtmltopdf/wkhtmltopdf/releases/
wget --no-check-certificate "https://github-production-release-asset-2e65be.s3.amazonaws.com/271714/3f90e5d2-6e42-11e8-9f4a-7d8d6460a726?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200416%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200416T060910Z&X-Amz-Expires=300&X-Amz-Signature=a46ac21285c3d69e7f1413c952a1fc73a3954fe7d6d62366106210e8e7797553&X-Amz-SignedHeaders=host&actor_id=25061151&repo_id=271714&response-content-disposition=attachment%3B%20filename%3Dwkhtmltox-0.12.5-1.centos7.x86_64.rpm&response-content-type=application%2Foctet-stream" -O wkhtmltox-0.12.5-1.centos7.x86_64.rpm
#安装,centos7.4下默认安装路径就是/usr/local/bin/wkhtmltopdf
rpm -ivh wkhtmltox-0.12.5-1.centos7.x86_64.rpm
find / -name wkhtmltopdf
#测试wkhtmltopdf
/usr/local/bin/wkhtmltopdf http://www.baidu.com ./test.pdf
###ubuntu 安装wkhtmltopdf
sudo apt-get update
sudo apt-get install xvfb
sudo apt-get install wkhtmltopdf
sudo pip install pdfkit #pdfkit,在wkhtmltopdf基础之上,进行了更丰富的包装
安装standard PostScript fonts:
yum install urw-fonts libXext openssl-devel
将 windows下的字体,例如simsun.ttc ,或者msyh.ttf,或者msyhbd.ttf 复制到 linux系统 /usr/share/fonts 下
qt.qpa.screen: QXcbConnection: Could not connet to display
Cloud not connect to any X display
#解决方案
#在 xvfb(X virtual framebuffer)中运行wkhtmltopdf, xvfb能够直接处理图形化功能,给应用程序提供一个虚拟的X server。
sudo apt-get install xvfb
#在xvfb中运行wkhtmltopdf
xvfb-run wkhtmltopdf $source $destination
【3】制作 leanote docker 镜像
参考链接
leanote 使用 mongodb 存储数据,如果把 mongodb 单独做成一个镜像,初始化数据时比较麻烦,所以最后还是决定把 mongodb 和 leanote 放到同一个镜像里边。
docker容器启动后,必须有一个进程前台运行,这个前台进程结束时docker容器结束,docker stop 时会给前台进程发信号,所以前台进程可以正常结束,而后台进程不会收到结束信号,前台进程结束时后台进程会被强制结束。
如果只是简单的启动 mongodb 和 leanote,mongodb 后台运行,leanote前台运行,结束容器的时候,leanote会正常结束,而mongodb则会非法结束,引起mongodb数据不一致。
其中一个解决办法就是使用supervisor作为前台进程,其他进程作为supervisor的子进程。
#编写Dockerfile文件 FROM registry.cn-hangzhou.aliyuncs.com/shuangmu/supervisor:1.0 MAINTAINER shuangmu<120156206@qq.com> COPY init.sh /root/init.sh COPY mongodb.ini /etc/supervisord.d/ COPY leanote.ini /etc/supervisord.d/ COPY leanote-linux-amd64-v2.6.1.bin.tar.gz /root/ COPY mongodb-linux-x86_64-3.2.9.tgz /root/ COPY wkhtmltox-0.12.5-1.centos7.x86_64.rpm /root/ COPY simsun.ttc /usr/share/fonts/ RUN mkdir -p /root/db/ && \ cd /root && \ tar -xvf /root/mongodb-linux-x86_64-3.2.9.tgz && \ tar -xvf /root/leanote-linux-amd64-v2.6.1.bin.tar.gz && \ mv /root/mongodb-linux-x86_64-3.2.9 /root/mongodb && \ yum -y update && yum install -y fontconfig freetype libX11 libXext libXrender libjpeg libpng openssl xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 && yum clean all && \ rpm -ivh wkhtmltox-0.12.5-1.centos7.x86_64.rpm && \ mkdir -p /root/conf_bak && \ cp /root/leanote/conf/* /root/conf_bak && \ chmod a+x /root/init.sh && \ chmod a+x /root/leanote/bin/run.sh EXPOSE 9000 CMD ["/usr/bin/supervisord"] #编写supervisor文件 vim mongodb.ini [program:mongodb] command=/root/mongodb/bin/mongod --dbpath /root/db vim leanote.ini [program:leanote] command=/bin/bash -c "/root/init.sh && /root/leanote/bin/run.sh" #init.sh初始化数据库。通过判断是否存在文件/root/db/already-init-db来确定是否需要初始化数据库。数据库初始化时创建该文件。leanote的初始数据存放于/root/leanote/mongodb_backup/leanote_install_data/目录下 #!/bin/bash #set -m # 如果数据库未初始化,则初始化数据库 if [ ! -f "/root/db/already-init-db" ] ; then touch /root/db/already-init-db /root/mongodb/bin/mongorestore -h localhost -d leanote --dir /root/leanote/mongodb_backup/leanote_install_data/ fi # 如果配置文件不存在,则复制配置文件 if [ ! -f "/root/leanote/conf/app.conf" ] ; then cp /root/conf_bak/* /root/leanote/conf/ fi #生成镜像 docker build -t leanote:2.6.1 --rm --no-cache . #运行容器 docker run --name leanote -d -v /etc/localtime:/etc/localtime:ro -v /docker/leanote/db:/root/db -v /docker/leanote/conf/:/root/leanote/conf/ -v /docker/leanote/files:/root/leanote/files -p 9000:9000 leanote:2.6.1
#修改conf/app.conf文件
#修改admin账户密码(初始密码 abc123)
#登录后台修改mongodb Tool 配置
mongodump path:/root/mongodb/bin/mongodump
mongorestore path:/root/mongodb/bin/mongorestore
#其他操作
FROM registry.cn-hangzhou.aliyuncs.com/shuangmu/supervisor:1.0 MAINTAINER shuangmu<120156206@qq.com> COPY init.sh /root/init.sh COPY mongodb.ini /etc/supervisord.d/ COPY leanote.ini /etc/supervisord.d/ RUN yum -y update && yum install -y wget fontconfig freetype libX11 libXext libXrender libjpeg libpng openssl xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 && yum clean all && \ wget http://172.18.0.1:8081/leanote_build/leanote-linux-amd64-v2.6.1.bin.tar.gz -O /root/leanote-linux-amd64-v2.6.1.bin.tar.gz && \ wget http://172.18.0.1:8081/leanote_build/mongodb-linux-x86_64-3.2.9.tgz -O /root/mongodb-linux-x86_64-3.2.9.tgz && \ wget http://172.18.0.1:8081/leanote_build/wkhtmltox-0.12.5-1.centos7.x86_64.rpm -O /root/wkhtmltox-0.12.5-1.centos7.x86_64.rpm && \ wget http://172.18.0.1:8081/leanote_build/simsun.ttc -O /usr/share/fonts/simsun.ttc && \ mkdir -p /root/db/ && \ cd /root && \ tar -xvf /root/mongodb-linux-x86_64-3.2.9.tgz && \ tar -xvf /root/leanote-linux-amd64-v2.6.1.bin.tar.gz && \ mv /root/mongodb-linux-x86_64-3.2.9 /root/mongodb && \ rpm -ivh wkhtmltox-0.12.5-1.centos7.x86_64.rpm && \ rm -f /root/leanote-linux-amd64-v2.6.1.bin.tar.gz && \ rm -f /root/mongodb-linux-x86_64-3.2.9.tgz && \ rm -f /root/wkhtmltox-0.12.5-1.centos7.x86_64.rpm && \ mkdir -p /root/conf_bak && \ cp /root/leanote/conf/* /root/conf_bak && \ chmod a+x /root/init.sh && \ chmod a+x /root/leanote/bin/run.sh EXPOSE 9000 CMD ["/usr/bin/supervisord"]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。