<!-- $Id: netdiensten.xml,v 1.1.1.1 2004/03/21 21:02:22 cor Exp $ -->

<chapter> <?dbhtml filename="netdiensten.html"?>
<title>Netwerkdiensten</title>

<sect1>
<title>De internet super server</title>

<para>
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, <command>inetd</command>(8). <command>inetd</command>
is een daemon die een reeks poorten in de gaten houdt. Als er op
een poort een connectie binnenkort kijkt <command>inetd</command>
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 geweigerd. 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.
</para>

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

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

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

<para>
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 je gaat
gebruiken aan te zetten. Na het wijzigen van
<filename>/etc/inetd.conf</filename> moet <command>inetd</command>
opnieuw gestart worden om de wijzigingen te activeren. Dit kun
je doen door je systeem te herstarten of het HUP signaal naar het
proces te sturen:
</para>

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

</sect1>

<sect1>
<title>Caching nameserver</title>

<para>
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&iuml;nstalleerd worden
door de bind package uit de "n" diskset te installeren. Vervolgens kun
je BIND starten door het commando <command>named</command>(8) uit te
voeren. Als je de caching nameserver altijd wilt starten moeten het
<filename>/etc/rc.d/rc.bind</filename> bestand uitvoerbaar gemaakt
worden. Dit kunt u doen met het <command>chmod</command> commando: 
</para>

<screen>
# <command>chmod a+x /etc/rc.d/rc.bind</command>
</screen>

<para>
Indien je zelf ook gebruik wilt maken van de caching nameserver moet
<filename>/etc/resolv.conf</filename> ook aangepast worden.
</para>

</sect1>

<sect1>
<title>De Apache webserver</title>

<para>
Apache is de meest gebruikte webserver op het internet en is natuurlijk
ook onderdeel van Slackware Linux. Je kunt Apache installeren door de
<filename>apache</filename> package uit de "n" diskset te installeren. Wil je PHP
gebruiken, dan moet je ook de package <filename>php</filename> uit
de "n" diskset installeren en de <filename>mysql</filename> 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 <filename>/etc/rc.d/rc.httpd</filename>
uitvoerbaar te maken. Dit kun je doen met het volgende commando:
</para>

<screen>
# <command>chmod a+x /etc/rc.d/rc.httpd</command>
</screen> 

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

<screen>
# <command>apachectl restart</command>
/usr/sbin/apachectl restart: httpd restarted
</screen>

</sect1>

</chapter>
