Contexte :
IPCop 2.1.7
J'ai des problèmes de connexion sur l'interface admin web, puisqu'elle me répond : Internal Server Error - Erreur 500
Pas en SSH !
Quand je redémarre mon ipcop, je peux me connecter à nouveau dessus ...
Ce problème revient au bout d'un certain temps, assez aléatoire.
Sachant les problèmes visibles dans le log error httpd, ci-dessous, que dois-je envisager ?
Logs et tests :
Ci-dessous log error httpd :
- Code : Tout sélectionner
[Fri Jan 09 15:34:09 2015] [error] [client 192.168.47.123] Premature end of script headers: index.cgi
[Fri Jan 09 15:55:52 2015] [error] [client 192.168.47.123] panic: corrupt saved stack index at /usr/lib/perl5/5.14.2/strict.pm line 6.
[Fri Jan 09 15:55:52 2015] [error] [client 192.168.47.123] Compilation failed in require at /home/httpd/cgi-bin/index.cgi line 29.
[Fri Jan 09 15:55:52 2015] [error] [client 192.168.47.123] BEGIN failed--compilation aborted at /home/httpd/cgi-bin/index.cgi line 29.
[Fri Jan 09 15:55:52 2015] [error] [client 192.168.47.123] Premature end of script headers: index.cgi
Ci-dessous, je fournis les entêtes des deux fichiers qui posent problème :
- Code : Tout sélectionner
:~ # head -n 30 /home/httpd/cgi-bin/index.cgi
#!/usr/bin/perl
#
# This file is part of the IPCop Firewall.
#
# IPCop is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# IPCop is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with IPCop. If not, see <http://www.gnu.org/licenses/>.
#
# (c) The SmoothWall Team
# (c) 2001-2014, the IPCop team
#
# $Id: index.cgi 7455 2014-04-11 08:11:40Z owes $
#
# Add entry in menu
# MENUENTRY system 010 "alt home" "alt home"
#
# Make sure translation exists $Lang::tr{'alt home'}
use strict;
- Code : Tout sélectionner
:~ # head -n 10 /usr/lib/perl5/5.14.2/strict.pm
package strict;
$strict::VERSION = "1.04";
# Verify that we're called correctly so that strictures will work.
unless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) {
# Can't use Carp, since Carp uses us!
my (undef, $f, $l) = caller;
die("Incorrect use of pragma '${\__PACKAGE__}' at $f line $l.\n");
}
Pour info :
- Code : Tout sélectionner
:~ # netstat -vlntpd
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 1219/httpd
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 10739/dnsmasq
tcp 0 0 192.168.47.254:53 0.0.0.0:* LISTEN 10739/dnsmasq
tcp 0 0 0.0.0.0:8022 0.0.0.0:* LISTEN 1227/sshd
tcp 0 0 0.0.0.0:8443 0.0.0.0:* LISTEN 1219/httpd
:~ # free -m
total used free shared buffers cached
Mem: 946 184 762 0 134 32
-/+ buffers/cache: 17 929
Swap: 63 0 63
:~ # df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 484788 56 484732 1% /dev
/dev/sda1 644032 362404 248912 60% /
/dev/sda2 95504180 195852 90456924 1% /var/log
tmpfs 484788 4 484784 1% /tmp
shm 484788 0 484788 0% /dev/shm
IL y a donc bien le serveur httpd active ; ce n'est pas un problème de mémoire, ni de partitions remplies.