# LHM-LiMux Mini-München This virtual appliance provides the latest (and probably last) release of LiMux in the form of runnable machines, including the source code of almost all of our customizations. *LiMux* is a Linux desktop distribution developed and used at the Landeshauptstadt (state capital) München, see [LiMux - Wikipedia](https://en.wikipedia.org/wiki/LiMux) Mini-München originally was a virtualised training environment for municipal IT admins. For publishing, proprietary software, artwork, background images and others without redistribution licenses were removed. Internal information from binary and source packages was filtered out, renamed or anonymized. The latest version of LiMux is 6.0, based on Ubuntu 18.04, released on April 2019. This image contains the latest revision as of December 2021. ## Appliance The appliance consists of a distribution server ("Verteilserver, VTS") *master*, which additionally provides DNS, DHCP, LDAP and Samba servers and holds the complete LiMux distribution version 6.0 ("walhalla") which is based on Ubuntu 18.04. Customized source code is in `/srv/sources`. A virtual client workstation ("Basisclient") *client1* is prepared, but not yet installed. It will be installed after your virtual machines are set up properly (see below), *master* is running and *client1* is started. ## System requirements * A hypervisor like Oracle VirtualBox. * About 44 GB free disk space (30 GB for *master* and > 13 GB for *client1*), plus 25 GB for the ZIP file and 25 GB for the unzipped .ova. More space for more clients and Verteilservers you install. ## Setup 1. Unzip the ZIP-file 2. Prepare VirtualBox (other hypervisors not tested) Set up the host-only network (preferably *vboxnet0*): * Configure adapter manually, IPv4 address: 192.168.1.1, netmask 255.255.255.0 - Newer versions of Virtualbox on GNU/Linux and macOS can have a fixed ip-range for host-only adapters, which sets the address to 192.168.56.1. This value cannot be changed in the configuration dialog. But the image should work with this setting. - If there are problems with the connectivity between the limux-machines or if you want to change/deactivate the ip-range for host-only adapters in general, add "* 0.0.0.0/0 ::/0" to /etc/vbox/networks.conf * **Disable** the DHCP-Server. 3. Import the appliance * Select the `LHM-LiMux.ova` file. * If you *preserve the MAC addresses of all network adapters*, you won't need to change them later, see below. * You can import hard disks as VDI. 4. Check your virtual machines * You can modify system RAM and number of CPUs, if you want. Minimum for *master* is about 1 GB RAM and 1 CPU, for *client1* 2 GB and 2 CPUs. Recommended specs are 2 GB and 2 CPUs for *master* and depending on the intended workload 2-4 CPUs and 4-8 GB for *client1*. * Boot order must be 1. network, 2. harddisk. * Graphics memory: VirtualBox needs more than 33 MB for switching to fullscreen mode. * Network: - Use Host-only adapter, select the correct one (network address 192.168.1.0) - MAC addresses: *master*: 005056000603, *client1*: 005056000605 You can use different ones, but for installations to work they must match those configured in `/etc/dhcp/dhcpd.conf` on *master*. 5. Start *master* After shortly waiting for DHCP (*master* will not get an offer) it should start quickly. You can login on the VT or via ssh (IP address 192.168.1.100) from the host machine. Login is `limux`, password `limux`. 6. Start *client1* The VM should get a DHCP offer, IP address 192.168.1.50, and start installing after booting. If it does not get an IP adress from DHCP and is halted, please check your VM settings, especially MAC addresses and the host-only network, see above. If everything looks right but the client doesn't get an IP address, try switching the network to something other than HOST-ONLY (e.g. bridged) and then back to HOST-ONLY. This helped in a case where the correct HOST-ONLY network name was different ("vboxnet1"). After installing, the Basisclient is shut down. Start it, for a short while it should show `LiMux Client` on a yellow background, a graphical login screen (SDDM) will appear. There are several users configured, see below. For a fully configured user, try `demo2.user`, passwords are all `limux`. Look around, have fun. ## Install more Basisclients and Verteilservers 1. Configure any number of additional virtual machines similar to *master* and *client1*. * Guest operating system: »Linux« , Version: »Ubuntu 64bit« * HOSTONLY network 192.168.1.0 * Use the preconfigured Names and MAC addresses shown in the next section or configure your own addresses in `/etc/dhcp/dhcpd.conf` on *master*. * Boot order: 1. Network, 2. Harddisk (optionally unselect optical and floppy) * CPU: Client: >= 2 CPUs, Verteilserver: >= 1 CPU * RAM: Client: >= 2 GB, Verteilserver: >= 1 GB * Disk size: Client: >= 15 GB, Verteilserver: >= 12 GB * Optional: You can install clients and VTS from additionally installed VTSes (not master). On *master* in /etc/dhcp/dhcpd.conf change `server-name` and `next-server` from *master* to e.g. *verteil1*. Restart DHCP server: `sudo systemctl restart isc-dhcp-server.service` 2. Start a VM. It should get an IP address from the master DHCP server and show the screen: "Das System ist gesperrt. Warte auf Aktivierung." 3. Run a web browser on your host computer and open `http://192.168.1.100/gosa` Login as user `limux`, password `limux` 4. Navigate to *Systeme*. If you configured and started *client2*, it should show up there as *client2 Neues Gerät*. Click it, select *Arbeitsstation* (client) or *Server* (verteil). 5. In Tab *Allgemein* change *Modus* to *Aktiv*, add the *Zeit-Server* *ntpmaster.muenchen.de* (client only). 6. In Tab *Start* select *Release* *walhalla*, *Repository* *http://master.mini.muenchen.de/repository*. Add *Modul_Standard* (client) or *Modul_Verteilserver* (verteil) to *Zugewiesene FAI-Klassen*. 7. Click OK. The VM starts installing. ## Structure of virtual machines ### master.mini.muenchen.de * mac: 00:50:56:00:06:03 * ip: 192.168.1.100 * services * LiMux-Verteilserver * LDAP-Server * DHCP-Server * DNS-Server * Samba-Server * Repository * Sources ### verteil1.mini.muenchen.de * mac: 00:50:56:00:06:04 * ip: 192.168.1.101 ### verteil2.mini.muenchen.de * mac: 00:50:56:00:07:04 * ip: 192.168.1.102 ### verteil3.mini.muenchen.de * mac: 00:50:56:00:08:04 * ip: 192.168.1.103 ### client1.mini.muenchen.de * mac: 00:50:56:00:06:05 * ip: 192.168.1.50 ### client2.mini.muenchen.de * mac: 00:50:56:00:06:06 * ip: 192.168.1.51 ### client3.mini.muenchen.de * mac: 00:50:56:00:06:07 * ip: 192.168.1.52 ### client4.mini.muenchen.de * mac: 00:50:56:00:06:08 * ip: 192.168.1.53 ## Accounts As mentioned earlier, the user demo2.user is fully configured and has all the characteristics of a typical user in the limux-environment. * *limux* / *limux* * *demo1.user* / *limux* * *demo2.user* / *limux* * preconfigured with standard groups, allowed to login at Mobilclient, shares mounted * *demo3.user* / *limux* * *demo4.user* / *limux* * *demo5.user* / *limux* * *demo6.user* / *limux* * *demo7.user* / *limux* * *demo8.user* / *limux* * *demo9.user* / *limux* * *demo10.user* / *limux* * Recovery mode in Grub menu: * boot VM, press Esc several times until Grub menu appears * Choose advanced options, press Return, user limux, password: limux * select recovery mode * NFS-Root during installation of a client or Verteilservers per ssh: *root* / *limux* * View installation logs live: ``` export TERM=xterm cd /tmp/fai tail -f * ``` ## Additional technical hints: ### Further documentation * Adminhandbuch (in ZIP file and on installed master in /srv/samba/public - accessible via mounted share PUBLIC) * see below `/usr/share/doc/(Packagename)` on installed clients. * man pages ### PhpLDAPadmin * [http://192.168.1.100/phpldapadmin/](http://192.168.1.100/phpldapadmin/) * User »cn=unitadmin-mmu,ou=incoming,ou=limux,ou=mmu,o=lhm,c=de« * Password »limux« ### LDAP changes as ROOT at CLI ``` ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f .ldif ldapadd -Y EXTERNAL -H ldapi:/// -f .ldif ldapsearch -Y EXTERNAL -H ldapi:/// -b "cn=config" ```