die "host $fex is not resolvable - check /etc/resolv.conf\n";
 }
 
+# $fexupdate = '/root/bin/fexupdate';
+# die "found $fexupdate\n" if -x $fexupdate;
+
 $opt_p = 80;
 
 if (open $xinetd,$xinetd) {
 
 unless (getpwnam('fex')) {
   print "creating user fex\n";
-  system 'groupadd -g 80 fex 2>/dev/null || groupadd fex';
+  system 'groupadd --system fex 2>/dev/null || groupadd fex';
   my @g = getgrnam('fex') or die "$0: cannot groupadd fex\n";
   my $gid = $g[2];
   if (getpwuid($gid)) {
   exit unless /^y/i;
 }
 
+# old bug fix
+if (-d "$FEXHOME/htdocs/locale") {
+  chmod 0755,"$FEXHOME/htdocs/locale";
+  chmod 0755,grep { -d $_ } glob("$FEXHOME/locale/*/htdocs");
+}
+
 print "Installing:\n";
 
 $pecl = "$FEXHOME/perl/Encode/ConfigLocal.pm";
     "1;\n";
   close $pecl;
   print $pecl,"\n";
-  chownr('fex:root',"$FEXHOME/perl");
+  chownr('fex:0',"$FEXHOME/perl");
 }
 
 @save = (
     system qw'crontab -u fex fex.cron';
   }
 
-  chownr('fex:root',$FEXHOME,"$FEXHOME/spool/.");
+  chownr('fex:0',$FEXHOME,"$FEXHOME/spool/.","$FEXHOME/htdocs/.");
   chmodr('go-r',"$FEXHOME/lib","$FEXHOME/cgi-bin","$FEXHOME/spool/.");
 
   print "\n";