WebDyne
view release on metacpan or search on metacpan
lib/WebDyne/Install/Apache/Constant.pm view on Meta::CPAN
# Check we have something for Apache uname etc.
#
unless ($apache_uid || $^O=~/MSWin[32|64]/) {
warn('unable to determine Apache uname - please supply via APACHE_UNAME environment variable')
}
unless ($apache_gid || $^O=~/MSWin[32|64]/) {
warn('unable to determine Apache gname - please supply via APACHE_GNAME environment variable')
}
# Get mod_perl file and modules library location
#
my $dir_apache_modules=&dir_apache_modules();
my $file_mod_perl_lib=&file_mod_perl_lib($dir_apache_modules);
# Is mod_perl2/1 installed
#
my $mp2_installed=&mp2_installed();
# Real deal
#
%Constant=(
# Mod_perl1/2 installed
#
MP2_INSTALLED => $mp2_installed,
# Binary
#
HTTPD_BIN => $Httpd_Bin,
# Config file templates and final names, delimiter if inserted into master httpd.conf
#
FILE_WEBDYNE_CONF_TEMPLATE => 'webdyne.conf.inc',
FILE_WEBDYNE_CONF => 'webdyne.conf',
FILE_WEBDYNE_CONF_PL_TEMPLATE => 'webdyne_conf.pl.inc',
FILE_WEBDYNE_CONF_PL => 'webdyne_conf.pl',
FILE_APACHE_CONF_TEMPLATE => 'apache.conf.inc',
FILE_APACHE_CONF_DELIM => '#*WebDyne*',
FILE_MOD_PERL_1_99_COMPAT => 'webdyne-mod_perl-1_99-compat.pl',
# Get apache directory name
#
DIR_APACHE_CONF => &dir_apache_conf(),
DIR_APACHE_MODULES => $dir_apache_modules,
# Mod_perl library name
#
FILE_MOD_PERL_LIB => $file_mod_perl_lib,
# Need apache uid and gid, as some dirs will be chowned to this
# at install time
#
APACHE_UNAME => $apache_uname,
APACHE_GNAME => $apache_gname,
APACHE_UID => $apache_uid,
APACHE_GID => $apache_gid,
# SELinux context for cache directory
#
SELINUX_CONTEXT_HTTPD => 'httpd_sys_content_t',
SELINUX_CONTEXT_LIB => 'lib_t',
SELINUX_ENABLED_BIN => &find_bin('selinuxenabled'),
SELINUX_CHCON_BIN => &find_bin('chcon'),
SELINUX_SEMANAGE_BIN => &find_bin('semanage'),
# Perl shared lib files that need to be checked for SELinux context
#
SELINUX_SO_CHECK => {
IO => 'IO/IO.so',
'Digest::MD5' => 'Digest/MD5/MD5.so',
Fcntl => 'Fcntl/Fcntl.so',
'Time::HiRes' => 'Time/HiRes/HiRes.so',
Storable => 'Storable/Storable.so',
'File::Glob' => 'File/Glob/Glob.so',
Opcode => 'Opcode/Opcode.so',
'Data::Dumper' => 'Dumper/Dumper.so'
},
# Server config
#
%{$Httpd_Config_hr},
);
# Get absolute binary file location
#
sub httpd_bin {
# If in Win32 need to get location of Apache from reg. Not much error checking
# because not fatal if reg key not found etc.
#
debug();
my ($path, @name_bin);
if ($^O=~/MSWin[32|64]/) {
# Windows
#
debug("detected MS Win: $^O");
require Win32::TieRegistry;
my $reg_ix=tie(
my %reg, 'Win32::TieRegistry', 'HKEY_LOCAL_MACHINE\Software\Apache Group\Apache'
);
( run in 0.719 second using v1.01-cache-2.11-cpan-5511b514fd6 )