MENU
 
Home
Nieuwsbrief
GC in de media
SiteMap
 
 
Tips en Tricks
Excel
Word
Photoshop
PowerPoint
Surf Tips
Gmail
Android
iPad
Excel ClipTips
 
cursus Office 2016
Excel
Outlook
PowerPoint
Word
 
cursus Office 2013
Excel
PowerPoint
Word
Nieuw in Excel 2013
Nieuw in Word 2013
Nieuw in PowerPoint 2013
 
cursus Office 2010
Access
Nieuw in Excel 2010
Excel automatiseren
Excel
OneNote
Outlook
PowerPoint
Word
 
cursus Office 2007
Access
Excel
Outlook
PowerPoint
Publisher
Visio
Word
 
cursus Office
2000-2002-2003-XP
Access
Excel
PowerPoint
Outlook
Word
 
cursus Photoshop
Animatie
CS6
CS5
CS4
CS2 - CS3
Lightroom 3
Elements 6
Mask Pro
Nik Collection
 
cursus Dreamweaver
CS3
 
cursus Illustrator
CS4
 
cursus Flash
CS4
 
cursus Fireworks
CS4
 
cursus Paint Shop Pro
X en X2
 
cursus Premiere
Elements 7-8
 
cursus Joomla
Joomla 1.5
 
Sociale Netwerk sites
Facebook
LinkedIn
Twitter
 
iPad
Apps
 
Diversen
Celtx
CSS
DropBox
Firefox 3.6
GIMP
Internet Explorer 9
LIME
Linux
OpenSUZE
PREZI
ProShow Producer
YouTube
 
cursus Google
Agenda
Analytics
Gmail
Zoeken
Picasa 3
SketchUp
Chrome
Street View
 
cursus Windows
Live Movie Maker
Windows 10 nieuw
Windows 8
Windows 7
XP
Vista
 
cursus Office '97
Word
Excel
 
 

 

Cursus Linux   go to : Index - Vorige - Volgende
       
Les 17

Servers

 
       
       
De meest geschikte opdracht voor een linuxsysteem is deze te gebruiken als server. De performantie van een linuxserver ligt vele malen hoger dan die van andere non-UNIX systemen. Dit komt omdat het bestandssysteem en de scheduler geoptimaliseerd zijn om een hoge Input/Output aan te kunnen (zelfs met beperkte hardware). Het is aan te raden om op servers geen X-Windows te draaien (dus runlevel 3), tenzij het absoluut noodzakelijk is.
Services
In het bestand /etc/services vind je een lijst van poorten, hun benaming (en eventueel commentaar). Dit bestand wordt vaak gebruikt door servers om een poortnaam te mappen naar een poortnummer.
 
(x)inetd, the superserver
Inetd is een server die tegelijkertijd naar meerdere poorten luistert. Indien er een request binnenkomt op een bepaalde poort wordt het correcte programma gestart om de request te verwerken. Door inetd is het mogelijk om slechts één server te draaien in plaats van meerdere, waardoor op geheugen kan bespaard worden. Veel gebruikte services draai je best niet onder inetd omdat deze dan telkens de externe service moet opstarten (met andere woorden: het zal trager werken). Xinetd is een uitbreiding op inetd. Het belangrijkste verschil is dat bij xinetd de configuratie in een aparte map staat en dat je per service meer opties hebt. Xinetd wordt vooral gebruikt op nieuwere versies van Linux.
 
De (x)inetd superserver wordt vooral gebruikt om kleine servers zoals telnet, rsh, time,... te starten.
 
De lijnen die beginnen met "#" zijn commentaar of inactieve services.
1 = De poort waarop de service draait (zie /etc/services)
2 = Het type van de informatiestroom
3 = Het protocoltype
4 = Timing
5 = Gebruiker die de service start
6 = Programma dat moet gestart worden bij een inkomend request
 
De configuratie van xinetd ziet er helemaal anders uit. Als je een listing opvraagt van de directory /etc/xinetd.d zie je een heleboel bestanden.
Elk bestand is een service.
We bekijken een voorbeeld van zo'n bestand:
 
We vinden ongeveer dezelfde data terug als bij inetd. We kunnen hier nog parameters aan toevoegen die door inetd niet ondersteund worden.
 
Als je iets gewijzigd hebt kan je de aanpassingen activeren door (x)inetd te herstarten met het commando:

Inetd: /etc/init.d/inet restart
Xinetd: /etc/init.d/xinetd restart

Nota: Het is aan te raden om enkel services te laten draaien waarvan je zeker bent dat je ze nodig hebt voor het functioneren van het systeem.
 
Mailserver
De meest gebruikte mailserver op het internet is sendmail. Sendmail zit standaard bij iedere Linuxdistributie. Sommige distributies leveren ook mailservers zoals postfix en qmail. We gaan enkel de configuratie van sendmail bespreke
 
De configuratie van sendmail is enorm ingewikkeld indien je deze manueel wil doen. We verkiezen bijgevolg om onze server te configureren met linuxconf.
 
Verzenden van mail
Iedere machine heeft een domeinnaam (zelfs indien de PC niet is verbonden met het internet). De machine zal dan enkel mail aanvaarden voor jouw domein. Indien er naar een ander domain e-mail wordt verstuurd dan zal onze mailserver gaan zoeken welke computer e-mail ontvangt voor dat bepaald domein (dit is de beruchte MX-record in een DNS configuratie). Als de server bestaat wordt het bericht doorgezonden naar die server (die in principe ook enkel mail wil ontvangen voor zijn eigen domain). Andersom worden alle mails naar ons domein op onze mailserver geplaatst door andere mailservers die een bericht willen sturen.
De berichten worden gepost op SMTP poort 25 van de "remote host".
 
Indien we achter een andere mailserver zitten (en er is geen rechtstreekse internetverbinding, of poort SMTP 25 is geblokkeerd) kunnen we al de mail die we willen versturen naar een relay zenden (dit is meestal de mailserver van jouw Internet Service Provider).
De relay zorgt er dan wel voor dat onze mail op de juiste bestemming aankomt. De relay wordt in de configuratie ook soms smart host genoemd.
Onze eigen server moet natuurlijk ook de mail relayen (mails die van e-mail-clients komen).
Als vuistregel kan je stellen dat je de relaying mag openzetten voor adressen op het interne netwerk (de mensen die jouw mailserver gebruiken).
 
Iedere gebruiker op het systeem krijgt een e-mail adres. We kunnen ook accounts aanmaken die enkel kunnen mailen (POP Only accounts in linuxconf). Je kan ook "aliases" maken.
Dit zijn virtuele gebruikers die niet gekend zijn in het systeem, maar wel door de mailserver.
Zo'n virtuele gebruiker komt overeen met één of meerdere mailgebruikers.
 

We kijken even naar een voorbeeld configuratie van sendmail in linuxconf.

Allereerst configureren we linuxconf zodat we ook de mailconfiguratie kunnen zien en gebruiken:

 
Na de wijziging moet je linuxconf afsluiten en herstarten.
 
Je zal de configuratie van sendmail vinden in tab Config, tree Networking, Server tasks, Mail delivery system (sendmail).
 
We gaan kort eens de belangrijkste instellingen overlopen:
  • Present system as: volledige domeinnaam van het systeem
  • Accept E-mail from ...: aanvaardt inkomenden e-mail van andere systemen
  • Mail server: geeft de mogelijkheid om de mail op te slaan op een externe machine
  • Mail Gateway: stuurt al de externe mail door naar deze host
  • Enable Relay Control: controle of we de binnenkomende mail willen aanvaarden of doorsturen. Het instellen gebeurt in de Anti-spam filters-boom.
 
Meer uitleg van alle velden kan je oproepen via de Help knop.
 
Gebruikersaliases kan men aanmaken om distributielijsten te genereren. Een distributielijst is één e-mailadres voor een groep gebruikers (binnen het systeem wordt de binnengekomen e-mail geforward naar de correcte ontvangstadressen). Je kan een alias ook gebruiken om een bepaalde gebruiker meerdere e-mailadressen binnen het systeem te geven en dat toch alle mail in één enkele mailbox terecht komt.
 
De Anti-Spam filters zorgen ervoor dat je kan beheren welke computers mail mogen posten op jouw server.
 
Na het aanpassen van de configuratie zal linuxconf het configuratiebestand genereren. Herstart de sendmail daemon met het commando /etc/init.d/sendmail restart
Nota: Het is mogelijk om de configuratie actief te maken zonder de mailserver te herstarten. Een "killall -1 sendmail" is hier voldoende. Voor non-critical servers is een herstart wel aan te raden
 
Command line
Je kan de instellingen ook wijzigen door de configuratiebestanden aan te passen. De leesbare configuratie vind je in /etc/mail.
De bestanden los van de mailserverconfiguratie en die dynamisch kunnen zijn (zoals bijvoorbeeld de anti-spam filter) wijzig je in de respectievelijke bestanden. We kijken eens naar /etc/mail/access (hosts waarvoor we gaan relayen):
 
Deze informatie wordt door sendmail uit databasebestanden gelezen (wegens performantie). Daarvoor moeten we deze bestanden compileren. We vinden in deze direcory een Makefile die we kunnen gebruiken en die ervoor zorgt dat alle configuratiebestanden herbouwd worden. Op die manier gebruik je dus het "make" commando die de Makefile uitvoert. De onderliggende commando's zien er zo uit:
makemap -f hash access.db < access
 
De instellingen van de mailserver zelf worden bijgehouden in "/etc/mail/sendmail.mc". Je zal merken dat er opties in vermeld staan die lijken op de benamingen in linuxconf, maar de syntax lijkt vrij cryptisch (je mag het bestand gerust eens bekijken). Dit bestand is nog niet cryptisch genoeg voor sendmail, daarvoor moeten we dit bestand compileren met het commando:
m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
 
Probeer nu eens wijs te geraken uit /etc/sendmail.cf :-)
De aliases kan je aanpassen in het bestand "/etc/aliases".
Kort voorbeeld van de syntax:
root: marc
bogusgebruiker: jef
everyone: root marc jef qtuser
De eerste regel zegt dat alle mail naar root doorgestuurd moet worden naar marc. Indien er e-mail binnenkomt naar het adres bogusgebruiker, dan wordt dit geforward naar jef. Als er een e-mail ontvangen wordt voor everyone, dan ontvangen zowel root, marc, jef en qtuser dit bericht
Na het aanpassen van de alias instellingen moet je het programma "newaliases" starten om de veranderingen actief te maken.
Nota: De destinationadressen mogen échte mailadressen zijn (vb: foo@bar.be)
 
Ontvangen van mail
Binnengekomen berichten worden op de server opgeslagen onder "/var/spool/mail".
Iedere gebruiker heeft daar een eigen bestand. Het bestand wordt gelezen indien je een email cliënt start.
In normale omstandigheden gaat men niet willen dat de gebruikers op de server moeten aanloggen om hun mail te lezen. Je kan op de remote-werkstations gebruik maken van een e-mail cliënt (zoals bijvoorbeeld Outlook of Netscape Messenger).
Op de server plaats je een bijkomende daemon zoals imap of pop. Bij RedHat vindt je deze daemons in de imap RPM. Na de installatie van deze RPM kan je in (x)inetd de servers die je wil gebruiken activeren. De gebruikers kunnen dan hun e-mail afhalen op de server (mits gebruik van hun loginnaam + paswoord).
 
De keuze of je imap of pop gebruikt hangt van volgende elementen af:
pop
Handig als je de e-mails wil laten downloaden door de gebruikers. Afgehaalde mail wordt op de server verwijderd. De gebruiker is zelf verantwoordelijk voor het bijhouden van zijn binnengekomen berichten.
Dit is het systeem dat de meeste Internet Service Providers toepassen
 
imap
De binnengekomen mails blijven op de server. De gebruiker kan de e-mails zien en opvragen.
 
Nota: Dit is enkel voor het opvragen van e-mail. Het verzenden van e-mail door de cliënt gebeurt nog altijd via SMTP op poort 25 (dus zorg ervoor dat je relaying voor deze hosts toelaat).
 
Andere mailservers
Er bestaan naast sendmail nog enkele andere mailservers:
  • Qmail: gemaakt om sendmail te vervangen, de maker beweert dat qmail een veel betere beveiliging heeft. Qmail is open source.
  • Postfix: deels gesponsord door IBM is het net zoals Qmail een alternatief voor sendmail. Dit programma is ook open source.
  • SamsungContact: commerciële mailserver van Hewlett Packard. Deze wil een volledig alternatief zijn voor Microsoft Exchange. (http://www.samsungcontact.com).
  • Bynari: commerciële mailserver. Volledige integratie met Microsoft Exchange is mogelijk (http://www.bynari.net).
 
Er zijn nog meerdere pakketten voorhanden, maar in de meeste gevallen gaat dit om een bundeling van sendmail/qmail/postfix met handige configuratietools (een voorbeeld is de SuSE email server).
 
Apache Webserver
Apache is de meest succesvolle webserver op het internet. Volgens http://www.netcraft.co.uk draaien meer dan 60% van alle webservers deze software. Apache is ook platformonafhankelijk, dit maakt het mogelijk om het op alle UNIX en non-UNIX systemen te gebruiken (er bestaat een Apache versie voor Windows). De naam van deze server is ontstaan omdat er iemand de NCSA server (een webserver uit de beginjaren van het internet) heeft verbeterd door er patches voor te maken. Daaruit is de naam A Patchy Server onstaan. Dit is later veranderd in Apache.
Er zijn GUI tools voorhanden om een Apache webserver in te stellen, maar in de meeste gevallen zijn deze niet meegeleverd bij de distributie. Configuratie is trouwens niet altijd nodig.
Naast het sturen van statische (html) bestanden kan Apache ook dynamische scripting aan. Dit kan in de vorm van CGI (scripts of binaries), PHP (scripting in webpagina's), JAVA servlets,... CGI en PHP ondersteuning zitten er in bijna alle gevallen ook bij. De plaats waar je de webbestanden onderbrengt is verschillend van distributie, bij RedHat is dit:

 
De plaats van de bestanden kan gewijzigd worden in het configuratiebestand
 
We overlopen even de belangrijkste instellingen in /etc/httpd/conf/httpd.conf (in het configuratiebestand staat commentaar geschreven die duidelijk genoeg is).

MinSpareServers 1
MaxSpareServers 5
StartServers 4
MaxClients 150

Dit slaat op performantietuning. We definiëren hoeveel connecties er mogen aanvaard worden en hoeveel connecties we verwachten te verwerken.

Listen 8080

Luister naar poort 8080. Standaard luistert Apache op poort 80.

User apache
Group apache

Start de server onder deze gebruiker. We willen niet dat Apache tot alles toegang heeft.

ServerName localhost

Hierin zet je best de naam van jouw PC (localhost als naam mag, maar is niet aan te raden).
 
Met deze richtlijnen wordt de map /usr/share/doc door de webserver aangeboden als http://www.myserver.be/doc

DirectoryIndex index.html index.htm index.php

Indien er geen bestandsnaam is opgegeven zal de server in de volgorde van de aangegeven namen de bestanden openen. Vindt hij deze bestanden niet, dan krijg je een foutmelding.
 
Het startscript van Apache is "/etc/init.d/httpd".
 
DHCP server
Je kan op een dynamische manier IP-adressen uitdelen aan werkstations/andere servers door het opzetten van een DHCP server. Je moet dan geen boekhouding meer bijhouden welke computers bij welke IP-configuraties passen.
Je kan best de DHCP daemon instellen via linuxconf (vergeet de module niet aan te zetten!).
 
Het bestand /etc/dhcpd.conf wordt dan weggeschreven. Je mag deze met de hand aanpassen of zelf schrijven. De syntax is vrij eenvoudig te begrijpen.
Een voorbeeld van een configuratiebestand:
 
De daemon starten kan je met het /etc/init.d/dhcpd script.
 
Troubleshoot DHCP server (Common errors)
  • Indien de DHCP-daemon niet start kan het zijn omdat je nog even een leeg lease bestand moet aanmaken in /var/state/dhcp. Gebruik het commando "touch /var/state/dhcp/dhcpd.leases".
  • Als de DHCP server adressen moet uitdelen op een netwerk dat aan een andere netwerkkaart hangt dan eth0, dan moet je even het startscript /etc/init.d/dhcpd aanpassen. Verander dan (ingeval DHCP op eth1 moet draaien) de lijn "daemon /usr/sbin/dhcpd" in "daemon /usr/sbin/dhcpd eth1"
  • DHCP broadcasts gaan niet over routers.
  • Indien je het probleem hebt dat je specifiek geen adressen kunt leveren aan Windows9x computers, probeer dan eens het commando "route add -host 255.255.255.255 dev eth0" (verander eth0 in de naam van de interface waarop je DHCP levert). Indien dit werkt kan je het commando toevoegen aan "/etc/rc.d/rc.local".
Nieuwere versies lossen dit probleem intern op (of maken automatisch deze route aan)
 
DNS
DNS staat voor Domain Name Service. Met deze service kunnen we computernamen omzetten in IP-adressen (en omgekeerd). Het opzetten van een DNS server is een nachtmerrie (op eender welk OS of systeem). Dus het is aangeraden om een grafische setup-tool zoals linuxconf hiervoor te gebruiken of de DNS howto erbij te nemen.
http://www.linuxdoc.org (DNS-howto)
http://www.isc.org/products/BIND/
http://www.ripe.net/ripe/docs/ripe-192.html
 
Werking
 
Query's worden uitgevoerd op poort 53 (zowel TCP als UDP)
 
Configuratiemogelijkheden
  • Caching-only: steunt op de antwoorden van andere servers
  • Primary: Er staat een bestand op de server met de DNS gegevens van het domein waar deze server "authoritive" voor is.
  • Secondary: De server heeft een kopie-bestand van de primary
 
Caching server
Het instellen van een "caching-nameserver", welke de meest gebruikte configuratie is, kan vrij gemakkelijk. Het is voldoende om (naast de DNS server zelf) de cachingnameserver RPM te installeren vanaf de CD. Vanaf dat moment kan de server de DNSquery's opvragen bij een aantal ingestelde DNS root-servers (root-server: DNS servers boven het .be/com/... domain).
Je moet nog wel instellen welke computers DNS-query's mogen aanvragen. Dit doe je in /etc/named.conf in de options sectie.
 
Vaak is het wenselijk dat we de DNS-servers van onze Internet Service Provider gebruiken omdat dit sneller is. We kunnen dit oplossen door een aantal extra lijnen in /etc/named.conf in de options sectie (voorbeeld met de Telenet DNS servers):
 
Het script om de DNS server te beheren vind je in "/etc/init.d/named".
Nota: Om een Linuxsysteem in te stellen om een bepaalde DNS server te gebruiken moet je /etc/resolv.conf aanpassen.
Bijvoorbeeld:
nameserver 62.235.14.4
nameserver 212.35.2.2
Je kan dit ook instellen via linuxconf. De configuratie gebeurt automatisch indien men DHCP-client is.
 
 
 
Index - Vorige - Volgende
 
 
 
 
 
 
 
 
 
 
 

All courses now available in English:
www.swotster.com

copyright © 2012 - Swotster Ltd - Hong Kong - China