Na dobry początek

July 29th, 2007

No to cóż. Stało się. Mam bloga :) Żeby nie było że piszę o swoim kocie, to na dobry początek taki sobie drobiazg w C -- bramka pomiędzy FastCGI a CGI.

Taki nginx na przykład nie ma obsługi CGI. Co więcej, uważa to za swój ogromny sukces :) Czasem jednak trzeba odpalić jakiś prosty skrypt, którego nie opłaca się portować na FastCGI (jak np. gitweb, który pewnie doczeka się swojej subdomeny na moim mega super hiper blogasku). No i po to jest fcgiwrap. Kompiluje się go bez żadnych cudów:

gcc -Wall -Wextra -Werror -pedantic -O2 \
  fcgiwrap.c -o fcgiwrap -lfcgi
Następnie uruchamiamy delikwenta pod jakimś managerem fastcgi (od biedy np. spawn-fcgi z lighttpd) i przekazujemy mu requesty.

Uwaga: programik nie zrzuca żadnych uprawnień, więc uruchamianie go jako root jest wyjątkowo niemądre.

Po otrzymaniu requestu fcgiwrap sprawdza parę zmiennych środowiskowych (DOCUMENT_ROOT, SCRIPT_NAME), po czym miesza w nich jeszcze trochę, przy okazji ustawiając poprawną wartość SCRIPT_NAME i PATH_INFO.

Disclaimer: jak się zepsuje, możesz mi najwyżej nawrzucać w komentarzach albo wysłać patcha.

1 Response to “Na dobry początek”

  1. Bartosz Feński aka fEnIo Says:
    Posted by root Dlaczego postujesz z roota? :) regards fEnIo

Sorry, comments are closed for this article.