在 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 ...
随机推荐
- $.fn.exted({})与$.extend({})区别
$.fn.extend({}) $.fn.extend({ aaa:function(){ alert(1); } }); 可以通过对象调用方法 $('.aaa').aaa(); $.extend({ ...
- Java学习第一周心得体会
一周的学习很快就过去了,说说我个人的总结吧! 下面几个是我觉得需要牢牢记住的 1.Java的执行机制:先编译.再解释 2.变量以及基本数据类型 3.强类型编程语言:要求变量的类型与值的类型要一致 4. ...
- 128、Java面向对象之对象的比较
01.代码如下: package TIANPAN; class Book { private String title; private double price; public Book(Strin ...
- MySql的数据导入到Sql Server数据库中
步骤一:安装MySql驱动 驱动下载链接:https://dev.mysql.com/downloads/connector/odbc/ 下载完成后安装, 一路Next即可 步骤二:创建DSN DSN ...
- OC中NSLog函数输出格式罗列
格式 类型 格式 类型 格式 类型 %@ 对象 %d,%i 整数 %u 无符整数 %f 浮点 %x,%X 二进制整数 %o 八进制整数 %zu size_t %p 指针 %e 浮点(科学计算) %g ...
- day12-Python运维开发基础(推导式、生成器与生成器函数)
1. 推导式(列表推导式.集合推导式.字典推导式) # ### 推导式 : 通过一行循环判断,遍历出一系列数据的方式是推导式 """ 推导式一共三种: 列表推导式,集合推 ...
- android 桌面透明
目录(?)[-] public void setWallpaperOffsetSteps float xStep float yStep Parameters public void setWal ...
- HttpServletRequest 或 HttpServletResponse显示红色,需引用的依赖包:servlet-api.jar
解决方法:
- 产品原型 UI 设计工具
产品原型设计工具 Balsamiq Mockups Axure RP 图像处理.绘制工具 ps,AI 跨平台 UI开发工具 QT , Unity3D
- 搜索await page.waitForSelector(allResultsSelector);
/** * Copyright 2017 Google Inc. All rights reserved. * * Licensed under the Apache License, Version ...