Stranica: 1/1.

[C] C kroz cgi-bin

Postano: 24 vel 2013, 15:24
Postao/la hightech
Prvo nam je potreban C program citaj.c koji cemo posle kompajlirati i jedna datoteka data.txt(koj se nece nalaziti u cgi-bin, vec direktorijum iza, u ovom slucaju u doc root ../data/data.txt --- tacnije: /var/www/data/data.txt)

data.txt

Kod: Označi sve

tekst koj treba da se iscita
drugi red teksta
treci red teksta
data.c

Kod: Označi sve

#include <stdio.h>
#include <stdlib.h>
#define DATAFILE "../data/data.txt"
int main(void)
{
FILE *f = fopen(DATAFILE,"r");
int ch;
if(f == NULL) {
  printf("%s%c%c\n",
  "Content-Type:text/html;charset=utf-8",13,10);
  printf("<title>nezgodno</title>\n");
  printf("<p><em>nisam u mogucnosti da otvorim data fajl, sorry!</em></p>"); }
else {
  printf("%s%c%c\n",
  "Content-Type:text/plain;charset=utf-8",13,10);
  while((ch=getc(f)) != EOF)
    putchar(ch);
  fclose(f); }
return 0;
}
A sad ga iskompajlirajmo:

Kod: Označi sve

gcc data.c -o data.cgi
data.c je vas izvorni kod i nije vam potreban jer posle kompajliranja ostaje izvrsni program data.cgi
Promenimo dozvole u izvrsne i promenimo ownership:

Kod: Označi sve

chmod a+x /var/www/cgi-bin/data.cgi
chown -R www-data:www-data /var/www/cgi-bin/data.cgi
Na lokaciji:
http://localhost/cgi-bin/data.cgi
se treba iscitati sadrzaj data.txt fajla !!!

Re: C kroz cgi-bin

Postano: 18 lip 2013, 16:32
Postao/la shrike
ova uputstva ne valjaju i to primarno jer nedostaje sva sila informacija oko konfiguracije web servera (apache, nginx, httpd,...). Bilo bi zgodno da to dodaš i za ostale ove tutoriale.

Re: C kroz cgi-bin

Postano: 21 lip 2013, 15:15
Postao/la hightech
Evo kako:
nginx+apache ---> proxy
http://www.webserveri.info/forum/viewto ... ?f=29&t=81
ili samo apachi :)
http://www.webserveri.info/forum/viewtopic.php?f=29&t=4
To i ovde postoji samo ih nisam ulinkovao :)