home *** CD-ROM | disk | FTP | other *** search
/ PC World 2002 September / PCWorld_2002-09_cd.bin / Komunik / apache / apache_2.0.39-win32-x86-no_ssl.msi / Data.Cab / F46421_InstallConf.awk < prev    next >
Text File  |  2001-11-13  |  5KB  |  142 lines

  1. #
  2. # InstallConf.awk Apache HTTP 2.0 script to rewrite the @@ServerRoot@@ 
  3. # tags in httpd-win.conf to httpd.default.conf - then duplicate the
  4. # conf files if they don't already exist.
  5. #
  6. # Note that we -don't- want the ARGV file list, so no additional {} blocks
  7. # are coded.  Use explicit args (more reliable on Win32) and use the fact
  8. # that ARGV[] params are -not- '\' escaped to process the C:\Foo\Bar Win32
  9. # path format.  Note that awk var=path would not succeed, since it -does-
  10. # escape backslashes in the assignment.  Note also, a trailing space is
  11. # required for paths, or the trailing quote following the backslash is 
  12. # escaped, rather than parsed.
  13. #
  14. BEGIN { 
  15.     domainname = ARGV[1];
  16.     servername = ARGV[2];
  17.     serveradmin = ARGV[3];
  18.     serverport = ARGV[4];
  19.     serverroot = ARGV[5];
  20.  
  21.     delete ARGV[5];
  22.     delete ARGV[4];
  23.     delete ARGV[3];
  24.     delete ARGV[2];
  25.     delete ARGV[1];
  26.  
  27.     gsub( /\\/, "/", serverroot );
  28.     gsub( /[ \/]+$/, "", serverroot );
  29.     tstfl = serverroot "/logs/install.log"
  30.     confroot = serverroot "/conf/";
  31.  
  32.     print "Installing Apache HTTP 2.0 server with" >tstfl;
  33.     print " DomainName =  " domainname >tstfl;
  34.     print " ServerName =  " servername >tstfl;
  35.     print " ServerAdmin = " serveradmin >tstfl;
  36.     print " ServerPort =  " serverport >tstfl;
  37.     print " ServerRoot =  " serverroot >tstfl;
  38.  
  39.     srcfl = confroot "httpd-win.conf";
  40.     dstfl = confroot "httpd.default.conf";
  41.     while ( ( getline < srcfl ) > 0 ) {
  42.         gsub( /@@ServerRoot@@/, serverroot );
  43.         gsub( /@@DomainName@@/, domainname );
  44.         gsub( /@@ServerName@@/, servername );
  45.         gsub( /@@ServerAdmin@@/, serveradmin );
  46.         gsub( /@@Port@@/, serverport );
  47.         print $0 > dstfl;
  48.     }
  49.     close(dstfl);
  50.     close(srcfl);
  51.     print "Rewrote " srcfl "\n to " dstfl > tstfl;
  52.  
  53.     gsub(/\//, "\\", srcfl);
  54.     if (system("del \"" srcfl "\"")) {
  55.         print "Failed to remove " srcfl > tstfl;
  56.     } else {
  57.         print "Successfully removed " srcfl > tstfl;
  58.     }
  59.  
  60.     srcfl = confroot "ssl-std.conf";
  61.     dstfl = confroot "ssl.default.conf";
  62.     while ( ( getline < srcfl ) > 0 ) {
  63.         gsub( /@@ServerRoot@@/, serverroot );
  64.         gsub( /@@DomainName@@/, domainname );
  65.         gsub( /@@ServerName@@/, servername );
  66.         gsub( /@@ServerAdmin@@/, serveradmin );
  67.         gsub( /@@Port@@/, serverport );
  68.         print $0 > dstfl;
  69.     }
  70.     if ( close(dstfl) >= 0 ) {
  71.         close(srcfl);
  72.         print "Rewrote " srcfl "\n to " dstfl > tstfl;
  73.  
  74.         gsub(/\//, "\\", srcfl);
  75.         if (system("del \"" srcfl "\"")) {
  76.             print "Failed to remove " srcfl > tstfl;
  77.         } else {
  78.             print "Successfully removed " srcfl > tstfl;
  79.         }
  80.     }
  81.  
  82.     srcfl = confroot "httpd.default.conf";
  83.     dstfl = confroot "httpd.conf";
  84.     if ( ( getline < dstfl ) < 0 ) {
  85.     while ( ( getline < srcfl ) > 0 ) {
  86.         print $0 > dstfl;
  87.         }
  88.         close(srcfl);
  89.         print "Duplicated " srcfl "\n to " dstfl > tstfl;
  90.     } else {
  91.         print "Existing file " dstfl " preserved" > tstfl;
  92.     }
  93.     close(dstfl);
  94.  
  95.     srcfl = confroot "ssl.default.conf";
  96.     dstfl = confroot "ssl.conf";
  97.     if ( ( getline < dstfl ) < 0 ) {
  98.     while ( ( getline < srcfl ) > 0 ) {
  99.         print $0 > dstfl;
  100.         }
  101.         close(srcfl);
  102.         print "Duplicated " srcfl "\n to " dstfl > tstfl;
  103.     } else {
  104.         print "Existing file " dstfl " preserved" > tstfl;
  105.     }
  106.     close(dstfl);
  107.  
  108.     srcfl = confroot "magic.default";
  109.     dstfl = confroot "magic";
  110.     if ( ( getline < dstfl ) < 0 ) {
  111.     while ( ( getline < srcfl ) > 0 ) {
  112.         print $0 > dstfl;
  113.         }
  114.         close(srcfl);
  115.         print "Duplicated " srcfl "\n to " dstfl > tstfl;
  116.     } else {
  117.         print "Existing file " dstfl " preserved" > tstfl;
  118.     }
  119.     close(dstfl);
  120.  
  121.     srcfl = confroot "mime.types.default";
  122.     dstfl = confroot "mime.types";
  123.     if ( ( getline < dstfl ) < 0 ) {
  124.     while ( ( getline < srcfl ) > 0 ) {
  125.         print $0 > dstfl;
  126.         }
  127.         close(srcfl);
  128.         print "Duplicated " srcfl "\n to " dstfl > tstfl;
  129.     } else {
  130.         print "Existing file " dstfl " preserved" > tstfl;
  131.     }
  132.     close(dstfl);
  133.  
  134.     srcfl = confroot "InstallConf.awk";
  135.     gsub(/\//, "\\", srcfl);
  136.     if (system("del \"" srcfl "\"")) {
  137.         print "Failed to remove " srcfl > tstfl;
  138.     } else {
  139.         print "Successfully removed " srcfl > tstfl;
  140.     }
  141.     close(tstfl);
  142. }