美文网首页
用Leanote搭建自己的云笔记服务

用Leanote搭建自己的云笔记服务

作者: EwanRenton | 来源:发表于2018-12-05 15:15 被阅读0次

    之前一直使用Leanote云笔记,后来因为限流不能同步,调研了几个其他云笔记都各有缺点,偶然间看到有用Leanote搭建云笔记服务的,就自己也搭了一个。


    所需软件

    • Golang
    • Revel
    • Leanote源码
    • Mongodb

    Golang

    Golang中国下载go1.8.4.linux-amd64.tar.gz,我使用的是1.8.4

    将文件下载到/home/user/下,解压文件:

    cd /home/user/
    tar -xzvf go1.8.4.linux-amd64.tar.gz
    

    /home/user/目录下新建gopackage目录,用来存放go的包和编译后的文件:

    mkdir /home/user/gopackage
    

    配置环境变量, 编辑/etc/profile~/.bashrc文件,我使用的是~/.bashrc

    #在文件最后添加
    export GOROOT=/home/user/go
    export GOPATH=/home/user/gopackage
    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
    

    之后再 source 一下修改的文件

    source ~/.bashrc
    

    查看go是否安装成功

    go version
    

    得到

    go version go1.8.4 linux/amd64
    

    获取Revel和 Leanote 源码

    下载leanote-all-master.zip,解压后,将src文件夹复制到/home/user/gopackage/
    使用如下命令生成revel二进制命令,稍后运行Leanote需要用到:

    go install github.com/revel/cmd/revel
    

    Leanote的源码在/home/user/gopackage/src/github.com/leanote/leanote下。


    Mongodb

    下载64位 linux Mongodb 3.0.1/home/user/直接解压即可。

    为了快速使用mongodb命令, 可以配置环境变量。编辑 /etc/profile~/.bashrc 文件, 将mongodb/bin路径加入即可

    export PATH=$PATH:/home/user/mongodb-linux-x86_64-3.0.1/bin
    

    之后任然需要source一下修改的文件。

    /home/user/下新建一个目录data用于存放Mongodb数据:

    mkdir /home/user/data
    

    用以下命令启动mongod:

    mongod --dbpath /home/user/data
    

    这时mongod已经启动,重新打开一个终端, 键入mongo进入交互程序:

    > mongo
    > show dbs
    ...数据库列表
    

    Mongodb安装到此为止, 下面为Mongodb导入Leanote初始数据。


    导入初始数据

    leanote 初始数据在/home/user/gopackage/src/github.com/leanote/leanote/mongodb_backup/leanote_install_data中。
    输入以下命令导入数据.

    mongorestore -h localhost -d leanote --dir /home/user/gopackage/src/github.com/leanote/leanote/mongodb_backup/leanote_install_data
    

    现在在mongodb中已经新建了leanote数据库.


    运行Leanote

    注意: 在此之前请确保Mongodb已在运行!

    revel run github.com/leanote/leanote
    

    打开浏览器访问: http://localhost:9000


    配置Leanote

    Leanote的配置存储在文件 conf/app.conf 中。
    务必修改app.secret一项,否则会有安全隐患!
    官方提供了很多配置选项,我下面就写下我用到的几种。


    为mongodb数据库添加用户

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

    # 首先切换到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, 比如指定用户test为超级管理员, 修改或/添加一行:
    指定之前需要先在网页上创建该账户。

    adminUsername=test
    

    导出PDF配置 wkhtmltopdf

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

    安装wkhtmltopdf

    wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
    tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
    cd wkhtmltopdf/bin
    chmod +x wkhtmltopdf
    mv wkhtmltopdf /usr/local/bin
    

    测试是否安装成功

    wkhtmltopdf http://www.baidu.com ./baidu.pdf
    

    导出的PDF中文会乱码,我们需要找到windows里C:\Windows\Fonts文件夹中的宋体或者微软雅黑字体,上传到服务器/usr/share/fonts/目录下即可。

    配置wkhtmltopdf路径.


    其他配置请参照关于Leanote安装/配置的一些问题
    Leanote的使用教程请参照Leanote使用教程集


    在PC端和Android端使用

    Leanote官网可以下载相应客户端。

    PC

    在登录时选择登录自建服务


    在下面填入你的地址


    Android

    使用同PC端,选择下方的使用自定义服务器



    参考资料

    LeanoteWiki
    程序员如何打造属于自己的云笔记服务

    相关文章

      网友评论

          本文标题:用Leanote搭建自己的云笔记服务

          本文链接:https://www.haomeiwen.com/subject/qpfwcqtx.html