Familie van der Salm

  • Home
  • About

29

Oct

Perl – Internal Server Error – suexec

Posted by edmin  Published in ICT

Even a simple script gives me this error. Here’s my simple script:
cat test.cgi

#!/usr/bin/perl
use strict;
use warnings;
print “Content-type: text/plain\n\n”;
print “Hello, World”;

Lets start with three lines of my logfile:

suexec failure: could not open log file
fopen: No such file or directory
Premature end of script headers: test.cgi

So, first thing to look at is suexec, apparently it is not able to open it’s logfile. At runtime there is now way to change the settings of suexec. To see the compile-time settings of suexec use:
suexec -V

-D AP_DOC_ROOT=”/var/www”
-D AP_GID_MIN=500
-D AP_HTTPD_USER=”nobody”
-D AP_LOG_EXEC=”/var/log/httpd/suexec”
-D AP_SAFE_PATH=”/usr/local/bin:/usr/bin:/bin”
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX=”public_html”

It turned out there was no /var/log/httpd directory, so there was nog suexec-log. (No, my setup is not default…) After creating the /var/log/httpd-directory and accessing my test.cgi, the logfile was created, but…

There appared a line in my apache-logfiles:

(13)Permission denied: access to /cgi-bin/test.cgi denied

Luckely a had a suexec-logfile by now, telling me:

user mismatch (daemon instead of nobody)

Meaning: Apache is running as the user daemon, while the default seams to be nobody.
So, at the end I recompiled Apache using:

CFLAGS= -O3 -march=core2 -pipe -O3 -march=core2 -pipe -O3 \
        -march=core2 -pipe
OPTS= --prefix=/etc/httpd --sysconfdir=/etc/httpd/conf --exec-prefix=/usr --sbindir=/usr/sbin --libexecdir=/usr/libexec/httpd/modules --datadir=/var/www --sharedstatedir=/var/run/httpd --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include/httpd --infodir=/usr/share/info --mandir=/usr/share/man --enable-so --enable-rewrite --enable-mime-magic --enable-exception-hook --enable-layout=GNU --enable-usertrack --with-apr=/usr --with-apr-util=/usr --with-berkeley-db --with-gdbm --enable-ssl --enable-proxy --enable-proxy-connect --enable-proxy-http --enable-proxy-ftp --enable-suexec --with-suexec --with-suexec-caller=daemon --with-suexec-docroot=/home --with-suexec-logfile=/var/log/httpd/suexec --with-suexec-bin=/usr/sbin/suexec --with-suexec-uidmin=500 --with-suexec-gidmin=500 --enable-cgid --with-mpm=prefork

Since my suexec-docroot is somewhere else (not /var/www), notice there is a “--with-suexec-docroot=/home”

Hope this helps!

no comment

13

Sep

Convergence

Posted by edmin  Published in Algemeen, ICT

Gezien de recente berichten over Diginotar, is Convergence een erg intressant verhaal. Hierbij komt de controle weer in de hand van de gebruiker zelf. Niet een van de CA‘s op de wereld zeggen dat een site te vertrouwen is, maar een door de gebruiker zelf opgegeven server voert de controles uit.
Kijk vooral naar deze video op YouTube:

Jammer genoeg is er nu alleen nog maar een plugin beschikbaar voor Firefox. Gelukkig is het OpenSource, dus iedereen kan het protocol bekijken en een eigen implementatie maken. Het zal niet lang duren voordat er voor iedere browser een plugin beschikbaar is.
Ook het draaien van een eigen Notary-server is geen probleem, hiermee ben je nog meer de baas over het niveau van vertrouwen.
Rechts bij de handige links staat een link naar het .notary bestand van Prive-ICT.

no comment

5

Apr

Leuke site

Posted by edmin  Published in Algemeen, ICT, Linux

Tja, soms kom je een site tegen die echt bedoeld is voor de IT-ers. Vandaan zag ik deze: Breaking systems for fun en dan nog iets, maar dit was voor mij trigger genoeg ;).
Ik vind het een erg inspirerende site.

no comment

16

Nov

BASH one-liners

Posted by edmin  Published in Algemeen, ICT, Linux

Een one-liner in BASH is altijd leuk. Deze one-liner heb ik zojuist gemaakt om smtp-verbindingen vanaf een nieuwe server te controleren:

for HOST in `cat transport |grep -v “^#” |grep “.”|cut -f 2 -d “[” | cut -f 1 -d “]”| sort -u`; do echo “$HOST 25”; exec 3<> /dev/tcp/$HOST/25; read -t 5 0<&3 && echo $REPLY || echo “Problemen met $HOST”; exec 3<&-; done > connections.txt

Deze nieuwe server moet mail gaan afleveren op de mailservers van klanten. Voordat ik mail op de server binnen laat komen moet ik wel zeker weten dat de mail door de firewall kan bij de klant. Hiervoor wordt het transport-bestand, welke ook gebruikt wordt door de mailserver, ingelezen en worden de diverse mailservers eruit gefilterd. Daarna volgt een controle van poort 25 met een melding als er een probleem is of, bij geen problemen, het antwoord van de externe mailserver.

Gebruikte bronnen: Bash netwerk programmeren en Bash socket programmeren.

no comment

Handige links

  • Webmail Roundcube
  • RHCSA/RHCE

Recent Posts

  • Er gebeurt hier niet veel…
  • Dansguardian – clamd – el6 rpm
  • Perl – Internal Server Error – suexec
  • Convergence
  • Howto prevent the clearing of boot messages (Redhat 6)

Categories

  • Algemeen (8)
  • ICT (4)
  • Linux (5)

Recent Entries

  • Er gebeurt hier niet veel…
  • Dansguardian – clamd – el6 rpm
  • Perl – Internal Server Error – suexec
  • Convergence
  • Howto prevent the clearing of boot messages (Redhat 6)
  • Lost discspace – where did it go?
  • Leuke site
  • Site ook bereikbaar via IPv6
  • BASH one-liners
  • Oude site weer deels in de lucht

Recent Comments

  • je broer in Site ook bereikbaar via IPv6
  • Joey in About
  • Ed in Site ook bereikbaar via IPv6
  • Random Selection of Posts

    • Dansguardian – clamd – el6 rpm
    • Howto prevent the clearing of boot messages (Redhat 6)
    • Convergence
    • Site ook bereikbaar via IPv6
    • Er gebeurt hier niet veel…
    • Leuke site
    • Toch maar de oude site…
© 2008 Familie van der Salm is proudly powered by WordPress
Theme designed by Roam2Rome