Een Linux-server beheer je meestal vanaf de commandline. Daardoor ligt de drempel voor beginners redelijk hoog. Maar er bestaan verschillende tools om die drempel te verlagen door de meest gebruikte beheeropties aan te bieden via een webinterface. We stellen hier twee van zulke tools voor: Webmin en Cockpit.

Voor doorgewinterde Linux-sysadmins klinkt het als vloeken in de kerk: een grafische interface om een Linux-server te beheren. Uiteraard gaat er niets boven een gedegen kennis van de commandline om een systeem beter te doorgronden. Eén van de sterke punten van Linux is juist dat je als beheerder diep in het systeem kan duiken om problemen op te lossen. Je hoeft je daarvoor niet door vervelende gui’s te worstelen. Die maken het toch alleen maar moeilijker om de juiste informatie te vinden of ze geven je slechts beperkte toegang tot het systeem. Anderzijds ligt de drempel daardoor erg hoog om te beginnen met experimenteren met een Linux-server. Je moet al over een behoorlijke portie leergierigheid en geduld beschikken om niet meteen af te haken bij je eerste kennismaking! Daarom is het misschien toch goed dat er grafische tools bestaan voor serverbeheer. Ook al kunnen die absoluut niet tippen aan de mogelijkheden en de flexibiliteit van de commandline-tools, ze zorgen misschien wel voor meer interesse in Linux-servers. Maar Linux zou Linux niet zijn als je geen keuze had uit verschillende tools voor serverbeheer. Twee populaire tools zijn Webmin en Cockpit. We stellen ze kort aan je voor, maar probeer ze vooral zélf uit om te kijken welke jou het beste ligt.

 

Webmin

De eerste versie van Webmin verscheen maar liefst 20 jaar geleden, maar de ontwikkeling loopt nog steeds door. Tegenwoordig is Webmin iets minder bekend, omdat veel distributies ervoor kozen om het niet op te nemen in hun repositories. Installatiepakketten moet je dus manueel downloaden van ‘http://www.webmin.com/download.html’ of je configureert de apt- of yum-repositories op je systeem. Meer uitleg daarover vind je via de links ‘Installing the RPM’ en ‘Installing on Debian’ op de downloadpagina. Webmin bevat een ingebouwde webserver die luistert op poort 10000. Je hoeft dus zelf geen webserver, zoals Apache, te installeren om Webmin te kunnen gebruiken. Na installatie surf je gewoon naar ‘https://<ip-adres-server>:10000’ en voeg je een uitzondering toe in je browser voor het self-signed SSL-certificaat. Inloggen doe je met de root-gebruiker of -in bijvoorbeeld Ubuntu- een gebruiker die via sudo root-rechten heeft. Je komt dan terecht op het dashboard, met onder andere grafieken die de huidige load van het systeem tonen en een melding als package updates beschikbaar zijn.

 

Modules

Via de navigatiebalk links ga je naar Webmins verschillende beheertools. Onder Webmin vind je Webmins eigen configuratie, met bijvoorbeeld de mogelijkheid om extra Webmin-gebruikers aan te maken, meerdere servers via Webmin te beheren of extra Webmin-modules te installeren. Webmin is immers modulair opgebouwd: voor elk softwarepakket dat je via Webmin configureert, bestaat een afzonderlijke module. Gelukkig hoef je de gewenste modules niet zelf te selecteren. Webmin is slim genoeg om te detecteren welke software op jouw systeem draait en weet dus welke modules actief moeten zijn. 

De meer algemene beheeropties zijn verspreid over volgende onderdelen:

-System: services, gebruikers en groepen, logfiles, package management, scheduled tasks, bestandssystemen, …;

-Others: om bijvoorbeeld een terminal te openen in Webmin of services te monitoren;

-Networking: netwerkconfiguratie en firewall;

-Hardware: schijfpartitionering (al dan niet met RAID of LVM) en printerbeheer;

-Cluster: om bepaalde taken op meerdere servers tegelijk uit te voeren.

De configuratie van specifieke pakketten -zoals bijvoorbeeld Apache, Postfix of Samba- vind je terug onder het ietwat dubbelzinnige Servers. Afhankelijk van de geïnstalleerde software activeert Webmin meer of minder modules in dat onderdeel. Onder Un-used Modules zie je een lijst van alle beschikbare modules. In totaal bevat Webmin al een 50-tal modules, onder andere voor back-upsoftware (Bacula), filesharing (Samba, NFS) en mailservers (Dovecot, Fetchmail, Postfix, Sendmail). Ontbreekt een module voor jouw favoriete pakket? Geen paniek, op ‘http://bit.ly/2jf6KLd’ vind je nog heel wat extra third-party modules. Die installeer je via Webmin > Webmin Configuration > Webmin Modules > Third party module from. Onder de naam Cloudmin bevat Webmin trouwens ook een module om virtuele machines met bijvoorbeeld KVM te beheren. De gratis versie daarvan bevat wel slechts beperkte mogelijkheden.

Over het algemeen bevatten de verschillende modules behoorlijk wat configuratiemogelijkheden. Vaak is het zelfs mogelijk om rechtstreeks vanuit Webmin de achterliggende configuratiebestanden aan te passen. Dat is handig om instellingen aan te passen die de Webmin-module niet toont of om uit te zoeken welke configuratie-instelling een bepaalde Webmin-optie nu precies wijzigt. Wijzig je configuratiebestanden buiten Webmin om, dan zijn die wijzigingen ook zichtbaar in Webmin. Zo kan je gaandeweg meer en meer via de commandline werken en minder via Webmin, zonder dat je meteen volledig moet overstappen. Webmin is dus een érg handig hulpmiddel om op jouw eigen tempo te leren werken met de commandline!

 

Cockpit

In tegenstelling tot Webmin is cockpit nog een vrij jong project en dat heeft zijn voor- en nadelen. Cockpit is op moderne technologie gebouwd (systemd, storaged, realmd, enzovoorts) en installeer je gewoon via je package manager. Op ons Ubuntu 16.04-testsysteem resulteerde dat wel in de installatie van 165 packages en 310MB schijfruimte. Een groot verschil met de 6 packages en nog geen 20MB van Webmin! Inloggen doe je via de webinterface op poort 9090 en je merkt meteen dat Cockpit veel minder functionaliteit biedt dan Webmin. Vergeet ook niet om de optie ‘Re-use my password for privileged tasks’ aan te vinken bij het inlogscherm voor een gewone gebruiker met sudo-toegang. Ook hier krijg je een dashboard te zien met de load van het systeem, maar de informatie is beperkter dan bij Webmin. Zo ontbreekt een lijst van actieve processen en ook package management (installeren van updates) is volledig afwezig. Dat laatste los je op door het pakket cockpit-packagekit te installeren (dit werd niet standaard geïnstalleerd). Net zoals Webmin is ook Cockpit modulair opgebouwd: je installeert extra modules via de pakketten waarvan de naam begint met cockpit-. Veel extra pakketten zijn op dit ogenblik echter niet beschikbaar. De meest opvallende zijn cockpit-machines (om virtuele machines te beheren) en cockpit-docker (om Docker containers te beheren).

Wat kan je dan momenteel wel met Cockpit doen? Je kan de systeemlogs bekijken en services beheren, gebruikers aanmaken, de netwerkconfiguratie aanpassen en schijven en bestandssystemen beheren. Software updates installeren is ook mogelijk, maar extra pakketten installeren (of verwijderen) kan dan weer niet, althans niet op ons testsysteem (volgens de documentatie zou dat wel mogelijk moeten zijn). Cockpit bevat ook een ingebouwde terminal, maar het is natuurlijk niet de bedoeling dat je die voor veel taken gebruikt. Kan je goed overweg met de commandline, dan heb je Cockpit wellicht niet nodig. Cockpit wordt vooral ontwikkeld voor Fedora, CentOS en Red Hat Enterprise Linux. Het is dus goed mogelijk dat verschillende features minder goed werken op andere distributies. De ontwikkeling verloopt ook nog erg snel: maandelijks verschijnen wel één of meerdere nieuwe versies. Het is dus zeker een project om verder in het oog te houden. 

 

Conclusie

Zoek je een uitgebreide interface om zoveel mogelijk systeemcomponenten én verschillende services te beheren, zoals Samba of Apache? Dan blijft Webmin de enige goede keuze. Cockpit is eerder geschikt om een virtualisatiehost met KVM of Docker te beheren. Voor andere servertypes zijn de mogelijkheden momenteel nog té beperkt.