File:  [LON-CAPA] / doc / loncapafiles / webserver.piml
Revision 1.11: download - view: text, annotated - select for diffs
Thu May 16 01:22:38 2002 UTC (21 years, 11 months ago) by harris41
Branches: MAIN
CVS tags: version_0_6, version_0_5_1, version_0_5, version_0_4, stable_2002_july, STABLE, HEAD
BUG 129; BUG 437; need to fix intelligent configuration of
web server files; specifically do NOT create access.conf
and srm.conf files if they do NOT exist; also do NOT
Include conf/loncapa.conf; ONLY include conf/loncapa_apache.conf;
if conf/loncapa.conf is included, then remove it; also beautified
the code; SUPER-DOUBLY-EXTRA-FIXED

<!DOCTYPE piml PUBLIC "-//TUX/DTD piml 1.0 Final//EN" 
	"http://lpml.sourceforge.net/DTD/piml.dtd">
<!-- webserver.piml -->
<!-- Scott Harrison -->

<!-- $Id: webserver.piml,v 1.11 2002/05/16 01:22:38 harris41 Exp $ -->

<!--

Copyright Michigan State University Board of Trustees

This file is part of the LearningOnline Network with CAPA (LON-CAPA).

LON-CAPA is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

LON-CAPA is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with LON-CAPA; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

/home/httpd/html/adm/gpl.txt

http://www.lon-capa.org/

-->

<!-- Default values must be defined before specific values. -->
<!-- If no 'dist' attribute is specified, then it is always installed. -->
<!-- If 'dist' attribute is set to  'default', then the specification. -->
<!-- is accepted if an alternative distribution is not requested or not -->
<!-- defined. -->

<piml>
<targetroot>/</targetroot>
<specialnotices>
<specialnotice>
</specialnotice>
</specialnotices>
<files>
<file>
<target dist='default'>/etc/httpd/conf/httpd.conf</target>
<note>This is always expected for any version of Apache</note>
<dependencies dist='default'>
/etc/httpd/conf/httpd.conf
</dependencies>
<perlscript mode='fg'>
# Generated from doc/loncapafiles/webserver.piml
unless (-e "<TARGET />") {
  print 'ERROR! httpd.conf should exist! Are you missing the Apache '.
    'software package';
  exit(1);
}
else {
  $flag=0;
  open IN, "&lt;<TARGET />";
  while (&lt;IN&gt;) { if (/^\s*Include\s+conf\/srm.conf/) { $flag=1; } }
  close IN;
  if ($flag!=1 and -e '/etc/httpd/conf/srm.conf') {
    open OUT,"&gt;&gt;<TARGET />";
    print OUT 'Include conf/srm.conf'."\n";
    close OUT;
  }
  $flag=0;
  open IN, "&lt;<TARGET />";
  while (&lt;IN&gt;) { if (/^\s*Include\s+conf\/access.conf/) { $flag=1; } }
  close IN;
  if ($flag!=1 and -e '/etc/httpd/conf/access.conf') {
    open(OUT,'&gt;&gt;<TARGET />');
    print(OUT 'Include conf/access.conf'."\n");
    close(OUT);
  }
  my $eflag=0;
  $flag=0;
  open(IN,'&lt;<TARGET />');
  while (&lt;IN&gt;) { 
    if (/^\s*Include\s+conf\/loncapa_apache.conf/) {
      $flag=1; 
    }
  }
  close(IN);
  unless ($flag==1) {
    open(OUT,'&gt;&gt;<TARGET />');
    print(OUT 'Include conf/loncapa_apache.conf'."\n");
    close(OUT);
  }
  $flag=0;
  open(IN,'&lt;<TARGET />');
  while (&lt;IN&gt;) {
    if (/^\s*Include\s+conf\/loncapa.conf/) {
      $flag=1;
    }
  }
  close(IN);
  $in='';
  if ($flag==1) {
    open(IN,'&lt;<TARGET />');
    while(&lt;IN&gt;) {
      $in.=$_ unless /^\s*Include\s+conf\/loncapa.conf/;
    }
    close(IN);
    open(OUT,'&gt;<TARGET />');
    print(OUT $in."\n");
    close(OUT);
  }
}
</perlscript>
</file>
<file>
<target dist='default'>/etc/httpd/conf/access.conf</target>
<note>This may or may not exist on a system depending on the version of
Apache</note>
<dependencies dist='default'>
/etc/httpd/conf/access.conf
</dependencies>
<perlscript mode='fg'>
if (-e '<TARGET />') {
  my $flag=0;
  open(IN,'&lt;<TARGET />');
  while (&lt;IN&gt;) {
    if (/^\s*Include\s+conf\/loncapa_apache.conf/) {
      $flag=1;
    }
  }
  close(IN);
  unless ($flag==1) {
    open(OUT,'&gt;&gt;<TARGET />');
    print(OUT 'Include conf/loncapa_apache.conf'."\n");
    close(OUT);
  }
  $flag=0;
  open(IN,'&lt;<TARGET />');
  while (&lt;IN&gt;) { if (/^\s*Include\s+conf\/loncapa.conf/) { $flag=1; } }
  close(IN);
  $in='';
  if ($flag==1) {
    open(IN,'&lt;<TARGET />');
    while(&lt;IN&gt;) {
      $in.=$_ unless /^\s*Include\s+conf\/loncapa.conf/;
    }
    close(IN);
    open(OUT,'&gt;<TARGET />');
    print(OUT $in."\n");
    close(OUT);
  }
}
</perlscript>
</file>
<file>
<target dist='default'>/etc/httpd/conf/srm.conf</target>
<note>This may or may not exist on a system depending on the version of
Apache</note>
<dependencies dist='default'>
/etc/httpd/conf/srm.conf
</dependencies>
<perlscript mode='fg'>
if (-e '<TARGET />') {
  my $flag=0;
  open(IN,'&lt;<TARGET />');
  while (&lt;IN&gt;) {
    if (/^\s*Include\s+conf\/loncapa_apache.conf/) {
      $flag=1;
    }
  }
  close(IN);
  unless ($flag==1) {
    open(OUT,'&gt;&gt;<TARGET />');
    print(OUT 'Include conf/loncapa_apache.conf'."\n");
    close(OUT);
  }
  $flag=0;
  open(IN,'&lt;<TARGET />');
  while (&lt;IN&gt;) {
    if (/^\s*Include\s+conf\/loncapa.conf/) {
      $flag=1;
    }
  }
  close(IN);
  $in='';
  if ($flag==1) {
    open(IN,'&lt;<TARGET />');
    while(&lt;IN&gt;) {
      $in.=$_ unless /^\s*Include\s+conf\/loncapa.conf/;
    }
    close(IN);
    open(OUT,'&gt;<TARGET />');
    print(OUT $in."\n");
    close(OUT);
  }
}
</perlscript>
</file>
</files>
</piml>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>