summaryrefslogtreecommitdiff
path: root/debian/apache2-bin.bug-script
blob: 8d957cb6272b6f3e19b7ebf71b2cc047f6f02aab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/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";

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) {
		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");
}