-
-
Configuratie van Xitami
Index
Installatie
Na de installatie, zal er een Xitami directory aangemaakt worden met volgende struktuur:
Tijdens de server-installatie worden alle help-files in een subdirectory van "webpages" gezet, zodat je de files lokaal kan lezen via windows explorer, maar ook via een internet browser.
- Folders
- addons Deze folder kan eventueel add-ons bevatten, maar wordt verder niet gebruikt. Er zijn denk ik geen add-ons beschikbaar voor Xitami. Als er toch zouden zijn, laat mij iets weten!
- cgi-bin Dit is de folder waar we de gecompileerde programma's zullen plaatsen.
Je kan hier subdirectories aanmaken om je bestanden te klasseren in eenzelfde struktuur als de gewone webpagina's, of je kan bij iedere webdirectory een bijhorende cgi-bin directory aanmaken (dit kan interessant zijn als je vhosts gebruikt).
- cgi-src Hier kan je bijvoorbeeld je source-programma's plaatsen. Het is niet verplicht. Ik gebruik deze directory voornamelijk als data-opslagplaats.
- debug Indien ingeschakeld via de configuratie, zal er debug informatie in deze folder geschreven worden.
- errors Je kan je eigen foutboodschappen aanmaken in plaats van de standaard-foutboodschappen, en zelfs verschillende foutboodschappen voorzien per vhost. Iedere foutboodschap bestaat uit een header (met bijvoorbeeld een logo, een paar links, enz), de foutboodschap en een footer (met bijvoorbeeld links naar de belangrijkste delen van je site). Je kan een verschillende header en footer definieren voor ieder domein. Deze werkwijze met vaste blokken zal ik verder gebruiken bij het aanmaken van mijn eigen forumsoftware.
- ftproot Deze directory wordt gebruikt voor ftp, en is de standaard-directory als er geen specifiek directory voor de gebruiker werd gedefinieerd. In een professioneel systeem zoals bij een hostingmaatschappij of internet provider wordt iedere gebruiker automatisch naar zijn bijhorende webdirectory geleid.
- headers wordt gebruikt voor eigen gemaakte headers. Headers worden nog later besproken: het is dus mogelijk een eigen transfer-methode te voorzien dat een eigen header zou hebben. Enkel voor gzip compressie kan dit nuttig zijn, aangezien er geen andere transfer-methoden zijn. (er zijn er wel, maar ze hebben geen voordelen ten opzichte van de gewone transfer-methode)
- logs alle logs worden hier geplaatst (access, errors en console). De huidige logfiles zijn altijd open als Xitami draait, wat betekent dat je de files kan lezen, maar niet wijzigen. Je kan ze lezen met notepad, maar niet met wordpad (dat schrijfrechten probeert te bekomen).
- temp in deze folder zal je normaal de tijdelijke bestanden tegenkomen (input en output van je cgi-bin programma's). Indien je een ramdisk hebt, kan je deze als temp-directory gebruiken, want de gegenereerde bestanden worden toch direkt gewist nadat ze verwerkt zijn. Het wissen gebeurt door Xitami zelf, maar met een instelling kan je de input/output bestanden bewaren ter controle (opgeley, de directory raakt dan heel spoedig vol!)
- webpages dit is de "root" van je webserver. Als een gebruiker de server aanspreekt en "de root" vraagt, dan krijgt hij het bestand index.htm, index.html of default.htm van deze folder. Subdirectories kunnen met een paswoord beveiligd worden (zelfs de root directory kan je beveiligen, maar dit lijkt mij niet echt nuttig).
- Bestanden
- De ftp*.* bestanden worden door de ftp server gebruikt. Meer informatie zal je in de handleiding aantreffen.
- Xitami zelf bestaat uit 2 programma's (xiwinnt.exe and xixlat.exe) en zijn maar 700 k groot.
- De belangrijkste configuratiefile is xitami.cfg. Deze file bevat alle parameters die gewijzigd kunnen worden. Dit bestand moet niet gewijzigd worden, maar je moet een nieuwe file aanmaken dat de gewijzigde parameters bevat: default.cfg. Meestal zal deze file slechts een beperkt aantal parameters bevatten.
Waarom mag je xitami.cfg niet wijzigen? Iedere keer dat je Xitami opnieuw instaleert, wordt je configuratie overschreven. OK, Xitami zal je waarschijnlijk maar één keer moeten installeren, maar ik denk bijvoorbeeld aan de migratie van Xitami naar een nieuwe server. Ook zijn de wijzigingen dat je in xitami.cfg aanbrengt niet zichtbaar in de webadministratie. De parameters van default.cfg hebben voorang op de parameters van xitami.cfg.
- Ik gebruik virtuele hosts: web.verfaillie.be (config file: verfa.cfg), mail.verfaillie.com (config file: mail.cfg)
- Authentification bestanden hebben als naam *.aut
- De Xitami directory bevat nog een paar andere files, namelijk een readme.txt bestand, een uninstaller, een perl script om SSI (server side includes) uit te voeren. Je hebt een perl interpreter nodig om perlSSI te kunnen gebruiken.
De configuratiebestanden
De voornaamste configuratiebestand is default.cfg. Het bevat de verschillen ten opzichte van xitami.cfg (opstartbestand):
[Cgi]
Environment=0
Form-query=1
Http-fields=0
Mixed-url=0
Msdos-style=1
Stdio=0
[Rdns]
Debug=1
Primary-server=190.190.190.6
Secondary-server=190.190.190.5
[Security]
Filename=defaults.aut
[Server]
Default2=index.html
Default3=page_01.htm
Priority=3
Recover=1
[Virtual-hosts]
Mail.verfaillie.com=mail.cfg
Web.verfaillie.be=verfa.cfg
[Win32]
16bit-cgi=0
|
- Environment=0
- Onze programma's hebben geen copie nodig van alle omgevingsvariabelen (die bekom je door het DOS-commando SET in te geven). Met de parameters van formulieren worden er al genoeg omgevingsvariabelen aangemaakt.
- Form-query=1
- De data van POST opdrachten (in formulieren en dergelijke) willen we ook als omgevingsvariabele QUERY_STRING. Wij zullen de omgevingsvariabele niet altijd nodig hebben (we krijgen de elementen van het formulier ook binnen via FORM_ omgevingsvariabelen).
- Http-fields=0
- We hebben in de meeste gevallen de HTTP omgevingsvariabelen niet nodig (deze zijn door de browser gestuurd). Bij cookies kan het wel nuttig zijn de HTTP variabelen te bekomen, maar iedere omgevingsvariabele dat je aanvraagt (dat je gebruikt of niet) betekent een extra belasting voor de server.
- Mixed-url=0
- De cgi-bin directory bevat enkel uitvoerbare bestanden. We willen niet dat Xitami bestanden dat het niet kan uitvoeren aan de bezoeker doorstuurt (bijvoorbeeld databestanden die in de cgi-bin directory zijn terechtgekomen).
- Msdos-style=1
- Bij communikatie met Xitami gebruiken we het DOS bestandsformaat (met backslashes). Het outputbestand (CGI_STDOUT) is het belangrijkste bestand dat Xitami nodig heeft.
- Stdio=0
- Powerbasic kan de standaard input/output gebruiken, maar wij zullen deze niet gebruiken. We gebruiken in de plaats daarvan de meer flzexibele input/outputbestanden. De reden is eenvoudig: de standaard I/O zijn zuivere streams. Met bestanden kan je bijvoorbeeld het bestand wissen en terug vanaf nul beginnen (als er een fout gebeurd is en een volledig andere output geproduceerd moet worden). Xitami verwacht wel een outputbestand! (zelfs leeg) Zonder outputbestand blijft Xitami wachten om iets aan de gebruiker door te sturen. Zolang er geen outputbestand is zal Xitami niet controleren of het programma reeds afgelopen is.
- [Rdns]
- Het is voorzien dat Xitami de IP adressen in logs kan omzetten naar hostnames, maar dit werd nooit geimplementeerd.
- [Security]
- default.aut is het configuratiebestand dat een lijst van de te beschermen directories bevat, samen met gebruiker-passwoord paren.
- [Server]
- Lijst van bestandsnamen die in aanmerking komen om naar de gebruiker gestuurd te worden als de gebruiker een directory vraagt en geen bestand. Als die bestandsnamen niet voorkomen in de directory zal Xitami een lijst van bestanden in de directory doorsturen (voor zover dit toegelaten is in de configuratie)
Xitami zal een hogere prioriteit dan normale processen gebruiken en automatisch herstarten bij een crash. Dit is de normale configuratie bij een server waarbij de maximale output en verwerkingssnelheid gewenst is.
- [Virtual-hosts]
- Dit is een lijst van aangemaakte virtuele hosts.
- [Win32]
- Indien we Powerbasic gebruiken hebben we geen ondersteuning nodig voor 16-bit applikaties. Een 16-bit applikatie is eigenlijk een zuivere DOS programma dat een zeer specifieke omgeving nodig heeft (VM of virtual machine).
The Web Based Administration
Om de webadmin te kunnen gebruiken, moet er eerst een password file aangemaakt worden (default.aut). Controleer dat de naam van het passwoordbestand voorkomt in default.cfg
Dit zou mijn default.aut kunnen zijn:
[/Admin]
iamtheboss=GrDr4uqGYtfgQ3T
[/svt/ws/webtest]
xitami=powerbasic
|
We hebben hier dus twee beveiligde directories: /admin (hardcoded, om de WBA te starten) en /svt/ws/webtest.
Van zodra er een passwoord ingegeven is, kan je de web administratie gebruiken van om het even waar. Indien je dit als een beveiligingsrisico aanziet kan je "-" ingeven (daardoor wordt de WBA uitgeschakeld). De WBA is trouwens uitgeschakeld bij een nieuwe installatie, zie xitami.aut, de default passwoord file. Een betere oplossing dan de WBA uitgeschakeld te laten is te werken met webmasks, waardoor configuratie wel mogelijk is via LAN (lokale adressen), maar niet via het internet.
Index
Individuele landingspage bezoekers: