Difference between revisions of "Freeside:2.1:Documentation:InstallingOnDebian5"

From Freeside
Jump to: navigation, search
(New page: == Introduction == These instructions document installation of the integrated internal RT ticketing system. There is also support for running this integration against an external RT in...)
 
Line 1: Line 1:
== Introduction ==
+
= Notes =
  
These instructions document installation of the integrated internal RT ticketing system.
+
Note: All of the commands on this page must be run as root.
  
There is also support for running this integration against an external RT installation, but it is not (yet) documented.
+
== Operating System ==
 +
* Basic Debian 5.0 "lenny" install - You will not need the desktop applications group.
  
Documentation contributions are welcome.
+
== Set the System Locale ==
 +
The locale needs to be set correctly for the database.  It is easiest to set it at the beginning of the installation.
  
== Prerequisites ==
+
*  Set the locale correctly -
 +
** For the US, generate both en_US and en_US.UTF-8, but (IMPORTANT) pick en_US as the default...
 +
  dpkg-reconfigure locales
  
* [http://search.cpan.org/dist/Apache-Session Apache::Session]
+
= Prerequisites =
* [http://search.cpan.org/dist/HTML-Tree HTML::TreeBuilder]
 
* [http://search.cpan.org/dist/HTML-Format HTML-Format] (CPAN: "install HTML::FormatText")
 
* [http://search.cpan.org/dist/Test-Inline Test::Inline]
 
* [http://search.cpan.org/dist/Class-ReturnValue Class::ReturnValue]
 
* [http://search.cpan.org/dist/DBIx-SearchBuilder DBIx::SearchBuilder]
 
* [http://search.cpan.org/dist/Log-Dispatch Log::Dispatch]
 
* [http://search.cpan.org/dist/Locale-Maketext-Lexicon Locale::Maketext::Lexicon]
 
* [http://search.cpan.org/dist/Locale-Maketext-Fuzzy Locale::Maketext::Fuzzy]
 
* [http://search.cpan.org/dist/Text-Wrapper Text::Wrapper]
 
* [http://search.cpan.org/dist/Time-modules Time-modules] (CPAN: "install Time::ParseDate")
 
* [http://search.cpan.org/dist/TermReadKey Term::ReadKey]
 
* [http://search.cpan.org/dist/Text-Autoformat Text::Autoformat]
 
* [http://search.cpan.org/dist/Text-Quoted Text::Quoted]
 
* [http://search.cpan.org/dist/Regexp-Common Regexp::Common]
 
* [http://search.cpan.org/dist/HTML-Scrubber HTML::Scrubber]
 
* [http://search.cpan.org/dist/Tree-Simple Tree::Simple]
 
* [http://search.cpan.org/dist/Crypt-SSLeay Crypt::SSLeay]
 
* [http://search.cpan.org/dist/GDGraph GD::Graph]
 
* [http://search.cpan.org/dist/UNIVERSAL-Require UNIVERSAL::require]
 
* [http://search.cpan.org/dist/XML-RSS XML::RSS]
 
* [http://search.cpan.org/dist/Calendar-Simple Calendar::Simple]
 
* [http://search.cpan.org/dist/GD-Graph GD::Graph]
 
* [http://search.cpan.org/dist/GD-Text GD::Text]
 
* [http://search.cpan.org/dist/CSS-Squish CSS::Squish]
 
  
== Installation ==
+
== Aptitude & Required Libraries ==
 +
=== Add the freeside repository ===
 +
* Add the following apt source to <code>/etc/apt/sources.list</code> (for Debian 5.0 "lenny"):
  
* Create a new Unix group called 'rt'
 
* Edit the top-level Makefile, set RT_ENABLED to 1 and set the RT_DOMAIN, RT_TIMEZONE, and FREESIDE_URL variables.
 
* <pre><nowiki>$ make configure-rt</nowiki></pre>
 
* If your database is not on the local machine you will need to edit /opt/rt3/etc/RT_SiteConfig.pm and set the DatabaseHost value
 
* <pre><nowiki># make create-rt</nowiki></pre>
 
** ''Authentication errors?''
 
*** ''Edit <code>pg_hba.conf</code>, change "<code>ident sameuser</code>" auth to "<code>trust</code>" for the line starting with "<code>local all all</code>"''
 
*** ''Restart Pg''
 
*** ''Revert the change back and restart Pg after this installation step''
 
* <pre><nowiki>make install-rt</nowiki></pre>
 
* Add the following to your httpd.conf:
 
 
<pre>
 
<pre>
#replace /var/www/freeside with your freeside document root
+
deb http://freeside.biz/~ivan/freeside-lenny/ ./
<Directory /var/www/freeside/rt/NoAuth>
+
</pre>
<Limit GET POST>
 
allow from all
 
Satisfy any 
 
SetHandler perl-script
 
PerlHandler HTML::Mason
 
</Limit>
 
</Directory>
 
  
#replace /var/www/freeside with your freeside document root
+
* Run <code>aptitude update</code>.
<Directory /var/www/freeside/rt/REST/1.0/NoAuth>
 
<Limit GET POST>
 
allow from all
 
Satisfy any 
 
SetHandler perl-script
 
PerlHandler HTML::Mason
 
</Limit>
 
</Directory>
 
  
#replace /var/www/freeside with your freeside document root
+
=== Install the Appropriate Packages ===
<DirectoryMatch "^%/var/www/freeside/rt/.*NoAuth/images">
 
SetHandler None
 
</DirectoryMatch>
 
  
#replace /var/www/freeside with your freeside document root
+
* Run this command to install all prerequisites:
<Directory /var/www/freeside/rt/Ticket/Attachment>
 
SetHandler perl-script
 
PerlHandler HTML::Mason
 
</Directory>
 
  
#replace /var/www/freeside with your freeside document root
+
<pre>
<Directory /var/www/freeside/rt/Search>  
+
aptitude install \
SetHandler perl-script
+
apache2 apache2-mpm-prefork apache2-utils cron \
PerlHandler HTML::Mason
+
ghostscript gsfonts \
</Directory>
+
libapache-dbi-perl libapache2-mod-perl2 \
 +
libapache2-request-perl \
 +
libapache-session-perl libauthen-passphrase-perl \
 +
libbusiness-creditcard-perl libbusiness-us-usps-webtools-perl \
 +
libcache-cache-perl libcache-simple-timedexpiry-perl libcalendar-simple-perl \
 +
libchart-perl libclass-container-perl \
 +
libclass-data-inheritable-perl libclass-returnvalue-perl \
 +
libcolor-scheme-perl libcompress-zlib-perl \
 +
libconvert-binhex-perl \
 +
libcrypt-openssl-rsa-perl libcrypt-passwdmd5-perl libcss-squish-perl \
 +
libdatetime-perl libdatetime-format-natural-perl \
 +
libdatetime-format-strptime-perl libdate-manip-perl libdbd-mysql-perl \
 +
libdbd-pg-perl libdbi-perl libdbix-dbschema-perl libdbix-searchbuilder-perl \
 +
libdevel-stacktrace-perl libdevel-symdump-perl \
 +
libdigest-sha1-perl libemail-sender-perl \
 +
libemail-sender-transport-smtp-tls-perl liberror-perl \
 +
libexception-class-perl \
 +
libfile-counterfile-perl libfile-rsync-perl \
 +
libfont-afm-perl libfreezethaw-perl \
 +
libfrontier-rpc-perl libgd-gd2-noxpm-perl libgd2-noxpm \
 +
libgd-graph-perl libgd-text-perl libhtml-format-perl libhtml-mason-perl \
 +
libhtml-parser-perl libhtml-defang-perl \
 +
libhtml-scrubber-perl libhtml-tagset-perl libhtml-tree-perl \
 +
libhtml-widgets-selectlayers-perl libio-stringy-perl \
 +
libipc-run-perl libipc-run3-perl libipc-sharelite-perl \
 +
libjson-perl \
 +
liblingua-en-inflect-perl liblingua-en-nameparse-perl \
 +
liblocale-gettext-perl liblocale-maketext-fuzzy-perl \
 +
liblocale-maketext-lexicon-perl liblocale-subcountry-perl \
 +
liblog-dispatch-perl libmailtools-perl libmime-perl \
 +
libnet-daemon-perl libnet-domain-tld-perl libnet-scp-perl \
 +
libnet-ssh-perl libnet-whois-raw-perl libnetaddr-ip-perl \
 +
libnumber-format-perl libnet-ping-external-perl\
 +
libparams-validate-perl libparse-recdescent-perl \
 +
libplrpc-perl libregexp-common-perl \
 +
libspreadsheet-writeexcel-perl libstring-approx-perl \
 +
libstring-shellquote-perl libterm-readkey-perl \
 +
libtest-inline-perl libtext-autoformat-perl \
 +
libtext-charwidth-perl libtext-csv-perl libtext-iconv-perl \
 +
libtext-quoted-perl libtext-reform-perl \
 +
libtext-template-perl libtext-wrapi18n-perl \
 +
libtext-wrapper-perl libtie-ixhash-perl \
 +
libtime-duration-perl libtime-modules-perl libtimedate-perl \
 +
libtree-simple-perl libuniversal-require-perl liburi-perl \
 +
libwant-perl libwww-perl libxml-parser-perl libxml-rss-perl \
 +
lmodern make perl perl-modules \
 +
postgresql postgresql-client \
 +
psfontmgr \
 +
rsync openssh-client \
 +
texlive texlive-latex-extra whois
 
</pre>
 
</pre>
  
* Restart Apache (httpd) and log into the Freeside web interface using the username and password you created during the first part of the installation.
+
= Verify the correct locale is set =
  
* Set the '''ticket_system''' configuration value to <code>RT_Internal</code>. (You may also wish to set '''ticket_system-default_queueid''' once you have RT configured.)
+
* Check your /etc/postgresql/8.3/main/postgresql.conf for the lc_ lines.  If they are set to "= 'en_US.UTF-8'"...
 +
* The postgresql cluster will need to be dropped and re-initialized
 +
pg_dropcluster 8.3 main --stop
 +
pg_createcluster --locale en_US 8.3 main
 +
* Don't forget to restart postgresql
 +
/etc/init.d/postgresql-8.3 start
  
=== Bootstrap RT's permissions ===
+
= Installation =
*Click on "Ticketing Main" on the Freeside main menu to auto-create an RT login for your username
 
*From "Billing Main", go to Configuration > Employees > View/Edit employees and add a temporary "root" user.  Note: the user name must be "root" (without the quotes).
 
* Log into your Freeside installation as the "root" user you just created, by closing all of your browser windows, or by using <code><nowiki>https://root@yourmachone/freeside/</nowiki></code> syntax if your browser supports it.
 
* Click on "Ticketing Main" on the Freeside main menu.  Go to Configuration > Ticketing > Ticketing Global, and then "User Rights".  Grant the "SuperUser" right to your normal RT/Freeside login.
 
* Go back to the freeside employee list and disable the temporary "root" user.
 
  
== Futher Reading ==
+
Follow the [[Freeside:1.9:Documentation:Installation#Installation|regular installation instructions]].
* Follow the [http://wiki.bestpractical.com/ regular RT documentation] to configure RT, setup the mailgate, etc.
 

Revision as of 16:39, 19 December 2010

Notes

Note: All of the commands on this page must be run as root.

Operating System

  • Basic Debian 5.0 "lenny" install - You will not need the desktop applications group.

Set the System Locale

The locale needs to be set correctly for the database. It is easiest to set it at the beginning of the installation.

  • Set the locale correctly -
    • For the US, generate both en_US and en_US.UTF-8, but (IMPORTANT) pick en_US as the default...
  dpkg-reconfigure locales

Prerequisites

Aptitude & Required Libraries

Add the freeside repository

  • Add the following apt source to /etc/apt/sources.list (for Debian 5.0 "lenny"):
deb http://freeside.biz/~ivan/freeside-lenny/ ./
  • Run aptitude update.

Install the Appropriate Packages

  • Run this command to install all prerequisites:
aptitude install \
 apache2 apache2-mpm-prefork apache2-utils cron \
 ghostscript gsfonts \
 libapache-dbi-perl libapache2-mod-perl2 \
 libapache2-request-perl \
 libapache-session-perl libauthen-passphrase-perl \
 libbusiness-creditcard-perl libbusiness-us-usps-webtools-perl \
 libcache-cache-perl libcache-simple-timedexpiry-perl libcalendar-simple-perl \
 libchart-perl libclass-container-perl \
 libclass-data-inheritable-perl libclass-returnvalue-perl \
 libcolor-scheme-perl libcompress-zlib-perl \
 libconvert-binhex-perl \
 libcrypt-openssl-rsa-perl libcrypt-passwdmd5-perl libcss-squish-perl \
 libdatetime-perl libdatetime-format-natural-perl \
 libdatetime-format-strptime-perl libdate-manip-perl libdbd-mysql-perl \
 libdbd-pg-perl libdbi-perl libdbix-dbschema-perl libdbix-searchbuilder-perl \
 libdevel-stacktrace-perl libdevel-symdump-perl \
 libdigest-sha1-perl libemail-sender-perl \
 libemail-sender-transport-smtp-tls-perl liberror-perl \
 libexception-class-perl \
 libfile-counterfile-perl libfile-rsync-perl \
 libfont-afm-perl libfreezethaw-perl \
 libfrontier-rpc-perl libgd-gd2-noxpm-perl libgd2-noxpm \
 libgd-graph-perl libgd-text-perl libhtml-format-perl libhtml-mason-perl \
 libhtml-parser-perl libhtml-defang-perl \
 libhtml-scrubber-perl libhtml-tagset-perl libhtml-tree-perl \
 libhtml-widgets-selectlayers-perl libio-stringy-perl \
 libipc-run-perl libipc-run3-perl libipc-sharelite-perl \
 libjson-perl \
 liblingua-en-inflect-perl liblingua-en-nameparse-perl \
 liblocale-gettext-perl liblocale-maketext-fuzzy-perl \
 liblocale-maketext-lexicon-perl liblocale-subcountry-perl \
 liblog-dispatch-perl libmailtools-perl libmime-perl \
 libnet-daemon-perl libnet-domain-tld-perl libnet-scp-perl \
 libnet-ssh-perl libnet-whois-raw-perl libnetaddr-ip-perl \
 libnumber-format-perl libnet-ping-external-perl\
 libparams-validate-perl libparse-recdescent-perl \
 libplrpc-perl libregexp-common-perl \
 libspreadsheet-writeexcel-perl libstring-approx-perl \
 libstring-shellquote-perl libterm-readkey-perl \
 libtest-inline-perl libtext-autoformat-perl \
 libtext-charwidth-perl libtext-csv-perl libtext-iconv-perl \
 libtext-quoted-perl libtext-reform-perl \
 libtext-template-perl libtext-wrapi18n-perl \
 libtext-wrapper-perl libtie-ixhash-perl \
 libtime-duration-perl libtime-modules-perl libtimedate-perl \
 libtree-simple-perl libuniversal-require-perl liburi-perl \
 libwant-perl libwww-perl libxml-parser-perl libxml-rss-perl \
 lmodern make perl perl-modules \
 postgresql postgresql-client \
 psfontmgr \
 rsync openssh-client \
 texlive texlive-latex-extra whois

Verify the correct locale is set

  • Check your /etc/postgresql/8.3/main/postgresql.conf for the lc_ lines. If they are set to "= 'en_US.UTF-8'"...
  • The postgresql cluster will need to be dropped and re-initialized
pg_dropcluster 8.3 main --stop
pg_createcluster --locale en_US 8.3 main
  • Don't forget to restart postgresql
/etc/init.d/postgresql-8.3 start

Installation

Follow the regular installation instructions.