stas        2002/12/03 21:11:02

  Modified:    src/download docs.pod
  Log:
  start the mirroring section
  
  Revision  Changes    Path
  1.9       +100 -0    modperl-docs/src/download/docs.pod
  
  Index: docs.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/download/docs.pod,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- docs.pod  19 Aug 2002 06:55:41 -0000      1.8
  +++ docs.pod  4 Dec 2002 05:11:01 -0000       1.9
  @@ -134,6 +134,106 @@
   contained in I<admin/> in the CVS tree, especially I<style.pod>, to
   see what guidelines you should follow.
   
  +=head1 Mirroring the Site
  +
  +If you want to mirror the site, it's the easiest to recreate the site
  +from scratch on your mirror, rather than using the normal mirroring
  +process. This is because the site is quite big and by simply copying
  +it you won't get the search working.
  +
  +If you decided to build the site's mirror by yourself, here is the
  +information about how to setup the server configuration and keep it in
  +sync with the master site using the crontab jobs:
  +
  +Make sure to adjust the paths and other details in the following files
  +before using them. That includes the URL of the site, the location of
  +the source files and the location of the C<swish-e> binary, which you
  +need to install if you don't have it already (you need swish-e 2.1 or
  +higher).
  +
  +Here is the I<httpd.conf> configuration section:
  +
  +  Alias /modperl/ "/usr/local/modperl-docs/dst_html/"
  +  <Directory "/usr/local/modperl-docs/dst_html">
  +      Options Indexes MultiViews
  +      AllowOverride None
  +      Order allow,deny
  +      Allow from all
  +  </Directory>
  +  <Directory "/usr/local/modperl-docs/dst_html/search">
  +      SetEnv SWISH_BINARY_PATH "/usr/local/bin/swish-e"
  +      SetEnv PERL5LIB "/usr/local/modperl-docs/dst_html/search/modules"
  +      Options +ExecCGI
  +      AddHandler cgi-script cgi
  +  </Directory>
  +
  +Here is the cron script that updates the site (save it as
  +I</usr/local/modperl-docs/bin/site_build>):
  +
  +  #!/usr/bin/perl -w
  +  # file: site_build
  +  #
  +  # this script does different things depending on how it was named (or
  +  # a symlink) if the name includes:
  +  # force - the whole site is rebuilt
  +  # pdf   - builds pdfs
  +  # index - builds the index
  +  #
  +  # the easiest way is to use symlinks to the same script
  +  #
  +  # by default it only updates the changed files
  +  
  +  use strict;
  +  
  +  my $src = "/usr/local/modperl-docs";
  +  
  +  umask 0002;
  +  
  +  my $HOME = $ENV{HOME};
  +  $ENV{PATH} = 
"/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/bin:/usr/X11R6/bin:$HOME";
  +  
  +  $ENV{PERL5LIB} = 
"$HOME/lib/perl5/5.00503:$HOME/lib/perl5/site_perl/5.005:$HOME/lib/perl5/site_perl:$HOME/lib/perl5";
  +  
  +  $ENV{MODPERL_SITE} = 'http://theoryx5.uwinnipeg.ca/modperl';
  +  
  +  $ENV{SWISH_BINARY_PATH} = '/usr/local/bin/swish-e';
  +  
  +  chdir $src;
  +  # Do different things depending on our name
  +  my($name) = $0 =~ m|([^/]+)$|;
  +  
  +  my $reindex = $name =~ /index/ ? 1 : 0;
  +
  +  my $flags = '';
  +  $flags .= 'f' if $name =~ /force/;
  +  $flags .= 'd' if $name =~ /pdf/;
  +  $flags = $flags ? "-$flags" : "";
  +  
  +  system("cvs up -dP >/dev/null 2>&1");
  +  
  +  system("bin/build $flags");
  +  
  +  system("bin/makeindex") if $reindex;
  +
  +Next, create the symlinks:
  +
  +  % ln -s /usr/local/modperl-docs/bin/site_build \
  +    /usr/local/modperl-docs/bin/site_build_force_pdf_index
  +  % ln -s /usr/local/modperl-docs/bin/site_build \
  +    /usr/local/modperl-docs/bin/site_build_index
  +  % ln -s /usr/local/modperl-docs/bin/site_build \
  +    /usr/local/modperl-docs/bin/site_build_pdf_index
  +
  +And finally install the crontab:
  +
  +  # every monday rebuild all, including pdf
  +  30 05  * * 1 /usr/local/modperl-docs/bin/site_build_force_pdf_index
  +  # update all (only changes/no pdf) every 6 hours
  +  15 6,12,18 * * * /usr/local/modperl-docs/bin/site_build_index
  +  # update all (only changes and pdfs) once a day
  +  15 0 * * * /usr/local/modperl-docs/bin/site_build_pdf_index
  +
  +
   =head1 Maintainers
   
   Maintainer is the person(s) you should contact with updates,
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to