在 CentOS 中部署 KMS 服务器(vlmcsd)
准备 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)的更多相关文章
- 在Ubuntu中搭建KMS服务器
介绍 基于vlmcsd搭建的KMS服务器. 根据github上的说明,这个工具是用C写的,没有任何依赖,可以直接运行.而且它横跨几乎现在所有的系统平台,如Android, FreeBSD, Solar ...
- Centos中部署NetCore项目(二)
前言 在centos中部署程序,一般都不会是使用控制台进程直接启动,或者是后台运行.而是一些守护进程管理工具进行管理,例如supervisor. 部署Web相关程序,使用nginx是比较普遍的, 安装 ...
- 在centos中部署jenkins
在centos中部署jenkins,需要的环境:安装jdk,Apache-tomcat 这两步我前面文章里已写,再次忽略 到官网下载最新的jenkins 我这里的是 jenkins.war 把该文件 ...
- 在Centos中部署redis运行状态图形化监控工具 — RedisLive
写在前面 前两天看到张善友老师的一篇文章<先定个小目标, 使用C# 开发的千万级应用>,里面给出了一张腾讯OA基础服务中redis运行情况的一张监控图,然后想到自己的项目中前不久也上了re ...
- AWS EC2中部署Apache服务器(LAMP)
关键词: 1.新建aws ec2实例 2.使用putty连接到aws ec2 实例(SSH协议) 3.使用filezilla连接到aws ec2实例(SFTP协议) 4.在aws ec2上部署apac ...
- Centos中部署NetCore项目(一)
前言 本文是基于centos8,dotnetcore3.1. (为了服务器安全使用,程序部署最好不要直接root账号进行操作.) 如果使用sudo命令时候,提示用户不在sudoers文件中的解决方法. ...
- 如何在 CentOS 中设置 NTP 服务器
网络时间协议(NTP)用来同步网络上不同主机的系统时间.你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间.而另一方面,一个 NTP 服务器会将它的时间和任意公共 NT ...
- 应用SVN(CentOS中搭建SVN服务器)
简单介绍如何在虚拟机 CentOS 中,搭建 SVN 服务器. 软件版本信息 Vmware 10.0.0 build-1295980 CentOS 7.0-1406-x64 Java 1.7.0_67 ...
- .NetCore中的程序通过Docker在CentOS中部署
基础说明 安装Docker过程就略过了 创建一个Asp.Net Core程序 启用Docker支持,会生成Dockerfile文件,接下来看下这个文件,当然不同的版本生成的具体可能不一致 FROM m ...
随机推荐
- nacos作为配置中心兼容xml配置文件
最近公司想要用配置中心,因为公司用的有传统的spring项目,有springboot项目,为了兼容都能够采用配置中心,做了一些尝试,经过比较还是倾向于使用nacos,传统dubbo采用spring方式 ...
- Shell Sort(希尔排序)
这个排序算法很厉害,我个人很喜欢这个算法,但算法的时间复杂度难计.算法对增量(这里也称作step(步长))的选择也需要注意,只记得个希尔增量的最坏情况为O(n^2).Hibbard增量的最坏情况为O( ...
- redis 之redis-sentinel主从复制高可用
一.redis主从复制背景问题 Redis主从复制可将主节点数据同步给从节点,从节点此时有两个作用: (1)一旦主节点宕机,从节点作为主节点的备份可以随时顶上来. (2)扩展主节点的读能力,分担主节点 ...
- 设计模式课程 设计模式精讲 13-2 享元模式coding
1 代码演练 1.1 代码演练1 1 代码演练 1.1 代码演练1 需求: 每周由随机部门经历做报告: 重点关注: a 该案例是单例模式和享元模式共同使用 b 外部传入的department是外部状态 ...
- CSS - 滑动门技术
1. 概念: 1.1 为了使各种特殊形状的背景能够自适应元素中文本内容的多少,出现了CSS滑动门技术. 1.2 使各种特殊形状的背景能够自由拉伸滑动,以适应元素内部的文本内容,可用性更强. 1.3 最 ...
- 5.1 Nginx的基本配置
备注:worker_processes 1(数量建议跟系统CPU的核数相同,例如:2个CPU,每个CPU4核,建议为8),worker_connections 建议小于worker_rlimit_no ...
- 笔记||Pyhton3进阶之多线程原理
# 多线程 # 一个进程相当于一个或多个线程 # 当没有多线程编程时,一个进程也是一个主线程 # 但有多线程编程时,一个进程包含多个线程,包括主线程 # 使用线程 可以实现程序的并发 # python ...
- js去后台传递的值
function test(){ var param = [[${list}]];//以集合为例 } 如果list里面是实体类那么就需要重写toString,或者转为json
- Python学习第九课——匿名函数
匿名函数 # 匿名函数 func = lambda x: x + 1 # x表示参数 x+1表示处理逻辑 print(func(10)) # 输出结果为11 # 例:如何将name="han ...
- DatePicker和DataPickerDialog以及AutoCompleteTextView的基本使用方法
1.DatePicker和DatePickerDialog的基本使用方法: main.xml: <?xml version="1.0" encoding="utf- ...