Bij DirectAdmin installaties zit een erg handige tool: CustomBuild. Met deze tool is het mogelijk om diverse software te updaten, bijvoorbeeld:

  • Apache, Nginx of PHP
  • MySQL of MariaDB
  • Web applicaties zoals RoundCube & PHPMyAdmin
  • SpamAssassin & ClamAV
  • Serverconfiguraties zoals mod_ruid2, Suhosin, Modsecurity en SuPHP
  • En nog veel meer…

In deze tutorial wordt uitgelegd hoe je al deze software kunt updaten. Dit kan inmiddels op twee manieren. De normale manier via SSH en er is sinds kort ook een plugin beschikbaar voor DirectAdmin zodat je dit in het controlepaneel zelf kunt regelen. Als eerste wordt de manier via SSH uitgelegd en daarna via de CustomBuild DirectAdmin plugin. Met deze plugin is het eenvoudiger om alles in een overzicht te zien en ook om opties in te stellen.

Benodigdheden:

  • Kennis van SSH
  • DirectAdmin installatie
  • In deze tutorial wordt gebruik gemaakt van CentOS 7

Let op: Maak altijd een snapshot en/of backup van je systeem voordat je de software gaat upgraden! Zo kun je altijd terugvallen op een werkende configuratie mocht er iets fout gaan.

Tutorial voor het laatst bijgewerkt op 26 maart 2018


Stap 1: CustomBuild updaten naar de laatste versie

In deze tutorial wordt er vanuit gegaan dat je CustomBuild 2.0 hebt. Dit kun je controleren door het volgende commando uit te voeren:

cd /usr/local/directadmin/custombuild
./build update
./build version

Je ziet nu het versienummer van CustomBuild. Indien je nog versie 1 draait kun je het volgende doen om te updaten, anders kun je deze stap overslaan en verdergaan naar stap 2.

Updaten naar CustomBuild versie 2

LET OP! Indien je al CustomBuild v2 draait moet je de volgende commands niet meer uitvoeren, je kunt dan door naar Stap 2: CustomBuild instellingen aanpassen

1:

Voer de volgende commando’s in als je CustomBuild wilt updaten naar versie 2:

cd /usr/local/directadmin
mv custombuild custombuild_1.x
wget -O custombuild.tar.gz http://files.directadmin.com/services/custombuild/2.0/custombuild.tar.gz
tar xvzf custombuild.tar.gz
cd custombuild
./build

2:

Nu is een standaard options.conf bestand aangemaakt. Hierin kun je alvast alle gewenste instellingen in aanpassen. Zie hiervoor de volgende stap. Indien je gebruik wilt maken van de standaard instellingen voer dan de laatste commando’s in:

3:

./build all d
./build rewrite_confs

Dit kan een tijdje duren omdat alle software opnieuw gecompileerd gaat worden.

Stap 2: CustomBuild instellingen aanpassen

In CustomBuild zelf is ontzettend veel naar eigen wens aan te passen. Welke software je wilt draaien, welke versies je wilt en je kunt ook software de-installeren. Als eerste voer je het volgende commando uit:

cd /usr/local/directadmin/custombuild
./build set_fastest

Met dit commando wordt de snelste mirror server bepaald zodat de downloads van alle software stukken sneller gaat dan de standaard server in de US. Voer nu de volgende commando’s in:

cd /usr/local/directadmin/custombuild/
./build update
./build options

Nu zie je een lijst met alle ingestelde opties op dit moment met de bijbehorende versies. Er zijn verschillende manieren om deze opties aan te passen. Via het options.conf bestand zelf of op de manier:

./build set webserver nginx_apache
./build set phpmyadmin yes
./build set roundcube no

En dit zo voor alle opties die daar staan. Nadat je de opties hebt aangepast kun je met het commando ./build update de software downloaden en daarna installeren in de volgende stap.

Het commando ./build options laat alleen de opties zien waarvoor yes is ingesteld of als je deze hebt aangepast naar no.

Wat doet elke optie in options.conf?

Om te zien wat elke optie doet kun je het volgende commando gebruiken:

./build opt_help full
(voor volledige beschrijvingen van elke optie)
./build opt_help
(voor alleen een lijst met alle mogelijke opties)

Stap 3: Software installeren

Nadat je alle opties naar wens hebt aangepast, ben je nu klaar om de gewenste software te installeren. Om te bekijken welke software op dit moment is geïnstalleerd en welke updates er klaar staan voer je het volgende commando uit:

cd /usr/local/directadmin/custombuild/
./build update
./build versions

Nu zie je een lijst met alle geïnstalleerde software en welke updates er daarvoor klaar staan. Je kunt alle software in een keer updaten met het commando:

./build update_versions

Maar je kunt ook de software stap voor stap installeren als volgt:

./build phpmyadmin
./build roundcube
./build mysql / ./build mariadb
./build apache
./build php n

Dat is alles om de software te updaten! Test na het updaten natuurlijk wel nog even of alles correct werkt.

Stap 4 : Cronjob software check instellen

Om een cronjob in te stellen die regelmatig controleert op nieuwe versies kun je het volgende doen:

./build set cron_frequency daily
(dit kan ook weekly zijn)

./build set notification yes
(hiermee worden notificaties over updates verstuurd naar een e-mailadres)
./build set email je-email-adres@emailadres.nl
(het e-mailadres waar de notificaties heen moeten)

./build set da_autoupdate yes
(hiermee wordt DirectAdmin automatisch geupdated wanneer er een nieuwe versie beschikbaar is)
./build set cron yes

Het is ook mogelijk om de software automatisch te updaten zodat je hier geen omkijken meer naar hebt. Dit is niet echt aan te raden voor alle software zoals apache, php en mysql. Webapps zoals roundcube en PHPMyAdmin kunnen wel automatisch bijgewerkt worden. Om dit in te stellen moet je het volgende doen:

./build set updates no
(of yes als je alle software automatisch wilt bijwerken)

./build set webapps_updates yes
(of no als je software zoals roundcube en phpmyadmin niet automatisch wilt bijwerken)

Nadat je dit naar wens hebt ingesteld is het enige wat nog nodig is het activeren van de cron:

./build cron

De cronjob is nu ingesteld en CustomBuild zal naar je instellingen controleren op nieuwe software en je daarover een e-mail sturen zodra er nieuwe software beschikbaar is.


 

CustomBuild DirectAdmin plugin

Sinds kort heeft de ontwikkelaar van CustomBuild een DirectAdmin plugin gemaakt. Hierdoor is het niet meer nodig om in te loggen via SSH maar kun je de meeste zaken ook regelen in het DirectAdmin controlepaneel. Om deze plugin te installeren moet je het volgende uitvoeren:

  • Log in als admin in DirectAdmin.
  • Ga naar Plugin Manager onderin de pagina bij “Extra Features”.
  • Bij plugin url voer daar de volgende URL in:
http://www.custombuild.eu/plugin/custombuild.tar.gz

Voer nu je admin wachtwoord in en klik op install. De CustomBuild plugin is nu geïnstalleerd en is te vinden bij “Extra Features”. Meer informatie over deze plugin is te vinden op het forum van DirectAdmin.

CustomBuild 2.0 DirectAdmin plugin
CustomBuild 2.0 te vinden bij “Extra Features”.

Met deze plugin is eigenlijk alles te regelen via een web interface in plaats van de shell. Je hebt hierdoor twee manieren om software te updaten en in te stellen. De keuze is aan jezelf welke je het prettigst vind werken!

CustomBuild 2.0 DirectAdmin plugin
CustomBuild 2.0 DirectAdmin plugin Software Updates

De plugin bestaat uit een aantal onderdelen:

Update CustomBuild (rechts bovenin)

Update het CustomBuild script, versions.txt en download alle software en updates.

Update CustomBuild Script & Versions (only)

Update het CustomBuild script en versions.txt. Er wordt nog niks gedownload. Bij de installatie moet de software eerst nog gedownload worden.

Update Software

Deze pagina spreekt voor zich, hierin kun je namelijk alle software installeren waarvoor updates beschikbaar zijn.

Build Software

Op deze pagina kun je alle software die momenteel geïnstalleerd is (in de options.conf op yes) opnieuw builden.

Edit Options

Op deze pagina kun je de opties aanpassen welke software geïnstalleerd moet worden. Ook kun je hier de cron instellingen aanpassen. Alles wat je instelt met ./build set *software* yes/no kun je hier ook instellen.

Update Software Configuration

Software configuraties (zoals de config van exim) zijn hier opnieuw in te stellen.

Remove Software

Op deze pagina is het verwijderen van software mogelijk.

CustomBuild functions

CustomBuild gerelateerde zaken zijn hier te vinden / in te stellen.

Customize Compilation

Als je aanpassingen wilt doen aan configuratie bestanden die CustomBuild gebruikt kun je dat hier instellen.

Customize Versions

Als je een andere software versie wilt gebruiken dan de laatste die bij CustomBuild bekend is kun je dat hier handmatig invoeren.

Plugin Logs

Logs overzicht van CustomBuild.

Software verwijderen

Met CustomBuild is het ook mogelijk om software te verwijderen. Dit doe je door de betreffende optie in te stellen op no. Hieronder een voorbeeld:

cd /usr/local/directadmin/custombuild/
./build set phpmyadmin no
./build set roundcube no

Om te bekijken welke opties je allemaal kunt instellen kun je de volgende commando’s gebruiken:

./build options
(laat alle huidige ingestelde opties zien)
./build
(laat alle mogelijke opties zien)

Zodra je hebt ingesteld wat je wilt verwijderen voer je het volgende commando in:

./build list_removals

Er wordt nu een lijst getoond met de software die klaar staat om verwijderd te worden. Om nu daadwerkelijk de software te verwijderen voer je het volgende commando in:

./build remove_items

De software is nu verwijderd. Als je het nu later weer wilt installeren zet je de optie weer op yes en kun je het weer installeren.


 

PHP – Optimaliseren en gevaarlijke functies uitschakelen

Gevaarlijke functies uitschakelen

Met CustomBuild kun je PHP ook een stukje veiliger maken door gevaarlijke functies uit te schakelen. Meestal heb je deze functies niet nodig en worden ze ook niet gebruikt. Voor de veiligheid is het dan ook beter om ze uit te zetten! Dit doe je met het volgende commando:

./build secure_php

Nu zijn de volgende gevaarlijke PHP functies uitgeschakeld:

exec, system, passthru, shell_exec, escapeshellarg, escapeshellcmd, proc_close, proc_open, dl, popen, show_source

Test nog wel even je websites en scripts. Indien je functies weer wilt toelaten kun je dit doen door de php.ini aan te passen en te zoeken naar de functie: disable_functions. Haal de functie uit de lijst, herstart apache of nginx en dan werkt de functie weer.

opCache installeren

opCache is een caching plugin die PHP aanzienlijk sneller maakt. Installatie is natuurlijk met CustomBuild erg simpel met deze commando’s:

./build set opcache yes
./build opcache
./build php n

Als PHP klaar is met installeren zie je aan het einde van de output een melding dat opCache nu geïnstalleerd is voor PHP. Voor meer informatie over opCache, zie deze URL.


 

nginx + Apache installeren

CustomBuild maakt het erg gemakkelijk om reverse-proxy nginx + apache te installeren. Nginx heeft veel voordelen over Apache, maar ook enkele nadelen. .htaccess is bijvoorbeeld niet mogelijk in nginx. Om het beste van beide te gebruiken kun je nginx + apache installeren. Dit heeft veel performance voordelen omdat nginx veel beter omgaat met geheugengebruik. Voor meer informatie en tests verwijzen we je graag door naar Google, er is namelijk ontzettend veel over te vinden. Om nginx + Apache te installeren voer je de volgende commando’s uit:

cd /usr/local/directadmin/custombuild/
./build update
./build update_da (alleen als DirectAdmin nog niet up2date is)
./build set webserver nginx_apache
./build nginx_apache
./build rewrite_confs

Als je alleen nginx wilt installeren kun je het volgende gebruiken:

cd /usr/local/directadmin/custombuild/
./build update
./build update_da (alleen als DirectAdmin nog niet up2date is)
./build set webserver nginx
./build nginx
./build rewrite_confs

En als je weer terug wilt naar alleen Apache:

cd /usr/local/directadmin/custombuild/
./build update
./build update_da (alleen als DirectAdmin nog niet up2date is)
./build set webserver apache
./build apache
./build rewrite_confs

ClamAV installeren

Ook ClamAV antivirus engine is erg makkelijk te installeren met CustomBuild. Voor meer informatie kun je deze tutorial gebruiken.


 

Dat was het voor deze tutorial! Heb je nog vragen of opmerkingen, neem dan contact met ons op!