Здесь описывается сборка и установка сервера KMS для CentOS 7.

Для начала обновляем информацию и устанавливаем нужные пакеты:
yum update
install git gcc

Клонируем репозиторий:
git clone https://github.com/Wind4/vlmcsd

Переходим в каталог и начинаем сборку:
cd vlmcsd
make

После окончания сборки переходим в каталог bin:
cd bin

Устанавливать будем в папку /opt/vlmcsd:
mkdir /opt/vlmcsd
cp * /opt/vlmcsd/

Также нам понадобятся два файла из каталога etc:
cd ../etc
cp * /opt/vlmcsd/

По умолчанию vlmcsd слушает на стандартном порту KMS — TCP/1688. Поэтому нужно открыть порт в файерволе, чтобы разрешить клиентам подключаться к нему. Поэтому выполняем следующие команды:
firewall-cmd --permanent --add-port=1688/tcp
firewall-cmd --reload

Проверяем что порт 1688 открыт:
firewall-cmd --list-port
ss -tupln | grep :1688

Создадим файл службы для сервера:
touch /etc/systemd/system/kms-server.service

И вставим в него следующее содержимое:
[Unit]
Description=Microsoft KMS Server
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/opt/vlmcsd/vlmcsd
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target

Обновляем информацию о службе, разрешаем ее запуск при старте системы и запускаем:
systemctl daemon-reload
systemctl enable kms-script.service
systemctl start kms-script.service

Проверяем, что служба работает:
systemctl status kms-script.service

Из опций, которые могут пригодиться при запуске службы, можно, наверное, выделить три основных:
-i file - использовать параметры, заданные в файле file.
-l syslog|file - вести журнал работы в syslog или file.
-p file - создать при зщапуске PID файл.