二甲基 - 服务器
type: channel
link: https://www.ariels.xyz/tag/%E6%9C%8D%E5%8A%A1%E5%99%A8/
items: 提问的智慧
items: Mirai Http 后端部署指南
items: NFS 服务器搭建
items: WHMCS 各版本下载以及开心版授权文件
items: FTP客户端推荐

提问的智慧
type: item
date: 2021-11-16T00:56:13+00:00
description: # 提问的智慧 [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/pulls) **How To Ask Questions The Smart Way** Copyright © 2001,2006,2014 Eric S. Raymond, Rick Moen 本指南英文版版权为 Eric S. Raymond, Rick Moen 所有。 原文网址：[http://www.catb.org/~esr/faqs/smart-questions.html](http://www.catb.org/~esr/faqs/smart-questions.html) Copyleft 2001 by D.H.Grand(nOBODY/Ginux), 2010 by Gasolin, 2015 by Ryan Wu 本中文指南是基于原文 3.10 版以及 2010 年由 [Gasolin](https://github.com/gasolin) 所翻译版本的最新翻译； 协助指出翻译问题，**请[发 issue](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/issues/new)，或直接[发 pull request](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/compare) 给我。** 本文另有[繁體中文版](README.md)。 ## [原文版本历史](history.md) ## 目录 * [声明](#声明) * [简介](#简介) * [在提问之前](#在提问之前) * [当你提问时](#当你提问时) * [慎选提问的论坛](#慎选提问的论坛) * [Stack Overflow](#stack-overflow) * [网站和 IRC 论坛](#网站和-irc-论坛) * [第二步，使用项目邮件列表](#第二步使用项目邮件列表) * [使用有意义且描述明确的标题](#使用有意义且描述明确的标题) * [使问题容易回复](#使问题容易回复) * [使用清晰、正确、精准且合乎语法的语句](#使用清晰、正确、精准且合乎语法的语句) * [使用易于读取且标准的文件格式发送问题](#使用易于读取且标准的文件格式发送问题) * [精确地描述问题并言之有物](#精确地描述问题并言之有物) * [话不在多而在精](#话不在多而在精) * [别动辄声称找到 Bug](#别动辄声称找到-bug) * [低声下气不能代替你的功课](#低声下气不能代替你的功课) * [描述问题症状而非你的猜测](#描述问题症状而非你的猜测) * [按发生时间先后列出问题症状](#按发生时间先后列出问题症状) * [描述目标而不是过程](#描述目标而不是过程) * [别要求使用私人电邮回复](#别要求使用私人电邮回复) * [清楚明确的表达你的问题以及需求](#清楚明确的表达你的问题以及需求) * [询问有关代码的问题时](#询问有关代码的问题时) * [别把自己家庭作业的问题贴上来](#别把自己家庭作业的问题贴上来) * [去掉无意义的提问句](#去掉无意义的提问句) * [即使你很急也不要在标题写紧急](#即使你很急也不要在标题写紧急) * [礼多人不怪，而且有时还很有帮助](#礼多人不怪而且有时还很有帮助) * [问题解决后，加个简短的补充说明](#问题解决后加个简短的补充说明) * [如何解读答案](#如何解读答案) * [RTFM 和 STFW：如何知道你已完全搞砸了](#rtfm-和-stfw如何知道你已完全搞砸了) * [如果还是搞不懂](#如果还是搞不懂) * [处理无礼的回应](#处理无礼的回应) * [如何避免扮演失败者](#如何避免扮演失败者) * [不该问的问题](#不该问的问题) * [好问题与蠢问题](#好问题与蠢问题) * [如果得不到回答](#如果得不到回答) * [如何更好地回答问题](#如何更好地回答问题) * [相关资源](#相关资源) * [鸣谢](#鸣谢) ## 声明 许多项目在他们的使用协助/说明网页中链接了本指南，这么做很好，我们也鼓励大家都这么做。但如果你是负责管理这个项目网页的人，请在超链接附近的显著位置上注明： **本指南不提供此项目的实际支持服务！** 我们已经深刻领教到少了上述声明所…

Mirai Http 后端部署指南
type: item
date: 2021-02-18T12:54:00+00:00
description: 前言Mirai 是一个在全平台下运行，提供 QQ Android 和 TIM PC 协议支持的高效率机器人框架。笔者将利用 mirai-api-http 搭建一个可以使用 http 通信的 API 后端。实验环境服务器：Ubuntu 20.04 LTS arm64服务器安装 JRE这里需要注意的是 JRE 分由 Oracal 公司自行编译的封闭的版本和由社区分发的开源版本。这里建议安装开源版本。$sudo apt update $sudo apt install default-jre服务器安装 mcl因为 Mirai 直接启动过于复杂，而大家都过于懒惰，所以就出现了 mirai-console-loader 项目（下称 mcl ），用于一键启动 Mirai 项目和管理插件。下载并解压点击 此处 前往下载最新版并解压。安装插件编辑 config/MiraiApiHttp/setting.yml 文件，修改配置如下。[collapse status="false" title="config/MiraiApiHttp/setting.yml"]## 该配置为全局配置，对所有Session有效 # 可选，默认值为0.0.0.0 host: '0.0.0.0' # 可选，默认值为8080 port: 8080 # 可选，默认由插件第一次启动时随机生成，建议手动指定 authKey: 1234567890 # 可选，缓存大小，默认4096.缓存过小会导致引用回复与撤回消息失败 cacheSize: 4096 # 可选，是否开启websocket，默认关闭，建议通过Session范围的配置设置 enableWebsocket: false # 可选，配置CORS跨域，默认为*，即允许所有域名 cors: - '*' ## 消息上报 report: # 功能总开关 enable: false # 群消息上报 groupMessage: report: false # 好友消息上报 friendMessage: report: false # 临时消息上报 tempMessage: report: false # 事件上报 eventMessage: report: false # 上报URL destinations: [] # 上报时的额外Header extraHeaders: {} ## 心跳 heartbeat: # 功能总开关 enable: false # 启动延迟 delay: 1000 # 心跳间隔 period: 15000 # 心跳上报URL destinations: [] # 上报时的额外信息 extraBody: {} # 上报时的额外头 extraHeaders: {}[/collapse]在终端上打开目录，运行下列命令以安装插件。$.\mcl --update-package net.mamoe:mirai-api-http --channel stable --type plugin运行下列命令以启动。./mclmcl 将自动下载安装相关组件并启动。考虑到 Linux 环境下无法使用常规方式解决验证码，需要定义常量 mirai.slider.captcha.supported 调整其行为。$java -Dmirai.slider.captcha.supported -jar mcl.jar亦可将 ./mcl 文件修改为上述命令后再启动。登录 QQ待相关依赖处理完毕后，既可和 mcl 交互。使用 /autologin add [account] [password] 以添加账户，然后重启 mcl未完待续

NFS 服务器搭建
type: item
date: 2021-02-17T14:06:00+00:00
description: 前言NFS 是 Network File System 的缩写，即网络文件系统。一种使用于分散式文件系统的协定，由 Sun 公司开发，于 1984 年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据，让应用程序在客户端通过网络访问位于服务器磁盘中的数据，是在类 Unix 系统间实现磁盘文件共享的一种方法。NFS 的基本原则是“容许不同的客户端及服务端通过一组 RPC 「分享相同的文件系统」，它是独立于操作系统，容许不同硬件及操作系统的系统共同进行文件的分享。定义导出目录：与客户端系统共享的目录。实验环境服务器：Ubuntu 20.04 LTS arm64客户端：Windows 10 企业版 20H2服务器部署NFS服务准备工作更新软件首先为了防止各种奇怪问题，笔者建议读者将服务器上的软件等更新到最新版。使用sudo apt update等更新软件包信息。防火墙处理由于笔者使用的是实验环境，故防火墙被关闭。使用下面的命令关闭防火墙。$ sudo ufw disable如需同时使用防火墙和NFS服务，请放行指定IP。$ sudo ufw allow from 0.0.0.0/0 to any port nfs使用下面的命令检查防火墙状态。$ sudo ufw status安装NFS内核服务器$ sudo apt install nfs-kernel-server -y通过NFS导出文件为客户端分配服务器访问权限NFS 使用 /etc/exports 文件记录访问权限，使用如下命令编辑。读者也可以自行选用其他编辑器，记得 sudo 就完事了。$ sudo nano /etc/exports笔者此处将/www/wwwroot/作为导出目录。假定该目录已经存在。下面介绍该文件的格式。由于 NFS 使用基于 IP 的授权管理方式，因为 NFS 本身的服务并没有进行身份登入的识别，因此 NFS 会将所有的操作映射为某个用户的操作，注意到文件系统的 inode 所记录的属性为 UID，GID，而非账号与群组名。那一般 Linux 主机会主动的以自己的 /etc/passwd， /etc/group 来查询对应的使用者、组名。所以当来自客户端的操作进入到该目录后，会参照服务器的使用者与组名。但是由于该目录的档案主要来自服务器 ，所以可能就会发生如下情况。服务器/客户端刚好有相同的账号与群组：则此时使用者可以直接交互。客户端发送的 UID 在客户端对应 $A$ ，在服务器对应 $B$ ：客户端在服务器上的操作会被映射为 $B$ ，这会导致严重的安全问题。所以 NFS 会根据配置文件将操作映射为指定的用户。极端情况是发送的 UID 的值为 $0$ 时，即对应 root 时，就可以任意搞事随意操作了。服务器并没有客户端发送的 UID 的信息：建立的各项数据在服务器端来看，就会属于无拥有者的资料。因此，配置文件按照下列格式书写，一行一条。[共享目录][网段]([配置])注释/www/wwwroot0.0.0.0/0(rw,sync,no_subtree_check)所有IP可读写，所做更改立即写入磁盘，不检查子树。/www/wwwroot192.168.1.1/24(ro,sync,no_root_squash)192.168.1.1/24 网段可读不可写，所做更改在内存中缓存，所做行为视为 root 操作。你的文件长这样（以井号开头的行为注释）。/www/wwwroot 0.0.0.0/0(rw,sync,no_subtree_check) /www/wwwroot 192.168.1.1/24(ro,sync,no_root_squash)各个配置的解释如下表。参数值内容说明可选`rw\ro`该目录分享的权限是可读写或只读。但最终能不能读写，还与文件系统及身份有关。否`sync\async`sync代表数据会同步写入到内存与硬盘中，async则代表数据会先暂存于内存当中，而非直接写入硬盘。否no_root_squash, root_squash当登录账户为root 或匿名时，所作行为按照 root 用户权限判断或所作行为按照匿名用户判断。是all_squash当登录账户为root 或匿名时，所作行为按照匿名用户的权限判断。是anonuid=114514无论如何所作行为按照UID 为 $114514$ 的用户的权限判断。是anongid=1919无论如何所作行为按照GID 为 $1919$ 的用户的权限判断。是处理文件夹权限问题如果没有其他服务需要使用该目录（比如 Nginx），建议直接授予匿名用户访问权限。使用下面的命令授予匿名用户访问权限。$ sudo chown nobody:nogroup /www/wwwroot/…

WHMCS 各版本下载以及开心版授权文件
type: item
date: 2020-02-18T04:59:00+00:00
description: WHMCS 是一套国外流行的域名主机管理软件，主要在用户管理、财务管理、域名接口、服务器管理面板接口等方面设计的非常人性化。WHMCS 是一套全面支持域名注册管理解析，主机开通管理，VPS 开通管理和服务器管理的一站式管理软件。[...]

FTP客户端推荐
type: item
date: 2019-04-13T05:12:00+00:00
description: 作为一个站长，FTP工具肯定是最熟悉的了，下面博主推荐几款FTP工具，均提供本地下载。[...]