version 1.77, 2021/03/29 03:49:58
|
version 1.85, 2024/04/26 22:22:52
|
Line 212 sub get_distro {
|
Line 212 sub get_distro {
|
$distro = 'rhes'.$1; |
$distro = 'rhes'.$1; |
$updatecmd = 'dnf install LONCAPA-prerequisites'; |
$updatecmd = 'dnf install LONCAPA-prerequisites'; |
$installnow = 'dnf -y install LONCAPA-prerequisites'; |
$installnow = 'dnf -y install LONCAPA-prerequisites'; |
} elsif ($versionstring =~ /CentOS(?:| Linux| Stream) release (\d+)/) { |
} elsif ($versionstring =~ /CentOS(| Linux| Stream) release (\d+)/) { |
$distro = 'centos'.$1; |
$distro = 'centos'.$2; |
|
if ($1 eq ' Stream') { |
|
$distro .= '-stream'; |
|
} |
$updatecmd = 'yum install LONCAPA-prerequisites'; |
$updatecmd = 'yum install LONCAPA-prerequisites'; |
$installnow = 'yum -y install LONCAPA-prerequisites'; |
$installnow = 'yum -y install LONCAPA-prerequisites'; |
} elsif ($versionstring =~ /Scientific Linux (?:SL )?release ([\d.]+) /) { |
} elsif ($versionstring =~ /Scientific Linux (?:SL )?release ([\d.]+) /) { |
Line 222 sub get_distro {
|
Line 225 sub get_distro {
|
$distro = 'scientific'.$ver; |
$distro = 'scientific'.$ver; |
$updatecmd = 'yum install LONCAPA-prerequisites'; |
$updatecmd = 'yum install LONCAPA-prerequisites'; |
$installnow = 'yum -y install LONCAPA-prerequisites'; |
$installnow = 'yum -y install LONCAPA-prerequisites'; |
|
} elsif ($versionstring =~ /Rocky Linux release ([\d.]+)/) { |
|
my $ver = $1; |
|
$ver =~ s/\.\d+$//; |
|
$distro = 'rocky'.$ver; |
|
$updatecmd = 'dnf install LONCAPA-prerequisites'; |
|
$installnow = 'dnf -y install LONCAPA-prerequisites'; |
|
} elsif ($versionstring =~ /AlmaLinux release ([\d.]+) /) { |
|
my $ver = $1; |
|
$ver =~ s/\.\d+$//; |
|
$distro = 'alma'.$ver; |
|
$updatecmd = 'dnf install LONCAPA-prerequisites'; |
|
$installnow = 'dnf -y install LONCAPA-prerequisites'; |
} else { |
} else { |
print &mt('Unable to interpret [_1] to determine system type.', |
print &mt('Unable to interpret [_1] to determine system type.', |
'/etc/redhat-release')."\n"; |
'/etc/redhat-release')."\n"; |
Line 457 sub check_locale {
|
Line 472 sub check_locale {
|
'/etc/sysconfig/i18n'); |
'/etc/sysconfig/i18n'); |
$earlyout = 1; |
$earlyout = 1; |
} |
} |
} elsif ($distro =~ /^(?:rhes|centos|scientific|oracle)(\d+)/) { |
} elsif ($distro =~ /^(?:rhes|centos|scientific|oracle|rocky|alma)(\d+)/) { |
if ($1 >= 7) { |
if ($1 >= 7) { |
if (!open($fh,"</etc/locale.conf")) { |
if (!open($fh,"</etc/locale.conf")) { |
print &mt('Failed to open: [_1], default locale not checked.', |
print &mt('Failed to open: [_1], default locale not checked.', |
Line 616 sub check_mysql_running {
|
Line 631 sub check_mysql_running {
|
if ($1 >= 19) { |
if ($1 >= 19) { |
$mysqldaemon ='mariadb'; |
$mysqldaemon ='mariadb'; |
} |
} |
} elsif ($distro =~ /^(?:centos|rhes|scientific|oracle)(\d+)/) { |
if ($1 >= 34) { |
|
$process = 'mariadb'; |
|
} |
|
} elsif ($distro =~ /^(?:centos|rhes|scientific|oracle|rocky|alma)(\d+)/) { |
if ($1 >= 7) { |
if ($1 >= 7) { |
$mysqldaemon ='mariadb'; |
$mysqldaemon ='mariadb'; |
$process = 'mysqld'; |
$process = 'mysqld'; |
$proc_owner = 'mysql'; |
$proc_owner = 'mysql'; |
$use_systemctl = 1; |
$use_systemctl = 1; |
} |
} |
|
if ($1 >= 9) { |
|
$process = 'mariadb'; |
|
} |
} elsif ($distro =~ /^sles(\d+)/) { |
} elsif ($distro =~ /^sles(\d+)/) { |
if ($1 >= 12) { |
if ($1 >= 12) { |
$use_systemctl = 1; |
$use_systemctl = 1; |
Line 763 sub chkconfig {
|
Line 784 sub chkconfig {
|
if ($version >= 26) { |
if ($version >= 26) { |
$daemon{'ntp'} = 'chronyd'; |
$daemon{'ntp'} = 'chronyd'; |
} |
} |
} elsif ($distro =~ /^(?:centos|rhes|scientific|oracle)(\d+)/) { |
} elsif ($distro =~ /^(?:centos|rhes|scientific|oracle|rocky|alma)(\d+)/) { |
my $version = $1; |
my $version = $1; |
if ($version >= 7) { |
if ($version >= 7) { |
$uses_systemctl{'ntp'} = 1; |
$uses_systemctl{'ntp'} = 1; |
Line 879 sub uses_firewalld {
|
Line 900 sub uses_firewalld {
|
if ($1 >= 18) { |
if ($1 >= 18) { |
$checkfirewalld = 1; |
$checkfirewalld = 1; |
} |
} |
} elsif ($distro =~ /^(?:centos|rhes|scientific|oracle)(\d+)/) { |
} elsif ($distro =~ /^(?:centos|rhes|scientific|oracle|rocky|alma)(\d+)/) { |
if ($1 >= 7) { |
if ($1 >= 7) { |
$checkfirewalld = 1; |
$checkfirewalld = 1; |
} |
} |
Line 1072 sub chkapache {
|
Line 1093 sub chkapache {
|
} else { |
} else { |
my $configfile = 'httpd.conf'; |
my $configfile = 'httpd.conf'; |
my $mpmfile = 'mpm.conf'; |
my $mpmfile = 'mpm.conf'; |
if ($distro =~ /^(?:centos|rhes|scientific|oracle)(\d+)$/) { |
if ($distro =~ /^(?:centos|rhes|scientific|oracle|rocky|alma)(\d+)/) { |
if ($1 >= 7) { |
if ($1 >= 7) { |
$configfile = 'apache2.4/httpd.conf'; |
$configfile = 'apache2.4/httpd.conf'; |
} elsif ($1 > 5) { |
} elsif ($1 > 5) { |
Line 1679 sub get_pathto_iptables {
|
Line 1700 sub get_pathto_iptables {
|
|
|
sub firewall_is_active { |
sub firewall_is_active { |
if (-e '/proc/net/ip_tables_names') { |
if (-e '/proc/net/ip_tables_names') { |
|
my $status; |
if (open(PIPE,'cat /proc/net/ip_tables_names |grep filter |')) { |
if (open(PIPE,'cat /proc/net/ip_tables_names |grep filter |')) { |
my $status = <PIPE>; |
$status = <PIPE>; |
close(PIPE); |
close(PIPE); |
chomp($status); |
chomp($status); |
if ($status eq 'filter') { |
if ($status eq 'filter') { |
return 1; |
return 1; |
} |
} |
} |
} |
|
unless ($status) { |
|
if (open(PIPE,'nft list tables |')) { |
|
while(<PIPE>) { |
|
chomp(); |
|
if (/filter$/) { |
|
$status = 1; |
|
last; |
|
} |
|
} |
|
close(PIPE); |
|
if ($status) { |
|
return 1; |
|
} |
|
} |
|
} |
} |
} |
return 0; |
return 0; |
} |
} |
Line 2222 if ($callsub{'firewall'}) {
|
Line 2259 if ($callsub{'firewall'}) {
|
'ssh, http')."\n"; |
'ssh, http')."\n"; |
} else { |
} else { |
my $version; |
my $version; |
if ($distro =~ /^(redhat|centos)(\d+)$/) { |
if ($distro =~ /^(redhat|centos)(\d+)/) { |
$version = $1; |
$version = $1; |
} |
} |
if ($version > 5) { |
if ($version > 5) { |
Line 2303 if ($have_tarball && !$updateshown) {
|
Line 2340 if ($have_tarball && !$updateshown) {
|
if ($1 > 6) { |
if ($1 > 6) { |
$lc_uses_systemctl = 1; |
$lc_uses_systemctl = 1; |
} |
} |
} elsif ($distro =~ /^(?:rhes|centos)(\d+)$/) { |
} elsif ($distro =~ /^(?:rhes|centos|rocky|alma)(\d+)/) { |
if ($1 > 7) { |
if ($1 > 7) { |
$lc_uses_systemctl = 1; |
$lc_uses_systemctl = 1; |
} |
} |
Line 2432 sub build_and_install_mod_auth_external
|
Line 2469 sub build_and_install_mod_auth_external
|
> #define SERVER_UIDS $num /* user "www" */ |
> #define SERVER_UIDS $num /* user "www" */ |
ENDPATCH |
ENDPATCH |
|
|
|
my $patch_code = <<"ENDPATCH"; |
|
127a128 |
|
> #include <string.h> |
|
214a216 |
|
> #include <time.h> |
|
566c568 |
|
< check_fails() |
|
--- |
|
> int check_fails() |
|
589c591 |
|
< log_failure() |
|
--- |
|
> void log_failure() |
|
629c631 |
|
< snooze(int seconds) |
|
--- |
|
> void snooze(int seconds) |
|
653c655 |
|
< main(int argc, char **argv) |
|
--- |
|
> int main(int argc, char **argv) |
|
ENDPATCH |
|
|
if (! -e "/usr/bin/patch") { |
if (! -e "/usr/bin/patch") { |
print_and_log(&mt('You must install the software development tools package: [_1], when installing Linux.',"'patch'")."\n"); |
print_and_log(&mt('You must install the software development tools package: [_1], when installing Linux.',"'patch'")."\n"); |
print_and_log(&mt('Authentication installation not completed.')."\n"); |
print_and_log(&mt('Authentication installation not completed.')."\n"); |
Line 2442 ENDPATCH
|
Line 2502 ENDPATCH
|
return; |
return; |
} |
} |
my $dir = "/tmp/pwauth-2.2.8"; |
my $dir = "/tmp/pwauth-2.2.8"; |
|
my $patchedok; |
if (open(PATCH,"| patch $dir/config.h")) { |
if (open(PATCH,"| patch $dir/config.h")) { |
print PATCH $patch; |
print PATCH $patch; |
close(PATCH); |
close(PATCH); |
|
if (open(PATCH,"| patch $dir/pwauth.c")) { |
|
print PATCH $patch_code; |
|
close(PATCH); |
|
$patchedok = 1; |
|
} |
|
} |
|
if ($patchedok) { |
print_and_log("\n"); |
print_and_log("\n"); |
## |
## |
## Compile patched pwauth |
## Compile patched pwauth |
Line 2736 sub get_mysql_version {
|
Line 2804 sub get_mysql_version {
|
sub copy_httpd_conf { |
sub copy_httpd_conf { |
my ($instdir,$distro,$hostname) = @_; |
my ($instdir,$distro,$hostname) = @_; |
my $configfile = 'httpd.conf'; |
my $configfile = 'httpd.conf'; |
if ($distro =~ /^(?:centos|rhes|scientific|oracle)(\d+)$/) { |
if ($distro =~ /^(?:centos|rhes|scientific|oracle|rocky|alma)(\d+)/) { |
if ($1 >= 7) { |
if ($1 >= 7) { |
$configfile = 'apache2.4/httpd.conf'; |
$configfile = 'apache2.4/httpd.conf'; |
} elsif ($1 > 5) { |
} elsif ($1 > 5) { |
Line 2783 sub copy_mpm_conf {
|
Line 2851 sub copy_mpm_conf {
|
print_and_log("\n"); |
print_and_log("\n"); |
} else { |
} else { |
my $logfail; |
my $logfail; |
if ($distro =~ /^(?:centos|rhes|scientific|oracle)(\d+)$/) { |
if ($distro =~ /^(?:centos|rhes|scientific|oracle|rocky|alma)(\d+)/) { |
if ($1 > 7) { |
if ($1 > 7) { |
$logfail = 1; |
$logfail = 1; |
} |
} |