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.