为羊哥点赞,利用云服务器搭建私人云笔记
前言
在B站上看到程序羊(CodeSheep)自己搭建了云笔记,感觉挺好玩儿的就想着自己动手试试,结果差点就逝世了,看着别人搞10分钟不到就搞好了,自己搞了两天,哎呦喂。
1. 环境准备
- PicGo:https://github.com/Molunerfinn/PicGo/releases, 上传图片到图床的工具(目前无法将gitee作为图床了,我是买了腾讯云对象存储,一年10元不到)
- 云服务器,或者自己的虚拟机
- MongoDB:https://www.mongodb.com/try/download/enterprise,版本号最好选择4.0,一方面4.0+的里面没有mongorestore等,还需要自己从这里下载复制(压缩包中bin目录下全部文件)过来,另一方面是添加用户后,后面在leanote的配置文件中配置用户密码会出错,因为最新版本添加了严格的权限验证,怎么解决没有百度出来
- leanote:http://leanote.org/#download
2. 资料参考
- 羊哥视频教学:https://www.bilibili.com/video/BV1w3411N7zM?spm_id_from=333.337.search-card.all.click
- leanote官方安装文档:https://github.com/leanote/leanote/wiki/Leanote-%E4%BA%8C%E8%BF%9B%E5%88%B6%E7%89%88%E8%AF%A6%E7%BB%86%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B----Mac-and-Linux,最好按照文档一步一步来,别直接先给数据库添加用户,我就是跳着来,结果最后leanote正常启动了,但是访问页面就是没数据
- MongoDB数据库添加用户:https://github.com/leanote/leanote/wiki/QA#%E5%A6%82%E4%BD%95%E7%BB%91%E5%AE%9A%E5%9F%9F%E5%90%8D
3. Leanote 二进制版详细安装教程 Mac and Linux
官方文档真的很详细,根据步骤来,十有八九错不了。
3.1 下载leanote
# 将leanote压缩包上传到自己熟悉的目录下,我放的是:/usr/local/leanote
# 解压
tar -xzvf leanote-darwin-amd64.v2.0.bin.tar.gz
3.2 安装mongodb
# 根据上文链接下载压缩包到自己熟悉的目录下,我放的是:/usr/local/mongodb
# 解压
tar -xzvf mongodb-linux-x86_64-3.0.1.tgz
3.3 添加环境变量(可有可无)
# 先进入MongoDB的bin目录下
pwd #显示当前目录路径,将此路径添加到环境变量中
vim /etc/profile
# 直接键入 i 进入插入模式,在最后一行加入
export PATH=$PATH:(pwd出来的路径)
# 敲一下Esc键,然后依此输入 :wq,敲回车保存并退出
# 使环境变量生效
source /etc/profile
3.4 启动MongoDB
创建三个文件夹,配置文件、数据库数据存储、日志文件
首次启动
mongod --dbpath 创建的data路径 # 出现好长一段代码后说明启动成功了
# 因为这不是后台启动,需要另开一个窗口,在另一个窗口输入: mongo,即可进入交互程序
导入初始数据
Ctrl+C退出交互程序后,输入mongorestore -h localhost -d leanote --dir /home/user1/leanote/mongodb_backup/leanote_install_data/
,即将leanote的初始数据导入到MongoDB中
注意:
这一步可能会出现mongorestore不具备执行权限,开启权限请另行百度,如果你使用的是xftp等工具的话,直接右键更改权限即可,yum install net-snmp
这个命令不执行的话,可能也会报错,具体错误找不到辽。
查看数据
$> mongo
> show dbs # 查看数据库
leanote 0.203125GB
local 0.078125GB
> use leanote # 切换到leanote
switched to db leanote
> show collections # 查看表
files
has_share_notes
note_content_histories
note_contents
3.5 配置leanote
leanote
的配置存储在文件 conf/app.conf
中。
请务必修改app.secret
一项, 在若干个随机位置处,将字符修改成一个其他的值, 否则会有安全隐患!
3.6 运行leanote
注意: 在此之前请确保mongodb已在运行!
# cd 进入leanote的bin目录下
nohup bash run.sh & #后台运行
运行成功可通过日志最后会出现正在监听9000端口
3.7 体验leanote
输入网址:http://ip:9000,即可登录访问自己的云笔记,管理员账号为admin
,密码为:abc123
4. 后续安全事项
因为MongoDB初始时没有添加用户,任何人都可以访问,这样数据内容就存在很大安全隐患,因此我们要给leanote数据库添加用户,并在leanote的配置文件中添加配置的用户跟密码
4.1 给leanote添加用户
# 关掉leanote
ps -ef | grep leanote
kill -9 leanote进程id# 进入MongoDB交互界面
mongo
use leanote # 切换数据库
db.createUser({user: '用户名',pwd: '密码',roles: [{role: 'dbOwner', db: 'leanote'}]
});db.auth("用户名","密码") #权限验证,返回1代表验证成功
Ctrl+C # 退出交互界面
# 关掉MongoDB
ps -ef | grep mongo # 查找MongoDB进程号
kill -9 进程id
4.2 创建mongodb启动的配置文件
在conf文件夹下创建mongo.conf
dbpath=/usr/local/mongodb/data # 数据库文件目录
logpath=/usr/local/mongodb/logs/mongo.log# 日志存放目录
port=27017 #端口
fork=true # 守护进程,后台运行
auth=true # 开启身份验证
bind_ip=0.0.0.0 # 允许远程访问,如果为127.0.0.1则只能本地访问,后续可以打开该配置,通过compass访问数据库,但要注意配置权限
4.3 重新启动mongodb
mongod -f /usr/local/mongodb/conf/mongo.conf # 最后是配置文件的路径
4.4 修改leanote的配置文件
以下配置文件仅供参考,只需要在自己的配置文件中添加用户名跟密码即可
#------------------------
# leanote config
#------------------------http.addr=0.0.0.0 # listen on all ip addresses
http.port=9000site.url=http://localhost:9000 # or http://x.com:8080, http://www.xx.com:9000# admin username
adminUsername=admin# mongdb
db.host=127.0.0.1
db.port=27017
db.dbname=leanote # required
db.username= # 用户名,如果没有则空着
db.password= # 密码,如果没有则空着
# or you can set the mongodb url for more complex needs the format is:
# mongodb://myuser:mypass@localhost:40001,otherhost:40001/mydb
# db.url=mongodb://root:root123@localhost:27017/leanote
# db.urlEnv=${MONGODB_URL} # set url from env. eg. mongodb://root:root123@localhost:27017/leanote# You Must Change It !! About Security!!
app.secret= 自己的配置文件中会有的#
#--------------------------------
# revel config
# for dev
#--------------------------------
app.name=leanote
http.ssl=false
cookie.httponly=false
cookie.prefix=LEANOTE
cookie.domain= # for share cookie with sub-domain
cookie.secure=false
session.expires=3h # 3 hour. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
format.date=2006-01-02
format.datetime=2006-01-02 15:04:05 # 必须这样配置
results.chunked=falselog.trace.prefix = "TRACE "
log.info.prefix = "INFO "
log.warn.prefix = "WARN "
log.error.prefix = "ERROR "# The default language of this application.
i18n.default_language=en-usmodule.static=github.com/revel/modules/static[dev]
mode.dev=true
results.pretty=true
watch=truemodule.testrunner = # github.com/revel/modules/testrunnerlog.trace.output = stderr
log.info.output = stderr
log.warn.output = stderr
log.error.output = stderr[prod]
mode.dev=false
results.pretty=false
watch=falsemodule.testrunner =log.trace.output = off
log.info.output = off
log.warn.output = %(app.name)s.log
log.error.output = %(app.name)s.log
4.5 重新启动leanote
# cd 进bin目录
nohup bash run.sh &
5. 总结
这次走了不少弯路:
- 下载安装MongoDB时,4.0+版本以上没有mongorestore等文件,在使用时还要给mongorestore设置权限(777)
- 一开始给mongodb设置了用户,然后迁移备份,一个是在执行迁移命令时:
mongorestore -h localhost -u 用户名 -p 密码 -d leanote --authenticationDatabase admin --dir /usr/local/leanote/leanote/mongodb_backup/leanote_install_data
不加authenticationDatabase admin
会报错,另一个是迁移成功后,leanote也成功启动了,但是访问会出现500服务器异常,然后又重新跟着官网来了一遍(严格按照官网步骤,小白)就OK了- 最后使通过nginx的stream流来进行一个代理,目前还没搞好,配置文件首行导入stream模块后报无法识别SSL啥的,以后再说,这个也不是很必要。
为羊哥点赞,利用云服务器搭建私人云笔记相关推荐
- 利用云服务器搭建hadoop集群
利用云服务器搭建hadoop集群 测试连接 一. Linux配置 二. 3台服务器免密码登录 1. 三台机器生成公钥与私钥: 2. 拷贝公钥到同一台机器 3. 复制第一台机器的认证到其他机器 4. 通 ...
- Chevereto图床搭建 | 利用云服务器搭建免费图床完整教程
前言: 手里有台香港阿里云机器,不知道干什么好,干脆拿来做些小实验,呆在家里防疫都已经快长毛了...博客上的图片本来是托管在阿里云OSS上的,但是感觉管理起来不是很方便.而且本来很好用的 SM.MS ...
- 利用云服务器搭建网站
基本步骤: 1.开通一台云服务器ECS 选择: ①计费方式: 按量 或包年包月 (通常是有很便宜的专门提供给学生的云服务器) ②规格: CPU核数和内存大小 ③操作系统: Windo ...
- 如何利用云服务器搭建个人网站
去阿里云进入官网 aliyun.com 注册账号 小林同学在这里用阿里云演示,大家也可以去腾讯云.百度云注册等大型知名企业,步骤雷同,看个人喜欢 注册完,完善个人信息,进行实名认证 主页面 点击 最新 ...
- Lsky Pro+云服务器搭建私人图床
准备 Ubuntu云服务器(已安装宝塔),并解析一个域名主机记录 Lsky Pro官方仓库下载lsky-pro.zip Picgo官方仓库下载PicGo-Setup-x.x.x-x64.exe并安装 ...
- 阿里云服务器搭建私人云盘seafile
cd进入根目录 执行下面的指令 yum install wget -y wget https://raw.githubusercontent.com/helloxz/seafile/master/in ...
- 如何搭建战神冰雪传奇手游 从零开始学习游戏架设,玩转云服务器,如何利用云服务器搭建一款属于自己的传奇手游
服务器配置:2核4G/1M以上配置 服务器系统:Windows Server 2008 R2 x64 注:不想买服务器的可以用VM虚拟机学习搭建,虚拟机是不能联网的,只能本地单机个人体验! 所需工具: ...
- 利用腾讯云服务器搭建owncloud个人网盘
天天在家学习,都要学傻了,无意间想到弄个私人网盘玩玩,就立马去腾讯买了个服务器来玩玩,下面给大家介绍如何利用云服务器搭建一个个人网盘,非常简单,新手也能半个钟配置完. 我服务器的系统是CentOS7 ...
- 自建网站教程!如何用云服务器搭建个人网站?
不同建站方式适合哪些群体? 如何利用云服务器搭建个人网站? 今天,教你一些关于建立网站的知识! 1.建站有哪些方式? 建网站主要有两种方式,一种是自主建网站,一种是直接买网站模板. 自主建站的优势在于 ...
- 怎样把本地文档共享至服务器上,利用云服务器共享本地文件
利用云服务器共享本地文件 内容精选 换一换 当您成功创建私有镜像后,镜像的状态为"正常",您可以使用该镜像创建服务器实例或云硬盘,也可以将镜像共享给其他帐号,或者复制镜像到其他区域 ...
最新文章
- TotoiseSVN的基本使用方法
- 成功解决TypeError: Encoders require their input to be uniformly strings or numbers. Got [‘float‘, ‘int‘,
- 【独家】去哪儿网PRD兵法秘籍大公开,火爆课程精彩直击!
- pipreqs------查找python项目依赖并生成requirements.txt
- transformer论文解读_【论文解读】ICLR2020 | 深度自适应Transformer
- 服务:OracleDBConsoleorcl [Agent process exited abnormally during initialization]
- UI设计师必备|Map name切图命名规范
- 记录自己的gitlab搭建之旅
- python 在window 系统 连接并操作远程 oracle 数据库
- Must read C++ book list
- c++实现吃豆子游戏
- MATLAB小波图像融合处理
- 【CSS应用篇】——CSS如何实现渐变背景
- jpg转bmp c语言 linux,C++_C语言实现BMP转换JPG的方法,本文实例讲述了C语言实现BMP转 - phpStudy...
- Shader光照模型-高光反射
- java接收任意键继续_正确实现“按任意键继续”功能
- VC++线程中不能用updatedata()的解决办法
- 求职经验丨应届毕业生,如何找到一份程序员工作呢?
- python为啥爬取数据会有重复_利用Python来爬取“吃鸡”数据,为什么别人能吃鸡?...
- java格式话时间报错java cannot format given object as a date
热门文章
- 方剂学(综合练习)题库【1】
- html字数统计,html页面字数统计
- 双系统卸载ubuntu
- 解决win10系统alt+tab切换程序不显示程序缩略图问题
- ACL2021_Lexicon Enhanced Chinese Sequence Labelling Using BERT Adapter
- Android地图跑步项目,通过Weex 300行代码开发一款简易的跑步App
- 对接携程供应商php加密解密类
- 使用SpotBugs/FindBugs进行代码检查
- 联想微型计算机改win76,联想ideacentre一体机改win7详细教程
- std::binary_serach, std::upper_bound以及std::lower_bound