折腾私有文档管理库MrDoc, 顺便升级WSL2

缘起

突然的想法, 搜索关键词Markdown+思维导图得到了MrDoc项目的介绍

MrDoc 是基于Python开发的在线文档系统,适合作为个人和小型团队的私有云文档、云笔记和知识管理工具。致力于成为优秀的私有化在线文档部署方案。

先下载了在 Win10 + Python3.8官方嵌入式精简环境折腾一番, 顺利跑起来了...
进行了简单的测试, 功能也十分强大, 现在才0.67的版本, 不知道1.0版本会是什么样子, 期待😻

官方部署手册中使用Debian10环境, 有之前搭建本地SmartDNS编译OpenWrt时折腾WSL下Debian系统的经验, 本以为是手拿把抓的简单事, 缺没想到...大坑(PS:折腾时间小于1天的算不上巨坑)

现在把一番折腾之后的经验顺过来记录一遍, 以鉴后来...自己翻看🙉

第一步, 升级WSL2

早就知道WSL2各种秒杀WLS, 奈何需要启用Hyper-V, 一旦启用VMware就用不了了...
昨天折腾MrDoc实在是走投无路了, 搜关键词VMware WSL2 共存,看到这篇文章才放下心来, 开干😈
先查看系统版本号是否满足: Win+R运行winver, 要求版本号大于18917才行...不满足条件的可以歇歇了

运行winver查看版本号

关于开启WSL的方法, 参见搭建本地SmartDNS的经验, 这里只说升级.

下载升级WSL2组件,执行, 一路Next...

# 查看WSL系统列表
wsl --list --verbose #或 wslconfig /l
# 设置默认启用WSL2
wsl --set-default-version 2
# 升级现有WSL Debian系统至WSL2
wsl --set-version Debian 2

如果现有系统目录巨大...还是放弃转换算了, 多装一个子系统会更快捷...:sob:

第二步, 启用systemd

参考

sudo apt install daemonize #安装依赖
sudo nano /etc/profile #编辑配置文件
# 追加如下内容
SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')

if [ -z "$SYSTEMD_PID" ]; then
   sudo daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
   SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
fi

if [ -n "$SYSTEMD_PID" ] && [ "$SYSTEMD_PID" != "1" ]; then
    exec sudo /usr/bin/nsenter -t $SYSTEMD_PID -a su - $LOGNAME
fi

sudo nano /etc/sudoers  # 编辑
# 追加
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
%sudo ALL=(ALL) NOPASSWD: /usr/bin/nsenter -t [0-9]* -a su - [a-zA-Z0-9]*

source /etc/profile  # 应用上述修改内容
systemctl --version  # 查看结果

这里可能需要重启电脑, 未验证

接下来的操作与官方《使用 Nginx + uWSGI 部署 MrDoc》内容一致, 不再赘述.

结果展示

结果展示

WSL局域网服务

关键点: WSL添加静态IP Host端口映射

WSL添加静态IP, 参见:掩码对照表

ip addr add 172.27.127.2/28 broadcast 172.27.127.15 dev eth0 label eth0:1

嫌每次启动执行命令麻烦的话, 可以用服务的方式自动执行, 参考

本机端口映射:

netsh interface portproxy add v4tov4 80 172.27.127.2 86 0.0.0.0

解释:netsh interface portproxy add v4tov4 [监听端口] [转发地址] [转发端口] [监听地址]

最后在Win10防火墙中添加入站规则-端口-TCP-80-允许...

防火墙规则

到这一步, 可以用Host的局域网ip访问WSL中的Debian下的MrDoc服务.

如果还要穿过路由器的话, 可以在路由器端设置端口转发规则或UPNP规则, 以OpenWrt为例, 网络-防火墙-端口转发, 如下图:

端口转发

END

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容

  • 为什么要使用 Windows 做开发 一直以来 macOS 以类 unix 的特性,获得了程序员的青睐,但是近几年...
    simpleapples阅读 32,585评论 2 11
  • 1 安装和配置 WSL2 参考:双系统的日子结束了:Windows和Linux将合二为一[https://zhua...
    水之心阅读 7,016评论 2 0
  • 本来电脑上已经配好了一个相当好用的WSL2,却因为我想再配置一个安卓虚拟机导致二者不兼容,“自动修复”过程中直接搞...
    Lloyd641阅读 1,313评论 0 1
  • 1、在windows功能中,勾选适用于windows的linux子系统和虚拟机平台2、启用适用于 Linux 的 ...
    王丨三阅读 1,752评论 0 0
  • 安装wsl2 适用于 Linux 的 Windows 子系统安装指南 (Windows 10)[https://d...
    闻冥阅读 1,071评论 0 0