[LON-CAPA-cvs] cvs: doc /install/linux install.pl

raeburn raeburn at source.lon-capa.org
Tue Jun 3 20:25:32 EDT 2014


raeburn		Wed Jun  4 00:25:32 2014 EDT

  Modified files:              
    /doc/install/linux	install.pl 
  Log:
  - Support Ubuntu 14 LTS
  
  
Index: doc/install/linux/install.pl
diff -u doc/install/linux/install.pl:1.27 doc/install/linux/install.pl:1.28
--- doc/install/linux/install.pl:1.27	Wed Dec 11 15:37:57 2013
+++ doc/install/linux/install.pl	Wed Jun  4 00:25:32 2014
@@ -72,7 +72,7 @@
           &mt('Stopping execution.')."\n";
     exit;
 } else {
-    print LOG '$Id: install.pl,v 1.27 2013/12/11 15:37:57 raeburn Exp $'."\n";
+    print LOG '$Id: install.pl,v 1.28 2014/06/04 00:25:32 raeburn Exp $'."\n";
 }
 
 #
@@ -656,17 +656,25 @@
 sub chkapache {
     my ($distro,$instdir) = @_;
     my $fixapache = 1;
-    if ($distro =~ /^(debian|ubuntu)/) {
+    if ($distro =~ /^(debian|ubuntu)(\d+)$/) {
+        my $distname = $1;
+        my $version = $2;
         if (!-e "$instdir/debian-ubuntu/loncapa") {
             $fixapache = 0;
             print &mt('Warning: No LON-CAPA Apache configuration file found for installation check.')."\n"; 
-        } elsif ((-e "/etc/apache2/sites-available/loncapa") && (-e "$instdir/debian-ubuntu/loncapa")) {
-            if (open(PIPE, "diff --brief $instdir/debian-ubuntu/loncapa /etc/apache2/sites-available/loncapa |")) {
-                my $diffres = <PIPE>;
-                close(PIPE);
-                chomp($diffres);
-                unless ($diffres) {
-                    $fixapache = 0;
+        } else {
+            my $configfile = "/etc/apache2/sites-available/loncapa";
+            if (($distname eq 'ubuntu') && ($version > 12)) {
+                $configfile = "/etc/apache2/conf-available/loncapa";
+            }
+            if (-e $configfile) {
+                if (open(PIPE, "diff --brief $instdir/debian-ubuntu/loncapa /etc/apache2/sites-available/loncapa |")) {
+                    my $diffres = <PIPE>;
+                    close(PIPE);
+                    chomp($diffres);
+                    unless ($diffres) {
+                        $fixapache = 0;
+                    }
                 }
             }
         }
@@ -1320,7 +1328,7 @@
     if ($distro =~ /^(suse|sles)/) {
         &copy_apache2_suseconf($instdir);
     } elsif ($distro =~ /^(debian|ubuntu)/) {
-        &copy_apache2_debconf($instdir);
+        &copy_apache2_debconf($instdir,$distro);
     } else {
         &copy_httpd_conf($instdir,$distro);
     }
@@ -1783,19 +1791,7 @@
 #########################################################
 
 sub copy_apache2_debconf {
-    my ($instdir) = @_;
-    print_and_log(&mt('Copying loncapa [_1] config file to [_2] and pointing [_3] to it from sites-enabled.',"'apache2'","'/etc/apache2/sites-available'","'000-default symlink'")."\n");
-    my $apache2_sites_enabled_dir = '/etc/apache2/sites-enabled';
-    my $apache2_sites_available_dir = '/etc/apache2/sites-available';
-    if (-l "$apache2_sites_enabled_dir/000-default") {
-        unlink("$apache2_sites_enabled_dir/000-default");
-    }
-    if (-e "$apache2_sites_available_dir/loncapa") {
-        copy("$apache2_sites_available_dir/loncapa","$apache2_sites_available_dir/loncapa.original");
-    }
-    copy("$instdir/debian-ubuntu/loncapa","$apache2_sites_available_dir/loncapa");
-    chmod(0444,"$apache2_sites_available_dir/loncapa");
-    symlink("$apache2_sites_available_dir/loncapa","$apache2_sites_enabled_dir/000-default");
+    my ($instdir,$distro) = @_;
     my $apache2_mods_enabled_dir = '/etc/apache2/mods-enabled';
     my $apache2_mods_available_dir = '/etc/apache2/mods-available';
     foreach my $module ('headers.load','expires.load') {
@@ -1804,6 +1800,39 @@
             print_and_log(&mt('Enabling "[_1]" Apache module.',$module)."\n");
         }
     }
+    my $apache2_sites_enabled_dir = '/etc/apache2/sites-enabled';
+    my $apache2_sites_available_dir = '/etc/apache2/sites-available';
+    my $defaultconfig = "$apache2_sites_enabled_dir/000-default";
+    my ($distname,$version);
+    if ($distro =~ /^(debian|ubuntu)(\d+)$/) {
+        $distname = $1;
+        $version = $2;
+    }
+    if (($distname eq 'ubuntu') && ($version > 12)) {
+        $defaultconfig = "$apache2_sites_enabled_dir/000-default.conf";
+    }
+    if (-l $defaultconfig) {
+        unlink($defaultconfig);
+    }
+    if (($distname eq 'ubuntu') && ($version > 12)) {
+        print_and_log(&mt('Copying loncapa [_1] config file to [_2] and pointing [_3] to it from conf-enabled.',"'apache2'","'/etc/apache2/conf-available'","'loncapa symlink'")."\n");
+        my $apache2_conf_enabled_dir = '/etc/apache2/conf-enabled';
+        my $apache2_conf_available_dir = '/etc/apache2/conf-available';
+        if (-e "$apache2_conf_available_dir/loncapa") {
+            copy("$apache2_conf_available_dir/loncapa","$apache2_conf_available_dir/loncapa.original");
+        }
+        copy("$instdir/debian-ubuntu/loncapa","$apache2_conf_available_dir/loncapa");
+        chmod(0444,"$apache2_conf_available_dir/loncapa");
+        symlink("$apache2_conf_available_dir/loncapa","$apache2_conf_enabled_dir/loncapa.conf");
+    } else {
+        print_and_log(&mt('Copying loncapa [_1] config file to [_2] and pointing [_3] to it from sites-enabled.',"'apache2'","'/etc/apache2/sites-available'","'000-default symlink'")."\n");
+        if (-e "$apache2_sites_available_dir/loncapa") {
+            copy("$apache2_sites_available_dir/loncapa","$apache2_sites_available_dir/loncapa.original");
+        }
+        copy("$instdir/debian-ubuntu/loncapa","$apache2_sites_available_dir/loncapa");
+        chmod(0444,"$apache2_sites_available_dir/loncapa");
+        symlink("$apache2_sites_available_dir/loncapa","$apache2_sites_enabled_dir/000-default");
+    }
     print_and_log("\n");
 }
 




More information about the LON-CAPA-cvs mailing list