Wednesday | 28 FEB 2024
[ previous ]
[ next ]

ScarletDME on Alpine Linux

Title:
Date: 2023-08-08
Tags:  sysadmin, scarletdme

These are the instructions to getting ScarletDME running on Alpine Linux.

I used the 32 bit version of Alpine Linux running under qemu.

The first step is to create the qmusers group and the qmsys user.

sudo addgroup qmusers
sudo adduser -h /home/qmsys -s /bin/sh qmsys
sudo adduser qmsys qmusers
sudo adduser root qmusers

We also add root to the qmusers group.

The next step is to install the tools we need to build ScarletDME.

apk add make gcc musl-dev

Next get a copy of ScarletDME:

wget https://github.com/geneb/ScarletDME/archive/refs/heads/master.zip
unzip master.zip
cd ScarletDME-master/

Before we can run make, we need to make 2 changes. The first change is creating a termio.h file with the following contents:

/usr/include/termio.h

/* Compatible <termio.h> for old `struct termio' ioctl interface.
   This is obsolete; use the POSIX.1 `struct termios' interface
   defined in <termios.h> instead.  */
      
#include <termios.h>
#include <sys/ioctl.h>

The second change is inside the scarletdme working directory:

gplsrc/qmdefs.h:64

//#define environ __environ
extern char** environ;

We comment out the define and add the definition directly.

Now we can run through the regular installation process:

make
sudo make install
sudo make datafiles
sudo cp scarlet.conf /etc/

This should have successfully built scarletdme and installed it.

We then start up scarletdme:

/usr/qmsys/bin/qm -start

and finally we can test the system account:

cd /usr/qmsys
bin/qm

We should then be greeted by the GPL message of OpenQM:

[ OpenQM Rev 2.6-6   Copyright Ladybridge Systems, 2007 ]

This program is free software and is supplied with ABSOLUTELY NO WARRANTY.
You are welcome to modify or redistribute this software subject to certain
conditions.  For details type CONFIG GPL.

:

With that we are done!