Hoofdstuk 5. Netwerkdiensten

Inhoudsopgave
5.1. De internet super server
5.2. Caching nameserver
5.3. De Apache webserver

5.1. De internet super server

Er zijn twee manieren om TCP/IP diensten aan te bieden: door de serversoftware als standalone daemon te draaien of via de internet super server, inetd(8). inetd is een daemon die een reeks poorten in de gaten houdt. Als er op een poort een connectie binnenkort kijkt inetd of de dienst voor de desbetreffende poort ingesteld is. Is dat het geval dan wordt de connectie doorgesluisd aan de desbetreffende serversoftware, anders wordt de verbinding gewijgerd. Het voordeel van dit mechanisme is dat het vrij goed te beveiligen en loggen is. Het nadeel is dat het niet optimaal werkt bij diensten die veel gebruikt worden door veel verschillende clients. Een veel gebruikte FTP server kan bijvoorbeeld beter een standalone FTP daemon draaien.

De configuratie van inetd wordt centraal geregeld via /etc/inetd.conf. Laten we eens naar een voorbeeldregel uit inetd.conf kijken:

# File Transfer Protocol (FTP) server:
ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  proftpd

Deze regel specificeert dat inetd ftp connecties moet accepteren en deze kan laten verwerken door tcpd. Logischerwijs zou je kunnen denken dat de connecties door proftpd verwerkt zouden moeten worden. Dit is ook mogelijk, Slackware laat ze echter standaard door tcpd(8) verwerken. Dit programma geeft vervolgens de connectie door aan proftpd, zoals boven aangegeven is. Deze omleiding wordt standaard gedaan omdat tcpd de services in de gaten kan houden, daarnaast kan het gebruikt worden om toegang te beperken, etc.

Een service kan uitgeschakeld worden door het commentaarteken (#) voor de desbetreffende regel te zetten. Het is verstandig alle services eerst uit te zetten en vervolgens services die u gaat gebruiken aan te zetten. Na het wijzigen van /etc/inetd.conf moet inetd opnieuw gestart worden om de wijzigingen te activeren. Dit kun je doen door uw systeem te herstarten of het HUP signaal naar het proces te sturen:

# ps ax | grep 'inetd'
   64 ?        S      0:00 /usr/sbin/inetd
# kill -HUP 64

5.2. Caching nameserver

Een caching nameserver biedt DNS diensten aan een computer of netwerk, maar is zelf geen nameserver voor hosts of domeinen. Dat wil zeggen dat het alleen gebruikt wordt om hostnamen in IP adressen om te zetten. Een caching nameserver opzetten onder Slackware Linux is heel eenvoudig omdat BIND (de DNS softare) standaard ingesteld staat als caching nameserver. Zelf hoef je slechts 2 dingen te doen: BIND installeren en de initialatiescripts bijstellen. BIND kan geïnstalleerd worden door de bind package uit de "n" diskset te installeren. Vervolgens kun je BIND starten door het commando named(8) uit te voeren. Als je de caching nameserver altijd wilt starten moeten de volgende regels zonder commentaartekens in /etc/rc.d/rc.inet2 staan:

if [ -x /usr/sbin/named ]; then
  echo "Starting BIND:  /usr/sbin/named"
  /usr/sbin/named
fi

Indien je zelf ook gebruikt wilt maken van de caching nameserver moet /etc/resolv.conf ook aangepast worden.

5.3. De Apache webserver

Apache is de meestgebruikte webserver op het internet en is natuurlijk ook onderdeel van Slackware Linux. Je kunt Apache installeren door de apache package uit de "n" diskset te installeren. Wil je PHP gebruiken, dan moet je ook de package php uit de "n" diskset installeren en de mysql package uit de "ap" diskset. MySQL is vereist omdat PHP shared libraries van PHP gebruikt. Je hoeft de MySQL server niet te draaien. Na de installatie kun je zorgen dat Apache apache altijd bij het opstarten gestart wordt door het bestand /etc/rc.d/rc.httpd uitvoerbaar te maken. Dit kun je doen met het volgende commando:

# chmod a+x /etc/rc.d/rc.httpd

De Apache configuratie is aan te passen in /etc/apache/httpd.conf. Apache kan op elk moment gestopt/gestart/herstart worden met het apachectl commando en de stop, start en restart parameters. Om Apache te herstarten voer je dus uit:

# apachectl restart
/usr/sbin/apachectl restart: httpd restarted