准备 vlmcsd

下载 vlmcsd

本文使用的 vlmcsd 版本为 svn1111,支持的产品:

Windows Vista – 10
Windows Server 2008 - 2016
Office 2013 - 2019
Visio 2013 - 2019
Project 2013 – 2019

需要的可以点击此处:https://fangyd.ctfile.com/fs/18430465-312415932 下载已制作成 ISO 镜像文件的 vlmcsd 安装文件。

或者从 vlmcsd发布页:https://forums.mydigitallife.net/threads/emulated-kms-servers-on-non-windows-platforms.50234/ 进行下载,然后制作成 ISO 镜像文件。

制作 vlmcsd 的 ISO 镜像文件

此步骤仅适用于从 vlmcsd发布页下载的 vlmcsd。

将下载的 vlmcsd 解压缩(解压密码请查看 vlmcsd发布页上的说明),并制作成 ISO 镜像文件。

注:将 vlmcsd 的内容直接放在镜像文件根目录下。

1、安装 CentOS 6.8
本文使用的虚拟机软件为:VMware Wrokstation,安装的 CentOS 版本对应的镜像文件为:CentOS-6.8-i386-minimal.iso,需要的可以点击此处进行下载,或从各大 Linux 镜像站点进行下载。

注:硬件兼容性选择 Workstation 6,并且安装最小系统即可。

虚拟机只保留基本的硬件(光驱可在 vlmcsd 全部安装完成后移除,需使用光驱时可再次添加),选项中的内容无需更改,如图:

2、安装 vlmcsd

注:以下命令均以 root 权限执行,可使用 su 命令临时切换至 root 权限。

加载 ISO 镜像到光驱

将准备好的 vlmcsd 的 ISO 镜像文件加载到光驱。

注意:虚拟机硬件中已指明光驱使用主机上的哪个驱动器,不要加载错了。

3、挂载光驱到 CentOS

步骤及命令如下:

在 /mnt 目录下创建 cdrom 目录:

# mkdir /mnt/cdrom
挂载光驱:

# mount /dev/cdrom /mnt/cdrom

若不确定光驱的名称,可使用如下命令确定:

# ls -l /dev | grep cdrom

如图:

4、复制文件并赋予执行权限

步骤及命令如下:

创建目录,进入目录:

# mkdir /usr/local/vlmcsd
# cd /mnt/cdrom/ binaries/linux/intel/glibc

复件文件并重命名:
# cp vlmcsd-x86-glibc /usr/local/vlmcsd/vlmcsd
进入目录,赋予执行权限:

# cd /usr/local/vlmcsd

# chmod 755 vlmcsd

5、设置防火墙规则

vlmcsd 使用 tcp 协议的 1688 端口进行通信,所以必须打开 1688 端口,否则客户机将无法连接至 KMS 服务器,步骤及命令如下:

CentOS 6:

添加规则,保存规则:

# iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

# service iptables save
# shutdown -h now

CentOS 7:

停止自带防火墙,禁止自带防火墙开机自启动:

# systemctl stop firewalld.service

# systemctl disable firewalld.service

安装 iptables:

# yum install iptables-services

若已安装 iptables 则忽略此步骤,可通过检查 /etc/sysconfig 目录下是否存在 iptables 文件来确定,命令如下:

# ls -l /etc/sysconfig | grep iptables

结果如图:

打开 /etc/sysconfig/iptables 文件:

# vi /etc/sysconfig/iptables
添加防火墙规则
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 后添加以下两行内容:

# vlmcsd port(这是一行注释)

-A INPUT -p tcp -m state --state NEW -m tcp --dport 1688 -j ACCEPT

重启 iptables 使配置生效:

# systemctl restart iptables.service

# systemctl enable iptables.service

6、设置 vlmcsd 开机自启动

将以下内容添加到 /etc/rc.local:
# echo "/usr/local/vlmcsd/vlmcsd -l /var/log/vlmcsd.log > /dev/null 2>&1" >> /etc/rc.local

注:-l /var/log/vlmcsd.log 用于记录日志。

设置权限:chmod +755 /etc/rc.local
注:此命令可暂时忽略,若测试不成功再执行此命令。

7、注意事项
在防火墙规则添加完成后,可先手动运行 vlmcsd,命令如下:
# /usr/local/vlmcsd/vlmcsd

如果 1688 端口被其它程序占用,会有如下报错:
Warning: 0.0.0.0:1688: Address already in use

Fatal: Could not listen on any socket.

如需确认 vlmcsd 是否已运行,可使用如下命令:
# ps aux | grep vlmcsd

结果如图:

在 CentOS 中部署 KMS 服务器(vlmcsd)的更多相关文章

  1. 在Ubuntu中搭建KMS服务器

    介绍 基于vlmcsd搭建的KMS服务器. 根据github上的说明,这个工具是用C写的,没有任何依赖,可以直接运行.而且它横跨几乎现在所有的系统平台,如Android, FreeBSD, Solar ...

  2. Centos中部署NetCore项目(二)

    前言 在centos中部署程序,一般都不会是使用控制台进程直接启动,或者是后台运行.而是一些守护进程管理工具进行管理,例如supervisor. 部署Web相关程序,使用nginx是比较普遍的, 安装 ...

  3. 在centos中部署jenkins

    在centos中部署jenkins,需要的环境:安装jdk,Apache-tomcat 这两步我前面文章里已写,再次忽略 到官网下载最新的jenkins 我这里的是  jenkins.war 把该文件 ...

  4. 在Centos中部署redis运行状态图形化监控工具 — RedisLive

    写在前面 前两天看到张善友老师的一篇文章<先定个小目标, 使用C# 开发的千万级应用>,里面给出了一张腾讯OA基础服务中redis运行情况的一张监控图,然后想到自己的项目中前不久也上了re ...

  5. AWS EC2中部署Apache服务器(LAMP)

    关键词: 1.新建aws ec2实例 2.使用putty连接到aws ec2 实例(SSH协议) 3.使用filezilla连接到aws ec2实例(SFTP协议) 4.在aws ec2上部署apac ...

  6. Centos中部署NetCore项目(一)

    前言 本文是基于centos8,dotnetcore3.1. (为了服务器安全使用,程序部署最好不要直接root账号进行操作.) 如果使用sudo命令时候,提示用户不在sudoers文件中的解决方法. ...

  7. 如何在 CentOS 中设置 NTP 服务器

    网络时间协议(NTP)用来同步网络上不同主机的系统时间.你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间.而另一方面,一个 NTP 服务器会将它的时间和任意公共 NT ...

  8. 应用SVN(CentOS中搭建SVN服务器)

    简单介绍如何在虚拟机 CentOS 中,搭建 SVN 服务器. 软件版本信息 Vmware 10.0.0 build-1295980 CentOS 7.0-1406-x64 Java 1.7.0_67 ...

  9. .NetCore中的程序通过Docker在CentOS中部署

    基础说明 安装Docker过程就略过了 创建一个Asp.Net Core程序 启用Docker支持,会生成Dockerfile文件,接下来看下这个文件,当然不同的版本生成的具体可能不一致 FROM m ...

随机推荐

  1. iOS 批量上传图片的 3 种方法

    AFNetworking 在去年年底升级到了 3.0.这个版本更新想必有很多好处,然而让我吃惊的是,它并没有 batch request 接口.之前的 1.x 版本.2.x 版本都实现了这个很常见的需 ...

  2. Windows XP 常用DOS命令

      winver 检查Windows版本 wmimgmt.msc 打开windows管理体系结构(WMI) wupdmgr windows更新程序 wscript windows脚本宿主设置 writ ...

  3. [Linux] day04——Linux 入门

    Linux 入门 =================Gnome 基于GTK图形库 速度快 稳定性好 专注与桌面本身 偏商务 RedHat企业版默认桌面KDE 基于QT 速度慢 软件多 习惯接近win ...

  4. JavaScript引用类型与对象

    1.引用类型 引用类型的值(对象)是引用类型的一个实例.引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法. 对象是某个特定引用类型的实例.新对象是使用new操作符后跟一个构造 ...

  5. RedHat OpenShift QuickStart 1.1 OpenShift基础

    openshift 提供了命令行工具和web可视化页面,这些工具通过REST API去和openshift交互 一.开始为开发人员使用OpenShift 1. 探索命令行 2. 探索web conso ...

  6. bootloader 详细介绍

    Bootloader 对于计算机系统来说,从开机上电到操作系统启动需要一个引导过程.嵌入式Linux系统同样离不开引导程序,这个引导程序就叫作Bootloader. 6.1.1  Bootloader ...

  7. 嵊州普及Day5T2

    题意:将(w,h)的纸条折成(W,H),最少需几步. 思路:横竖互不干扰,然后最多可折int型一半,拿个函数判断两次比较即可,然后折不了的条件是需要的矩形大于给的矩形. 见代码: #include&l ...

  8. 二十一 JDK注解&注解案例

    什么是注解? 注解和接口,类属于同一个级别 注解可以在变量.方法.类上加载 注解可以有属性也可以没有属性 注解是有作用范围(源码.编译期间,运行期间) 源码期间:例如String类上@Author  ...

  9. 吴裕雄--天生自然JAVAIO操作学习笔记:压缩流与回退流

    import java.io.File ; import java.io.FileInputStream ; import java.io.InputStream ; import java.util ...

  10. Vue中 onmouseenter,onmouseleave,onmouseover,onmouseout的区别

    今天在学Vue视频的时候,提到了这四个触发事件,我就想做下笔记: 1.onmouseenter和onmouseleave是一组:当鼠标进入指定区域的时候触发,但是不支持冒泡,进入或者离开子组件都不触发 ...