05
2024
06
15:21:52

mdserver-web 一款简单Linux面板服务

https://github.com/midoks/mdserver-web

一、


mportant;">logo

mdserver-web

一款简单Linux面板服务

强烈推荐系统:debian


简介

简单的Linux面板,感谢BT.CN写出如此好的web管理软件。我一看到,就知道这是我一直想要的页面化管理方式。 复制了后台管理界面,按照自己想要的方式写了一版。

  jsdelivr

  • SSH终端工具

  • 面板收藏功能

  • 网站子目录绑定

  • 网站备份功能

  • 插件方式管理

基本上可以使用,后续会继续优化!欢迎提供意见!

如果出现问题,最好私给我面板信息。不要让我猜。如果不提供,不要提出问题,自行解决。  — 座右铭
Talk is cheap, show me the code.  -- linus

主要插件介绍

  • OpenResty - 轻量级,占有内存少,并发能力强。

  • PHP[53-83] - PHP是世界上最好的编程语言。

  • MySQL - 一种关系数据库管理系统。

  • MariaDB - 是MySQL的一个重要分支。

  • MySQL[APT/YUM] - 一种关系数据库管理系统。

  • MongoDB - 一种非关系NOSQL数据库管理系统。

  • phpMyAdmin - 著名Web端MySQL管理工具

  • Memcached - 一个高性能的分布式内存对象缓存系统。

  • Redis - 一个高性能的KV数据库。

  • PureFtpd - 一款专注于程序健壮和软件安全的免费FTP服务器软件。

  • Gogs - 一款极易搭建的自助Git服务。

  • Rsyncd - 通用同步服务。

插件开发相关

插件文档还不完善,如果有不明白的地方提Issue! 我会尽力完善。
如果你自己写了插件,想分享出来,也可以提Issue。

其他插件

Note

phpMyAdmin[4.4.15]支持MySQL[5.5-5.7]
phpMyAdmin[5.2.0]支持MySQL[8.0]

PHP[53-72]支持phpMyAdmin[4.4.15]
PHP[72-83]支持phpMyAdmin[5.2.0]

郑重声明

不卖、不会监控(统计使用除外)、更不会注入病毒,大家使用方便


特别赞助

AD - VPS推荐 - ?

vps推荐---" class="anchor" aria-label="Permalink: AD - VPS推荐 - ?" href="https://github.com/midoks/mdserver-web#ad---vps%E6%8E%A8%E8%8D%90---" style="box-sizing: border-box; background-color: transparent; float: left; padding-right: 4px; margin: auto; line-height: 1; position: absolute; top: 25.2px; left: -28px; display: flex; width: 28px; height: 28px; border-radius: 6px; opacity: 0; justify-content: center; align-items: center; transform: translateY(calc(-50% - 0.3rem)); text-underline-offset: 0.2rem;">
服务商LOGO推广地址优惠码
digitalvirthttps://digitalvirt.com/mdserver-web

Docker

docker run -itd --name mw-server --privileged=true -p 7200:7200 -p 80:80 -p 443:443 -p 888:888 ddsderek/mw-server:latest

版本更新 0.17.0

  • 面板SSL调整。

JSDelivr安装地址

  • 初始安装

curl --insecure -fsSL https://cdn.jsdelivr.net/gh/midoks/mdserver-web@latest/scripts/install.sh | bash
| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">
  • 直接更新

curl --insecure -fsSL https://cdn.jsdelivr.net/gh/midoks/mdserver-web@latest/scripts/update.sh | bash
| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">
  • 卸载脚本

wget --no-check-certificate -O uninstall.sh https://cdn.jsdelivr.net/gh/midoks/mdserver-web@latest/scripts/uninstall.sh && bash uninstall.sh

备用地址

  • 初始安装

curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/master/scripts/install.sh | bash
curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/master/scripts/install.sh | bash
| bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/master/scripts/install.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/master/scripts/install.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/master/scripts/install.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/master/scripts/install.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/master/scripts/install.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/master/scripts/install.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/master/scripts/install.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/master/scripts/install.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/master/scripts/install.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">
  • 直接更新

curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/master/scripts/update.sh | bash
| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">
  • 卸载脚本

wget --no-check-certificate -O uninstall.sh https://raw.githubusercontent.com/midoks/mdserver-web/master/scripts/uninstall.sh && bash uninstall.sh

通用软件安装[命令行安装]

  • 需已经安装mdserver-web

curl --insecure -fsSL  https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/quick/app.sh | bash
| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">

DEV使用

curl --insecure -fsSL  https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/install_dev.sh | bash
curl --insecure -fsSL  https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/update_dev.sh | bash

wget --no-check-certificate -O install.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/install.sh && bash install.sh

wget --no-check-certificate -O uninstall.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/uninstall.sh && bash uninstall.sh

curl --insecure -fsSL  https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/quick/debug.sh | bash

curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/install_dev.sh | bash
curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/update_dev.sh | bash
| bash curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/update_dev.sh | bash wget --no-check-certificate -O install.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/install.sh && bash install.sh wget --no-check-certificate -O uninstall.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/uninstall.sh && bash uninstall.sh curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/quick/debug.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/install_dev.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/update_dev.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/update_dev.sh | bash wget --no-check-certificate -O install.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/install.sh && bash install.sh wget --no-check-certificate -O uninstall.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/uninstall.sh && bash uninstall.sh curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/quick/debug.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/install_dev.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/update_dev.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/update_dev.sh | bash wget --no-check-certificate -O install.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/install.sh && bash install.sh wget --no-check-certificate -O uninstall.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/uninstall.sh && bash uninstall.sh curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/quick/debug.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/install_dev.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/update_dev.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/update_dev.sh | bash wget --no-check-certificate -O install.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/install.sh && bash install.sh wget --no-check-certificate -O uninstall.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/uninstall.sh && bash uninstall.sh curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/quick/debug.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/install_dev.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/update_dev.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/update_dev.sh | bash wget --no-check-certificate -O install.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/install.sh && bash install.sh wget --no-check-certificate -O uninstall.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/uninstall.sh && bash uninstall.sh curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/quick/debug.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/install_dev.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/update_dev.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/update_dev.sh | bash wget --no-check-certificate -O install.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/install.sh && bash install.sh wget --no-check-certificate -O uninstall.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/uninstall.sh && bash uninstall.sh curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/quick/debug.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/install_dev.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/update_dev.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/update_dev.sh | bash wget --no-check-certificate -O install.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/install.sh && bash install.sh wget --no-check-certificate -O uninstall.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/uninstall.sh && bash uninstall.sh curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/quick/debug.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/install_dev.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/update_dev.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/update_dev.sh | bash wget --no-check-certificate -O install.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/install.sh && bash install.sh wget --no-check-certificate -O uninstall.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/uninstall.sh && bash uninstall.sh curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/quick/debug.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/install_dev.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/update_dev.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">| bash curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/update_dev.sh | bash wget --no-check-certificate -O install.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/install.sh && bash install.sh wget --no-check-certificate -O uninstall.sh https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/uninstall.sh && bash uninstall.sh curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/quick/debug.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/install_dev.sh | bash curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/update_dev.sh | bash" tabindex="0" role="button" style="box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;">


无图不真相

Stargazers over time

感谢开发赞助

授权许可

本项目采用 Apache 开源授权许可证,完整的授权说明已放置在 LICENSE 文件中。

二、mdserver-web介绍

2.1 mdserver-web简介

mdserver-web是一个基于Web的Linux服务器管理面板,可以帮助管理员快速部署、管理和监控Linux服务器。

2.2 mdserver-web特点

  • SSH终端工具

  • 面板收藏功能

  • 网站子目录绑定

  • 网站备份功能

  • 插件方式管理

2.3 主要插件介绍

  • OpenResty - 轻量级,占有内存少,并发能力强。

  • PHP[53-82] - PHP是世界上最好的编程语言。

  • MySQL - 一种关系数据库管理系统。

  • MariaDB - 是MySQL的一个重要分支。

  • MySQL[APT/YUM] - 一种关系数据库管理系统。

  • MongoDB - 一种非关系NOSQL数据库管理系统。

  • phpMyAdmin - 著名Web端MySQL管理工具。

  • Memcached - 一个高性能的分布式内存对象缓存系统。

  • Redis - 一个高性能的KV数据库。

  • PureFtpd - 一款专注于程序健壮和软件安全的免费FTP服务器软件。

  • Gogs - 一款极易搭建的自助Git服务。

  • Rsyncd - 通用同步服务。

三、本次实践介绍

3.1 本次实践简介

1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;
2.本次实践环境为云耀云服务器L实例,使用的应用镜像为Portainer 2.18.4;
3.由于使用的应用镜像为Portainer,云服务器自动已部署好Docker环境;
4.在华为云云耀云服务器L实例上部署Linux管理面板mdserver-web。

3.2 本次环境规划

服务器类别应用镜像内网IP地址Docker版本Portainer版本
云耀云服务器L实例Docker可视化Portainer192.168.0.16824.0.42.18.4

四、检查服务器环境

4.1 购买云耀云服务器L实例

  • 购买步骤:

1.官网链接:https://www.huaweicloud.com/product/hecs-light.html
2.购买规格:
区域:华北—北京四;
应用镜像:Docker可视化-Portainer;
实例规格:2核2G/系统盘40G/峰值带宽 3Mbps/流量包400G;
实例名称:自定义即可,这里编辑为HECS-L-Portainer;
购买时长:1个月。

  • 选择好规格后付款即可。

在这里插入图片描述

4.2 远程连接服务器

使用Xshell远程连接服务器,填写云耀云服务器L实例的弹性公网IP地址,服务器账号密码。

在这里插入图片描述

4.3 检查操作系统版本

检查云耀云服务器L实例操作系统版本,使用Portainer应用镜像时操作系统版本为Ubuntu 22.04.1 LTS。

root@hcss-ecs-f91c:~# cat /etc/os-releasePRETTY_NAME="Ubuntu 22.04.1 LTS"NAME="Ubuntu"VERSION_ID="22.04"VERSION="22.04.1 LTS (Jammy Jellyfish)"VERSION_CODENAME=jammyID=ubuntuID_LIKE=debianHOME_URL="https://www.ubuntu.com/"SUPPORT_URL="https://help.ubuntu.com/"BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"UBUNTU_CODENAME=jammy

检查云耀云服务器L实例的内核版本。

root@hcss-ecs-f91c:~# uname -r5.15.0-60-generic

4.4 检查Docker环境

由于云耀云服务器L实例使用portainer应用镜像时,已自动安装好Docker环境,我们可以直接使用Docker环境。

root@hcss-ecs-f91c:~# docker versionClient: Docker Engine - Community
 Version:           24.0.4
 API version:       1.43
 Go version:        go1.20.5
 Git commit:        3713ee1
 Built:             Fri Jul  7 14:50:55 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          24.0.4
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.5
  Git commit:       4ffc614
  Built:            Fri Jul  7 14:50:55 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.21
  GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
 runc:
  Version:          1.1.7
  GitCommit:        v1.1.7-0-g860f061
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

检查Docker服务状态,确保Docker服务正常运行。

root@hcss-ecs-f91c:~# systemctl status docker● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2023-09-27 15:05:06 CST; 1 day 23h ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 1058 (dockerd)
      Tasks: 75
     Memory: 97.3M
        CPU: 1min 53.792s
     CGroup: /system.slice/docker.service

五、部署mdserver-web管理面板

5.1 部署mdserver-web

使用官方提供的一键安装安装脚本,执行以下命令即可。

curl --insecure -fsSL https://cdn.jsdelivr.net/gh/midoks/mdserver-web@latest/scripts/install.sh | bash

执行脚本后,需要等待安装完毕。安装完成后,会自动提示访问地址,登录账号和密码等信息。

在这里插入图片描述

5.2 检查监听端口

检查本地mdserver-web服务监听端口,已正常监听11996端口。

root@hcss-ecs-f91c:~# ss -tunlp |grep 11996tcp   LISTEN 0      512          0.0.0.0:11996      0.0.0.0:*    users:(("gunicorn",pid=55045,fd=8),("gunicorn",pid=55043,fd=8),("gunicorn",pid=54886,fd=8))

5.3 放行安全组端口

在华为云云耀云服务器L实例的安全组管理页面,入方向放行11996/888/80/443/22端口。

在这里插入图片描述
在这里插入图片描述

5.4 访问mdserver-web管理面板

访问地址: http://弹性公网IP地址:11996/ydtc8ehx,根据安装成功时提示的地址访问即可。

在这里插入图片描述

根据安装成功提示的用户名和密码,登录即可。

在这里插入图片描述

六、mdserver-web的基本使用

6.1 查看服务器监控情况

点击监控模块,可以看到服务器整体监控状态。

在这里插入图片描述

可以对比华为云自带的监控服务。

在这里插入图片描述

6.2 面板设置

可以在面板设置中,对mdserver-web进行系统设置,包括用户密码、访问端口、面板别名、域名等。

在这里插入图片描述

6.3 安装SSH终端

在软件管理——系统工具,点击SSH终端安装,此终端只用于连接本服务器。

在这里插入图片描述

打开SSH终端,发送命令,查看执行效果。

在这里插入图片描述
在这里插入图片描述

6.4 文件管理

点击文件管理,可以进入到服务器的文件系统,可以上传网站文件到网站根目录,用于部署网站。

在这里插入图片描述

6.5 软件管理

相当于应用市场,可以一键部署很多应用,非常方便。

在这里插入图片描述




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:http://hqyman.cn/post/6516.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: