diff -urN smeserver-geneweb-2.3.0.old/createlinks smeserver-geneweb-2.3.0/createlinks --- smeserver-geneweb-2.3.0.old/createlinks 2022-07-12 21:03:41.000000000 +0400 +++ smeserver-geneweb-2.3.0/createlinks 2022-07-14 14:24:33.187000000 +0400 @@ -36,4 +36,23 @@ templates2events("/etc/systemd/system-preset/49-koozali.preset", $event); event_link("systemd-default", $event, "06"); event_link("restart-smanager","smeserver-geneweb-update","10"); + #-------------------------------------------------- +# for smeserver-manager +#-------------------------------------------------- +my $event= "smeserver-geneweb-update"; +safe_symlink('restart', "root/etc/e-smith/events/$event/services2adjust/smanager"); +event_link('navigation2-conf', "$event", '80'); +event_link('routes2-conf', "$event", '80'); +event_link('locales2-conf', "$event", '80'); + +#-------------------------------------------------- +# for backup +#-------------------------------------------------- +use esmith::Build::Backup qw(:all); +backup_includes("smeserver-geneweb", qw( +/opt/geneweb/bases/ +)); +backup_excludes("smeserver-geneweb", qw( +/opt/geneweb/bases/README.txt +)); diff -urN smeserver-geneweb-2.3.0.old/root/etc/e-smith/db/configuration/migrate/20geneweb smeserver-geneweb-2.3.0/root/etc/e-smith/db/configuration/migrate/20geneweb --- smeserver-geneweb-2.3.0.old/root/etc/e-smith/db/configuration/migrate/20geneweb 2022-07-12 21:03:41.000000000 +0400 +++ smeserver-geneweb-2.3.0/root/etc/e-smith/db/configuration/migrate/20geneweb 2022-07-12 22:07:37.217000000 +0400 @@ -1,35 +1,27 @@ -# create status and access for geneweb and gwsetup if not existing -# set domain if empty +{ -my $rec; +# migrate of geneweb, gwsetup configuration +my ($rec, $ip, $ip2); for my $service ( qw( geneweb gwsetup ) ) { if ( $rec = $DB->get($service) ) { - if ( ! $rec->prop('status') ) { - $rec->set_prop('status', 'disabled'); - } - if ( ! $rec->prop('access') ) { - $rec->set_prop('access', 'private'); - } - if ( ! $rec->prop('domain') ) { - $rec->set_prop('domain', $service . '.' . - ($DB->get('DomainName')->value() || '')); - } # change TCPPort attributes to TcpPort if ( $rec->prop('TCPPort') ) { - $rec->set_prop('TcpPort', ($DB->get('TCPPort')->value() || '')); - $DB->delete_prop($service,'TCPPort'); + $rec->set_prop('TcpPort', $rec->prop('TCPPort')); + $rec->delete_prop('TCPPort'); } + $ip = ($rec->prop('only') || '') if ($service eq 'geneweb'); + $ip2 = ($rec->prop('only') || '') if ($service eq 'gwsetup'); } } -# move only IP from geneweb to gwsetup if existing +# move 'only' from geneweb to gwsetup if existing -my $ip = $DB->get_prop('geneweb', 'only'); -my $ip2 = $DB->get_prop('gwsetup', 'only'); +return unless $ip; -if ( $ip and ! $ip2 ) { - $DB->delete_prop('geneweb','only'); - ($DB->get('gwsetup'))->set_prop('only', $ip); -} +$rec = $DB->get('geneweb'); +rec->delete_prop('only') if $ip; + +$DB->set_prop('gwsetup', 'only', "$ip") unless $ip2; +} diff -urN smeserver-geneweb-2.3.0.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/86GwsetupAlias smeserver-geneweb-2.3.0/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/86GwsetupAlias --- smeserver-geneweb-2.3.0.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/86GwsetupAlias 2020-11-05 20:15:06.000000000 +0400 +++ smeserver-geneweb-2.3.0/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/86GwsetupAlias 2022-07-14 13:53:17.889000000 +0400 @@ -1,36 +1,38 @@ { -# gwsetup ( verify settings!) +# gwsetup (geneweb) my $status = $gwsetup{'status'} || 'disabled'; if ($status eq 'enabled') { $OUT .="#-------------------------------------------------\n"; - $OUT .="# gwsetup settings from smeserver-gwsetup\n"; + $OUT .="# gwsetup settings from smeserver-geneweb\n"; $OUT .="#-------------------------------------------------\n"; $OUT .="\n"; $OUT .= qq( SSLRequireSSL - order deny,allow - deny from all + AuthName "Gwsetup (geneweb)" + AuthType Basic + AuthBasicProvider external + AuthExternal pwauth + ); - - my $access = ($gwsetup{'access'} || 'private'); + my $access = ($gwsetup{'access'} || 'private'); if ("$access" eq "private") { - $OUT .= " allow from $localAccess $externalSSLAccess"; + $OUT .= " Require ip $localAccess $externalSSLAccess\n"; } elsif ("$access" eq "public") { - $OUT .= " allow from all"; + $OUT .= " Require all granted\n"; + } + else { + $OUT .= " Require ip 127.0.0.1\n"; } $OUT .= qq( - AuthName "gwsetup" - AuthType Basic - AuthBasicProvider external - AuthExternal pwauth - require user admin + Require user admin + ); } diff -urN smeserver-geneweb-2.3.0.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/28gwd_gwsProxyPass smeserver-geneweb-2.3.0/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/28gwd_gwsProxyPass --- smeserver-geneweb-2.3.0.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/28gwd_gwsProxyPass 2022-07-12 21:03:41.000000000 +0400 +++ smeserver-geneweb-2.3.0/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/28gwd_gwsProxyPass 2022-07-14 12:55:55.336000000 +0400 @@ -23,14 +23,12 @@ $OUT .= " RequestHeader set X-Forwarded-Proto 'http'\n"; $OUT .= " \n"; - $OUT .= " order deny,allow\n"; - $OUT .= " deny from all\n"; if ($port eq $plainPort) { - $OUT .= ' allow from 127.0.0.1' . "\n"; + $OUT .= ' Require ip 127.0.0.1' . "\n"; } elsif (($haveSSL eq 'yes') && ($port eq $sslPort)) { - $OUT .= " allow from $localAccess $externalSSLAccess\n"; + $OUT .= " Require ip $localAccess $externalSSLAccess\n"; } else { - $OUT .= " allow from $localAccess\n"; + $OUT .= " Require ip $localAccess\n"; } $OUT .= " \n\n"; diff -urN smeserver-geneweb-2.3.0.old/root/usr/lib/systemd/systemd-geneweb smeserver-geneweb-2.3.0/root/usr/lib/systemd/systemd-geneweb --- smeserver-geneweb-2.3.0.old/root/usr/lib/systemd/systemd-geneweb 2022-07-12 21:03:41.000000000 +0400 +++ smeserver-geneweb-2.3.0/root/usr/lib/systemd/systemd-geneweb 2022-06-30 22:50:50.000000000 +0400 @@ -8,10 +8,12 @@ BD=$(/sbin/e-smith/db configuration getprop geneweb DBDir || echo "/opt/geneweb/bases") HD="/opt/geneweb/gw/gw" BIN=$HD/gwd +LOGF="/var/log/gwd.log" start() { echo -n "Starting GeneWeb Services (geneweb):" $BIN -daemon -hd $HD -bd $BD -lang $GWLANG + /bin/su -s /bin/bash geneweb -c "$BIN -daemon -hd $HD -bd $BD -lang $GWLANG >>$LOGF 2>>\&1" } cd $BD diff -urN smeserver-geneweb-2.3.0.old/root/usr/lib/systemd/systemd-gwsetup smeserver-geneweb-2.3.0/root/usr/lib/systemd/systemd-gwsetup --- smeserver-geneweb-2.3.0.old/root/usr/lib/systemd/systemd-gwsetup 2022-07-12 21:03:41.000000000 +0400 +++ smeserver-geneweb-2.3.0/root/usr/lib/systemd/systemd-gwsetup 2022-06-30 22:50:50.000000000 +0400 @@ -10,10 +10,12 @@ HD="/opt/geneweb/gw/gw" BIN=$HD/gwsetup +LOGF="/var/log/gwsetup.log" start() { echo -n "Starting gwsetup Services (gwsetup):" $BIN -daemon -gd $HD -bindir $HD -p $TcpPort -lang $GWLANG + /bin/su -s /bin/bash geneweb -c "$BIN -daemon -gd $HD -bindir $HD -p $TcpPort -lang $GWLANG >>$LOGF 2>>\&1" } cd $BD