Veelgestelde vragen over CGI Scripts

  1. Wat is/doet het chmod-commando?
  2. Hoe roep ik de door XS4ALL geleverde standaardscripts aan?

    /cgi-bin/[scriptnaam]
    Kijk ook op het overzicht en uitleg van de standaardscripts.

  3. Waar moet ik mijn zelfgemaakte scripts neerzetten?

    In de directory /cgi-bin/ of in de directory /WWW/[eerste letter gebruikersnaam]/[gebruikersnaam]/cgi-bin/

  4. Hoe roep ik zelfgemaakte scripts aan?

    /cgi-bin/[scriptnaam] of /WWW/[eerste letter gebruikersnaam]/[gebruikersnaam]/cgi-bin/[scriptnaam]

  5. Ik krijg de foutmelding "403 Forbidden"

    Het script mag niet uitgevoerd worden door de webserver. Controleer dus of
    - /cgi-bin/[script] uitvoerbaar is, anders chmod 700
    - /cgi-bin toegankelijk is, anders chmod 701
    - /htdocs toegankelijk is, anders chmod 705)

  6. Ik krijg de foutmelding "500 Internal Server Error"

    In het geval van eigen scripts:
    Wat het script ook doet, de output moet voorafgegaan worden door een Content-Type en een witregel, bijvoorbeeld:

    Content-Type: text/html De uitvoer is: 180!
    De foutmelding betekent dus dat er NIET een Content-Type als eerste gestuurd is, maar misschien andere tekst.

    Ook is het mogelijk dat het script halverwege gestopt is omdat het iets niet kon, bijvoorbeeld:
    open (BLA, "/etc/passwd") or die "Kan /etc/passwd niet openen"; Dit Perl-statement probeert de file /etc/passwd te lezen en als dat niet lukt, stopt het script met bovenstaande foutmelding.

    De melding "500 Internal Server Error" kan ook duiden op een syntax error in het script. Voor perl-scripts kunt u in zo'n geval op een SSH prompt het volgende commando geven:
    "perl -cw [scriptname]". Dit commando geeft een syntax check met extra warnings.

    Een perl script moet als tekst geupload worden, als het in binary mode gedaan wordt vanaf een Windows computer gaat het fout. Het script moet dan of opnieuw geupload worden in tekst mode of op de shellserver moet het volgende commando gebruikt worden om het goed te zetten: dos2unix [script]

  7. Wat moet in een cgi-script het perl-path en sendmail-path zijn?

    /usr/local/bin/perl en /usr/sbin/sendmail

    Het commando "where perl" geeft uitgebreidere output over het Perl path.

  8. Welke extensie moet ik mijn perl scripts geven? .cgi of .pl?

    De extensie: .cgi