# --
# INSTALL description of OTRS
# Copyright (C) 2001-2009 OTRS AG, http://otrs.org/
# --
# $Id: INSTALL,v 1.50 2009/08/27 17:32:09 martin Exp $
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (AGPL). If you
# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
# --

Software requirements?
======================

  On all Perl-Platforms! You need:
    * min. Perl 5.8.8
    * Database (e. g. MySQL, PostgreSQL)
    * Webserver (mod_perl isn't required but "very nice" to have)
    * LDAPv2 compliant server (OpenLDAP for works fine, however LDAP isn't required)
    * some CPAN-Module (DBI, DBD::mysql, Digest::MD5, Crypt::PasswdMD5, MIME::Base64 (if Perl < 5.8),
      Net::DNS, LWP::UserAgent) for LDAP (Net::LDAP), for stats (GD, GD::Text,
      GD::Graph, GD::Graph::lines, GD::Text::Align) and for PDF output (PDF::API2,
      Compress::Zlib)

Installation:
=============

This few steps describe an OTRS installation incl. webserver and database
settings. The OTRS user is "otrs" and the home (root) directory is /usr/local/otrs
(of course you can choose an other directory or/and OTRS user).

1) Install tar.gz:
   ---------------
   shell> cd /usr/local/
   shell> tar -xzvf otrs-x.x.x.tar.gz
   shell> mv otrs-x.x.x otrs

2) Install CPAN Modules (if needed):
   ---------------------------------
   Note: use "bin/otrs.checkModules" to get an overview of all installed and
   required cpan modules.

   a) Install the RPMs if your distributions provides RPMs for
      the required CPAN modules.

   b) Install the required modules via CPAN shell (http://www.cpan.org/)
      shell> perl -MCPAN -e shell;
      ...
      install Digest::MD5
      install Crypt::PasswdMD5
      install Net::DNS
      install MIME::Base64 (if Perl < 5.8)
      ...

      if you plan to use an LDAP directory service you should install Net::LDAP
      ...
      install Net::LDAP
      ...
      and maybe the GD stuff (stats support, not required!)
      ...
      install GD
      install GD::Text
      install GD::Graph
      install GD::Graph::lines
      install GD::Text::Align
      ...
      and if you plan to use PDF output (not required!)
      ...
      install PDF::API2
      install Compress::Zlib
      ...

3) Create user:
   ------------
    Add user:
    ---------
    shell> useradd -d /usr/local/otrs/ -c 'OTRS user' otrs

    Add user to webserver group (if the webserver is not running with OTRS user):
    -----------------------------------------------------------------------------
    shell> usermod -G www otrs

    (SuSE=www, Red Hat/Fedora=apache)

4) Demo config files:
   ------------------
    There are several OTRS demo config files in $OTRS_HOME/Kernel/*.dist
    and $OTRS_HOME/Kernel/Config/*.dist. Make copies of all demo config files:

      shell> cp Kernel/Config.pm.dist Kernel/Config.pm

      shell> cd Kernel/Config/
      shell> for foo in *.dist; do cp $foo `basename $foo .dist`; done

    Or if you are installing OTRS an a Windows system:

      copy Kernel/Config.pm.dist Kernel/Config.pm

      cd Kernel/Config/
      copy *.dist *.

5) Check if all needed modules are installed:
   ------------------------------------------
      shell> perl -cw /usr/local/otrs/bin/cgi-bin/index.pl
      /usr/local/otrs/bin/cgi-bin/index.pl syntax OK

      shell> perl -cw /usr/local/otrs/bin/PostMaster.pl
      /usr/local/otrs/bin/PostMaster.pl syntax OK

    If you get "syntax OK" it seems to be Ok. Go ahead.

6) Webserver:
   ----------
   [follow README.webserver]

7) File Permissions:
   -----------------
   To set the file permissions with a functional package manager:
   "bin/SetPermissions.pl --otrs-user=<OTRS_USER> --web-user=<WEBSERVER_USER> [--otrs-group=<OTRS_GROUP>] [--web-group=<WEB_GROUP>] <OTRS_HOME>"
    e. g.
     Webserver with OTRS user:
        "bin/SetPermissions.pl --otrs-user=otrs --web-user=otrs /usr/local/otrs"
     Webserver with www user (e. g. SuSE):
        "bin/SetPermissions.pl --otrs-user=otrs --web-user=www /usr/local/otrs"
     Webserver with apache user (e. g. Redhat):
        "bin/SetPermissions.pl --otrs-user=otrs --web-user=apache --otrs-group=apache --web-group=apache /usr/local/otrs"

8) Database setup:
   ---------------
   If you use MySQL, you can use the Web-Installer (http://yourhost/otrs/installer.pl).
   Else follow README.database --> "DB - Setup Example".

9) Config file ($HOME/Kernel/Config.pm):
   -------------------------------------
   If you used the Web-Installer, you can skip this point. If not,
   set some Kernel::Config ($HOME/Kernel/Config.pm) Options (FQDN, SystemID, Ticket::Hook,
   Home, ...)

10) First Login:
   ------------
   http://yourhost/otrs/index.pl
   User: root@localhost
   PW: root

   --> goto AdminArea and set some config settings (UserAdd, Queues, ...).

   Finished.

11) First Email:
    ------------
   pipe an email directly into $OTRS_HOME/bin/Postmaster.pl
    (e. g. 'cat /usr/local/otrs/doc/test-email-1.box | /usr/local/otrs/bin/PostMaster.pl').

12) Cronjobs for the OTRS user:
    ---------------------------
    There are several OTRS default cronjobs in $OTRS_HOME/var/cron/*.dist.
    Make copies of all of the default cronjobs:

      shell> cd var/cron
      shell> for foo in *.dist; do cp $foo `basename $foo .dist`; done

    Or if you are installing OTRS an a Windows system:

      cd var/cron
      copy *.dist *.


    Use $OTRS_HOME/bin/Cron.sh {start|stop|restart} to start or stop this cronjobs
    from $OTRS_HOME/var/cron/* (.dist will be ignored).

    >> Note: Install this cronjobs as OTRS user. <<

Notes:
======

Also you should read the OTRS performance tuning chapter on our homepage:
http://doc.otrs.org/2.4/en/html/.

For installation questions ask otrs@otrs.org (http://lists.otrs.org/).

((enjoy)).

 Your OTRS Team

(July 2009 Straubing/Germany)

EOF
