Updating INSTALL documents to Reflect lists and bugs URL Changes
[koha_fer] / INSTALL.debian
index 86aa4ef..243a0bc 100644 (file)
@@ -2,11 +2,13 @@
 Installation Guide for Installing Koha on Debian Etch with MySQL 5
 =============================
 
 Installation Guide for Installing Koha on Debian Etch with MySQL 5
 =============================
 
-Copyright (C) 2007, LibLime
+Copyright (C) 2007, 2008 LibLime (http://liblime.com)
+Some parts copyright 2010 Chris Nighswonger
 
 
-Maintainer: Joshua Ferraro (jmf AT liblime DOT com)
-Feedback/bug reports: jmf AT liblime DOT com
-This document last modified: 29 December 2007
+Feedback/bug reports: Koha Developer's List:
+https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
+
+This document last modified: 19 May 2010
 
 Installation Instructions
 =============================
 
 Installation Instructions
 =============================
@@ -20,6 +22,10 @@ as indicated or by running the command directly as root.
 
 See http://www.debian.org/releases/etch/debian-installer/
 
 
 See http://www.debian.org/releases/etch/debian-installer/
 
+WARNING: use Perl 5.8 (a library Koha depends on,
+MARC::File::XML may not work with Perl 5.10, see:
+http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=2309),
+
 1.2 Set up your locale
 
 Your locale should be set to UTF-8, as should Apache2 and MySQL 5.
 1.2 Set up your locale
 
 Your locale should be set to UTF-8, as should Apache2 and MySQL 5.
@@ -62,7 +68,7 @@ Run the following command to update your system:
 
 1.4.1 Option A: Download Koha via Git (optional)
 
 
 1.4.1 Option A: Download Koha via Git (optional)
 
-    $ git clone git://git.koha.org/pub/scm/koha.git kohaclone
+    $ git clone git://git.koha-community.org/pub/scm/koha.git kohaclone
     $ cd kohaclone
     $ git checkout -b myinstall origin
 
     $ cd kohaclone
     $ git checkout -b myinstall origin
 
@@ -70,9 +76,9 @@ Note: for more information about Git, please see the Koha Git Usage Guide:
 
     http://wiki.koha.org/doku.php?id=en:development:git_usage
 
 
     http://wiki.koha.org/doku.php?id=en:development:git_usage
 
-1.4.2 Option B: Download Koha from http://download.koha.org
+1.4.2 Option B: Download Koha from http://download.koha-community.org
 
 
-    $ wget http://download.koha.org/koha-3.00.00-beta.tar.gz
+    $ wget http://download.koha-community.org/koha-3.00.00-beta.tar.gz
     ( Note: use the latest stable version)
 
 1.5 Install additional Debian dependencies
     ( Note: use the latest stable version)
 
 1.5 Install additional Debian dependencies
@@ -103,11 +109,21 @@ Run the following command:
     $ sudo cpan MARC::Record Class::Accessor MARC::Charset MARC::File::XML \
                 Net::Z3950::ZOOM HTML::Template::Pro MARC::Crosswalk::DublinCore \
                 PDF::Reuse PDF::Reuse::Barcode Data::ICal GD::Barcode::UPCE \
     $ sudo cpan MARC::Record Class::Accessor MARC::Charset MARC::File::XML \
                 Net::Z3950::ZOOM HTML::Template::Pro MARC::Crosswalk::DublinCore \
                 PDF::Reuse PDF::Reuse::Barcode Data::ICal GD::Barcode::UPCE \
-                XML::RSS Algorithm::CheckDigits::M43_001 Biblio::EndnoteStyle POE Schedule::At
+                XML::RSS Algorithm::CheckDigits::M43_001 Biblio::EndnoteStyle POE \
+                Schedule::At DBD::SQLite GD SMS::Send HTTP::OAI IPC::Cmd Locale::Currency::Format
+
+
+  WARNINGS:
+  1.6.1 A Perl library Koha depends on, MARC::File::XML may not work with Perl
+    5.10, see: http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=2309),
 
 
-There is a known but benign error in the test case for Barcode::Code128, 
-which is required by PDF::Reuse::Barcode.  If this module is not installed, 
-you can do a forced installation of Barcode::Code128.
+  1.6.2 Recent versions of CGI::Session have caused some issues for users;
+  as of this release date, we suggest downloading the CGI::Session::Serialize::yaml
+  tarball direct from CPAN and install it directly rather than using the cpan command
+
+  1.6.3 There is a known but benign error in the test case for Barcode::Code128, 
+  which is required by PDF::Reuse::Barcode.  If this module is not installed, 
+  you can do a forced installation of Barcode::Code128.
 
 Note: you may need to run CPAN initialization if you've not run cpan
 before:
 
 Note: you may need to run CPAN initialization if you've not run cpan
 before:
@@ -171,11 +187,26 @@ When the configuration is completed CPAN will install the Perl modules.
 
     /etc/perl/XML/SAX/ParserDetails.ini
 
 
     /etc/perl/XML/SAX/ParserDetails.ini
 
-2.4 Create test database in order to install DBD::mysql
+2.4 Install DBD::mysql Perl module
 
 In order to handle UTF-8 correctly, Koha requires at least version 4.004
 
 In order to handle UTF-8 correctly, Koha requires at least version 4.004
-of the DBD::mysql Perl module.  However, Debian Etch has a stable package
+of the DBD::mysql Perl module. However, Debian Etch has a stable package
 only for version 3.0008, so it is necessary to install the module  from CPAN.
 only for version 3.0008, so it is necessary to install the module  from CPAN.
+DBD::mysql's test suite needs to use a MySQL 'test' DB which doesn't exist 
+anymore. So there are two options to install DBD::mysql: 
+
+  (1) install without test suite,
+  (2) install with test suite requiring a test MySQL DB creation.
+
+2.4.1 Install without test suite
+
+Force install DBD::mysql:
+
+    $ sudo cpan
+    cpan> force install DBD::mysql
+
+2.4.2 Create test database in order to install DBD::mysql
+
 Because of DBD::mysql's test suite, it is necessary to temporarily create a
 test database and user:
 
 Because of DBD::mysql's test suite, it is necessary to temporarily create a
 test database and user:
 
@@ -237,7 +268,7 @@ Finally, remove the test database:
     ( answer questions )
     $ make
     $ make test
     ( answer questions )
     $ make
     $ make test
-    $ sudo make install
+    $ sudo make install  #If doing a -dev install, skip the sudo!
 
 4. Configure and start Apache
     $ sudo ln -s /etc/koha/koha-httpd.conf /etc/apache2/sites-available/koha
 
 4. Configure and start Apache
     $ sudo ln -s /etc/koha/koha-httpd.conf /etc/apache2/sites-available/koha
@@ -249,59 +280,79 @@ Add the following lines to /etc/apache2/ports.conf:
     Listen 80
     Listen 8080
 
     Listen 80
     Listen 8080
 
+(Note: It may be productive to use different DNS entries and NamedVirtualHosts
+directives in Apache to separate the staff and OPAC clients, to eliminate a 
+cross-client authentication nuisance, but it will work fine like this.)
+
 Run the following commands:
 
     $ sudo a2enmod rewrite
     $ sudo a2ensite koha
     $ sudo apache2ctl restart
 
 Run the following commands:
 
     $ sudo a2enmod rewrite
     $ sudo a2ensite koha
     $ sudo apache2ctl restart
 
+Note: you may still see the usual Apache default site if your VirtualHost
+configuration isn't correct.  The command "sudo a2dissite default" may be a
+quick fix, but may have side-effects.  See the Apache HTTPD manual section on
+virtual hosts for full instructions.
+
 5. Configure and start Zebra
 
 Note: it's recommended that you daemonize the Zebra process and add it to your
 startup profile. For a non-production test/development installation, running 
 5. Configure and start Zebra
 
 Note: it's recommended that you daemonize the Zebra process and add it to your
 startup profile. For a non-production test/development installation, running 
-Zebra from the command line can be useful. Pick from the two available options
-below, or roll your own :-)
+Zebra from the command line can be useful.  Otherwise you will want zebrasrv
+running when Apache/Koha is.
 
 Note: it's also recommended that you create a Koha system user, which you will
 have specified during the install process. Alternatively, Zebra can be
 configured to run as the root user.
 
 
 Note: it's also recommended that you create a Koha system user, which you will
 have specified during the install process. Alternatively, Zebra can be
 configured to run as the root user.
 
-Option 1: run the Zebra processes from the command line:
+Option 1: run the Zebra process from the command line:
+
+1.1 Zebra Search Server
+
+This process send responses to search requests sent by Koha or
+Z39.50/SRU/SRW clients.
 
 
-    Zebra Server:
     $ sudo -u ${KOHA_USER} zebrasrv -f /etc/koha/koha-conf.xml
     (note that the path to koha-conf.xml may be different depending on your
     installation choices)
 
     $ sudo -u ${KOHA_USER} zebrasrv -f /etc/koha/koha-conf.xml
     (note that the path to koha-conf.xml may be different depending on your
     installation choices)
 
-    Note: the user you run Zebra as will be the only user with write permission
-    on the Zebra index; in development mode, you may wish to use your system
-    user.
+Note: the user you run Zebra as will be the only user with write permission
+      on the Zebra index; in development mode, you may wish to use your
+      system user.
 
 
-    Zebraqueue Daemon:
-    $ sudo -u ${KOHA_USER} misc/bin/zebraqueue_daemon.pl
+1.2 Zebra Indexer
 
 
-    Note: if you are running in this mode, you may wish to defer starting the
-    zebraqueue until you've run the web installer (see below).
+Added/updated/deleted records in Koha MySQL database must be indexed
+into Zebra. A specific script must be launched each time a bibliographic
+or an authority record is edited.
 
 
-Option 2: run the Zebra processes as daemons, and add to startup process:
+    $ sudo -u ${KOHA_USER} misc/migration_tools/rebuild_zebra -z -b -a
+    NOTE: This script should be run as the kohauser (the default is 'koha').
+
+Option 2: run the Zebra process as a daemon, and add to startup process:
 
 Note that references to $SCRIPT_DIR refer to the directory where
 Koha's command-line scripts are installed, e.g., /usr/share/koha/bin.
 
 
 Note that references to $SCRIPT_DIR refer to the directory where
 Koha's command-line scripts are installed, e.g., /usr/share/koha/bin.
 
-    Zebra Server:
+1.1 Zebra Search Server
+
     $ sudo ln -s ${SCRIPT_DIR}/koha-zebra-ctl.sh  /etc/init.d/koha-zebra-daemon
     (Note: ${SCRIPT_DIR} is /usr/share/koha/bin/ by default in a standard install)
     $ sudo update-rc.d koha-zebra-daemon defaults
     ( Note: see man chkconfig(8) on other distros )
     $ sudo ln -s ${SCRIPT_DIR}/koha-zebra-ctl.sh  /etc/init.d/koha-zebra-daemon
     (Note: ${SCRIPT_DIR} is /usr/share/koha/bin/ by default in a standard install)
     $ sudo update-rc.d koha-zebra-daemon defaults
     ( Note: see man chkconfig(8) on other distros )
-    
+
     $ sudo ${SCRIPT_DIR}/koha-zebra-ctl.sh start
 
     $ sudo ${SCRIPT_DIR}/koha-zebra-ctl.sh start
 
-    Zebraqueue Daemon:
-    $ sudo ln -s ${SCRIPT_DIR}/koha-zebraqueue-ctl.sh  /etc/init.d/koha-zebraqueue-daemon
-    $ sudo update-rc.d koha-zebraqueue-daemon defaults 
-    ( Note: see man chkconfig(8) on other distros )
+1.2 Zebra Indexer
 
 
-    $ sudo ${SCRIPT_DIR}/koha-zebraqueue-ctl.sh start
+Add an entry in Koha user crontab to scheduled added/updated/deleted records
+indexing by Zebra with this command:
+
+  <path/to/koha>/misc/migration_tools/rebuild_zebra -z -b -a
+
+See check misc/cronjobs/crontab.example for usage examples.
+NOTE: This job should be setup under the kohauser (the default is 'koha').
 
 6. Run the Web Installer, populate the database, initial configuration of settings
 
 
 6. Run the Web Installer, populate the database, initial configuration of settings
 
@@ -319,19 +370,45 @@ Koha's command-line scripts are installed, e.g., /usr/share/koha/bin.
     $ export KOHA_CONF=/usr/share/koha/etc/koha-conf.xml
       (note: use the correct path to your koha-conf.xml)
 
     $ export KOHA_CONF=/usr/share/koha/etc/koha-conf.xml
       (note: use the correct path to your koha-conf.xml)
 
+7.0 Schedule crontab jobs
+    Do you want Koha to:
+        send mail?
+        automatically index added records?
+        generate overdue or advance notices?
+        mark items lost after they are long overdue?
+        assess fines?
+
+    All these and other regularly scheduled background tasks are handled by crontab.
+    You need to examine the example crontab file, edit a copy to your liking, and schedule it.
+
+    $ crontab -l           # just check if you have any other jobs already scheduled
+    $ cp ./misc/cronjobs/crontab.example my_crontab
+    $ vi my_crontab        # select jobs or adjust times.
+    $                      # If you had already scheduled lines, add them at the bottom.
+    $ crontab my_crontab   # This overwrites your scheduled jobs with the new ones.
+
+    If you want to check to confirm, you can run crontab -l again.
+    NOTE: Be sure to add KOHA_CONF and PERL5LIB vars to the top of your cron jobs.
+
 7.1 Import:
 7.1 Import:
-    $ misc/migration-tools/bulkmarcimport.pl -file /path/to/marc.iso2709
+    Bibliographic data in MARC21 format
+    $ misc/migration_tools/bulkmarcimport.pl -file /path/to/marc.iso2709
+    Authority data in MARC21 format
+    $ misc/migration_tools/bulkauthimport.pl -file /path/to/auth.iso2709
 
 7.2 Fast Index:
 
 7.2 Fast Index:
-    $ misc/migration-tools/rebuild_zebra.pl -b -w
+    $ misc/migration_tools/rebuild_zebra.pl -b -w
+
+    Once the indexing has completed, you will be able to search for records in your system.
+    NOTE: This script should be run as the kohauser (the default is 'koha').
 
 
-    Once the indexing has completed, you will be able to search for records in your
-    system. NOTE: if you don't run the Fast Index utility, and you have the zebraqueue
-    daemon running, the indexin process will happen in the background, but it will be
-    orders of magnitude slower.
+7.3 Schedule regular index updates
+    You need to run rebuild_zebra.pl -b -a -z as a regular cron job in orde to pick up new bibs
+    and items as you add them. Check misc/cronjobs/crontab.example for usage examples. See 7.0 above.
+    NOTE: This job should be setup under the kohauser (the default is 'koha').
 
 
-    To enable the SRU servers, you'll need to edit your koha-conf.xml and change the
-    <listen> options to listen on a TCP port; then restart the zebra daemon.
+7.4 To enable public Z39.50/SRU servers, you'll need to edit your koha-conf.xml and
+    change the <listen> options to listen on a TCP port; then restart the zebra daemon.
 
 UPGRADE
 =======
 
 UPGRADE
 =======
@@ -351,11 +428,9 @@ Uninstall Instructions
    $ sudo apache2ctl restart
 
    $ sudo update-rc.d koha-zebra-daemon remove
    $ sudo apache2ctl restart
 
    $ sudo update-rc.d koha-zebra-daemon remove
-   $ sudo update-rc.d koha-zebraqueue-daemon remove
    $ sudo rm /etc/init.d/koha-zebra-daemon
    $ sudo rm /etc/init.d/koha-zebra-daemon
-   $ sudo rm /etc/init.d/koha-zebraqueue-daemon
 
 
-2) Remove Koha Databases
+2) Remove Database and Indexes
 
    # MySQL
    $ mysql -u<kohauser> -p<kohapassword>
 
    # MySQL
    $ mysql -u<kohauser> -p<kohapassword>
@@ -366,6 +441,7 @@ Uninstall Instructions
    $ zebraidx -c <prefix>/etc/zebradb/zebra-authorities.cfg -g iso2709 -d authorities init
 
 3) Remove Koha Install Directories and Configuration Files
    $ zebraidx -c <prefix>/etc/zebradb/zebra-authorities.cfg -g iso2709 -d authorities init
 
 3) Remove Koha Install Directories and Configuration Files
+   Don't forget about any crontab entries
 
 Tested on the following operating environments
 ==============================================
 
 Tested on the following operating environments
 ==============================================
@@ -387,6 +463,6 @@ version.
 Koha 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.
 Koha 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
-Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-Suite 330, Boston, MA  02111-1307 USA
+You should have received a copy of the GNU General Public License along
+with Koha; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.