Index

Poortwijziging

Gebruik je een huiselijk account, dan is het best mogelijk dat je provider de standaard poorten blokkeert zodat je geen mail- en webservers kan runnen. Voor de provider is dit te begrijpen, een webserver is een extra belasting van zijn netwerk. Poorten boven de 1024 worden niet geblokkeerd omdat ze als "retourkanaal" bij TCP verbindingen worden gebruikt (een internet TCP verbinding is een verbinding in twee richtingen). Poortnummer zijn gewoon nummers en je kan om het even welke funktie (=luisterende server) aan een poort toewijzen. De vaste poortnummers zijn een overeengekomen standaard: poort 80 wordt voor webtoepassingen gebruikt, maar niemand kan je verbieden van bijvoorbeeld poort 8080 te gebruiken (deze poort wordt ook vaak de "alternate web" poort genoemd). Omdat 8080 geen standaard-poort is moet je het nummer in de browser vermelden: my-server.be:8080.

Ook voor andere diensten kan een poortwijziging nodig zijn. Mijn mailserver luistert bijvoorbeeld ook op een tweede smtp-poort (naast de standaard-poort 25) zodat ik mails vanaf thuis kan versturen via deze mailserver. Mijn provider (telenet) blokkeert namelijk ook alle uitgaande verkeer naar poort 25 in een poging om spam (ten gevolge van besmette computers) tegen te gaan.

Een andere reden om een poortwijziging toe te passen is dat je reeds een webserver hebt (een mailserver heeft vaak een webmail-funktie). In al deze gevallen is het nodig een andere poort te gebruiken.

  • Je moet de server vertellen dat hij op poort 8080 moet luisteren...
    Kopieer de regel Portbase=... uit xitami.cfg naar default.cfg en vul de gewenste shift in (in ons geval 8000).
    Xitami zal nu poort 8000 + 21 gebruiken voor de ftp dienst en poort 8000 + 80 voor de http dienst.
    Vergeet niet de server te herstarten zodat de configuratiefiles opnieuw ingelezen worden. Dit kan via de web admin interface.
  • ... en je moet aan je bezoekers vertellen dat ze poort 8080 moeten gebruiken
    Je moet nu een url met poortnummer geven: http://my-server.be:8080/... In de browser zelf is het nu ook nodig het protocol aan te geven (http:) aangezien de browser niet weet welke service aangevraagd moet worden (poort 8080 is geen officiele web poort).

  • Virtuele hosts
    Veronderstel dat je eigenaar bent van het domein my-server.be. Gebruikmakend van DNS, dan kan je zoveel subdomeins aanmaken als je maar wilt: mail.my-server.be www.my-server.be en zo verder. Iedere "A" record wijst naar dezelfde server.

    Hoe kan de server weten welk subdomein aangevraagd werd, aangezien alle aanvragen aan dezelfde server gericht worden? Dankzij HTTP/1.1 is het mogelijk een hostname te vermelden in de aanvraag. Als er geen hostname vermeld wordt (of de hostname bestaat niet), dan geeft de server de standaard domein weer. Dit gebeurt gelukkig allemaal achter de schermen. Het enige wat je moet doen is Xitami vertellen welke virtuele hosts aanwezig zijn. Dit kan zowel via de web interface als door de configuratiefiles te wijzigen.

    Regeltje bijplaatsen in default.cfg

    [Vitual-hosts]
        mail.my-server.be=mail.cfg
    
    nu maak je een file aan, genaamd mail.cfg dat enkel het volgende bevat:
    [Server]
        Cgi-bin=webpages/maildirectory
    
    Tussen de normale host en de mailhost is het enige verschil de rootdirectory waar de server zijn pagina's moet halen. Voor alle andere parameters worden xitami.cfg en default.cfg gebruikt.

    Het kan interessant zijn aparte foutboodschappen te voorzien voor iedere virtuele host (bijvoorbeeld indien een van de hosts in een andere taal is geschreven). Zie als voorbeeld de pagina over virtuele hosts.

    Index

    Individuele landingspage bezoekers: