Kapsin logo

Kapsi Internet-käyttäjät ry

Tavallinen CGI-ohjelma

CGI on www-palvelimen laajennos, jonka kautta sivut voidaan luoda suorittamalla erillinen skripti tai muu ohjelma. Kapsin palvelimilla CGI-ohjelmat toimivat päätteellä .cgi. Lisäksi käytettävissä on FCGI .fcgi-päätteellä nopeuttamaan sitä tukevien ohjelmien toimintaa.

Yksinkertainen CGI:nä ajettavaksi tarkoitettu PHP-ohjelma:

#!/usr/bin/php5-cgi -d cgi.force_redirect=0
<?php
echo "Hello World!";
?>

Tavallisen CGI-ohjelman käyttäminen ei vaadi kuin käyttöoikeuksien 700 asettamisen skriptille:

chmod 700 skripti.cgi

Ensimmäisellä rivillä määritellään käytettävä tulkki. Yleisimpien kielien tulkit Kapsin palvelimella:

  • PHP, versio 5 - /usr/bin/php5-cgi
  • Python - /usr/bin/python2.5
  • Perl - /usr/bin/perl

500 Internal Server Error

Virhe "500 Internal Server Error" voi johtua useista syistä. Virheestä on lisää tietoa palvelimen logeissa, jonka voi katsoa itse error.logista. Ensiksi kannattaa kuitenkin tarkistaa seuraavat seikat:

  • Käyttöoikeudet - sekä skripti itse että puussa ylemmät hakemistot
  • Tiedostopääte .cgi, ellei .htaccess-tiedostossa ole määritetty muuta
  • CGI-ohjelma ei voi olla symbolisesti linkitetty
  • Rivinvaihtojen on oltava UNIX-muotoa, lisää tietoa alempana

Tekstitiedostot täytyy siirtää käyttäen tiedonsiirto-ohjelman tekstimuoto-toimintoa (ascii) tai varmistaa flip-komennolla että niiden sisältämät rivinvaihdot ovat UNIX-muotoisia:

flip -u tiedosto.cgi

Avun pyytäminen ylläpidolta

CGI-ohjelman tuottaessa virheen "500 Internal Server Error", on ongelmasta lisää tietoa palvelimen logissa. Elleivät ylempänä olevat vinkit auta, ylläpito voi tarkastaa virheen syyn logeista. Myös muiden virheiden yhteydessä voi pyytää apua.

Lähetä kysymyksesi ylläpidolle sähköpostilla. Jotta ongelma selviäisi nopeasti, mainitse ainakin seuraavat asiat:

  • Sivun osoite
  • Kellonaika ja päivämäärä virheen "500 Internal Server Error" yhteydessä