使用JAIL自建服务教程之六:搭建leanote云笔记服务,并使用ssl+域名访问
Leanote是一款开源云笔记,具体介绍请看leanote官网:https://leanote.com/。不过官网上并没有提供FreeBSD/FreeNAS系统下的安装教程,使用搜索引擎(百度和谷歌)查询也没有发现相关教程。通过自己一翻摸索,成功在Jail里使用源码编译搭建成功,在这里将方法分享给大家。
1.新建一个Jail
不会的请参考:《使用JAIL自建服务教程之一:JAIL创建和优化》
2.安装go语言,并建立运行目录
pkg install go mkdir /usr/gopackage //这里面会放go的包和编译后的文件
3.准备源码
从github上下载源码,解压,将src文件夹里的文件复制到/usr/gopackage目录:
pkg install ca_root_nss unzip //ca_root_nss为fetch所需,unzip为解压工具 fetch https://github.com/leanote/leanote-all/archive/master.zip unzip master.zip //如果有一个文件提示replace,输入“y”就行了 cp -rf leanote-all-master/src /usr/gopackage/
4.编译生成revel
先临时设置环境变量:
setenv GOROOT /usr/local/go setenv GOPATH /usr/gopackage setenv PATH /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin:$GOROOT/bin:$GOPATH/bin
使用如下命令生成revel二进制文件, 稍后运行Leanote需要用到:
go install github.com/revel/cmd/revel
5.安装Mongodb数据库
pkg install mongodb36 mongodb36-tools
启动mongod服务:
sysrc mongod_enable=YES service mongod start
6.导入初始数据
mongorestore -h localhost -d leanote --dir /usr/gopackage/src/github.com/leanote/leanote/mongodb_backup/leanote_install_data
7.添加数据库用户
mongo >use leanote >db.createUser({ user: 'root', pwd: '******', roles: [{role: 'dbOwner', db: 'leanote'}] }); > exit
修改数据库配置文件,启用身份验证:
nano /usr/local/etc/mongodb.conf
在“#security:”后面添加:
security: authorization: enabled
重启mongod服务:
service mongod restart
8.修改leanote配置文件
nano /usr/gopackage/src/github.com/leanote/leanote/conf/app.conf
修改如下三处:
db.username=root db.password=**** app.secret=****** //在若干个随机位置,将字符修改成一个其他的值
输入以下命令运行leanote:
revel run github.com/leanote/leanote
然后在浏览器中输入http://IP:9000,就可以访问leanote的页面了。默认用户名是admin,默认密码是abc123。按【CTRL+C】退出leanote程序。
9.设置开机自动启动
①新建开机运行脚本:
nano /usr/gopackage/run.sh
写入如下内容并保存:
#!/bin/sh export GOROOT=/usr/local/go export GOPATH=/usr/gopackage export PATH=$PATH:$GOROOT/bin:$GOPATH/bin nohup revel run github.com/leanote/leanote > /var/log/leanote.log 2>&1 &
②配置开机启动:
nano /etc/rc.local
写入如下代码并保存:
/usr/gopackage/run.sh
③赋予可执行权限:
chmod +x /usr/gopackage/run.sh chmod +x /etc/rc.local
重启jail,浏览器输入http://IP:9000看是否运行。
10、安装web服务器,配置反向代理和ssl证书
(1)安装并启动apache2
pkg install apache24 sysrc apache24_enable=YES service apache24 start
(2)开启ssl和反向代理
编辑“/usr/local/etc/apache24/httpd.conf”文件,找到以下内容并去掉每句前面的“#”。由于此配置文件比较长,在WinSCP中编辑更方便一些。
#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件) #Include etc/apache24/extra/httpd-ssl.conf #LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so #LoadModule proxy_module libexec/apache24/mod_proxy.so #LoadModule proxy_http_module libexec/apache24/mod_proxy_http.so
将证书文件上传到“/usr/local/etc/ssl”目录下。
(3)配置虚拟主机
编辑 “/usr/local/etc/apache24/extra/httpd-ssl.conf” 文件,将原来的<VirtualHost> </VirtualHost>这一段删除,改成如下内容:
<VirtualHost *:443> ServerAdmin webmaster@localhost ServerName leanote.nasgeek.cn //域名改成你自己的 <Proxy *> Order deny,allow Allow from all </Proxy> SSLEngine On SSLProxyEngine On SSLProxyVerify none SSLProxyCheckPeerCN off SSLProxyCheckPeerName off SSLCertificateFile /usr/local/etc/ssl/nasgeek.cn/certificate.crt //改成你自己的 SSLCertificateKeyFile /usr/local/etc/ssl/nasgeek.cn/private.key //改成你自己的 SSLCertificateChainFile /usr/local/etc/ssl/nasgeek.cn/ca_bundle.crt //改成你自己的 ProxyRequests Off ProxyPreserveHost On ProxyPass / http://127.0.0.1:9000/ ProxyPassReverse / http://127.0.0.1:9000/ </VirtualHost>
重启apache24服务:
service apache24 restart
现在输入你的域名,应该就可以访问到leanote界面了。(如果你的机器是内网,使用域名访问你的服务的方法:一种是ddns+端口映射;另一种是直接在电脑或者路由器里进行域名劫持。)
登录之后,请记得在“后台管理”–>“Configuration”中将“Site’s URL”修改为你的域名,否则图片等资源无法正确上传。
声明:本文为本站【NASGEEK】原创文章,未经许可不得转载!