From 145dc6984170507287785bf5a33e5766baf25766 Mon Sep 17 00:00:00 2001 From: tipaul Date: Fri, 22 Nov 2002 10:41:55 +0000 Subject: [PATCH] moved to misc --- koha.conf | 4 - koha.upgrade | 572 --------------------------------------------------- 2 files changed, 576 deletions(-) delete mode 100644 koha.conf delete mode 100644 koha.upgrade diff --git a/koha.conf b/koha.conf deleted file mode 100644 index 0ea6a20724..0000000000 --- a/koha.conf +++ /dev/null @@ -1,4 +0,0 @@ -database=koha -hostname=localhost -user=Koha -pass=password diff --git a/koha.upgrade b/koha.upgrade deleted file mode 100644 index 2edfe0565c..0000000000 --- a/koha.upgrade +++ /dev/null @@ -1,572 +0,0 @@ -#!/usr/bin/perl -w - -# $Id$ - -#use diagnostics; -use strict; # please develop with the strict pragma - - -if ($<) { - print "\n\nYou must run koha.upgrade as root.\n\n"; - exit; -} - -my $input; - -my %configfile; - -open (KC, "/etc/koha.conf"); -while () { - chomp; - (next) if (/^\s*#/); - if (/(.*)\s*=\s*(.*)/) { - my $variable=$1; - my $value=$2; - # Clean up white space at beginning and end - $variable=~s/^\s*//g; - $variable=~s/\s*$//g; - $value=~s/^\s*//g; - $value=~s/\s*$//g; - $configfile{$variable}=$value; - } -} - -my $intranetdir=$configfile{'intranetdir'}; -my $opacdir=$configfile{'opacdir'}; -my $kohaversion=$configfile{'kohaversion'}; -my $kohalogdir=$configfile{'kohalogdir'}; -my $database=$configfile{'database'}; -my $hostname=$configfile{'hostname'}; -my $user=$configfile{'user'}; -my $pass=$configfile{'pass'}; - - -($kohaversion) || ($kohaversion='unknown version'); -my $newversion=`cat koha.version`; -chomp $newversion; -if ($newversion =~ /RC/) { - print qq| -===================== -= RELEASE CANDIDATE = -===================== - -WARNING WARNING WARNING WARNING WARNING - -You are about to install Koha version $newversion. This version of Koha is a -release candidate. It is not intended to be installed on production systems. -It is being released so that users can test it before we release a final -version. - -|; - print "Are you sure you want to install Koha $newversion? (Y/[N]): "; - - my $answer = ; - chomp $answer; - - if ($answer eq "Y" || $answer eq "y") { - print "Great! continuing setup... \n"; - } else { - print qq| - -Watch for announcements of Koha releases on the Koha mailing list or the Koha -web site (http://www.koha.org/). - -|; - exit; - }; -} - -print qq| - -================ -= Koha Upgrade = -================ - -You are attempting to upgrade from Koha $kohaversion to $newversion. - -We recommend that you do a complete backup of all your files before upgrading. -This upgrade script will make a backup copy of your files for you. - -Would you like to proceed? ([Y]/N): -|; - -my $answer = ; -chomp $answer; - -if ($answer eq "Y" || $answer eq "y") { - print "Great! continuing upgrade... \n"; - } else { - print qq| - -Aborting. Please re-run koha.upgrade when you are ready to upgrade Koha. -|; - exit; -}; - - -# -# Test for Perl and Modules -# -print qq| - -PERL & MODULES -============== - -|; - -print "\nChecking perl modules ...\n"; - unless (eval "require 5.004") { - die "Sorry, you need at least Perl 5.004\n"; -} - -my @missing = (); -unless (eval {require DBI}) { push @missing,"DBI" }; -unless (eval {require Date::Manip}) { push @missing,"Date::Manip" }; -unless (eval {require DBD::mysql}) { push @missing,"DBD::mysql" }; -unless (eval {require Net::Z3950}) { - print qq| - -The Net::Z3950 module is missing. This module is necessary if you want to use -Koha's Z39.50 client to download bibliographic records from other libraries. -To install this module, you will need the yaz client installed from -http://www.indexdata.dk/yaz/ and then you can install the perl module with the -command: - -perl -MCPAN -e 'install Net::Z3950' - -Press the key to continue: -|; - ; -} - -# -# Print out a list of any missing modules -# -if (@missing > 0) { - print "\n\n"; - print "You are missing some Perl modules which are required by Koha.\n"; - print "Once these modules have been installed, rerun this installer.\n"; - print "They can be installed by running (as root) the following:\n"; - foreach my $module (@missing) { - print " perl -MCPAN -e 'install \"$module\"'\n"; - exit(1); - }} else{ - print "All modules appear to be installed, continuing...\n"; -}; - - -my $backupdir='/usr/local/koha/backups'; -print "Please specify a backup directory [$backupdir]: "; - -$answer = ; -chomp $answer; - -if ($answer) { - $backupdir=$answer; -} - -if (! -e $backupdir) { - my $result=mkdir ($backupdir, oct(770)); - if ($result==0) { - my @dirs = split(m#/#, $backupdir); - my $checkdir=''; - foreach (@dirs) { - $checkdir.="$_/"; - unless (-e "$checkdir") { - mkdir($checkdir, 0775); - } - } - } -} - -chmod 0770, $backupdir; - -# Backup MySql database -# -# -my $mysql; -my $mysqldir; - -foreach my $mysql (qw(/usr/local/mysql - /opt/mysql - )) { - if ( -d $mysql ) { - $mysqldir=$mysql; - } -} -if (!$mysqldir){ - $mysqldir='/usr'; -} - - - -my ($sec, $min, $hr, $day, $month, $year) = (localtime(time))[0,1,2,3,4,5]; -$month++; -$year+=1900; -my $date= sprintf "%4d-%02d-%02d_%02d:%02d:%02d", $year, $month, $day,$hr,$min,$sec; - -open (MD, "$mysqldir/bin/mysqldump --user=$user --password=$pass --host=$hostname $database|"); - -(open BF, ">$backupdir/Koha.backup_$date") || (die "Error opening up backup file $backupdir/Koha.backup_$date: $!\n"); - -my $itemcounter=0; -my $bibliocounter=0; -my $biblioitemcounter=0; -my $membercounter=0; - -while () { - (/insert into items /i) && ($itemcounter++); - (/insert into biblioitems /i) && ($biblioitemcounter++); - (/insert into biblio /i) && ($bibliocounter++); - (/insert into borrowers /i) && ($membercounter++); - print BF $_; -} - -close BF; -close MD; - - -my $filels=`ls -hl $backupdir/Koha.backup_$date`; -chomp $filels; -printf qq| - -Backed up: - -%6d biblio entries -%6d biblioitems entries -%6d items entries -%6d borrowers - -$filels - -Does this look right? ([Y]/N): -|, $bibliocounter, $biblioitemcounter, $itemcounter, $membercounter; - -$answer = ; -chomp $answer; - -if ($answer=~/^n/i) { - print qq| - -Aborting. The database dump is located in: - - $backupdir/Koha.backup_$date - -|; - exit; -} else { - print "Great! continuing upgrade... \n"; -}; - - - -if ($opacdir && $intranetdir) { - print qq| - -I believe that your old files are located in: - - OPAC: $opacdir - INTRANET: $intranetdir - - -Does this look right? ([Y]/N): -|; - $answer = ; - chomp $answer; - - if ($answer =~/n/i) { - $intranetdir=''; - $opacdir=''; - } else { - print "Great! continuing upgrade... \n"; - } -} - - -if (!$opacdir || !$intranetdir) { - $intranetdir=''; - $opacdir=''; - while (!$intranetdir) { - print "Please specify the location of your INTRANET files: "; - - $answer = ; - chomp $answer; - - if ($answer) { - $intranetdir=$answer; - } - if (! -e "$intranetdir/htdocs") { - print "\nCouldn't find the htdocs directory here. That doesn't look right.\nPlease enter another location.\n\n"; - $intranetdir=''; - } - } - while (!$opacdir) { - print "Please specify the location of your OPAC files: "; - - $answer = ; - chomp $answer; - - if ($answer) { - $opacdir=$answer; - } - if (! -e "$opacdir/htdocs") { - print "\nCouldn't find the htdocs directory here. That doesn't look right.\nPlease enter another location.\n\n"; - $opacdir=''; - } - } -} - - - -print "\n\nBacking up old Koha scripts...\n"; -print "===============================\n\n"; - -mkdir "$backupdir/kohafiles-$date", 0770; -mkdir "$backupdir/kohafiles-$date/intranet", 0770; -mkdir "$backupdir/kohafiles-$date/opac", 0770; - -my $result=system("cp -R $intranetdir/* $backupdir/kohafiles-$date/intranet/"); -if ($result) { - print "Error encounted when copying $intranetdir to $backupdir/kohafiles-$date/intranet/\n"; - exit; -} else { - system("rm -rf $intranetdir/*"); -} -$result=system("cp -R $opacdir/* $backupdir/kohafiles-$date/opac/"); -if ($result) { - print "Error encounted when copying $opacdir to $backupdir/kohafiles-$date/opac/\n"; - exit; -} else { - system("rm -rf $opacdir/*"); -} - - print "Creating $intranetdir/htdocs...\n"; - mkdir ("$intranetdir/htdocs", oct(750)); - print "Creating $intranetdir/cgi-bin...\n"; - mkdir ("$intranetdir/cgi-bin", oct(750)); - print "Creating $intranetdir/modules...\n"; - mkdir ("$intranetdir/modules", oct(750)); - print "Creating $intranetdir/scripts...\n"; - mkdir ("$intranetdir/scripts", oct(750)); - chmod (oct(770), "$opacdir"); - print "Creating $opacdir/htdocs...\n"; - mkdir ("$opacdir/htdocs", oct(750)); - print "Creating $opacdir/cgi-bin...\n"; - mkdir ("$opacdir/cgi-bin", oct(750)); - -my $httpduser; -my $realhttpdconf; - -foreach my $httpdconf (qw(/usr/local/apache/conf/httpd.conf - /usr/local/etc/apache/httpd.conf - /usr/local/etc/apache/apache.conf - /var/www/conf/httpd.conf - /etc/apache/conf/httpd.conf - /etc/apache/conf/apache.conf - /etc/apache-ssl/conf/apache.conf - /etc/httpd/conf/httpd.conf - /etc/httpd/httpd.conf)) { - if ( -f $httpdconf ) { - $realhttpdconf=$httpdconf; - open (HTTPDCONF, $httpdconf) or warn "Insufficient privileges to open $httpdconf for reading.\n"; - while () { - if (/^\s*User\s+"?([-\w]+)"?\s*$/) { - $httpduser = $1; - } - } - close(HTTPDCONF); - } -} - -unless ($httpduser) { - print qq| -I was not able to determine the user that Apache is running as. This -information is necessary in order to set the access privileges correctly on -/etc/koha.conf. This user should be set in one of the Apache configuration -files using the "User" directive. -|; - print "What is your Apache user? "; - chomp($input = ); - - if ($input) { - $httpduser = $input; - } else { - $httpduser='Undetermined'; - } -} - -print "\n\nINSTALLING KOHA...\n"; -print "\n\n==================\n"; -print "Copying internet-html files to $intranetdir/htdocs...\n"; -system("cp -R intranet-html/* $intranetdir/htdocs/"); -print "Copying intranet-cgi files to $intranetdir/cgi-bin...\n"; -system("cp -R intranet-cgi/* $intranetdir/cgi-bin/"); -print "Copying script files to $intranetdir/scripts...\n"; -system("cp -R scripts/* $intranetdir/scripts/"); -print "Copying module files to $intranetdir/modules...\n"; -system("cp -R modules/* $intranetdir/modules/"); -print "Copying opac-html files to $opacdir/htdocs...\n"; -system("cp -R opac-html/* $opacdir/htdocs/"); -print "Copying opac-cgi files to $opacdir/cgi-bin...\n"; -system("cp -R opac-cgi/* $opacdir/cgi-bin/"); - -system("chown -R root.$httpduser $opacdir"); -system("chown -R root.$httpduser $intranetdir"); - -# LAUNCH SCRIPT -print "Modifying Z39.50 daemon launch script...\n"; -my $newfile=''; -open (L, "$intranetdir/scripts/z3950daemon/z3950-daemon-launch.sh"); -while () { - if (/^RunAsUser=/) { - $newfile.="RunAsUser=$httpduser\n"; - } elsif (/^KohaZ3950Dir=/) { - $newfile.="KohaZ3950Dir=$intranetdir/scripts/z3950daemon\n"; - } else { - $newfile.=$_; - } -} -close L; -system("mv $intranetdir/scripts/z3950daemon/z3950-daemon-launch.sh $intranetdir/scripts/z3950daemon/z3950-daemon-launch.sh.orig"); -open L, ">$intranetdir/scripts/z3950daemon/z3950-daemon-launch.sh"; -print L $newfile; -close L; - -unless ($kohalogdir && -e $kohalogdir) { - $kohalogdir='/var/log/koha'; - print "\n\nDirectory for logging by Z39.50 daemon [$kohalogdir]: "; - chomp($input = ); - if ($input) { - $kohalogdir=$input; - } -} - -unless (-e "$kohalogdir") { - my $result = mkdir 0770, "$kohalogdir"; - if ($result==0) { - my @dirs = split(m#/#, $kohalogdir); - my $checkdir=''; - foreach (@dirs) { - $checkdir.="$_/"; - unless (-e "$checkdir") { - mkdir($checkdir, 0775); - } - } - } -} - -# SHELL SCRIPT -print "Modifying Z39.50 daemon wrapper script...\n"; -$newfile=''; -open (S, "$intranetdir/scripts/z3950daemon/z3950-daemon-shell.sh"); -while () { - if (/^KohaModuleDir=/) { - $newfile.="KohaModuleDir=$intranetdir/modules\n"; - } elsif (/^KohaZ3950Dir=/) { - $newfile.="KohaZ3950Dir=$intranetdir/scripts/z3950daemon\n"; - } elsif (/^LogDir=/) { - $newfile.="LogDir=$kohalogdir\n"; - } else { - $newfile.=$_; - } -} -close S; - -system("mv $intranetdir/scripts/z3950daemon/z3950-daemon-shell.sh $intranetdir/scripts/z3950daemon/z3950-daemon-shell.sh.orig"); -open S, ">$intranetdir/scripts/z3950daemon/z3950-daemon-shell.sh"; -print S $newfile; -close S; -chmod 0750, "$intranetdir/scripts/z3950daemon/z3950-daemon-launch.sh"; -chmod 0750, "$intranetdir/scripts/z3950daemon/z3950-daemon-shell.sh"; -chmod 0750, "$intranetdir/scripts/z3950daemon/processz3950queue"; -chown(0, (getpwnam($httpduser)) [3], "$intranetdir/scripts/z3950daemon/z3950-daemon-shell.sh") or warn "can't chown $intranetdir/scripts/z3950daemon/z3950-daemon-shell.sh: $!"; -chown(0, (getpwnam($httpduser)) [3], "$intranetdir/scripts/z3950daemon/processz3950queue") or warn "can't chown $intranetdir/scripts/z3950daemon/processz3950queue: $!"; - - -open (KC, "/etc/koha.conf"); -my $kccontents=''; -my $kc; -while () { - if (/^\s*includes\s*=/) { - $kccontents.="includes=$intranetdir/htdocs/includes\n"; - $kc->{'includes'}=1; - } elsif (/^\s*httpduser\s*=/) { - $kccontents.="httpduser=$httpduser\n"; - $kc->{'httpduser'}=1; - } elsif (/^\s*kohaversion\s*=/) { - $kccontents.="kohaversion=$newversion\n"; - $kc->{'kohaversion'}=1; - } elsif (/^\s*kohalogdir\s*=/) { - $kccontents.="kohalogdir=$kohalogdir\n"; - $kc->{'kohalogdir'}=1; - } elsif (/^\s*intranetdir\s*=/) { - $kccontents.="intranetdir=$intranetdir\n"; - $kc->{'intranetdir'}=1; - } elsif (/^\s*opacdir\s*=/) { - $kccontents.="opacdir=$opacdir\n"; - $kc->{'opacdir'}=1; - } else { - $kccontents.="$_"; - } -} - -unless (defined($kc->{'kohaversion'})) { - $kccontents.="kohaversion=$newversion\n"; -} -unless (defined($kc->{'includes'})) { - $kccontents.="includes=$intranetdir/htdocs/includes\n"; -} -unless (defined($kc->{'httpduser'})) { - $kccontents.="httpduser=$httpduser\n"; -} -unless (defined($kc->{'intranetdir'})) { - $kccontents.="intranetdir=$intranetdir\n"; -} -unless (defined($kc->{'opacdir'})) { - $kccontents.="opacdir=$opacdir\n"; -} -unless (defined($kc->{'kohalogdir'})) { - $kccontents.="kohalogdir=$kohalogdir\n"; -} - - -system("mv /etc/koha.conf /etc/koha.conf.backup"); - -open (KC, ">/etc/koha.conf") || warn "Couldn't open /etc/koha.conf for writing."; -print KC $kccontents; -close KC; - - -print qq| - -Upgrading Database -================== -|; -system ("perl -I $intranetdir/modules scripts/updater/updatedatabase"); - - - -print qq| - -========================== -= Koha Upgrade Completed = -========================== -The Koha Upgrade is finished. If you are upgrading from a version of Koha -prior to 1.2.1, it is likely that you will have to modify your Apache -configuration to point it to the new files. - -In your INTRANET VirtualHost section you should have: - DocumentRoot $intranetdir/htdocs - ScriptAlias /cgi-bin/koha/ $intranetdir/cgi-bin/ - SetEnv PERL5LIB $intranetdir/modules - -In the OPAC VirtualHost section you should have: - DocumentRoot $opacdir/htdocs - ScriptAlias /cgi-bin/koha/ $opacdir/cgi-bin/ - SetEnv PERL5LIB $intranetdir/modules - -You may also need to uncomment a "LoadModules env_module ... " line and restart -Apache. - -Please report any problems you encounter through http://bugs.koha.org/ -|; -- 2.39.5