Makes software distribution easy!

Thursday, 28. August 2014 05:05
Choose language
Sponsored by

Installation guide

Twitter article 2014-07-18 14:43

This page gives you all the information that is necessary to install your own m23 server. m23 can be installed in three different ways. The following chapters are containing all necessary instructions for each method. You should read the chapter "First steps with your m23 server" in the user manual after the installation.

Have fun!


Server installation CD

You can download the server installation CD image from the m23 page and burn it on a CD (please use a CD-RW to save resources and reduce toxic waste). This CD contains the m23 software and the Debian operating system with all components. You can then install m23 on your server using this CD.

  • Download the server installation CD image from here.
  • Additional information about the installation can be found in the chapter "Server installation" in the manual.

Hint 1: The m23 server installation CD is developed for beginners and simple setups and gives you only a few server configuration options (the functional range of m23 remains untouched). If you prefer a more complicated server configuration or your hardware is not supported, you need to install Debian with a Debian installation CD and follow the instructions under Debian packages afterwards.

Hint 2: The server installation CD ISO file can also be installed directly without previous burning in a virtual machine, like for example FAUmachine, QEMU, KVM, VirtualBox, bochs or VMWare or VMware Player (free of charge). You can find some further hints about this here: "Virtual machines".

Hint 3: If you don't have a CD/DVD drive in your server, you can use the tool UNetbootin to convert the m23 server installation ISO into a bootable USB stick.

Hint 4: After the installation of an m23 ISO file with the version number 13.2 or smaller, log into the new m23 server as root and delete the wrong SSH-key (which we created for testing purposes) by entering rm /root/.ssh/authorized_keys and afterwards, reconfigure the m23 server by typing dpkg-reconfigure m23 (it is important that you answer 'yes' to the question about the SSH key).

Debian packages

The packages are stored on the SourceForge server and can be installed via APT. The following steps must be done as root:

1. Import the GPG key with
wget -T1 -t1 -q -O - | apt-key add -
to ensure the integrity of the m23 packages.
2. Add
deb ./
in the /etc/apt/sources.list file.
3. Run
apt-get update
4. And install m23 with
apt-get install m23
. Let all software get configured automatically ("yes"), beside you are really knowing what you are doing.
5. Make sure that the network interface (eth0, eth1, ...), that will be used for communication between your m23 server and the m23 clients, is the first in the list of the interfaces shown in /etc/network/interfaces and has a static IP address. This is required to ensure correct communication.

Hint: The SourceForge server may abort the download of the packages. Please repeat step 4 until all the packages could be downloaded. The disconnect may occur several times especially with big packages.

Hint for Raspberry Pi: m23 can, in principle, be installed on a Raspberry Pi (with Raspbian). Before you install the m23 package, install the package Installiere tftpd-hpa (this will abort with an error). Then edit the file /etc/default/tftpd-hpa and modifiy the line with the TFTP_OPTIONS to this: TFTP_OPTIONS="-4 --secure". Then reinstall tftpd-hpa with apt-get install m23-tftp --reinstall and continue with the normal m23 installation afterwards.

Apache CloudStack®

From version m23 rock 14.1 on, the m23 server as well as m23 clients can be installed in Apache CloudStack®. For this purpose, the interface for the creation of virtual clients has been extended. The installation of an m23 server works similar to the installation from .deb packages on an existing Debian system.

1. Create a new virtual machine (VM), using the interface of Apache Cloudstack®.
2. Configure the VM so it gets a public IP address.
3. Create rules for the firewall, which allow the following:
Source CIDR Protocol Start Port End Port ICMP Type ICMP Code Usage ICMP 8 0 Ping TCP 2323 2323 m23 package cache TCP 80 80 HTTP connection to the m23 server TCP 443 443 HTTPS connection to the m23 server TCP 22 22 SSH connection to the m23 server
4. Add port forwarding rules, which forward ports to the m23 server VM, containing:
Private Port Public Port Protocol
22-22 22-22 TCP
443-443 443-443 TCP
80-80 80-80 TCP
2323-2323 2323-2323 TCP
5. Install an up-to-date Debian system (=> 7.x) on this virtual machine (32 or 64 Bit) and continue with the m23 installation following the guide at Debian packages.
6. After the installation is completed, you should be able to access the m23 interface from your web browser, using the public IP address of the virtual machine (https://<public IP>).
7. Now, follow the guide in the help text about the adjustment of Apache Cloudstack®, which you can find in the m23 web interface at "Server settings" "Cloud functions (CS)".

Virtual machines

The virtual machine image is the right solution for you, if you want to try out m23 risk-free, fast and without installation. You can download a VirtualBox image that contains a full m23 server installation from here (⇒ Preinstalled virtual machine). The m23 server can be installed onto a Kernel-based Virtual Machine (KVM) too. Learn how to install the m23 server into KVM here. You should consider installing m23 on a real server for productive environments via installation CD or Debian packages.

Recommended reading (German):
freiesMagazin: 02/2011: "VirtualBox und KVM" (Copy).

m23 in VirtualBox

The free virtualisation software VirtualBox can execute virtual machines (VM in short) on the operating systems Linux, Windows, Mac OS X, FreeBSD or Solaris. It is possible to install the official m23 server installation CD (in ISO format) into VirtualBox or to import the m23 server VirtualBox appliance.

Video tutorial: m23 server with VirtualBox in less than 10 minutes

Download (OGG Theora)/Fullscreen

This short video tutorial will teach you how to install and set up an m23 server in a VirtualBox machine. The tutorial covers among other things:

  • The creation and configuration of a new VM for usage with m23
  • The installation and configuration of the m23 serve.
  • The first start of the m23 server


-1. Install VirtualBox

The virtualisation software VirtualBox needs to be downloaded from and installed (if not already done) on your operating system. Note that there is a portable version of VirtualBox for Windows, that can be downloaded from

0. Extract the VM

The 7-Zip compressed archive (Download ⇒ "Preinstalled virtual machine") containing the VM must be downloaded an extracted. Afterwards there are a ".vmdk" and a ".ovf" file that hold the virtual harddisk with operating system and files and the VirtualBox configuration with settings for the VM.

Import and configuration of the m23 server VirtualBox appliance

The following installation and setup howto will guide you through the steps of importing the VirtualBox and importing the m23 server VirtualBox appliance.

Download (OGG Theora)

This video shows the import and the configuration of the m23 server VirtualBox appliance including network setting./p>

The video was captured under Linux Mint 13 with VLC an the help of the additional (in VLC visible) mouse cursor "ExtraMaus".


You will see a similar window after the start of VirtualBox. Similar, because the appearance varies from operating system to operating system and there may be VMs in the left part of the window.

Hint: The screenshots were taken under Debian 6.0 with Trinity desktop.


Choose "File""Import Appliance...".


Click on "Open appliance...".


Select the OVF file of the m23 server VM and click on "Open" (This dialog may differ on your desktop/OS).


Click on "Next >".


Click on "Import".


Clicke on "Agree" to accept the license.


Now wait a bit ;-)


The VM is imported and can now be started with a click on "Start". The VM will boot (almost) like a real computer.


Now you need to configure the system as described under "Configuration of the (virtual) machine".

m23 in KVM

Virtual machines can be run on Linux with the free virtualisation software KVM (Kernel-based Virtual Machine). KVM is included in Linux since the version 2.6.20 and therefore should available under all reasonably current distributions.

The following guide will lead you through the installation steps for installing the m23 server in KVM.


Install the KVM tools and load the CPU matching KVM module.

For Intel CPU: modprobe kvm-intel

For AMD CPU: modprobe kvm-amd


The KVM needs a virtual network device for communication with your network and the internet. These network devices can be created with the script Download from the Dodger-Tools project page or use the file /mdk/m23helper/ from a previously installed m23 server. Open the file with a text editor and adjust to your needs. Start as root.

Hint: Have a look at possibly occurring error messages and install the missing tools (e.g OpenVPN).


Create a new and empty KVM harddisk image file with the command:

qemu-img create -f qcow2 m23server.kvm 8192M

You can adjust its size (8GB = 8192M here) and the file name as you like.


Now you can start the KVM (the m23 server ISO file must have been downloaded, of course) (m23server.iso in the example):

kvm -m 256 -boot d -cdrom m23server.iso -hda m23server.kvm -net nic,model=rtl8139,vlan=0,macaddr=00:AA:BB:CC:DD:FF -net tap,ifname=tap1,script=/bin/true

The MAC address, the RAM size (256 MB here) and other settings can be adjusted as you like.


The installation will now run like on real hardware.


You can start your m23 server after the installation from the virtual harddisk image with:

kvm -m 256 -boot c -hda m23server.kvm -net nic,model=rtl8139,vlan=0,macaddr=00:AA:BB:CC:DD:FF -net tap,ifname=tap1,script=/bin/true


Now you need to configure the system as described under "Configuration of the (virtual) machine".

Raspberry Pi

For small environments where only very few m23 clients have to be installed or administered simultaneously, you can now use a Raspberry Pi B. All you need to start right away is a Raspberry Pi B, an SD-card of (at least) 8 GB and the m23 server image (download from ⇒ RaspberryPi) which needs to be written to the SD card.
1. Put the SD card into a card reader and find out the corresponding device name (/dev/XXX). Attention must be paid to really using the correct name - if it is wrong, the data on your hard disk may be overwritten!
2. To write the image file, use the following commands (as root):
7zr x -so "rapi.dd.7z" | dd of=/dev/SDdevice
Replace "rapi.dd.7z" by the name of the downloaded m23 server image and "/dev/SDdevice" by the device name of the card reader. Depending on the speed of the card reader and SD card, this will now take some minutes.
3. Now mount the card to find out the preset IP: You can find this in the mounted directory in the file "/etc/network/interfaces". The IP is listed after "allow-hotplug eth0" in the line "address AAA.BBB.CCC.DDD". Of course, you can also change the IP address and the other network parameters ;-)
4. You now have two options how you can wire your Raspberry Pi:
  1. Connect it to a monitor, a keyboard and the network to be able to log in directly
  2. Alternatively, only connect it to the network to be able to login by using SSH.
Now put the SD card into your Raspberry Pi and start the device (plug it in) to configure the m23 server on the card. After booting, login using the user name "root" and the password "test".
5. If the SD card should be bigger than 8 GB, you should now adjust the file system on the card to be able to use all the memory space. To achieve this, run raspi-config and choose "expand_rootfs" from the menu. After this is finished, restart the Raspberry Pi with reboot.

Now you should configure the rest as described at "Configuration of the (virtual) machine".

Configuration of the (virtual) machine

1.When the booting ends, you will not see a graphical user environment but a console. There will be a login prompt (m23s login:).
2.Log in with the user name root [Return] and the password test [Return].

You should change the root password now, because the preset password is insecure and can be found on this page ;-)

Step by step

  • Run passwd [Return].
  • Enter your new password and press the Enter key.
  • Enter your new password again.

4.You need to change the default network settings in most cases. To change the network settings do as follows:

  • Open the file /etc/network/interfaces with the editor nano. Do it with the command line nano /etc/network/interfaces [Return].
  • Now make your modifications and make sure that a static IP is assigned to the interface.
  • To save your changes simply press the keys Ctrl+X.
  • Confirm with y+[Return].
  • To let the changes take effect run: /etc/init.d/networking restart; /etc/init.d/tftpd-hpa restart; `ls /etc/init.d/*inet*` restart.

4a.If your m23 version is 13.2 or smaller (i.e. older), now it is important that you delete the wrong SSH key (our testing SSH key) by entering
rm /root/.ssh/id_dsa* /root/.ssh/authorized_keys.
5.Now run the m23 software configuration script with dpkg-reconfigure m23.
6.Update the complete system with: apt-get update; apt-get upgrade
7.You have a virtual m23 server that behaves like a normal m23 server now. After the installation you should read the chapter "First steps with your m23 server" in the manual.

<< Previous 5 articles
Give m23 your reference!

Help m23 and give us a reference. Open the questionnaire in English, French or German.

Send message to developer



Captcha: 6 + 1 = ?
Development blog
cha: SERVER_runInBackground: Now
chmod's /var/run/screen to 775.
fix: PKG_updatePackageInfo,
PKG_preparePackageDir: Now is able
to create diretories with spaces in
the name.
fix: PKG_updatePackageInfo: Now
checks for (eventually) missing
package search cache file.
cha: en / fr / i18n and help:
cha: exportDBsourceslist.php:
Removed then outdated and
unsupported package sources lists
"unstable", "sid", "testing",
"lucid" and "lenny".
new: CLIENT_getAllClientNames: Gets
the names of all clients.
new: m23cli / getSourcesList: Shows
the contents of a package sources
new: CLI_getModuleExitcodes: Gets
the exit codes about a given
cha: CLI_getModuleParameterLine:
Now returns information about
(optionall) exit code(s).
cha: CHECK_FW: Disables showing the
PHP warning, when using a one
character rule.
new: m23cli / getClientMac: Shows
the MAC address of a client.
new: m23cli / isClientPingable:
Checks, if a client could be
cha: CLIENT_query: No warnings,
when used from CLI.
new: m23cli / getGroupIPs: Fetches
the IPs of all clients in a group.
Last 5 entries
Full changelog

Download status

m23 was updated with the m23 update manager 6532 times. All m23 files were downloaded from Sourceforge 26879 times with a total size of 7121.35 GB.
based on devalcms