Adam Kucza

Adam Kucza

Żeby być sobą, trzeba być kimś...

Stanisław Jerzy Lec

blogger czy logger?

Openwebmail i „Premature end of script headers”

Autor: Adam Kucza o sobota 20. wrzesień 2008

Aby nasze systemy i aplikacje działały prawidłowo lubimy je aktualizować do najnowszych wersji. Aczkolwiek są różne ’szkoły’: jedni aktualizują a drudzy podziwiają zalety ostatnich zainstalowanych wersji systemów serwerowych nietykając aktualizacji.

Należę do tej pierwszej grupy i zachęcam jednak do korzystania z wszelkich dostępnych aktualizacji istniejących w sieci.
Ale oczywiście wszystko z głową.

Ostatnio postanowiłem zaktualizować Perla do wersji 5.8.8 i dzięki temu przestał działać Openwebmail.
W logach webowego serwera apache widziałem tylko komunikaty typu:

Premature end of script headers: openwebmail.pl

Prawa dostępu do katalogu były ustawione prawidłowo, alias skryptowy CGI (ScriptAlias) również.
Pojawiła się więc zagadka.

Szukając odpowiedzi w sieci natrafiłem na ciekawą informację dotyczącą wykonywania skryptów CGI na serwerze apache:

The most common cause of this problem is the script dying before sending the complete set of headers, or possibly any at all, to the server. To see if this is the case, try running the script standalone from an interactive session, rather than as a script under the server. If you get error messages, this is almost certainly the cause of the „premature end of script headers” message. Even if the CGI runs fine from the command line, remember that the environment and permissions may be different when running under the web server. The CGI can only access resources allowed for the User and Group specified in your Apache configuration. In addition, the environment will not be the same as the one provided on the command line, but it can be adjusted using the directives provided by mod_env.

Źródło: http://httpd.apache.org/docs/1.3/misc/FAQ.html#premature-script-headers.

Chodzi o to, że wykonywane skrypty CGI na serwerze muszą mieć dostęp do otoczenia (environment), które jest przez te skrypty zmieniane, a co za tym idzie musi być załadowany moduł mod_env.
Brakujący moduł doinstalowałem z portu php5-extensions-1.1. Jednak sama instalacja modułu nie pomogła rozwiązać problem.

Okazuje się, że w momencie wykonywania skryptów Perl korzysta z takiej opcji jak SUIDPERL (Set User ID PERL), tj. przydziela identyfikator użytkownika na czas wykonania skryptu.

Można się o tym dowiedzieć czytając informacje o zmianach w nowej wersji Openwebmaila.
Najistotniejsza informacja dla nas:

(…) Perl automatically runs in suid mode if the suid bit is set on the running script AND perl is compiled with the DOSUID option. The openwebmail-*.pl scripts still require suid, so please make sure they are properly chmod’d 4755 as usual (…)

Źródło: http://openwebmail.org/openwebmail/doc/changes.txt.

Lecz mało kto wie, że w wersji 5.8.8 Perla opcja SUIDPERL standardowo jest wyłączona.
Musimy przeinstalować Perla (z portów) z opcją SUIDPERL w następujący sposób:

cd /usr/ports/lang/perl5.8
make deinstall
make ENABLE_SUIDPERL=YES install clean

Gdy krypty perlowe Openwebmaila nadal generują te same błędy, należy jeszcze przeinstalować Openwebmaila.

Powodzenia!

» wpis obejrzano 1823 razy przez 450 internautów «

Napisany w Internet, Openwebmail | Brak komentarzy »

Nowy serwer

Autor: Adam Kucza o sobota 30. sierpień 2008

Drodzy internauci. Chciałbym poinformować, że praktycznie już od wczoraj serwis śmiga na nowym serwerze.
Jest to platforma niczego sobie, bowiem: IBM x330, 2x Intel 1.4GHz Tualatin, 2x 1024MB RAM, 2x 36GB SCSI, 1x CD-ROM, 1x FDD, 2x USB, 2x Ethernet 10/100Mbit.

» wpis obejrzano 1765 razy przez 385 internautów «

Napisany w Aktualności | Brak komentarzy »

Windows Vista Service Pack 1 - co robić?

Autor: Adam Kucza o poniedziałek 23. czerwiec 2008

Nie wszyscy lubią system Windows Vista. Nie wszyscy są nim zachwyceni z uwagi na zasobożerność. Nie wszyscy lubią Windowsy.
Należę jednak do tej mniejszości, która potrafi poradzić sobie z każdym systemem, nawet z Vistą.

Od początku maja w repozytorium Microsoft Windows Update widnieje paczka Service Pack 1.
Dopiero dzisiaj udało mi się ją bezproblemowo zainstalować.

Otóż problem pojawiał się w momencie instalacji Etapu 3/3, gdzie w 78% postepu instalacji system się zawieszał.
Jedyną drogą powrotną było przywrócenie systemu do jakiegoś punktu przywracania z przeszłości.

Jak się okazuje, po uważnym przeczytaniu strony Microsoft Support (http://support.microsoft.com/kb/947366), wpadłem na pomysł totalnego wyłączenia antywirusa NOD32 oraz firewalla Jetico.

Dopiero teraz aktualizacja przebiegła pomyślnie. Wam również życzę powodzenia.

» wpis obejrzano 4633 razy przez 801 internautów «

Napisany w Systemy, Update, Windows | Brak komentarzy »