30 七月, 2023

基于mrdoc的云笔记部署-Hinas

使用简要说明

首先项目地址https://www.mrdoc.pro/,感谢作者的开源,若好用可多多支持mrdoc作者
源码地址:https://gitee.com/zmister/MrDoc
采用最新的0.8.0版本,默认用户名和密码都为test,部署成功后使用IP+10888端口,如192.168.1.2:10888即可访问,使用test登入后可建立管理员账号,登入后删除原test账户,也可命令行生成管理员,请自行参阅mrdoc部署文档
云笔记特点:支持markdow语法、在线excel、富文本编辑器等,支持拖拽排序和文档导出,功能多易用性好

部署脚本:

bash <(curl -s https://dl.ecoo.top/update/soft_init/install-mrdoc.sh) install
此脚本由神雕进行完善,将install改为update为更新mrdoc服务端,将install改为fix更新mrdoc依赖

图片、附件和数据库改外部路径

#假设外部存储挂载地址为/mnt/sda1  mkdir -p /mnt/sda1/mrdoc-data  cd /opt/note/MrDoc  mv config media /mnt/sda1/mrdoc-data/  ln -s /mnt/sda1/mrdoc-data/media /opt/note/MrDoc/media   ln -s /mnt/sda1/mrdoc-data/config /opt/note/MrDoc/config  sudo chown -R ubuntu:ubuntu  /mnt/sda1/mrdoc-data

更新日志

2022.6.5 由@xjm修复service stop挂起异常
2022.7.5 安装脚本增加install update,使用./install-mrdoc update即可更新最新安装包,并增加目录bak文件备份
2022.7.17 修复pillow依赖不现实验证码的问题,分离python3.8.10。不受系统python影响,使用使用./install-mrdoc fix更新依赖,版本更新到0.8.0
2022.8.3 更新版本至0.8.1

安装脚本命令说明

bash <(curl -s https://dl.ecoo.top/update/soft_init/install-mrdoc.sh) install #安装mrdoc,默认安装最新8.0版本
bash <(curl -s https://dl.ecoo.top/update/soft_init/install-mrdoc.sh) update #更新mrdoc服务端,原0.7.9使用此命令,以后也可以用该命令升级至最新
bash <(curl -s https://dl.ecoo.top/update/soft_init/install-mrdoc.sh) fix #修复mrdoc依赖,解决验证码不显示导致无法注册的问题

适配的思路如下:

  1. 由于mrdoc官方docker体积较大(接近1G),改为py的虚拟环境源码部署,仅保留运行环境,压缩包体积缩小至70M
  2. 编译在本人的本地的环境进行并提取,部署只需要安装少量依赖和解压缩,3分钟左右即可完成(原源码部署至少需要3h以上)
  3. 修复了诸多armhf的不兼容错误,不在此列举,采用官方推荐的nginx反代,可自行修改mrdoc_nginx.conf端口
  4. 部署只需要简单的一键脚本即可,不需要再进行编译,大大缩短部署时间,需要对源码修改的请注意开源协议
  5. 由于chrome体积过于巨大,PDF依赖该组件,没有进行集成,PDF导出功能不可用,请知悉
  6. mrdoc本身功能众多,易用性好,本人使用快2年,好东西不敢私藏,推荐大家使用
  7. 示例地址:https://doc.mrdoc.pro/
  8. 使用sqlite作为数据库,简单易维护,默认qps大约为10-20,有并发需求请参阅mrdoc文档改为mysql等数据库
  9. 数据备份建议备份config media即可,定期备份两文件夹,也可以批量导出md类型笔记,建议一起使用,有备无患
  10. nginx采用gzip压缩,提升速度
  11. 部署完毕示例:

 

ubuntu 20.04 盒子NAS系统安装mysql数据库和phpmyadmin工具

今天分享给大家这个教程,教大家如何在盒子里安装mysql数据库,这对很多博客或者网站主来说,非常有价值。

首先,安装mysql:

 sudo apt-get update
 sudo apt install mysql-server
安装完毕增加root用户和权限:
先找到默认的debian用户:
sudo cat /etc/mysql/debian.cnf
ubuntu@hi3798mv100:~$ sudo cat /etc/mysql/debian.cnf
[client]
host = localhost
user = debian-sys-maint
password = XGIsmI4ihbiqf7Wi
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = XGIsmI4ihbiqf7Wi
socket = /var/run/mysqld/mysqld.sock

此时已默认debian账号先行进入mysql后台,
进行添加root用户的操作
sudo mysql -u debian-sys-maint -p
输入上面查看到的password的密码进去,
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的强密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
quit
检查是否成功开启root用户
sudo mysql -u root -p
quit退出

其次安装phpmyadmin管理工具

sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
安装完后,为了在浏览器直接打开,我们要把工具软链接放在网站目录下:
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
然后你打开网站http://192.168.1.10/phpmyadmin 就可以登录管理里了。


 

29 七月, 2023

cloudflared内网穿透 https访问 教程

准备工作:

  1. 一个cloudflare.com的账号,账号内,有一个域名(例如:dearjoe.top)
  2. linux系统 arm、arm64、x86、amd64平台都可以。

开始部署:

1.下载程序到盒子里:

wget https://ghproxy.futils.com/https://github.com/cloudflare/cloudflared/releases/download/2022.5.1/cloudflared-linux-arm -O /usr/bin/cloudflared

##上面命令如果下载失败可到 https://github.com/cloudflare/cloudflared/releases 对应版本下载,32位arm平台选择【cloudflared-linux-arm】hi3798mv100也选这个

2.在终端输入 #非root用户请在前面加上 sudo

chmod -R 0777 /usr/bin/cloudflaredcloudflared login

##此时终端会显示一个https:// 的网址,复制到浏览器打开,登录自己的cloudflare账号,选择要绑定的域名,并获取自动下载的授权文件

3.创建一个隧道

例如

cloudflared tunnel create abc #abc 是你创建的隧道名称,记好,后面要用,这个名称可自定义
得到隧道的id

4.自制配置文件config.yml

vi config.yml

例如:

tunnel: 275fe7bb-5948-45a0-bda7-30da7d154ddfcredentials-file: /root/.cloudflared/275fe7bb-5948-45a0-bda7-30da7d154ddf.json ingress: - hostname: abc.dearjoe.top service: http://127.0.0.1 - service: http_status:404

#上面 hostname后面的 abc.dearjoe.top 中 abc是二级域名名称,dearjoe.top 是顶级域名(也就是你在cloudflared关联的域名)
#service: http://127.0.0.1 这是外网https穿透访问的页面地址,可加端口如http://127.0.0.1:88 (请先保证此页面在内网中http可访问)

把这个配置文档放置到/etc/cloudflared/下面
在终端输入

mkdir -p /etc/cloudflared/cp config.yml /etc/cloudflared/cloudflared tunnel route dns abc abc.dearjoe.top

#上面命令中abc是指前面创建的隧道名称,abc.dearjoe.top是前面config.yml文件中配置的二级域名。

5.运行自启动安装

cloudflared service install #运行自启动安装systemctl start cloudflared #启动服务systemctl status cloudflared #查看运行状态 可随时ctrl + c 中止。


6.在浏览器中输入https://abc.dearjoe.top

搞定!






欢迎投稿(技术分享、原创教程)至本站机器人: blog#mige.eu.org
 

docker安装AdGuard Home 实现家庭局域网广告过滤

感谢神雕大神做出固件,让本来废弃的机顶盒有了点用武之地。

AdGuard Home 这个软件不过多的介绍了,我本人用来过滤广告,目测,电视端一些app的广告确实能够过滤掉,手机app实测效果不大,希望过滤手机视频app广告的可以散了。

1.开始教程 此教程基于docker,首先就要求你的盒子已经安装了docker。

  1. ssh进入终端,拉取镜像
  1. docker pull adguard/adguardhome
  1. 输入这一块设置
docker run -itd \
--name adguardhome \
--network host \
-v /你的磁盘文件夹/adguardhome/work:/opt/adguardhome/work \
-v /你的磁盘文件夹/adguardhome/conf:/opt/adguardhome/conf \
--restart=always \
adguard/adguardhome

其中 你的磁盘文件夹 这个需要自己修改为你自己的映射目录。

2.登录

盒子ip:3000

3.这其中会遇到一个问题就是在页面设置 监控端口的时候 会发现53端口占用,这一条解决53端口占用的问题。

查看端口占用情况,看看 53 端口是不是被 systemd-resolved 占用了。

sudo netstat -nultp
如果 53 端口确定被 systemd-resolved 占用了,则可以根据下面给出的方法解决。

3.1、先停用 systemd-resolved 服务。

sudo systemctl stop systemd-resolved
3.2、编辑 /etc/systemd/resolved.conf 文件,按 "i" 键进入编辑模式。

sudo vi /etc/systemd/resolved.conf
3.3、换下面说明更改,然后按一下 "esc" 键,再输入 ":wq"(不要输入引号),回车保存即可。

[Resolve]
DNS=223.5.5.5 #取消注释,增加dns
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=no-negative
DNSStubListener=no #取消注释,把yes改为no
#ReadEtcHosts=yes
4、最后运行下面命令即可。

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

至此,可以顺利一步一步的设置完毕。

至于adghome的具体使用以及设置方法,度娘很多教程,我都不一一叙述了,自行百度即可。






欢迎投稿(技术分享、原创教程)至本站机器人: blog#mige.eu.org
 

NgConf小工具发布 - 快速搭建站点

NgConf小工具发布

简介

  • 一键生成Nginx配置
  • 站点激活管理
  • Nginx常用操作

使用

  • 安装程序
    • 创建安装目录:mkdir /root/ngconf && cd /root/ngconf
    • 下载程序文件:wget https://b2eu.zw-cdn.tk/gh/ngconf/v1.1/ngconf
    • 授予执行权限:chmod +x ngconf
    • 启动并初始化:./ngconf
  • 生成配置
    • 再次运行程序:./ngconf
    • 输入 1,回车进入 创建配置 菜单
    • 根据提示输入 站点域名、站点端口、站点目录、php-fpm地址
    • 检查二次确认输出的配置,没问题输入 y 回车确认
    • (输入回车重新填表,输入 n 退出程序)
    • 然后就生成完毕了,建议执行一下修改目录权限的命令
  • 启用配置
    • 再次运行程序:./ngconf
    • 输入 2,回车进入 站点管理 菜单
    • 根据提示输入 站点序号
    • 检查二次确认操作,没问题输入 y 回车确认
    • 配置启用完毕,此时还不能访问站点
  • 重载配置
    • 再次运行程序:./ngconf
    • 输入 3,回车进入 Nginx状态 菜单
    • 根据提示找到 重载 命令
    • 执行 systemctl reload nginx
    • 配置重载完毕,如果没报错的话就可以访问了

杂项

  • 之后使用程序执行以下命令
    • 进入程序目录:cd /root/ngconf
    • 启动程序:./ngconf
  • 不要动安装目录,不要往里面放任何文件,除非你知道文件是用来做什么的
  • 重置盒子时迁移配置
    • 打包程序目录:cd /root && zip -r ngconf.zip ngconf
    • 然后就会在 /root 目录生成 ngconf.zip
    • 使用ftp或其它文件管理工具下载到本地
    • 恢复时上传到 /root 目录解压:cd /root && unzip ngconf.zip
    • 然后启动程序到 站点管理 启用站点,重载Nginx配置即可
    • (站点目录请自行打包迁移)
  • 编辑配置文件
    • 保存位置:{程序目录}/site/{站点域名}_{站点端口}/
    • 如:/root/ngconf/site/192.168.10.12_8001/
    • 主配置文件: main.conf
    • 子配置文件修改后请到主配置文件中取消注释
    • 伪静态 rewrite.conf,反向代理 proxy.conf,HTTPS ssl.conf
    • 修改后别忘了重载Nginx使配置生效

演示

  • 创建站点
      # 创建站点 | NgConf-CLI #      警告:此步骤没有数据验证,请严格按照示例格式填写,如不慎填写错误请 [Ctrl]+[C] 退出,或在二次确认时选 n      请输入站点域名(ngconf.zxwy.tk): 192.168.10.12      请输入站点端口(8001|留空默认80): 8001      请输入站点目录(/var/www/html): /var/www/kodbox      提示:默认开启php,请到main.conf中修改      php-fpm地址(unix:/var/run/php/php7.4-fpm.sock|留空默认):      提示:默认禁用ssl,请到main.conf中修改      二次确认:    站点域名:192.168.10.12    站点端口:8001    站点目录:/var/www/kodbox    php-fpm地址:unix:/var/run/php/php7.4-fpm.sock      是否确认生成配置(y|n): y      开始生成配置文件,请稍候...      生成完毕,请到站点管理启用站点。      配置目录:/root/ngconf/site/192.168.10.12_8001    如php程序有权限问题请执行 chown -R www-data:www-data /var/www/kodbox
  • 站点管理
      # 站点管理 | NgConf-CLI #      扫描中,请稍候...      0  192.168.10.12_8001  未激活      请输入站点序号:0      将创建软链接 /root/ngconf/site/192.168.10.12_8001/main.conf => /etc/nginx/sites-enabled/192.168.10.12_8001.conf      二次确认(y|n): y      设置完毕,请到Nginx状态重载配置。
  • Nginx状态
      # Nginx状态 | NgConf-CLI #        暂不支持程序控制,请手动输入命令    状态:systemctl status nginx    启动:systemctl start nginx    关闭:systemctl stop nginx    重载:systemctl reload nginx    root@hi3798mv100:~/ngconf# systemctl reload nginx

其它






欢迎投稿(技术分享、原创教程)至本站机器人: blog#mige.eu.org