VLMCSD on Debian/Ubuntu

Make sure “build-essential” package is installed on your Debian/Ubuntu machine. Login to you Linux with SSH and follow steps below:

cd /opt/
git clone https://github.com/kebe7jun/linux-kms-server
useradd -s /usr/sbin/nologin -r -M vlmcsd
cd /opt/linux-kms-server/vlmcsd/
make

Wait for it to finish, if there are no errors/warning continue with following:

nano /lib/systemd/system/vlmcsd.service

Add following to file:

[Unit]
Description=vlmcsd KMS emulator service
After=network-online.target
Wants=network-online.target


[Service]
Type=forking
User=vlmcsd

ExecStart=/opt/linux-kms-server/vlmcsd/vlmcsd -l /var/log/vlmcsd/vlmcsd.log

[Install]
WantedBy=multi-user.target

Save the file and continue creating the log folder and configure the permissions:

mkdir /var/log/vlmcsd
chown vlmcsd:vlmcsd /var/log/vlmcsd
systemctl enable vlmcsd
systemctl start vlmcsd

To verify the status if the service is running, run following:

systemctl status vlmcsd

If everything is fine, it should look like this:

root@kms:~# systemctl status vlmcsd
● vlmcsd.service - vlmcsd KMS emulator service
Loaded: loaded (/lib/systemd/system/vlmcsd.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-05-02 22:33:16 CEST; 42s ago
Process: 457 ExecStart=/opt/linux-kms-server/vlmcsd/vlmcsd -l /var/log/vlmcsd/vlmcsd.log (code=exited, status=0/SUCCESS)
Main PID: 466 (vlmcsd)
Tasks: 1 (limit: 1059)
Memory: 396.0K
CGroup: /system.slice/vlmcsd.service
└─466 /opt/linux-kms-server/vlmcsd/vlmcsd -l /var/log/vlmcsd/vlmcsd.log