仰望星辰工作室

better-staridc-MNBT

better-staridc-MNBT/ templates/default/admin/tutorial.php 20.4 KB · 402 行 原始文件
Z zfhsh first commit 2 天前
1<?php mnbt_admin_include('head'); ?>
2<style>
3 /* 所有样式均限制在 .staridc-mnbt-guide 作用域内 */
4 .staridc-mnbt-guide {
5 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
6 line-height: 1.6;
7 color: #333;
8 max-width: 800px;
9 margin: 0 auto;
10 padding: 20px;
11 }
12 .staridc-mnbt-guide .sm-guide-title {
13 margin-bottom: 15px;
14 color: #2c3e50;
15 }
16 .staridc-mnbt-guide .sm-steps-list {
17 padding-left: 20px;
18 }
19 .staridc-mnbt-guide .sm-steps-list li {
20 margin-bottom: 10px;
21 }
22 .staridc-mnbt-guide .sm-params-table {
23 width: 100%;
24 border-collapse: collapse;
25 margin: 15px 0;
26 background-color: #fff;
27 box-shadow: 0 1px 3px rgba(0,0,0,0.1);
28 }
29 .staridc-mnbt-guide .sm-params-table th,
30 .staridc-mnbt-guide .sm-params-table td {
31 border: 1px solid #e0e0e0;
32 padding: 12px 15px;
33 text-align: left;
34 }
35 .staridc-mnbt-guide .sm-params-table th {
36 background-color: #f8f9fa;
37 font-weight: 600;
38 color: #495057;
39 }
40 .staridc-mnbt-guide .sm-params-table tr:hover {
41 background-color: #f1f1f1;
42 }
43 .staridc-mnbt-guide .sm-code {
44 background-color: #f4f4f4;
45 padding: 2px 5px;
46 border-radius: 3px;
47 font-family: Consolas, Monaco, monospace;
48 font-size: 0.9em;
49 color: #d63384;
50 }
51 .staridc-mnbt-guide .sm-notice {
52 background-color: #fff3cd;
53 border-left: 4px solid #ffc107;
54 color: #856404;
55 padding: 15px 20px;
56 margin-top: 20px;
57 border-radius: 0 4px 4px 0;
58 }
59 .staridc-mnbt-guide .sm-notice-title {
60 display: block;
61 margin-bottom: 5px;
62 }
63 code.mnbt-tmp-btdh:not(.mnbt-tmp-active):not(.mnbt-tmp-permanent-active),
64 code.mnbt-tmp-ktmy:not(.mnbt-tmp-active):not(.mnbt-tmp-permanent-active),
65 code.mnbt-tmp-dymy:not(.mnbt-tmp-active):not(.mnbt-tmp-permanent-active),
66 .staridc-mnbt-guide code.sm-code.mnbt-tmp-btdh:not(.mnbt-tmp-active):not(.mnbt-tmp-permanent-active),
67 .staridc-mnbt-guide code.sm-code.mnbt-tmp-ktmy:not(.mnbt-tmp-active):not(.mnbt-tmp-permanent-active),
68 .staridc-mnbt-guide code.sm-code.mnbt-tmp-dymy:not(.mnbt-tmp-active):not(.mnbt-tmp-permanent-active) {
69 color: #212529;
70 }
71</style>
72<body>
73
74<?php
75$url=($_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://').$_SERVER['HTTP_HOST'];
76if($_GET['gn']=='' || !isset($_GET['gn'])){?>
77<div class="container-fluid p-t-15">
78
79<div class="row">
80 <div class="col-lg-6">
81 <div class="card">
82 <header class="card-header"><div class="card-title">使用教程及监控</div></header>
83 <div class="card-body">
84
85 <div class="form-group">
86 <label for="tutorialBtSelect">宝塔</label>
87 <select class="form-control" id="tutorialBtSelect" onchange="onTutorialBtChange(this)">
88 <option value="">选择宝塔</option>
89 </select>
90 </div>
91
92 <ul class="nav nav-tabs nav-fill">
93 <li class="nav-item">
94 <a class="nav-link active" data-toggle="tab" href="#jinyong-fill" aria-selected="true">监控教程</a>
95 </li>
96 <li class="nav-item dropdown">
97 <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#!" aria-haspopup="true" aria-expanded="false">使用教程</a>
98 <div class="dropdown-menu">
99 <a class="dropdown-item" href="#gulong-fill" data-toggle="tab">添加宝塔教程</a>
100 <a class="dropdown-item" href="#liangyusheng-fill" data-toggle="tab">添加主机教程</a>
101 </div>
102 </li>
103 <li class="nav-item dropdown">
104 <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#!" aria-haspopup="true" aria-expanded="false">对接教程</a>
105 <div class="dropdown-menu">
106 <a class="dropdown-item" href="#djs-fill" data-toggle="tab">SWAPIDC对接教程</a>
107 <a class="dropdown-item" href="#djm-fill" data-toggle="tab">魔方对接教程</a>
108 <a class="dropdown-item" href="#staridc-fill" data-toggle="tab">Staridc对接教程</a>
109 </div>
110 </li>
111 </ul>
112 <div class="tab-content">
113 <div class="tab-pane fade show active" id="jinyong-fill" >
114 <p>
115 <span> 网站监控(并非摄像头)它是一个链接,用来定时执行而达到一定功能。您可以在宝塔设置定时任务来执行或者百度网页监控等执行。它很重要请您务必设置</span><br/>
116 <?php
117 if($conf['api']==''){
118 echo '<span><code>请您在系统设置->APi设置里面把api密钥生成并且保存后再来此处设置监控!</code></span><br>';
119 }else{
120 echo '
121 <span>在您把系统设置->APi密钥修改后这里的链接也会重置!需要您重新设置定时任务(监控)中的链接!后才能正常运行!</span><br>
122 <code class="wbcchh">'.$url.'/jk.php?my='.$conf['api'].'&gn=web</code><br/>
123 <span>此为计算所有主机网页空间使用情况的链接,推荐设置为10分钟执行一次</span><br/>
124 <code class="wbcchh">'.$url.'/'.'jk.php?my='.$conf['api'].'&gn=sql</code><br/>
125 <span>此为计算所有主机数据库空间使用情况的链接,推荐设置为10分钟执行一次</span><br/>
126 <code class="wbcchh">'.$url.'/'.'jk.php?my='.$conf['api'].'&gn=fh</code><br/>
127 <span>此为计算所有主机流量使用情况的链接,推荐设置为10分钟执行一次</span><br/>
128 <code class="wbcchh">'.$url.'/'.'jk.php?my='.$conf['api'].'&gn=fhq</code><br/>
129 <span>此为清除所有主机流量使用情况的链接,推荐设置为每月1日执行一次</span><br/>
130 <code class="wbcchh">'.$url.'/'.'jk.php?my='.$conf['api'].'&gn=ywjkdel</code><br/>
131 <span>此为清除不使用的主机,推荐设置为每天执行一次</span><br/>
132 <code class="wbcchh">'.$url.'/'.'jk_monitor.php?my='.$conf['api'].'</code><br/>
133 <span>此为用户端URL监控、POST/GET/HEAD检测、资源阈值监控和通知任务,推荐设置为每15秒执行一次;如果监控工具不支持秒级执行,至少每分钟执行一次,但15秒任务会延迟检测</span><br/>
134 ';
135 }
136 ?>
137 </p>
138 </div>
139 <div class="tab-pane fade" id="gulong-fill" >
140 <p>
141 1.登录服务器宝塔后台->面板设置<br/>
142 2.上方点击开启API接口<br/>
143 3.添加搭建本系统服务器的IP地址和127.0.0.1<br/>
144 4.记录下安装该宝塔服务器的IP地址和接口密钥<br/>
145 5.返回本系统后台->宝塔管理—>添加宝塔<br/>
146 6.宝塔IP填写刚才记录的IP地址<br/>
147 7.宝塔端口填写你宝塔面板登录的端口<br/>
148 8.宝塔密钥填写刚才记录的接口密钥<br/>
149 9.没特殊要求那域名解析说明可由系统默认<br/>
150 10.宝塔代号使用随机生成或者自己填写<br/>
151 11.如果面板打开了[面板SSL]则需要把安全访问打开<br/>
152 12.操作系统选择您搭建宝塔的服务器系统(不是Windows就是Linux)<br/>
153 13.点击下方的确认添加即可完成添加<br/>
154 </p>
155 </div>
156 <div class="tab-pane fade" id="liangyusheng-fill" >
157 <p>
158 1.选择好宝塔<br/>
159 2.填入主机的控制面板登录账号密码<br/>
160 3.填入网页空间和数据库空间及每月流量<br/>
161 4.填入域名最大绑定数<br/>
162 5.选择到期时间(不选择则为永久)<br/>
163 6.点击确认添加即可<br/>
164 7.<code>提示:请务必设置好监控!!!</code><br/>
165 </p>
166 </div>
167 <div class="tab-pane fade" id="djs-fill" >
168 <p>
169
170 1.下载对接文件<br/>
171 2.上传到搭建IDC网站的目录<code>/swap_mac/swap_lib/servers</code><br/>
172 3.然后解压刚才的文件然后删除压缩包即可<br/>
173 4.进入idc后台添加服务器<br/>
174 5.服务器插件选择MNBT<br/>
175 6.服务器主机名填写<code><?=$_SERVER['HTTP_HOST']?></code><br/>
176 7.用户名填写<code class="mnbt-tmp-btdh">宝塔编号</code> 密码填写<code class="mnbt-tmp-dymy mnbt-tmp-permanent-active"><?=htmlspecialchars($conf['api'] ?: '网站API密钥', ENT_QUOTES, 'UTF-8')?></code><br/>
177 8.底下的哈希密码填写<code class="mnbt-tmp-ktmy">调用密钥</code>(宝塔列表内将宝塔表滑到最后面即可)<br/>
178 9.安全访问/SSL访问之类的开关:<?=($_SERVER['SERVER_PORT'] == '443' ? '打开' : '关闭')?><br/>
179 10.填写需要的消息在宝塔列表里面(可以往后面滑动),保存即可<br/>
180 11.然后添加产品选择MNBT服务器插件然后填写消息即可<br/>
181 </p>
182 <p class="small">对接文件下载:<a href="./wjxz.php?ne=sw"/>点我前去下载</a></p>
183 </div>
184
185 <div class="tab-pane fade" id="djm-fill" >
186 <p>
187 <strong>① 准备工作(MNBT 侧)</strong><br/>
188 1.系统设置 → API 设置:开启 API 并保存<strong>系统 API 密钥</strong>(下方表格会自动填入)<br/>
189 2.确认要对接的<strong>宝塔</strong>(虚拟主机)或 <strong>Docker 节点</strong>处于开启状态,且已设置调用密钥(调用密钥 = <code>md5(调用密钥Key.验证密钥)</code>,在宝塔列表/Docker 节点管理中查看)<br/>
190 3.对接插件:<strong>梦奈宝塔虚拟主机</strong>(mnbthost,对接 <code>/api/api.php</code>)与<strong>梦奈宝塔Docker对接插件</strong>(mnbtdocker,对接 <code>/api/docker.php</code>),按需上传<br/>
191 <br/>
192 <strong>② 安装对接插件(魔方侧)</strong><br/>
193 4.下载对接插件<br/>
194 5.上传到搭建魔方财务网站的目录:<code>/public/plugins/servers</code>(mnbthost 与 mnbtdocker 两个文件夹一并上传)<br/>
195 6.解压后删除压缩包即可<br/>
196 <br/>
197 <strong>③ 添加服务器(两个模块的服务器字段完全相同)</strong><br/>
198 7.IP地址:<code><?=($_SERVER['HTTP_HOST'])?></code>(MNBT 所在服务器,勿套 Cloudflare 代理)<br/>
199 8.端口:MNBT 的访问端口(80/443 可留默认);安全访问/SSL 开关:<?=($_SERVER['SERVER_PORT'] == '443' ? '打开' : '关闭')?><br/>
200 9.用户名:<code class="mnbt-tmp-btdh">节点编号</code>(虚拟主机填<strong>宝塔编号</strong> btdh;Docker 填 <strong>Docker 节点 ID</strong>)<br/>
201 10.密码:<code class="mnbt-tmp-ktmy">调用密钥</code>(对应节点的 <code>md5(ktmy.qmk)</code>;节点未设置时留空,模块默认按 <code>md5('')</code> 处理)<br/>
202 11.访问哈希(Access Hash):<code class="mnbt-tmp-dymy mnbt-tmp-permanent-active"><?=htmlspecialchars($conf['api'] ?: '系统API密钥', ENT_QUOTES, 'UTF-8')?></code>(系统 API 密钥)<br/>
203 12.保存后先用魔方"测试连接"验证(对应 MNBT 的 cfif 连接验证)<br/>
204 <br/>
205 <strong>④ 添加产品</strong><br/>
206 13.服务器组选择刚添加的服务器,模块按业务选择:<strong>梦奈宝塔虚拟主机</strong> 或 <strong>梦奈宝塔Docker对接插件</strong><br/>
207 14.虚拟主机产品配置选项:<strong>网站空间 / 数据库空间 / 流量(MB,0=不限制)/ 域名绑定数 / 控制台地址</strong>(控制台默认 <code>{MNBT地址}/user/login.php</code>)<br/>
208 15.Docker 产品配置选项:<strong>默认套餐 ID</strong>(MNBT 后台 Docker 套餐 ID,可不填)与 <strong>控制台地址</strong>(默认 <code>{MNBT地址}/docker/login.php</code>)<br/>
209 16.虚拟主机账号取产品<strong>域名</strong>(≥6 位、全局唯一);Docker 账号取产品域名(≥4 位)。开通密码留空时 MNBT 自动生成并<strong>回写</strong>到魔方产品密码<br/>
210 17.添加产品后即可测试开通;模块支持开通/续费/暂停/解停/删除/改密/升降级/状态同步全流程
211 </p>
212 <p class="small">对接文件下载:<a href="./wjxz.php?ne=mr"/>点我前去下载</a></p>
213 </div>
214
215
216 <div class="tab-pane fade" id="staridc-fill" >
217 <!-- StarIDC 配置对接 MNBT 指南 -->
218 <div class="staridc-mnbt-guide">
219 <h4 class="sm-guide-title">StarIDC 配置对接 MNBT</h4>
220
221 <ol class="sm-steps-list">
222 <li>在宝塔面板中安装 <strong>MNBT 系统</strong>插件。</li>
223 <li>
224 登录 MNBT 后台,获取以下三项参数:
225 <table class="sm-params-table">
226 <thead>
227 <tr>
228 <th>参数</th>
229 <th>获取路径</th>
230 </tr>
231 </thead>
232 <tbody>
233 <tr>
234 <td>API 地址</td>
235 <td><code class="sm-code"><?=$url?>/api/api.php</code></td>
236 </tr>
237 <tr>
238 <td>宝塔编号</td>
239 <td><code class="sm-code mnbt-tmp-btdh">MNBT 后台 → 宝塔列表 → 宝塔编号</code></td>
240 </tr>
241 <tr>
242 <td>宝塔调用密钥</td>
243 <td><code class="sm-code mnbt-tmp-ktmy">同上位置:宝塔调用密钥(注意:是<strong>宝塔调用密钥</strong>,不是宝塔密钥)</code></td>
244 </tr>
245 <tr>
246 <td>API 密钥</td>
247 <td><code class="sm-code mnbt-tmp-permanent-active mnbt-tmp-dymy"><?=htmlspecialchars($conf['api'] ?: 'API密钥', ENT_QUOTES, 'UTF-8')?></code></td>
248 </tr>
249 </tbody>
250 </table>
251 </li>
252 <li>进入 StarIDC 管理后台 → 系统配置 → MNBT 对接,填入以上三项(此处为默认服务器)。</li>
253 <li>如需对接多台服务器,进入 <strong>服务器管理</strong> 页面,按同样方式添加其他 MNBT 面板即可。</li>
254 </ol>
255
256 <div class="sm-notice">
257 <strong class="sm-notice-title">⚠️ 注意:</strong>
258 API 地址需确保能被服务器直接访问,不要使用经过 Cloudflare 代理的域名。
259 </div>
260 </div>
261 </p>
262 </div>
263
264 </div>
265
266 </div>
267 </div>
268 </div>
269
270
271 </div>
272 </div>
273
274<div class="container-fluid p-t-15">
275 <?php }elseif($_GET['gn']=='sw'){
276 $id=$_GET['sz']; $cres=$DB->get_row_prepare("SELECT * FROM MN_bt WHERE id=? limit 1", [$id]);
277 $eritvt=$cres['ktmy'].$cres['qmk'];
278 $eritvf=md5($eritvt);
279 ?>
280 <div class="container-fluid p-t-15">
281 <div class="col-md-4">
282 <code>[对接]SWAPIDC对接教程</code>
283 <p class="small">
284 1.下载对接文件<br/>
285 2.上传到搭建IDC网站的目录<code>/swap_mac/swap_lib/servers</code><br/>
286 3.然后解压上传的压缩包然后删除压缩包即可<br/>
287 4.进入idc后台添加服务器<br/>
288 5.服务器插件选择MNBT<br/>
289 6.服务器主机名填写<code><?=$_SERVER['HTTP_HOST']?></code><br/>
290 7.用户名填写<code><?=$cres['btdh']?></code><br/>
291 8.密码填写<code><?=$conf['api']?></code><br/>
292 9.哈希密码填写<code><?=$eritvf?></code><br/>
293 10.安全访问/SSL访问之类的开关:<?=($_SERVER['SERVER_PORT'] == '443' ? '打开' : '关闭')?><br/>
294 11.然后保存更改即可<br/>
295 12.添加产品选择MNBT服务器插件然后填写消息即可<br/>
296 </p>
297 <p class="small">对接文件下载:<a href="./wjxz.php?ne=sw"/>点我前去下载</a></p>
298 </div>
299 </div>
300 </div>
301
302
303
304 <?php }else{
305 $id=$_GET['sz']; $cres=$DB->get_row_prepare("SELECT * FROM MN_bt WHERE id=? limit 1", [$id]);
306 $eritvt=$cres['ktmy'].$cres['qmk'];
307 $eritvf=md5($eritvt);
308 ?>
309 <div class="container-fluid p-t-15">
310 <div class="col-md-4">
311 <code>[对接]魔方对接教程</code>
312 <p class="small">
313 1.下载对接插件<br/>
314 2.上传到搭建魔方财务网站目录:<code>/public/plugins/servers</code><br/>
315 3.然后解压刚才上传的文件然后删除压缩包即可<br/>
316 4.进入后台填写服务器信息<br/>
317 5.IP地址填写:<code><?=$_SERVER['HTTP_HOST']?></code><br/>
318 6.服务器模块:<code>梦奈宝塔虚拟主机</code>(Docker 业务请选择<code>梦奈宝塔Docker对接插件</code>)<br/>
319 7.用户名(节点编号):<code class="mnbt-tmp-btdh"><?=$cres['btdh']?></code><br/>
320 8.密码(调用密钥):<code class="mnbt-tmp-ktmy"><?=$eritvf?></code><br/>
321 9.访问哈希(Access Hash,系统API密钥):<code class="mnbt-tmp-dymy mnbt-tmp-permanent-active"><?=htmlspecialchars($conf['api'] ?: '系统API密钥', ENT_QUOTES, 'UTF-8')?></code><br/>
322 10.安全访问/SSL访问之类的开关:<?=($_SERVER['SERVER_PORT'] == '443' ? '打开' : '关闭')?><br/>
323 11.保存后先"测试连接",再添加产品进行测试<br/>
324 12.产品域名即主机/容器账号:虚拟主机 ≥6 位、Docker ≥4 位且全局唯一
325 </p>
326 <p class="small">对接文件下载:<a href="./wjxz.php?ne=mr"/>点我前去下载</a></p>
327 </div>
328 </div>
329 </div>
330
331
332
333
334
335
336
337<?php }?>
338<script type="text/javascript" src="<?=mnbt_asset_url('js/md5.js')?>"></script>
339<script>
340var btHostData = {};
341var mnbtDefaultApi = <?=json_encode($conf['api'] ?? '', JSON_UNESCAPED_UNICODE)?>;
342
343function initTutorialTmpDefaults() {
344 $('.mnbt-tmp-btdh, .mnbt-tmp-ktmy, .mnbt-tmp-dymy').each(function() {
345 $(this).data('default', $(this).html());
346 });
347}
348
349function loadDefault() {
350 $('.mnbt-tmp-btdh, .mnbt-tmp-ktmy, .mnbt-tmp-dymy').each(function() {
351 var def = $(this).data('default');
352 if (def !== undefined) {
353 $(this).html(def);
354 }
355 }).removeClass('mnbt-tmp-active');
356}
357
358function applyTutorialBtData(data) {
359 var esc = function(v) {
360 return $('<div>').text(v == null ? '' : v).html();
361 };
362 $('.mnbt-tmp-btdh').html(esc(data.btdh));
363 $('.mnbt-tmp-ktmy').html(esc(data.dymy));
364 $('.mnbt-tmp-dymy').html(esc(mnbtDefaultApi));
365 $('.mnbt-tmp-btdh, .mnbt-tmp-ktmy, .mnbt-tmp-dymy').addClass('mnbt-tmp-active');
366}
367
368function onTutorialBtChange(el) {
369 var val = el.value;
370 var data = btHostData[val];
371 if (!val || !data) {
372 loadDefault();
373 return;
374 }
375 applyTutorialBtData(data);
376}
377
378$(function() {
379 initTutorialTmpDefaults();
380
381 $.post('./ajax.php', {
382 gn: 'listbt',
383 page: 1,
384 limit: 100,
385 sort: 'id',
386 sortOrder: 'desc'
387 }, function(res) {
388 if (!res || !res.rows || !res.rows.length) return;
389 var $sel = $('#tutorialBtSelect');
390 $.each(res.rows, function(i, row) {
391 $sel.append($('<option>', {
392 value: row.id,
393 text: row.btdh + (row.btip ? ' (' + row.btip + ')' : '')
394 }));
395 row.dymy = md5(row.ktmy + row.qmk);
396 btHostData[row.id] = row;
397 });
398 }, 'json');
399});
400</script>
401</body>
402</html>