This section is a guide for installing OTRS on any Linux. Please use this way only in case you feel comfortable with it otherwise use the RPM. Before starting the installation have a look at http://otrs.org/ and check if a newer and better version of the tar.gz file is available. If so please download it and use the newer documentation and the newer rpm.
Software requirements? ====================== On all Perl-Platforms! You need: * min. Perl5 * Database (e. g. MySQL, PostgreSQL) * Webpserver (mod_perl isn't required but "very nice" to have) * some CPAN-Module (DBI, DBD::mysql, Digest::MD5) and for stats (GD, GD::Text, GD::Graph, GD::Graph::lines, GD::Text::Align) Installation: ============= This few steps describe an OTRS installation incl. webserver and database settings. The OTRS user is "otrs" and the home (root) directory is /opt/otrs (of cause you can choose an other directory or/and OTRS user). 1. Install CPAN Modules (if needed): --------------------------------- a) Install the RPMs if your distributions provides RPMs for the CPAN modules. b) Install the modules via CPAN (http://www.cpan.org/) perl -MCPAN -e shell; ... install Digest::MD5 ... 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 ... Check if all needed modules are installed: ------------------------------------------ $shell:~> perl -cw /opt/otrs/bin/cgi-bin/index.pl /opt/otrs/bin/cgi-bin/index.pl syntax OK $shell:~> perl -cw /opt/otrs/bin/PostMaster.pl /opt/otrs/bin/PostMaster.pl syntax OK $shell:~> If you get "syntax OK" it seems to be Ok. Go ahead. 2. Create user: ------------ Add user: --------- $shell: useradd -d /opt/otrs/ -c 'OTRS user' otrs Add user to webserver group (if the webserver is not running with OTRS user): ----------------------------------------------------------------------------- $shell: usermod -G nogroup otrs (SuSE=nogroup, Red Hat=apache) 3. Install tar.gz: --------------- $shell: cd /opt/ $shell: tar -xzvf otrs-xxxx-xx-xx.tar-gz $shell: chown -R /opt/otrs/* otrs 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: cp Kernel/Config.pm.dist Kernel/Config.pm cd Kernel/Config/ 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. Webserver: ---------- [follow README.webserver] 6. Database setup: --------------- If you use MySQL, you can use the Web-Installer (http://yourhost/otrs/installer.pl). Else follow README.database --> "DB - Setup Example". 7. 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, TicketHook, Home, ...) 8. File Permissions: ----------------- Set the file permissions with "$HOME/bin/SetPermissions.sh <OTRS_HOME> <OTRS_USER> <WEBSERVER_USER> [OTRS_GROUP] [WEB_GROUP]" e. g. Webserver with OTRS user: "SetPermissions.sh /opt/otrs otrs otrs" Webserver with wwwrun user (e. g. SuSE): "SetPermissions.sh /opt/otrs otrs wwwrun" Webserver with apache user (e. g. Redhat): "SetPermissions.sh /opt/otrs otrs apache users apache" 9. First Login: ------------ http://yourhost/otrs/index.pl User: root@localhost PW: root --> goto AdminArea and set some config settings (UserAdd, Queues, ...). Finished. 10. First Email: ------------ use the procmailrc of the OTRS user --> ~otrs/.procmailrc or e. g. /opt/otrs/.procmailrc --> send emails to the otrs user (e. g. otrs@localhost) or pipe an email directly into $OTRS_HOME/bin/Postmaster.pl (e. g. 'cat /opt/otrs/doc/test-email-1.box | /opt/otrs/bin/PostMaster.pl'). 11. Cronjobs for the OTRS user: --------------------------- There are several OTRS demo cronjobs in $OTRS_HOME/var/cron/*.dist. Make copies of all of the demo cronjobs: cd var/cron 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. << Remark: For installation questions ask otrs@otrs.org (http://lists.otrs.org/). Have a lot of fun. Martin Edenhofer (January 2003 Frankfurt/Germany) EOF |
Where can I find the database description files? ================================================ XML: ==== $HOME_OTRS/install/database/OpenTRS-schema.xml The XML description files for torque which generate the SQL for your target database e. g. MySQL, PostgreSQL, DB2, Oracle, ...) More Infos: http://jakarta.apache.org/turbine/turbine-2/howto/torque-howto.html MySQL: ------ $HOME_OTRS/install/database/OpenTRS-schema.mysql.sql PostgreSQL: ----------- $HOME_OTRS/install/database/OpenTRS-schema.postgresql.sql Initial insert file: ==================== $HOME_OTRS/install/database/initial_insert.sql contains all needed standard values. At first use the OpenTRS-schema.*.sql and the insert this file. DB - Setup Example (MySQL): =========================== Create OTRS database: --------------------- shell> mysql -u root -p -e 'create database otrs' Create the OTRS tables: ----------------------- shell> mysql -u root -p otrs < install/database/OpenTRS-schema.mysql.sql Insert inital data: ------------------- shell> mysql -u root -p otrs < install/database/initial_insert.sql Create an database user: ----------------------- shell> mysql -u root -p -e 'GRANT ALL PRIVILEGES ON otrs.* TO otrs@localhost IDENTIFIED BY "some-pass" WITH GRANT OPTION;' Reload the grant tables of your mysql-daemon: --------------------------------------------- shell> mysqladmin -u root -p reload ************************************************************** * * * Change the DB-Settings (host, database, user and password) * * * * $OTRS_HOME/Kernel/Config.pm * * [...] * * # Database * * # (The database name.) * * $Self->{Database} = 'otrs'; * * * * # DatabaseUser * * # (The database user.) * * $Self->{DatabaseUser} = 'otrs'; * * * * # DatabasePw * * # (The password of database user.) * * $Self->{DatabasePw} = 'some-pass'; * * [...] * * * ************************************************************** EOF |
Which webserver is needed? ========================== I prefer the apache webserver (http://httpd.apache.org). Configuration: ============== "After" this steps, you will get the login page at http://your-host/otrs/index.pl or http://your-host/otrs/installer.pl. SuSE Linux: =========== a) Install the RPM-Package (http://otrs.org/ - "rpm -i otrs-xxx.rpm"). b) The manual way: Use the "$OTRS_HOME/scripts/suse-httpd.include.conf" include config file. Add it to /etc/sysconfig/apache with HTTPD_CONF_INCLUDE_FILES [...] HTTPD_CONF_INCLUDE_FILES=/opt/otrs/scripts/suse-httpd.include.conf [...] Start SuSEconfig and restart the webserver (rcapache restart). Or edit the httpd.conf directly: ================================ a) *) Change the webserver user (normaly wwwrun) to the OTRS user (otrs). [...] User wwwrun [...] User otrs [...] *) If you can't change the user and group of your webserver (system-wide), because you have other applications running on this server, you can also work with group permissions (more tricky). Use "$HOME/bin/SetPermissions.sh <OTRS_HOME> <OTRS_USER> <WEBSERVER_USER> [OTRS_GROUP] [WEB_GROUP]" e. g. Webserver with otrs user: "SetPermissions.sh /opt/otrs otrs otrs" Webserver with wwwrun user (e. g. SuSE): "SetPermissions.sh /opt/otrs otrs wwwrun" Webserver with apache user (e. g. Redhat): "SetPermissions.sh /opt/otrs otrs apache" b) *) Without mod_perl (just CGI): ============================ Add this to the cgi-bin stuff section in httpd.conf [...] ScriptAlias /otrs/ "/opt/otrs/bin/cgi-bin/" [...] *) With mod_perl (speed!): ======================= Add this to the mod_perl stuff section in httpd.conf [...] Alias /otrs/ "/opt/otrs/bin/cgi-bin/" <Location /otrs> SetHandler perl-script PerlHandler Apache::Registry Options ExecCGI PerlSendHeader On </Location> May you want use a mod_perl startup script. Compiled modules on startup (speed!)! Use the mod_perl startup script which comes with otrs (scripts/apache-perl-startup.pl). - Add startup script (scripts/apache-perl-startup.pl) to httpd.conf [...] # load all otrs modules Perlrequire /path/to/otrs/scripts/apache-perl-startup.pl [...] Edit the scripts/apache-perl-startup.pl script: - Establish datababase connections on process startup (httpd). [...] use Apache (); use Apache::DBI (); Apache::DBI->connect_on_init('DBI:mysql:otrs', 'otrs', 'some-pass'); # Apache::DBI->connect_on_init($data_source, $username, $auth, \%attr) [...] - Change the otrs lib dir! [...] # -- # set otrs lib path! # -- use lib "/path/to/otrs/"; use lib "/path/to/otrs/Kernel/cpan-lib"; [...] Nice! You will love mod_perl! ,-) c) Restart the webserver ===================== d) Web-Installer ============= http://yourhost/otrs/installer.pl First login =========== http://yourhost/otrs/index.pl User: root@localhost PW: root EOF |