#!/usr/bin/perl -w use strict; use Text::Wrap; $Text::Wrap::columns = 70; #open (my $out, ">&=3") or die "could not open FD 3\n"; open (my $out, ">&=0") or die "could not open FD 3\n"; our $AQUERY = 0; our $PHP = 0; if (-x "/usr/sbin/a2query") { $AQUERY = "/usr/sbin/a2query"; } if ($AQUERY) { my $mpm = `$AQUERY -M`; chomp($mpm); print $out "Enabled MPM: $mpm\n"; } my @modules; if ($AQUERY) { print $out "List of enabled modules:\n"; @modules = `$AQUERY -m`; } else { print $out "a2query is not available.\n"; @modules = sort glob("/etc/apache2/mods-enabled/*.load"); map { s{^/etc/apache2/mods-enabled/(.*)\.load$}{$1} } @modules; print $out "List of /etc/apache2/mods-enabled/*.load:\n"; } if (! scalar @modules) { print $out "Could not determine module list\n"; } else { my $missing; foreach my $m (@modules) { my ($m, @desc) = split(/\s+/, $m); if (-e "/etc/apache2/mods-available/$m.conf" and ! -e "/etc/apache2/mods-enabled/$m.conf") { $m .= "*"; $missing = 1; } if ($m =~ /^(php\d)/) { $PHP = $1; } } print $out wrap(" ", " ", "@modules\n"); print $out wrap(" ", " ", "(A * means that the .conf file for that module is not " . "enabled in /etc/apache2/mods-enabled/)\n") if $missing; } if (defined $PHP) { my @exts = qx{egrep ^extension= /etc/$PHP/apache2/php.ini /etc/$PHP/apache2/conf.d/* 2>/dev/null}; if (scalar @exts) { chomp @exts; @exts = grep { ! m{\.dpkg-(?:bak|dist):} } @exts; @exts = sort grep { s{^.*:extension=(\S+)\.\S+}{$1} } @exts; print $out "List of enabled $PHP extensions:\n"; print $out wrap(" ", " ", "@exts\n"); } } if ($AQUERY) { my @confs; print $out "List of enabled configurations:\n"; @confs = `$AQUERY -c`; print $out wrap(" ", " ", "@confs\n"); }