]> git.treefish.org Git - fex.git/blobdiff - install
Original release 20150826
[fex.git] / install
diff --git a/install b/install
index 9c49c06cf4d54193ba27a1ebc6aec17ddfadeec1..6f0bb62a6e556f1cbf05ec1b357c41e398e1f2fe 100755 (executable)
--- a/install
+++ b/install
@@ -7,6 +7,8 @@ use Socket;
 use IO::Socket::INET;
 use Digest::MD5        'md5_hex';
 
+our (@local_rdomains,@local_rhosts);
+
 $ENV{PATH} .= ':/sbin:/usr/sbin';
 
 $usage = "usage: $0 [-p port] [IP-address]\n";
@@ -63,8 +65,10 @@ if (not $ip and open P,'host $(hostname)|') {
     }
   }
   close P;
-  print "Your IP [$guessed_ip] : ";
-  chomp($ip = <STDIN>);
+  unless (-f $xinetd) {
+    print "Your IP [$guessed_ip] : ";
+    chomp($ip = <STDIN>);
+  }
   $ip ||= $guessed_ip;
 }
 
@@ -211,6 +215,14 @@ if (-d "$FEXHOME/spool") {
 }
 chownr('fex',"$FEXHOME/spool/.");
 
+# fex-VM?
+if (open my $setup,'/root/bin/setup') {
+  while (<$setup>) {
+    exit if /#.*X-VM/;  
+  }
+  close $setup;
+}
+
 system(qw'perl -p -i -e',
   's:href="/?FAQ.html":href="/FAQ/FAQ.html":',
   "$FEXHOME/lib/fup.pl"
@@ -226,7 +238,8 @@ close $fph;
 
 eval $conf;
 
-die "no \$spooldir in $fph\n" unless $spooldir;
+# die "no \$spooldir in $fph\n" unless $spooldir;
+$spooldir ||= '/home/fex/spool';
 die "\$spooldir=$spooldir is not a directory, see $fph\n" unless -d $spooldir;
 symlink $spooldir,"$FEXHOME/spool" unless -e "$FEXHOME/spool";
 @sds1 = stat "$spooldir/.";
@@ -256,6 +269,7 @@ if ($newinstall or not -s $aa) {
     last if $admin =~ /.\@./;
     print "admin must be a valid email address!\n";
   }
+  $aa = "$spooldir/$admin/@";
   while (not $admin_pw) {
     print "F*EX admin password: ";
     $admin_pw = <STDIN>;
@@ -353,12 +367,13 @@ unless (-f $xinetd) {
   if ($crontab !~ /fex_cleanup/) {
     open $crontab,">fex.cron" or die "cannot create fex.cron - $!\n";
     print {$crontab} $crontab,"\n";
+    print {$crontab} " 3 2 * * * exec $FEXHOME/bin/backup\n";
     print {$crontab} " 3 3 * * * exec $FEXHOME/bin/fex_cleanup\n";
     close $crontab;
-    system qw(crontab -u fex fex.cron);
+    system qw'crontab -u fex fex.cron';
   }
 
-  chownr('fex:root',"$FEXHOME $FEXHOME/spool/.");
+  chownr('fex:root',$FEXHOME,"$FEXHOME/spool/.");
   chmodr('go-r',"$FEXHOME/lib","$FEXHOME/cgi-bin","$FEXHOME/spool/.");
 
   print "\n";
@@ -378,12 +393,12 @@ unless (-f $xinetd) {
 
 if (@local_rdomains and not @local_rhosts) {
   print "\nWARNING:\n";
-  print "In $fph you have @local_rdomains but not @local_rhosts!\n";
+  print "In $fph you have \@local_rdomains but not \@local_rhosts!\n";
   print "Selfregistrating of external users will not work!\n";
   print "See ${fph}_new/\n";
 }
 
-if (`$sendmail -h 2>&1` =~ /exim/ and 
+if (`$sendmail -h 2>&1 </dev/null` =~ /exim/ and 
     `grep trusted_users /etc/exim4/exim4.conf 2>/dev/null` !~ /\bfex\b/) {
   print "\nWARNING:\n";
   print "$sendmail is exim\n";