Als je net een nieuwe server hebt gekregen, wil je daar natuurlijk zo snel mogelijk mee aan de slag. Misschien heb je nieuwe projecten om mee te beginnen of wil je bestaande gebruikers van een oude naar de nieuwe server verhuizen.

Dit is dan precies het moment om even stil te staan bij de structuur van zo’n server. DirectAdmin is een van de meest gebruikte hostingserver controlepanelen ter wereld en is over de afgelopen jaren uitgegroeid tot een stabiel en betrouwbaar stuk software. Maar, zoals dat met alles geldt, dan moet je het wel goed inzetten.

Niveaus

DirectAdmin kent drie gebruikers-niveau’s. Ieder niveau heeft zijn eigen rechten en mogelijkheden. Een hoger niveau heeft daarnaast altijd toegang tot het lagere niveau, terwijl dat omgekeerd niet zo is.

Als je een VPS of dedicated server met DirectAdmin installeert, begin je altijd met een Admin gebruiker. Als Admin kun je Resellers en Eindgebruikers aanmaken. Resellers kunnen ook Eindgebruikers aanmaken. Eindgebruikers zijn de enige groep die domeinnamen, e-mail adressen, databases en FTP-accounts kunnen beheren.

Admin

Zoals gezegd, ieder niveau heeft ook toegang tot de mogelijkheden van het onderliggende niveau. Zo zie je als Admin gebruiker aan de rechterkant direct de optie om naar het Reseller of User level om te schakelen, zodat je ook extra gebruikers en zelfs domeinnamen aan kunt maken.

Het is dan ook erg verleidelijk om je websites op die manier direct onder de Admin gebruiker beschikbaar te maken. Die is er toch al, toch?

Handig is dat echter niet. Het heeft namelijk verschillende gevolgen die je vooraf niet overziet, maar achteraf tot flink wat uitdagingen kunnen leiden.

Admin is geen gewone gebruiker

Het Admin account is, zoals de naam eigenlijk al zegt, een account om de administratie mee te doen. Om de server mee te beheren dus. Om die reden heeft een Admin account alle rechten die je maar hebben kunt.

Als het Admin-wachtwoord achterhaald wordt, kun je je server afschrijven. Begin maar overnieuw, want de volledige server moet dan gezien worden als gehackt. Best lastig.

Daarom bewaar je je Admin-wachtwoord veilig en gebruik je het alleen om via (het liefst beveiligde verbinding) in te loggen in het Admin-paneel van de server. En dus níet om je WordPress site mee te laten verbinden met een database. Of je Joomla site via FTP te laten back-uppen.

Individueel domeinnamen back-uppen kan niet

DirectAdmin heeft out-of-the-box een vrij degelijk back-up systeem. Je kunt via cronjobs schema’s instellen om op gezette tijden geselecteerde gebruikers te laten back-uppen.

IRdvKv4XiMqAboTcj4yuM0TVeEdOyAfw2RCTbGSa.png

Sleutelwoord in die laatste zin is geselecteerde gebruikers. Inderdaad, je stelt een back-up in voor een gebruiker en dus níet voor eventuele individuele domeinnamen onder die gebruiker.

Mocht er dus iets fout gaat en je wilt een back-up terug plaatsen, plaats je ook een back-up terug van de gehele gebruiker. Hangt er één domeinnaam onder, dan is er geen probleem. Maar heb je zevenentwintig domeinnamen onder je Admin-gebruiker hangen en moet je er eentje restoren? Dat gaat dus niet lukken.

SSL voor meerdere domeinen

Omdat de Admin gebruiker bedoeld is voor het beheren van de server, werken sommige menu’s ook net even iets anders dan wanneer je diezelfde menu’s als echte gebruiker zou benaderen. Een goed voorbeeld hier van is het SSL menu.

De Admin gebruiker kan standaard namelijk maar één certificaat hebben. Dit omdat het dat certificaat wegschrijft als bijvoorbeeld het server-certificaat voor de webserver.

Om die reden ontstaan er problemen wanneer er meer dan één domeinnaam onder de Admin-user staan ondergebracht. Het tweede en alle andere domeinnamen kunnen namelijk geen SSL-certificaat activeren zonder het bestaande certificaat te verwijderen.

PHP-processen en gescheiden data

In een standaard webserver-setup gebeurt er van alles onder de gebruiker Apache. Als je een website bezoekt, regelt Apache wat je te zien krijgt in de browser. Als je een foto uploadt via je WordPress dashboard, zorgt Apache dat dat bestandje geüpload wordt. #rechten-issue #777 anyone?

Een lange tijd geleden werd er gebruik gemaakt van mod_ruid2 (en daarvoor zelfs nog suPHP) om bestanden als eigen gebruiker weg te kunnen schrijven, zodat permissie-issues tot het verleden behoorden. De opvolger daarvan is het werken met een andere PHP-setup: PHP-FPM.

Onder PHP-FPM krijgt iedere bezoeker een eigen PHP-proces toegewezen. Dit proces wordt toegewezen aan de gebruiker waaronder de domeinnaam is ondergebracht. In de PHP-configuratie wordt ingesteld hoe veel processen er per gebruiker gestart mogen worden. Afhankelijk van hoe druk de website is, kunnen dat er bijvoorbeeld twintig zijn.

Het gebruiken van de Admin brengt ook in dit opzicht weer twee risico’s met zich mee:

  1. Als je zevenentwintig domeinnamen hebt draaien onder je Admin-user, moeten die het alle zevenentwintig zien te redden met die twintig beschikbare processen.
  2. Als je zevenentwintig domeinnamen hebt draaien onder je Admin-user, kunnen die allemaal elkaars bestanden zien, uitlezen en bewerken. Er lastig als er één site geïnfecteerd wordt, want dan kan die infectie zich gemakkelijk verspreiden naar de andere zesentwintig.

Troubleshooting

Ten slotte nog een voordeel van het scheiden van domeinnamen onder verschillende gebruikersnamen: het opsporen en oplossen van problemen is een heel stuk gemakkelijker als je zeker weet dat domeinnamen, processen en data-mappen strict gescheiden zijn en je in de logs gewoon kunt zoeken op een gebruikersnaam.

6gzMAZ97epJT89JpWtFDMDWb0A1tmC4wteMGNMXl.png

Reseller

Het volgende niveau dat DirectAdmin aanbiedt, is het reseller-niveau. Standaard is er direct al een reseller beschikbaar: Admin. Het reseller-level van de Admin gebruiker kan ook als reseller gebruikt worden, met dezelfde kanttekeningen als hierboven omschreven.

Het is natuurlijk wel mogelijk om extra resellers aan te maken. Dat kan om meerdere redenen handig zijn. Splits je websites bijvoorbeeld uit in verschillende groepen, gebaseerd op locatie, dienst of type klant.

Heb je meerdere collega’s of werknemers die ieder een geografisch gebied onder hun hoede hebben, kun je per collega een reseller aanmaken. Of heb je in je dienstenportfolio ook email only diensten, kun je bijvoorbeeld alle e-mail pakketjes onder een specifieke reseller hangen.

Maar, laat ook op het Reseller niveau het gebruik van het User niveau links liggen, met dezelfde redenen als voor het Admin niveau. Daarvoor zijn er Eindgebruikers.

Eindgebruikers

Eindelijk, de plek waar de domein-magie plaats vindt. Hier beheer je een domeinnaam. Hier maak je websites, e-mailaccounts en databases. Hier stel je SSL-certificaten in en zorg je voor FTP-verbindingen. Kortom: hier doe je alles wat met je domeinnaam te maken heeft.

Wat je hier ook kunt doen, is extra domeinnamen aanmaken. Die worden dan als een extra controlepaneel aan het pakket toegevoegd. Dat is ook erg verleidelijk om te doen, want dan heb je een gebruikersnaam waarmee je al je websites kunt beheren. Ideaal?

Nee, ideaal is het zeker niet. Om dezelfde redenen als al eerder genoemd zijn. Er kan niet individueel per site geback-upt worden. PHP-processen en data-mappen worden gedeeld en zijn onderling bereikbaar. Probleem-opsporing wordt onnodig gecompliceerd.

Voor de Eindgebruikers geldt dus ook: als je de mogelijkheid hebt, kies er dan bewust voor om slechts een website per gebruiker te hanteren.

Uitzondering hierop zijn pointers en aliassen. Dit zijn weliswaar extra domeinnamen die aan een pakket hangen, maar deze hebben zelf geen domein-functionaliteit. Ze zorgen er enkel voor dat extra domeinnamen worden doorverwezen naar of gebruik maken van de hoofddomeinnaam. Pointers en aliassen mogen zo veel aangemaakt worden als dat wenselijk (of praktisch) is.

Conclusie

Natuurlijk heeft iedereen een voorkeur om te werken. En als het werkt, waarom zou je daar dan van afstappen?

Wij kunnen alleen maar adviseren. Ons advies is echter gebaseerd op jarenlange ervaring met DirectAdmin, zowel als Shared Hosting omgevingen als voor onze VPS en Dedicated Server klanten. We weten dus waar we mee bezig zijn, wat handig is en vooral wat niet zo handig is.

Twijfel je of jouw opzet wel ideaal is of dat er verbeteringen mogelijk zijn? Laat ons eens voor je kijken. Misschien kunnen we je nog wat tips geven om een en ander te verbeteren of vergemakkelijken.

Dit artikel is geplaatst op 13 augustus 2018. Het kost je ongeveer 7 minuten om het te lezen.