Track Plus


ein Bugtrack- und Projekttrackingprogamm



Installation


Installation der erforderlichen Pakete:

apt-get install mysql-server tomcat7 zip mc default-jdk
/etc/init.d/tomcat7 stop

Download der Trackplussoftware:

#sitzt Du hinter einem Proxy?
#export http_proxy=http://meinuser:meinpasswort@meinproxy:8080
wget http://www.trackplus.com/tl_files/content/downloads/Software/track-382b46.war
#wget http://www.trackplus.com/tl_files/content/downloads/Software/track-382b46-db.zip
#unzip track-382b46-db.zip

Webverzeichnis erstellen:

mkdir /var/lib/tomcat6/webapps/track

Software in das Webverzeichnis kopieren und dann reinwechseln:

mv track-*.war /var/lib/tomcat6/webapps/track/
cd /var/lib/tomcat5.5/webapps/track

Software auspacken und war-Datei löschen:

jar -xvf track*.war
rm track-*.war

Trackdateien konfigurieren. Dabei auf Authentifizierung achten.
Einträge mysql –user root in mysql -u root -p abändern:

cd dbase/MySQL
mcedit createdb.sh
...
ROOT_PWD=
TRACKUSER=friedj
TRACKPWD=tissi
DATA_DIR=/var/lib/mysql
DBNAME=track
...

Datenbank anlegen:

sh createdb.sh

Konfig prüfen/ändern:

mcedit /var/lib/tomcat6/webbapps/track/WEB-INF/Torque.properties
...
torque.dsfactory.track.connection.user = <siehe oben TRACKUSER>
torque.dsfactory.track.connection.password = <siehe oben TRACKPWD>
torque.dsfactory.track.connection.url = <Eintrag ...track370d... nach siehe oben DBNAME>
...

Tomcat am Schluss wieder starten:

/etc/init.d/tomcat6 start
/usr/share/tomcat6/bin/startup.sh
/usr/share/tomcat6/bin/shutdown.sh

Zugriff über die URL im Browser:

http://meinserver:8080/track

(ältere Versionen benutzen Port 8180.)
Erstanmeldung:

admin
tissi

fertig.


Trackplus über HTTPS

Gehe in das konfigurierte JAVA_HOME-Verzeichnis (z.B. cd /usr/lib/jvm/java-6-sun )

cd $JAVA_HOME

Erstelle einen Schlüssel für den HTTPS-Port. Er soll 10 Jahre gültig sein:

/bin/keytool -genkey -keystore /etc/tomcat6/.keystore -validity 3650 -alias "mysrv" -keysize 2048 -sigalg SHA256withRSA -keyalg RSA 
             -ext SAN=dns:mysrv,dns:myalias,dns:myalias.my.dom.ain,ip:192.168.100.100
    Geben Sie das Keystore-Passwort ein: meinPasswort
  Geben Sie das Passwort erneut ein: meinPasswort
  Wie lautet Ihr Vor- und Nachname?
   [Unknown]: admin@firma.de
  Wie lautet der Name Ihrer organisatorischen Einheit?
   [Unknown]: EDV-Abteilung
  Wie lautete der Name Ihrer Organisation?
   [Unknown]: MeineFirma GmbH
  Wie lautet der Name Ihrer Stadt oder Gemeinde?
   [Unknown]: KleinsiesteNich
  Wie lautete der Name Ihres Bundeslandes oder Ihrer Provinz?
   [Unknown]: BY
  Wie lautete der Landescode (zwei Buchstaben) für diese Einheit?
   [Unknown]: de
  Ist CN=admin@firma.de, OU=EDV-Abteilung, OU=MeineFirma GmbH, L=KleinsiesteNich, ST=BY, C=de richtig?
   [nein]: ja
  Geben Sie das Passwort für <mykey> ein.
	(EINGABETASTE, wenn Passwort dasselbe wie für Keystore):

Überprüfung mit:

keytool -list -v -keystore mykeystore

Konfiguriere jetzt den Port 443. Schalte den unverschlüsselten Port 8080 ab !:

#cd /usr/share/tomcat6/conf 
cd /etc/tomcat6
mcedit /etc/tomcat6/server.xml
#ab Zeile 71 auskommentieren:
<!--
<Connector port="8080" protocol="HTTP/1.1"
    ...
    redirectPort="443" />
-->
#ab Zeile 87 so konfigurieren/entkommentieren:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
          ...
    keystoreFile="/etc/tomcat6/.keystore" keystorePass="meinPasswort" />

Anschließend muss dem Dienst erlaubt werden, einen niedrigen Port (kleiner 1024) zu benutzen:

mcedit /etc/default/tomcat6
#Zeile 45
AUTHBIND=yes

Anschließend braucht es nur noch einen Neustart:

/etc/init.d/tomcat6 restart

Jetzt sollte der Trackserver unter https://meinserver/track erreichbar sein.


Update auf neuere Trackplus-Version


  • zuerst Sicherung

mkdir /sicherung
/etc/init.d/tomcat6 stop
/etc/init.d/mysql stop
tar czvf /sicherung/sich_`date +%y%m%d`.tar.gz /etc /var/lib/mysql /usr/share/tomcat6 /var/lib/tomcat6
cp -av /var/lib/tomcat6/webapps/track/WEB-INF/Torque.properties /sicherung/
cp -av /var/lib/tomcat6/webapps/track/favicon.gif /sicherung/
cp -av /var/lib/tomcat6/webapps/track/design/classic/logo.gif /sicherung/
cp -av /var/lib/tomcat6/webapps/track/design/classic/icons/track-logo.jpg /sicherung/
cp -avr /var/lib/tomcat6/webapps/track/anhaenge /sicherung/

  • Download der aktuellen war-datei von http://trackplus.com/tdown/
  • umbenennen von /var/lib/tomcat6/webbapps/track
  • kopieren der war-datei nach /var/lib/tomcat6/webapps/track.war
  • starten von tomcat6 bis java sich im top beruhigt hat.
  • stoppen von tomcat6.
  • löschen von /var/lib/tomcat6/webapps/track.war
  • anhaenge,favicon.ico,logo.gif wieder zurückkopieren
  • starten von mysqld
  • starten von tomcat6.
  • testen und alte Versionen bereinigen.

Update auf neuere Tomcat(9)-Version

systemctl stop tomcat8
systemctl disable tomcat8
apt-get install tomcat9
Datei /var/lib/tomcat9/conf/server.xml ändern:
...
  <Connector port="8009" protocol=AJP/1.3" secretRequired="false" RedirectPort="8080"/>
Datei /var/lib/tomcat9/conf/context.xml ändern:
...
    <Resources cacheMaxSize="51200" />
  </Context>
Datei /etc/default/tomcat9 ändern:
  JAVAOPTS=" ...  -DTRACKPLUS_HOME=/daten/trackplus"
chown -R tomcat:tomcat /daten/trackplus
chown -R tomcat:tomcat /daten/index
cp irgendwo/allegra750b24.war /var/lib/tomcat9/webapps/allegra.war
systemctl enable tomcat9
systemctl start tomcat9
tail -f /var/log/tomcat9/catalina.out

dann Webseite testen ..

apt-get remove tomcat8
apt-get autoremove

—-

Verwaltung von Track+ an einen anderen Benutzer delegieren

Ich will die Verwaltung von Track plus an den Benutzer trackpadm so übertragen, dass er nicht gleich volle ROOT-rechte benötigt.
Er soll in der Lage sein Tomcat6, Mysql zu stoppen und zu starten sowie Trackp-updates installieren können.
zuerst wird das Paket SUDO nachinstalliert:

apt-get install sudo mc

danach wird ein neuer Benutzer trackpadm angelegt und dann in die benötigten Gruppen mysql und tomcat6 eingefügt:

 useradd trackpadm
 password:(hier 2x mal neuses Passwort setzen)
 usermod -aG mysql trackpadm
 usermod -aG tomcat6 trackpadm
 #jetzt prüfen mit:
 id trackpadm

jetzt muss den Gruppen das sudo-Recht zugewiesen werden. D.h. z.B. alle Mitglieder der Gruppe mysql können die freigegebenen Befehle
/etc/init.d/mysql und /usr/bin/mysql* ausführen:

mcedit /etc/sudoers
...
%mysql   ALL=/etc/init.d/mysql, /usr/bin/mysql*
%tomcat6 ALL=/etc/init.d/tomcat6, /usr/share/tomcat6/bin/shutdown.sh, /usr/share/tomcat6/bin/startup.sh
...

jetzt kann sich der Benutzer trackpadm anmelden und versuchen die freigegebenen Befehle auszuführen.

sudo /etc/init.d/tomcat6 stop
password for trackpadm:
sudo /etc/init.d/mysql stop
sudo /etc/init.d/tomcat6 start
sudo /etc/init.d/mysql start


Fehlerquellen

Fehlerlogs:

cat /var/lib/tomcat6/logs/catalina.2012-03-19.log

Fehler:
der Benutzer trackpadm hat kein Homeverzeichnis.
Behebung:
siehe dazu: Pluggable Authentication Module
Fehler in:
/var/lib/tomcat6/logs/catalina.log:

SCHWERWIEGEND: Exception Processing ErrorPage[errorCode=500, location=/errorForward.jsp]
java.lang.OutOfMemoryError: PermGen space

Behebung: durch JAVA_OPTS-Eintrag in /etc/default/tomcat6:

...
JAVA_OPTS="-Djava.awt.headless=true -XX:PermSize=256M -XX:MaxPermSize=384M -Xms384M -Xmx384m -Xss64K -XX:+UseConcMarkSweepGC"
#oder in /etc/default/tomcat5
#JAVA_OPTS="-Djava.awt.headless=true -Xms512M -Xmx512M -Xmn256M"
...

und Neustart des Tomcat6-Dienstes.

Überwachung von trackplus

das Script (trackwaechter.sh) per cronjob alle 10 Minuten von 7-22 Uhr ausführen :

*/10 7-22 * * * /pfad/zu/trackwaechter.sh >/dev/null
trackwaechter.sh
#!/bin/sh
wget -qO- http://meinTrackServer:8080/track/ >/dev/null 
f=$?
if [ ! $f -eq 0 ]; then
  echo https://meinTrackServer/ | mail -s Trackplusfehler admin@domain.de 
  /etc/init.d/tomcat6 stop
  /etc/init.d/mysql restart
  /etc/init.d/tomcat6 start
  # echo $f returnwert
fi