Request Tracker Installation

Beginnen wir mit meinem Lieblingsthema, dem Ticket System „Request Tracker“ der Firma Bestpractical Solutions. Ich habe dem Thema nicht ohne Grund eine eigene Rubrik hier gewidmet.

Anfangen möchte ich, wie sollte es auch anders sein, am Anfang, mit der Installation des RT unter Linux. Ich habe mich, wie für alle meine privaten Produktionssysteme für Devuan Linux entschieden, da ich darauf vertraue, dass die Laufen und ich keine Friggelware wie SystemD auf Produktionssystemen einsetze. Die Devuan 2.0 Grundinstallation, minimal, keine Desktop geht fix, danach geht es los mit der RT Installation.

Installation

Als erstes müssen wir uns den Sourcecode vom RT beim Hersteller runter laden, die aktuelle Version ist 4.4.3 und kann mittels:

wget https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz

herunter geladen werden. Danach mit „tar“ entpacken und in das Verzeichnis mit dem Sourcecode wechseln. Dort schauen wir uns mittels „configure –help“ erstmal an, was wir damit anstellen können:

root@rtdemo:~/rt-4.4.3# ./configure --help
`configure' configures RT rt-4.4.3 to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print `checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or `..']

Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/opt/rt4]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]

By default, `make install' will install all the files in
`/opt/rt4/bin', `/opt/rt4/lib' etc. You can specify
an installation prefix other than `/opt/rt4' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/rt]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]

Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-layout=LAYOUT Use a specific directory layout (Default: relative)
--enable-developer Add dependencies needed for testing and developing
RT
--enable-graphviz Turns on support for RT's GraphViz dependency charts
--enable-gd Turns on support for RT's GD pie and bar charts
--enable-gpg Turns on GNU Privacy Guard (GPG) support
--enable-smime Turns on Secure MIME (SMIME) support
--enable-externalauth Add dependencies needed for external auth

Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-web-handler=LIST comma separated list of web-handlers RT will be able
to use. Default is fastcgi. Valid values are
modperl1, modperl2, fastcgi and standalone. To
successfully run RT you need only one.
--with-bin-owner=OWNER user that will own RT binaries (default root)
--with-libs-owner=OWNER user that will own RT libraries (default root)
--with-libs-group=GROUP group that will own RT binaries (default bin)
--with-db-type=TYPE sort of database RT will use (default: mysql)
(mysql, Pg, Oracle and SQLite are valid)
--with-db-host=HOSTNAME FQDN of database server (default: localhost)
--with-db-port=PORT port on which the database listens on
--with-db-rt-host=HOSTNAME
FQDN of RT server which talks to the database server
(default: localhost)
--with-db-dba=DBA name of database administrator (default: root or
postgres)
--with-db-database=DBNAME
name of the database to use (default: rt4)
--with-db-rt-user=DBUSER
name of database user (default: rt_user)
--with-db-rt-pass=PASSWORD
password for database user (default: rt_pass)
--with-web-user=USER user the web server runs as (default: www)
--with-web-group=GROUP group the web server runs as (default: www)
--with-rt-group=GROUP group to own all files (default: rt)
--with-my-user-group set all users and groups to current user/group

--with-attachment-store=TYPE
which attachment storage RT will use for attachments
(default: database) (database, disk, S3 and Dropbox
are valid)

Some influential environment variables:
PERL Perl interpreter command

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to <rt-bugs@bestpractical.com>.
root@rtdemo:~/rt-4.4.3#

Dann suchen wir uns die Optionen raus, die wir benötigen oder nicht haben wollen, das Meiste ist für unseren Test eh default. Der Apache unter Devuan läuft als www-data/www-data.

./configure --disable-developer --enable-graphviz --enable-gd --disable-gpg --disable-smime --disable-externalauth --with-db-rt-host=rtdemo.local --with-db-rt-pass=PASSWORD --with-web-user=www-data --with-web-group=www-data

Das Ergebnis sieht dann etwa so aus:

root@rtdemo:~/rt-4.4.3# ./configure --disable-developer --enable-graphviz --enable-gd --disable-gpg --disable-smime --disable-externalauth --with-db-rt-host=rtdemo.local --with-db-rt-pass=PASSWORD --with-web-user=www-data --with-web-group=www-data
checking for a BSD-compatible install... /usr/bin/install -c
checking for perl... /usr/bin/perl
checking checking version of find... find (GNU findutils) 4.7.0-git
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
configuring for GNU find
checking for chosen layout... relative
checking if group rt3 exists... not found
checking if group rt exists... found
checking if database name is set... yes
checking for dot... no
checking for gdlib-config... no
checking for gpg... yes
checking for openssl... yes
configure: creating ./config.status
config.status: creating etc/upgrade/3.8-ical-extension
config.status: creating etc/upgrade/4.0-customfield-checkbox-extension
config.status: creating etc/upgrade/generate-rtaddressregexp
config.status: creating etc/upgrade/sanity-check-stylesheets
config.status: creating etc/upgrade/shrink-cgm-table
config.status: creating etc/upgrade/shrink-transactions-table
config.status: creating etc/upgrade/switch-templates-to
config.status: creating etc/upgrade/time-worked-history
config.status: creating etc/upgrade/upgrade-articles
config.status: creating etc/upgrade/upgrade-assets
config.status: creating etc/upgrade/vulnerable-passwords
config.status: creating etc/upgrade/upgrade-sla
config.status: creating sbin/rt-ldapimport
config.status: creating sbin/rt-attributes-viewer
config.status: creating sbin/rt-preferences-viewer
config.status: creating sbin/rt-session-viewer
config.status: creating sbin/rt-dump-metadata
config.status: creating sbin/rt-setup-database
config.status: creating sbin/rt-test-dependencies
config.status: creating sbin/rt-email-digest
config.status: creating sbin/rt-email-dashboards
config.status: creating sbin/rt-externalize-attachments
config.status: creating sbin/rt-clean-sessions
config.status: creating sbin/rt-shredder
config.status: creating sbin/rt-validator
config.status: creating sbin/rt-validate-aliases
config.status: creating sbin/rt-email-group-admin
config.status: creating sbin/rt-server
config.status: creating sbin/rt-server.fcgi
config.status: creating sbin/standalone_httpd
config.status: creating sbin/rt-setup-fulltext-index
config.status: creating sbin/rt-fulltext-indexer
config.status: creating sbin/rt-serializer
config.status: creating sbin/rt-importer
config.status: creating sbin/rt-passwd
config.status: creating bin/rt-crontool
config.status: creating bin/rt-mailgate
config.status: creating bin/rt
config.status: creating Makefile
config.status: creating etc/RT_Config.pm
config.status: creating lib/RT/Generated.pm
config.status: creating t/data/configs/apache2.2+mod_perl.conf
config.status: creating t/data/configs/apache2.2+fastcgi.conf
config.status: creating t/data/configs/apache2.4+mod_perl.conf
config.status: creating t/data/configs/apache2.4+fastcgi.conf

Danach können wir auch schon testen, ob alles da ist, was wir brauchen……aber da es eine frische Installation ist, haben wir vermutlich erstmal nichts drauf, nicht mal einen Compiler….daher:

apt-get install gcc make libc6-dev

Dann können wir mit make testdeps schauen, was uns alles fehlt.

root@rtdemo:~/rt-4.4.3# make testdeps
/usr/bin/perl ./sbin/rt-test-dependencies --with-mysql --with-fastcgi
perl:
>=5.10.1(5.24.1) ...found
users:
rt group (rt) ...found
bin owner (root) ...found
libs owner (root) ...found
libs group (bin) ...found
web owner (www-data) ...found
web group (www-data) ...found
CLI dependencies:
Getopt::Long >= 2.24 ...found
Term::ReadKey ...MISSING
Text::ParseWords ...found
HTTP::Request::Common ...MISSING
LWP >= 6.02 ...MISSING
Term::ReadLine ...found
CORE dependencies:
Encode >= 2.64 ...found
Digest::MD5 >= 2.27 ...found
Class::Accessor::Fast ...MISSING
HTML::Mason::PSGIHandler >= 0.52 ...MISSING
MIME::Entity >= 5.504 ...MISSING
DateTime::Locale >= 0.40 ...MISSING
Text::WikiFormat >= 0.76 ...MISSING
Sys::Syslog >= 0.16 ...found
HTML::Quoted ...MISSING
Net::IP ...MISSING
Data::ICal ...MISSING
CGI::PSGI >= 0.12 ...MISSING
XML::RSS >= 1.05 ...MISSING
Mail::Header >= 2.12 ...MISSING
Text::Quoted >= 2.07 ...MISSING
Pod::Select ...found
File::Spec >= 0.8 ...found
Crypt::Eksblowfish ...MISSING
Errno ...found
DBI >= 1.37 ...MISSING
Tree::Simple >= 1.04 ...MISSING
Email::Address >= 1.908 ...MISSING
URI >= 1.59 ...MISSING
Date::Extract >= 0.02 ...MISSING
Plack::Handler::Starlet ...MISSING
File::Temp >= 0.19 ...found
CSS::Minifier::XS ...MISSING
IPC::Run3 ...MISSING
Locale::Maketext::Fuzzy >= 0.11 ...MISSING
Scalar::Util ...found
List::MoreUtils ...MISSING
Time::ParseDate ...MISSING
LWP::Simple ...MISSING
Regexp::Common ...MISSING
Role::Basic >= 0.12 ...MISSING
Text::Wrapper ...MISSING
Module::Refresh >= 0.03 ...MISSING
HTML::RewriteAttributes >= 0.05 ...MISSING
HTML::Entities ...MISSING
HTML::FormatText::WithLinks::AndTables >= 0.06 ...MISSING
Digest::SHA ...found
JSON ...MISSING
Data::GUID ...MISSING
DateTime >= 0.44 ...MISSING
URI::QueryParam ...MISSING
Log::Dispatch >= 2.30 ...MISSING
Locale::Maketext::Lexicon >= 0.32 ...MISSING
Storable >= 2.08 ...found
CSS::Squish >= 0.06 ...MISSING
Time::HiRes ...found
Convert::Color ...MISSING
HTTP::Message >= 6.0 ...MISSING
MIME::Types ...MISSING
Digest::base ...found
Plack >= 1.0002 ...MISSING
DBIx::SearchBuilder >= 1.65 ...MISSING
Text::Password::Pronounceable ...MISSING
HTML::Mason >= 1.43 ...MISSING
Email::Address::List >= 0.02 ...MISSING
CGI::Cookie >= 1.20 ...MISSING
Mail::Mailer >= 1.57 ...MISSING
HTML::Scrubber >= 0.08 ...MISSING
CGI >= 4 ...MISSING
JavaScript::Minifier::XS ...MISSING
File::ShareDir ...MISSING
Devel::StackTrace >= 1.19 ...MISSING
Regexp::Common::net::CIDR ...MISSING
Net::CIDR ...MISSING
UNIVERSAL::require ...MISSING
Symbol::Global::Name >= 0.05 ...MISSING
Locale::Maketext >= 1.06 ...found
Business::Hours ...MISSING
Apache::Session >= 1.53 ...MISSING
Clone ...MISSING
DateTime::Format::Natural >= 0.67 ...MISSING
CGI::Emulate::PSGI ...MISSING
Scope::Upper ...MISSING
Module::Versions::Report >= 1.05 ...MISSING
Data::Page::Pageset ...MISSING
Date::Manip ...MISSING
Devel::GlobalDestruction ...MISSING
Regexp::IPv6 ...MISSING
File::Glob ...found
HTML::FormatText::WithLinks >= 0.14 ...MISSING
Text::Template >= 1.44 ...MISSING
FASTCGI dependencies:
FCGI >= 0.74 ...MISSING
GD dependencies:
GD::Text ...MISSING
GD ...MISSING
GD::Graph >= 1.47 ...MISSING
GRAPHVIZ dependencies:
IPC::Run >= 0.90 ...MISSING
GraphViz ...MISSING
MAILGATE dependencies:
LWP::UserAgent >= 6.02 ...MISSING
Getopt::Long ...found
Mozilla::CA ...MISSING
Pod::Usage ...found
LWP::Protocol::https ...MISSING
MYSQL dependencies:
DBD::mysql >= 2.1018 ...MISSING

SOME DEPENDENCIES WERE MISSING.
GD missing dependencies:
GD::Graph >= 1.47 ...MISSING
GD ...MISSING
GD::Text ...MISSING
GRAPHVIZ missing dependencies:
GraphViz ...MISSING
IPC::Run >= 0.90 ...MISSING
FASTCGI missing dependencies:
FCGI >= 0.74 ...MISSING
CORE missing dependencies:
Business::Hours ...MISSING
Symbol::Global::Name >= 0.05 ...MISSING
Clone ...MISSING
Apache::Session >= 1.53 ...MISSING
Regexp::Common::net::CIDR ...MISSING
UNIVERSAL::require ...MISSING
Net::CIDR ...MISSING
CGI::Emulate::PSGI ...MISSING
Scope::Upper ...MISSING
DateTime::Format::Natural >= 0.67 ...MISSING
Module::Versions::Report >= 1.05 ...MISSING
Data::Page::Pageset ...MISSING
Text::Template >= 1.44 ...MISSING
HTML::FormatText::WithLinks >= 0.14 ...MISSING
Devel::GlobalDestruction ...MISSING
Regexp::IPv6 ...MISSING
Date::Manip ...MISSING
CSS::Squish >= 0.06 ...MISSING
Convert::Color ...MISSING
Locale::Maketext::Lexicon >= 0.32 ...MISSING
MIME::Types ...MISSING
HTTP::Message >= 6.0 ...MISSING
HTML::Mason >= 1.43 ...MISSING
Mail::Mailer >= 1.57 ...MISSING
Email::Address::List >= 0.02 ...MISSING
CGI::Cookie >= 1.20 ...MISSING
DBIx::SearchBuilder >= 1.65 ...MISSING
Plack >= 1.0002 ...MISSING
Text::Password::Pronounceable ...MISSING
File::ShareDir ...MISSING
Devel::StackTrace >= 1.19 ...MISSING
CGI >= 4 ...MISSING
HTML::Scrubber >= 0.08 ...MISSING
JavaScript::Minifier::XS ...MISSING
IPC::Run3 ...MISSING
CSS::Minifier::XS ...MISSING
Role::Basic >= 0.12 ...MISSING
LWP::Simple ...MISSING
Regexp::Common ...MISSING
List::MoreUtils ...MISSING
Locale::Maketext::Fuzzy >= 0.11 ...MISSING
Time::ParseDate ...MISSING
HTML::RewriteAttributes >= 0.05 ...MISSING
HTML::Entities ...MISSING
HTML::FormatText::WithLinks::AndTables >= 0.06 ...MISSING
Text::Wrapper ...MISSING
Module::Refresh >= 0.03 ...MISSING
URI::QueryParam ...MISSING
DateTime >= 0.44 ...MISSING
Log::Dispatch >= 2.30 ...MISSING
JSON ...MISSING
Data::GUID ...MISSING
Text::WikiFormat >= 0.76 ...MISSING
DateTime::Locale >= 0.40 ...MISSING
MIME::Entity >= 5.504 ...MISSING
HTML::Quoted ...MISSING
Class::Accessor::Fast ...MISSING
HTML::Mason::PSGIHandler >= 0.52 ...MISSING
Data::ICal ...MISSING
XML::RSS >= 1.05 ...MISSING
CGI::PSGI >= 0.12 ...MISSING
Mail::Header >= 2.12 ...MISSING
Text::Quoted >= 2.07 ...MISSING
Net::IP ...MISSING
Tree::Simple >= 1.04 ...MISSING
Email::Address >= 1.908 ...MISSING
DBI >= 1.37 ...MISSING
Crypt::Eksblowfish ...MISSING
Plack::Handler::Starlet ...MISSING
Date::Extract >= 0.02 ...MISSING
URI >= 1.59 ...MISSING
MYSQL missing dependencies:
DBD::mysql >= 2.1018 ...MISSING
CLI missing dependencies:
LWP >= 6.02 ...MISSING
Term::ReadKey ...MISSING
HTTP::Request::Common ...MISSING
MAILGATE missing dependencies:
LWP::Protocol::https ...MISSING
Mozilla::CA ...MISSING
LWP::UserAgent >= 6.02 ...MISSING

Perl library path for /usr/bin/perl:
/etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.24.1
/usr/local/share/perl/5.24.1
/usr/lib/x86_64-linux-gnu/perl5/5.24
/usr/share/perl5
/usr/lib/x86_64-linux-gnu/perl/5.24
/usr/share/perl/5.24
/usr/local/lib/site_perl
/usr/lib/x86_64-linux-gnu/perl-base
Makefile:270: die Regel für Ziel „testdeps“ scheiterte
make: *** [testdeps] Fehler 1

Da diese Ansicht echt nicht gut zu lesen ist, lieber nochmal etwas aufgeräumter:

root@rtdemo:~/rt-4.4.3# make testdeps | grep MISSING | sort -u
make: *** [testdeps] Fehler 1
Apache::Session >= 1.53 ...MISSING
Business::Hours ...MISSING
CGI >= 4 ...MISSING
CGI::Cookie >= 1.20 ...MISSING
CGI::Emulate::PSGI ...MISSING
CGI::PSGI >= 0.12 ...MISSING
Class::Accessor::Fast ...MISSING
Clone ...MISSING
Convert::Color ...MISSING
Crypt::Eksblowfish ...MISSING
CSS::Minifier::XS ...MISSING
CSS::Squish >= 0.06 ...MISSING
Data::GUID ...MISSING
Data::ICal ...MISSING
Data::Page::Pageset ...MISSING
Date::Extract >= 0.02 ...MISSING
Date::Manip ...MISSING
DateTime >= 0.44 ...MISSING
DateTime::Format::Natural >= 0.67 ...MISSING
DateTime::Locale >= 0.40 ...MISSING
DBD::mysql >= 2.1018 ...MISSING
DBI >= 1.37 ...MISSING
DBIx::SearchBuilder >= 1.65 ...MISSING
Devel::GlobalDestruction ...MISSING
Devel::StackTrace >= 1.19 ...MISSING
Email::Address >= 1.908 ...MISSING
Email::Address::List >= 0.02 ...MISSING
FCGI >= 0.74 ...MISSING
File::ShareDir ...MISSING
GD::Graph >= 1.47 ...MISSING
GD ...MISSING
GD::Text ...MISSING
GraphViz ...MISSING
HTML::Entities ...MISSING
HTML::FormatText::WithLinks >= 0.14 ...MISSING
HTML::FormatText::WithLinks::AndTables >= 0.06 ...MISSING
HTML::Mason >= 1.43 ...MISSING
HTML::Mason::PSGIHandler >= 0.52 ...MISSING
HTML::Quoted ...MISSING
HTML::RewriteAttributes >= 0.05 ...MISSING
HTML::Scrubber >= 0.08 ...MISSING
HTTP::Message >= 6.0 ...MISSING
HTTP::Request::Common ...MISSING
IPC::Run >= 0.90 ...MISSING
IPC::Run3 ...MISSING
JavaScript::Minifier::XS ...MISSING
JSON ...MISSING
List::MoreUtils ...MISSING
Locale::Maketext::Fuzzy >= 0.11 ...MISSING
Locale::Maketext::Lexicon >= 0.32 ...MISSING
Log::Dispatch >= 2.30 ...MISSING
LWP >= 6.02 ...MISSING
LWP::Protocol::https ...MISSING
LWP::Simple ...MISSING
LWP::UserAgent >= 6.02 ...MISSING
Mail::Header >= 2.12 ...MISSING
Mail::Mailer >= 1.57 ...MISSING
MIME::Entity >= 5.504 ...MISSING
MIME::Types ...MISSING
Module::Refresh >= 0.03 ...MISSING
Module::Versions::Report >= 1.05 ...MISSING
Mozilla::CA ...MISSING
Net::CIDR ...MISSING
Net::IP ...MISSING
Plack >= 1.0002 ...MISSING
Plack::Handler::Starlet ...MISSING
Regexp::Common ...MISSING
Regexp::Common::net::CIDR ...MISSING
Regexp::IPv6 ...MISSING
Role::Basic >= 0.12 ...MISSING
Scope::Upper ...MISSING
Symbol::Global::Name >= 0.05 ...MISSING
Term::ReadKey ...MISSING
Text::Password::Pronounceable ...MISSING
Text::Quoted >= 2.07 ...MISSING
Text::Template >= 1.44 ...MISSING
Text::WikiFormat >= 0.76 ...MISSING
Text::Wrapper ...MISSING
Time::ParseDate ...MISSING
Tree::Simple >= 1.04 ...MISSING
UNIVERSAL::require ...MISSING
URI >= 1.59 ...MISSING
URI::QueryParam ...MISSING
XML::RSS >= 1.05 ...MISSING

OK, das ist echt eine Menge….aber keine Angst, sehr viel davon ist in den Repos von Devuan bereits drin….wir brauchen ja auch noch nen Apache, eine Datenbank, hier für die Demo nehmen wir einfach MariaDB…

apt-get install apache2 apache2-bin apache2-dev apache2-utils mysql-client mysql-common mysql-server mysql-utilities

Und schon mal die wichtigsten Perl Module….

apt-get install libapache-dbi-perl libapache-session-perl libcache-simple-timedexpiry-perl libcalendar-simple-perl libcgi-fast-perl libclass-returnvalue-perl libcss-squish-perl libdata-ical-perl libdbix-searchbuilder-perl libemail-address-perl libfcgi-perl libfile-sharedir-perl libfile-spec-perl libfile-temp-perl libgnupg-interface-perl libgraphviz-perl libhook-lexwrap-perl libhtml-format-perl libhtml-mason-perl libhtml-scrubber-perl libhtml-tree-perl libhttp-server-simple-perl liblocale-maketext-fuzzy-perl liblocale-maketext-lexicon-perl liblog-dispatch-perl libmime-tools-perl libmime-types-perl libmodule-versions-report-perl libnet-server-perl libperlio-eol-perl libregexp-common-perl libterm-readkey-perl libtext-quoted-perl libtext-template-perl libtext-vfile-asdata-perl libtext-wikiformat-perl libtext-wrapper-perl libtime-modules-perl libtree-simple-perl libuniversal-require-perl libwww-perl libxml-rss-perl libgd-graph-perl libcgi-pm-perl

Jetzt schauen wir mal, was uns sonst noch so fehlt:

root@rtdemo:~/rt-4.4.3# make testdeps | grep MISSING | sort -u
make: *** [testdeps] Fehler 1
Business::Hours ...MISSING
CGI::Emulate::PSGI ...MISSING
CGI::PSGI >= 0.12 ...MISSING
Convert::Color ...MISSING
Crypt::Eksblowfish ...MISSING
CSS::Minifier::XS ...MISSING
Data::GUID ...MISSING
Data::Page::Pageset ...MISSING
Date::Extract >= 0.02 ...MISSING
Date::Manip ...MISSING
DateTime::Format::Natural >= 0.67 ...MISSING
Email::Address::List >= 0.02 ...MISSING
HTML::FormatText::WithLinks >= 0.14 ...MISSING
HTML::FormatText::WithLinks::AndTables >= 0.06 ...MISSING
HTML::Mason::PSGIHandler >= 0.52 ...MISSING
HTML::Quoted ...MISSING
HTML::RewriteAttributes >= 0.05 ...MISSING
IPC::Run3 ...MISSING
JavaScript::Minifier::XS ...MISSING
JSON ...MISSING
Module::Refresh >= 0.03 ...MISSING
Mozilla::CA ...MISSING
Net::IP ...MISSING
Plack >= 1.0002 ...MISSING
Plack::Handler::Starlet ...MISSING
Regexp::Common::net::CIDR ...MISSING
Regexp::IPv6 ...MISSING
Role::Basic >= 0.12 ...MISSING
Scope::Upper ...MISSING
Symbol::Global::Name >= 0.05 ...MISSING
Text::Password::Pronounceable ...MISSING

Das sieht ja schon mal gut aus, die letzten Paar Module holen wir uns einfach via CPAN mit CPANM, aber das müssen wir uns auch erstmal runtersaugen und installieren:

curl -L https://cpanmin.us | perl - --sudo App::cpanminus

Dann einfach die restlichen Module mittels CPANM laden:

cpanm Business::Hours CGI::Emulate::PSGI CGI::PSGI Convert::Color Crypt::Eksblowfish CSS::Minifier::XS Data::GUID Data::Page::Pageset Date::Extract Date::Manip DateTime::Format::Natural Email::Address::List HTML::FormatText::WithLinks HTML::FormatText::WithLinks::AndTables HTML::Mason::PSGIHandler HTML::Quoted HTML::RewriteAttributes IPC::Run3 JavaScript::Minifier::XS JSON Module::Refresh Mozilla::CA Net::IP Plack Plack::Handler::Starlet Regexp::Common::net::CIDR Regexp::IPv6 Role::Basic Scope::Upper Symbol::Global::Name Text::Password::Pronounceable

Jetzt überprüfen wir nochmal mittels make testdeps, ob wir alles haben:

root@rtdemo:~/rt-4.4.3# make testdeps
/usr/bin/perl ./sbin/rt-test-dependencies --with-mysql --with-fastcgi
perl:
>=5.10.1(5.24.1) ...found
users:
rt group (rt) ...found
bin owner (root) ...found
libs owner (root) ...found
libs group (bin) ...found
web owner (www-data) ...found
web group (www-data) ...found
CLI dependencies:
HTTP::Request::Common ...found
LWP >= 6.02 ...found
Text::ParseWords ...found
Term::ReadKey ...found
Term::ReadLine ...found
Getopt::Long >= 2.24 ...found
CORE dependencies:
JSON ...found
CGI >= 4 ...found
Locale::Maketext::Fuzzy >= 0.11 ...found
Tree::Simple >= 1.04 ...found
Scalar::Util ...found
Clone ...found
Regexp::IPv6 ...found
Scope::Upper ...found
Date::Manip ...found
HTML::Mason >= 1.43 ...found
Class::Accessor::Fast ...found
HTML::Entities ...found
Log::Dispatch >= 2.30 ...found
Time::HiRes ...found
Data::ICal ...found
Role::Basic >= 0.12 ...found
Date::Extract >= 0.02 ...found
List::MoreUtils ...found
URI >= 1.59 ...found
Text::WikiFormat >= 0.76 ...found
Net::CIDR ...found
XML::RSS >= 1.05 ...found
HTTP::Message >= 6.0 ...found
Errno ...found
HTML::Scrubber >= 0.08 ...found
Storable >= 2.08 ...found
IPC::Run3 ...found
DateTime::Locale >= 0.40 ...found
Devel::GlobalDestruction ...found
File::Spec >= 0.8 ...found
File::Glob ...found
Email::Address::List >= 0.02 ...found
JavaScript::Minifier::XS ...found
DateTime::Format::Natural >= 0.67 ...found
Regexp::Common ...found
File::ShareDir ...found
Symbol::Global::Name >= 0.05 ...found
Module::Versions::Report >= 1.05 ...found
CGI::Cookie >= 1.20 ...found
Apache::Session >= 1.53 ...found
DBIx::SearchBuilder >= 1.65 ...found
Encode >= 2.64 ...found
Time::ParseDate ...found
Digest::MD5 >= 2.27 ...found
Net::IP ...found
HTML::FormatText::WithLinks >= 0.14 ...found
Plack::Handler::Starlet ...found
DateTime >= 0.44 ...found
Text::Password::Pronounceable ...found
Locale::Maketext >= 1.06 ...found
Text::Template >= 1.44 ...found
MIME::Entity >= 5.504 ...found
Crypt::Eksblowfish ...found
HTML::Quoted ...found
CSS::Squish >= 0.06 ...found
Text::Wrapper ...found
Mail::Header >= 2.12 ...found
Data::Page::Pageset ...found
File::Temp >= 0.19 ...found
Digest::base ...found
CGI::Emulate::PSGI ...found
Digest::SHA ...found
HTML::FormatText::WithLinks::AndTables >= 0.06 ...found
Mail::Mailer >= 1.57 ...found
Sys::Syslog >= 0.16 ...found
Data::GUID ...found
UNIVERSAL::require ...found
Pod::Select ...found
Text::Quoted >= 2.07 ...found
MIME::Types ...found
CSS::Minifier::XS ...found
LWP::Simple ...found
DBI >= 1.37 ...found
Plack >= 1.0002 ...found
Business::Hours ...found
Locale::Maketext::Lexicon >= 0.32 ...found
Email::Address >= 1.908 ...found
Module::Refresh >= 0.03 ...found
URI::QueryParam ...found
Devel::StackTrace >= 1.19 ...found
Convert::Color ...found
HTML::RewriteAttributes >= 0.05 ...found
CGI::PSGI >= 0.12 ...found
Regexp::Common::net::CIDR ...found
HTML::Mason::PSGIHandler >= 0.52 ...found
FASTCGI dependencies:
FCGI >= 0.74 ...found
GD dependencies:
GD::Graph >= 1.47 ...found
GD::Text ...found
GD ...found
GRAPHVIZ dependencies:
IPC::Run >= 0.90 ...found
GraphViz ...found
MAILGATE dependencies:
Getopt::Long ...found
Pod::Usage ...found
Mozilla::CA ...found
LWP::Protocol::https ...found
LWP::UserAgent >= 6.02 ...found
MYSQL dependencies:
DBD::mysql >= 2.1018 ...found

All dependencies have been found.

Das sieht doch schon mal gut aus! Jetzt können wir RT installieren, das geht mit make install:

root@rtdemo:~/rt-4.4.3# make install
/usr/bin/perl ./sbin/rt-test-dependencies --with-mysql --with-fastcgi
perl:
>=5.10.1(5.24.1) ...found
users:
rt group (rt) ...found
bin owner (root) ...found
libs owner (root) ...found
libs group (bin) ...found
web owner (www-data) ...found
web group (www-data) ...found
CLI dependencies:
Text::ParseWords ...found
Term::ReadKey ...found
Term::ReadLine ...found
Getopt::Long >= 2.24 ...found
HTTP::Request::Common ...found
LWP >= 6.02 ...found
CORE dependencies:
Encode >= 2.64 ...found
Tree::Simple >= 1.04 ...found
Symbol::Global::Name >= 0.05 ...found
Data::Page::Pageset ...found
DateTime::Locale >= 0.40 ...found
CSS::Minifier::XS ...found
Scope::Upper ...found
Text::Password::Pronounceable ...found
JavaScript::Minifier::XS ...found
Digest::SHA ...found
HTML::Entities ...found
Data::ICal ...found
DateTime::Format::Natural >= 0.67 ...found
Digest::MD5 >= 2.27 ...found
DateTime >= 0.44 ...found
Module::Versions::Report >= 1.05 ...found
Locale::Maketext::Lexicon >= 0.32 ...found
CGI >= 4 ...found
Text::Template >= 1.44 ...found
Pod::Select ...found
Regexp::IPv6 ...found
Devel::GlobalDestruction ...found
Locale::Maketext::Fuzzy >= 0.11 ...found
CGI::Emulate::PSGI ...found
Mail::Header >= 2.12 ...found
LWP::Simple ...found
DBIx::SearchBuilder >= 1.65 ...found
Mail::Mailer >= 1.57 ...found
IPC::Run3 ...found
CGI::Cookie >= 1.20 ...found
Devel::StackTrace >= 1.19 ...found
Sys::Syslog >= 0.16 ...found
File::Spec >= 0.8 ...found
Convert::Color ...found
Regexp::Common::net::CIDR ...found
Scalar::Util ...found
File::ShareDir ...found
Regexp::Common ...found
Locale::Maketext >= 1.06 ...found
MIME::Types ...found
URI::QueryParam ...found
List::MoreUtils ...found
Log::Dispatch >= 2.30 ...found
Storable >= 2.08 ...found
HTML::Quoted ...found
Email::Address >= 1.908 ...found
Apache::Session >= 1.53 ...found
HTML::Mason >= 1.43 ...found
Data::GUID ...found
HTTP::Message >= 6.0 ...found
File::Glob ...found
Date::Manip ...found
CGI::PSGI >= 0.12 ...found
MIME::Entity >= 5.504 ...found
HTML::Scrubber >= 0.08 ...found
Email::Address::List >= 0.02 ...found
Net::CIDR ...found
UNIVERSAL::require ...found
URI >= 1.59 ...found
Digest::base ...found
Time::HiRes ...found
Time::ParseDate ...found
Net::IP ...found
Text::Quoted >= 2.07 ...found
Business::Hours ...found
Plack >= 1.0002 ...found
DBI >= 1.37 ...found
Clone ...found
Errno ...found
Text::WikiFormat >= 0.76 ...found
Date::Extract >= 0.02 ...found
Class::Accessor::Fast ...found
HTML::FormatText::WithLinks >= 0.14 ...found
Role::Basic >= 0.12 ...found
Plack::Handler::Starlet ...found
HTML::Mason::PSGIHandler >= 0.52 ...found
Module::Refresh >= 0.03 ...found
Text::Wrapper ...found
File::Temp >= 0.19 ...found
JSON ...found
HTML::FormatText::WithLinks::AndTables >= 0.06 ...found
XML::RSS >= 1.05 ...found
HTML::RewriteAttributes >= 0.05 ...found
CSS::Squish >= 0.06 ...found
Crypt::Eksblowfish ...found
FASTCGI dependencies:
FCGI >= 0.74 ...found
GD dependencies:
GD::Graph >= 1.47 ...found
GD::Text ...found
GD ...found
GRAPHVIZ dependencies:
IPC::Run >= 0.90 ...found
GraphViz ...found
MAILGATE dependencies:
Pod::Usage ...found
Getopt::Long ...found
LWP::UserAgent >= 6.02 ...found
LWP::Protocol::https ...found
Mozilla::CA ...found
MYSQL dependencies:
DBD::mysql >= 2.1018 ...found

All dependencies have been found.
/usr/bin/install -c -m 0755 -o root -g rt -d /opt/rt4/etc
/usr/bin/install -c -m 0440 -o root -g rt etc/RT_Config.pm /opt/rt4/etc/RT_Config.pm
[ -f /opt/rt4/etc/RT_SiteConfig.pm ] || /usr/bin/install -c -m 0640 -o root -g rt etc/RT_SiteConfig.pm /opt/rt4/etc/RT_SiteConfig.pm
Installed configuration. About to install RT in /opt/rt4
/usr/bin/install -c -m 0755 -d /opt/rt4/var/log
/usr/bin/install -c -m 0755 -d /opt/rt4/share/fonts
/usr/bin/install -c -m 0755 -d /opt/rt4/share/po
/usr/bin/install -c -m 0755 -d /opt/rt4/share/static
/usr/bin/install -c -m 0770 -d /opt/rt4/var/mason_data
/usr/bin/install -c -m 0770 -d /opt/rt4/var/mason_data/cache
/usr/bin/install -c -m 0770 -d /opt/rt4/var/mason_data/etc
/usr/bin/install -c -m 0770 -d /opt/rt4/var/mason_data/obj
/usr/bin/install -c -m 0770 -d /opt/rt4/var/session_data
/usr/bin/install -c -m 0755 -d /opt/rt4/share/html
/usr/bin/install -c -m 0755 -d /opt/rt4/local/html
/usr/bin/install -c -m 0755 -d /opt/rt4/local/etc
/usr/bin/install -c -m 0755 -d /opt/rt4/local/lib
/usr/bin/install -c -m 0755 -d /opt/rt4/local/plugins
/usr/bin/install -c -m 0755 -d /opt/rt4/local/po
/usr/bin/install -c -m 0755 -d /opt/rt4/local/static
[ -d /opt/rt4/lib ] || /usr/bin/install -c -m 0755 -d /opt/rt4/lib
( cd lib && find . -type d -print ) | while read dir ; do \
/usr/bin/install -c -m 0755 -d "/opt/rt4/lib/$dir" ; \
done
( cd lib && find . -type f -print ) | while read file ; do \
/usr/bin/install -c -m 0644 "lib/$file" "/opt/rt4/lib/$file" ; \
done
[ -d /opt/rt4/etc ] || /usr/bin/install -c -m 0755 -d /opt/rt4/etc
[ -d "/opt/rt4/etc/RT_SiteConfig.d" ] || /usr/bin/install -c -m 0755 -d "/opt/rt4/etc/RT_SiteConfig.d"
for file in acl.Pg acl.Oracle acl.mysql schema.Pg schema.Oracle schema.mysql schema.SQLite initialdata ; do \
/usr/bin/install -c -m 0644 "etc/$file" "/opt/rt4/etc/" ; \
done
[ -d /opt/rt4/etc/upgrade ] || /usr/bin/install -c -m 0755 -d /opt/rt4/etc/upgrade
( cd etc/upgrade && find . -type d -print ) | while read dir ; do \
/usr/bin/install -c -m 0755 -d "/opt/rt4/etc/upgrade/$dir" ; \
done
( cd etc/upgrade && find . -type f -not -name '*.in' -print ) | while read file ; do \
/usr/bin/install -c -m 0644 "etc/upgrade/$file" "/opt/rt4/etc/upgrade/$file" ; \
done
/usr/bin/install -c -m 0755 -d /opt/rt4/bin
for file in rt-mailgate rt rt-crontool ; do \
/usr/bin/install -c -o root -g rt -m 0755 "bin/$file" "/opt/rt4/bin/" ; \
done
/usr/bin/install -c -m 0755 -d /opt/rt4/sbin
for file in rt-attributes-viewer rt-clean-sessions rt-dump-metadata rt-email-dashboards rt-email-digest rt-email-group-admin rt-externalize-attachments rt-fulltext-indexer rt-importer rt-ldapimport rt-passwd rt-preferences-viewer rt-serializer rt-server rt-server.fcgi rt-session-viewer rt-setup-database rt-setup-fulltext-index rt-shredder rt-test-dependencies rt-validator rt-validate-aliases standalone_httpd ; do \
/usr/bin/install -c -o root -g rt -m 0755 "sbin/$file" "/opt/rt4/sbin/" ; \
done
[ -d /opt/rt4/share/html ] || /usr/bin/install -c -m 0755 -d /opt/rt4/share/html
( cd share/html && find . -type d -print ) | while read dir ; do \
/usr/bin/install -c -m 0755 -d "/opt/rt4/share/html/$dir" ; \
done
( cd share/html && find . -type f -print ) | while read file ; do \
/usr/bin/install -c -m 0644 "share/html/$file" "/opt/rt4/share/html/$file" ; \
done
make clean-mason-cache
make[1]: Verzeichnis „/root/rt-4.4.3“ wird betreten
rm -rf /opt/rt4/var/mason_data/cache/*
rm -rf /opt/rt4/var/mason_data/etc/*
rm -rf /opt/rt4/var/mason_data/obj/*
make[1]: Verzeichnis „/root/rt-4.4.3“ wird verlassen
# RT 3.0.0 - RT 3.0.2 would accidentally create a file instead of a dir
[ -f /opt/rt4/docs ] && rm /opt/rt4/docs
Makefile:444: die Regel für Ziel „doc-install“ scheiterte
make: [doc-install] Fehler 1 (ignoriert)
[ -d /opt/rt4/docs ] || /usr/bin/install -c -m 0755 -d /opt/rt4/docs
( cd docs && find . -type d -print ) | while read dir ; do \
/usr/bin/install -c -m 0755 -d "/opt/rt4/docs/$dir" ; \
done
( cd docs && find . -type f -print ) | while read file ; do \
/usr/bin/install -c -m 0644 "docs/$file" "/opt/rt4/docs/$file" ; \
done
/usr/bin/install -c -m 0644 ./README /opt/rt4/docs/
[ -d /opt/rt4/share/fonts ] || /usr/bin/install -c -m 0755 -d /opt/rt4/share/fonts
( cd share/fonts && find . -type f -print ) | while read file ; do \
/usr/bin/install -c -m 0644 "share/fonts/$file" "/opt/rt4/share/fonts/$file" ; \
done
[ -d /opt/rt4/share/po ] || /usr/bin/install -c -m 0755 -d /opt/rt4/share/po
( cd share/po && find . -type f -print ) | while read file ; do \
/usr/bin/install -c -m 0644 "share/po/$file" "/opt/rt4/share/po/$file" ; \
done
[ -d /opt/rt4/share/static ] || /usr/bin/install -c -m 0755 -d /opt/rt4/share/static
( cd share/static && find . -type d -print ) | while read dir ; do \
/usr/bin/install -c -m 0755 -d "/opt/rt4/share/static/$dir" ; \
done
( cd share/static && find . -type f -print ) | while read file ; do \
/usr/bin/install -c -m 0644 "share/static/$file" "/opt/rt4/share/static/$file" ; \
done
# Make the libraries readable
chmod 0755 /opt/rt4
chown -R root /opt/rt4/lib
chgrp -R bin /opt/rt4/lib
chmod -R u+rwX,go-w,go+rX /opt/rt4/lib
chmod 0755 /opt/rt4/bin
chmod 0755 /opt/rt4/etc
cd /opt/rt4/etc && chmod 0400 acl.Pg acl.Oracle acl.mysql schema.Pg schema.Oracle schema.mysql schema.SQLite initialdata
#TODO: the config file should probably be able to have its
# owner set separately from the binaries.
chown -R root /opt/rt4/etc
chgrp -R rt /opt/rt4/etc
chmod 0440 /opt/rt4/etc/RT_Config.pm
chmod 0640 /opt/rt4/etc/RT_SiteConfig.pm
# Make the system binaries
cd /opt/rt4/bin && ( chmod 0755 rt-mailgate rt rt-crontool ; chown root rt-mailgate rt rt-crontool; chgrp rt rt-mailgate rt rt-crontool)
# Make the system binaries executable also
cd /opt/rt4/sbin && ( chmod 0755 rt-attributes-viewer rt-clean-sessions rt-dump-metadata rt-email-dashboards rt-email-digest rt-email-group-admin rt-externalize-attachments rt-fulltext-indexer rt-importer rt-ldapimport rt-passwd rt-preferences-viewer rt-serializer rt-server rt-server.fcgi rt-session-viewer rt-setup-database rt-setup-fulltext-index rt-shredder rt-test-dependencies rt-validator rt-validate-aliases standalone_httpd ; chown root rt-attributes-viewer rt-clean-sessions rt-dump-metadata rt-email-dashboards rt-email-digest rt-email-group-admin rt-externalize-attachments rt-fulltext-indexer rt-importer rt-ldapimport rt-passwd rt-preferences-viewer rt-serializer rt-server rt-server.fcgi rt-session-viewer rt-setup-database rt-setup-fulltext-index rt-shredder rt-test-dependencies rt-validator rt-validate-aliases standalone_httpd; chgrp rt rt-attributes-viewer rt-clean-sessions rt-dump-metadata rt-email-dashboards rt-email-digest rt-email-group-admin rt-externalize-attachments rt-fulltext-indexer rt-importer rt-ldapimport rt-passwd rt-preferences-viewer rt-serializer rt-server rt-server.fcgi rt-session-viewer rt-setup-database rt-setup-fulltext-index rt-shredder rt-test-dependencies rt-validator rt-validate-aliases standalone_httpd)
# Make upgrade scripts executable if they are in the source.
#
( cd etc/upgrade && find . -type f -not -name '*.in' -perm /0111 -print ) | while read file ; do \
chmod a+x "/opt/rt4/etc/upgrade/$file" ; \
done
# Make the web ui readable by all.
chmod -R u+rwX,go-w,go+rX /opt/rt4/share/html \
/opt/rt4/local/html \
/opt/rt4/share/po \
/opt/rt4/local/po \
/opt/rt4/share/static \
/opt/rt4/local/static
chown -R root /opt/rt4/share/html \
/opt/rt4/local/html \
/opt/rt4/share/po \
/opt/rt4/local/po \
/opt/rt4/share/static \
/opt/rt4/local/static
chgrp -R bin /opt/rt4/share/html \
/opt/rt4/local/html \
/opt/rt4/share/po \
/opt/rt4/local/po \
/opt/rt4/share/static \
/opt/rt4/local/static
# Make the web ui's data dir writable
chmod 0770 /opt/rt4/var/mason_data \
/opt/rt4/var/session_data
chown -R www-data /opt/rt4/var/mason_data \
/opt/rt4/var/session_data
chgrp -R www-data /opt/rt4/var/mason_data \
/opt/rt4/var/session_data
Congratulations. RT is now installed.


You must now configure RT by editing /opt/rt4/etc/RT_SiteConfig.pm.

(You will definitely need to set RT's database password in
/opt/rt4/etc/RT_SiteConfig.pm before continuing. Not doing so could be
very dangerous. Note that you do not have to manually add a
database user or set up a database for RT. These actions will be
taken care of in the next step.)

After that, you need to initialize RT's database by running
'make initialize-database'

OK, jetzt haben wir bereits die Files installiert, als nächstes müssen wir kurz ein paar Einträge in der RT Konfiguration vornehmen….

vi /opt/rt4/etc/RT_SiteConfig.pm

Set( $rtname, 'rtdemo');
Set($Organization, "rtdemo");
Set($WebDomain, "rtdemo.local");
Set($Timezone, "UTC");

Ich hab die 4 Einträge in der Datei gemacht, das reicht als Minimum erstmal, mehr dazu in den folgenden Artikeln dann. Als letzten Schritt noch die Datenbank initialisieren:

root@rtdemo:~/rt-4.4.3# make initialize-database
/usr/bin/perl -I/opt/rt4/local/lib -I/opt/rt4/lib sbin/rt-setup-database --action init --prompt-for-dba-password
In order to create or update your RT database, this script needs to connect to your mysql instance on localhost (port '') as root
Please specify that user's database password below. If the user has no database
password, just press return.

Password:
Working with:
Type: mysql
Host: localhost
Port:
Name: rt4
User: rt_user
DBA: root
Now creating a mysql database rt4 for RT.
Done.
Now populating database schema.
Done.
Now inserting database ACLs.
Done.
Now inserting RT core system objects.
Done.
Now inserting data.
Done inserting data.
Done.

Das war es dann auch schon. Im nächsten Artikel zeige ich Euch dann, wir man grundlegend den Apache für RT konfiguriert und dann sind wir auch mit dem Einstieg schon fertig.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert