Standalone JIRA Installation auf einem Debian 14 System. Das Beispiel geht davon aus, dass ein LAMP Image von Turnkey verwendet wird (z.B. dieses hier).
VMWare Image installieren
Zunächst muss natürlich das Image installiert werden, worauf ich in diesem Post aber nicht eingehen möchte. Ihr benötigt für die JIRA Installation natürlich die bei der Konfiguration des Images eingegebenen Zugangsdaten.
Nach dem ersten Login auf dem frischen System, sollte ein Update durchgeführt werden.
apt-get update
JIRA Installation vorbereiten
Sind wir auf einem 32 oder 64 Bit System?
uname -a
Download der passenden JIRA Version.
wget https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.0.9-jira-7.0.9-x64.bin
Installer ausführbar machen, starten und den Anweisungen folgen
chmod +x atlassian-jira-software-7.0.9-jira-7.0.9-x64.bin
./atlassian-jira-software-7.0.9-jira-7.0.9-x64.bin
Memory Consumption prüfen
cat /proc/meminfo
As a rule of thumb, if you have fewer than 5000 issues, JIRA should run well with the default 768 MB. Granting JIRA too much memory can impact performance negatively, so it is best to start with 768 MB and make modest increases as necessary. As another data point, 40,000 works well with 768 MB to 1 GB.
MySQL vorbereiten
MySQL sollte auf dem TurnkeyLamp Image bereits installiert sein und laufen. Eine kurze Prüfung schadet aber nicht.
Prüfen, ob MySQL läuft
netstat -na | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
JIRA User und Datenbank anlegen
Den Schritten dieser Anleitung folgen
MySQL Driver bereitstellen
Es fehlt ein MySQL Driver für JIRA. Diesen herunterladen, die benötigte har-datei in das lib-Verzeichnis (/opt/atlassian/jira/lib
) der JIRA-Installation entpacken und den Rest löschen.
wget http://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.38.tar.gz
mv mysql-connector-java-5.1.38.tar.gz /opt/atlassian/jira/lib
cd /opt/atlassian/jira/lib
tar -zxvf mysql-connector-java-5.1.38.tar.gz mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar
mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar .
rm /opt/atlassian/jira/lib/mysql-connector-java-5.1.38.tar.gz
rm -rf /opt/atlassian/jira/lib/mysql-connector-java-5.1.38
Danach JIRA einmal neu starten, damit der Treiber bereit steht.
service jira stop
oder (manchmal geht der vorige Command nicht)
/etc/init.d/jira stop
Mittels
ps -ef | grep jira
gucken, ob der Service noch läuft.
Danach starten:
service jira start && tail -f /opt/atlassian/jira/logs/catalina.out
Danach geht's mit dem Setup-Assistenten weiter.
* sollte man beim Installieren die interne Datenbank ausgewählt haben, gibt es hier die Anleitung, wie man auf MySQL wechselt.
JIRA Setup Assistent
Der Rest des Assistenten ist selbsterklärend.
Apache als Proxy für JIRA / JIRA Public Port ändern
JIRA läuft standardmässig auf Port 8080. In dem Setup mit Apache davor, kann man den Apache so einstellen, dass er Requests auf Port 80 an JIRA dahinter auf 8080 weitergibt.
Um den Apache dazu zu bringen, die Requests auf Port 80 zu JIRA weiterzuleiten, müssen folgende Schritte durchgeführt werden (Hinweis: diese Schritte sind nur eine Möglichkeit, zum Ziel zu gelangen).
Apache mod proxy aktivieren
a2enmod proxy_http
Virtual Host anlegen und Proxy Forward aktivieren
Die beiden Dateien /etc/apache2/sites-enabled/{your server's hostname}.conf
und /etc/apache2/sites-available/{your server's hostname}.conf
erstellen und folgenden Inhalt einfügen:
<VirtualHost *>
ServerName {your server's hostname}
ProxyRequests on
ProxyRemote * http://localhost:8080
</VirtualHost>
In der Datei /etc/apache2/sites-available/000-default.conf
die Proxy-Pass Einstellungen hinzufügen:
# JIRA Proxy Configuration:
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://{your server's ip}:8080/
ProxyPassReverse / http://{your server's ip}:8080/
Apache neu starten.
Restore-Prozedur an dieser Stelle
Falls dieser Guide zum Restore genutzt wird Guide für automatisiertes JIRA Backup unter Unix, die Datei /etc/apache2/sites-available/{your server's hostname}.conf
mit obigem Inhalt erstellen und von /etc/apache2/sites-enabled/
aus symlinken.
ln -s /etc/apache2/sites-available/{your server's hostname}.conf /etc/apache2/sites-enabled/{your server's hostname}.conf
JIRA BaseURL aktualisieren
Nachdem der Hostname im Apache konfiguriert ist, müssen wir auch JIRA entsprechend einstellen.
G + G drücken, settings
eintippen und den Menüpunkt General configuration advanced settings wählen:
und die Base URL auf den gewählten Hostname ändern.
ProxyName in Tomcat server.xml angeben
Ein extrem wichtiger Schritt ist die Tomcat-Config von JIRA (ist standardmäßig /opt/atlassian/jira/conf/server.xml
. Dort muss bei dem Setup mit Apache Proxy der proxyName und proxyPort angegeben werden, damit man keine XSRF Fehler bekommt, wenn man über den Hostname Issues erstellt.
proxyName="{your server's hostname}"
proxyPort="80"
MySQL Optimierung
Atlassian hat auf dieser Seite einige Flags erklärt, mit der man die MySQL Verbindung optimieren kann. Eines ist dabei, dass man setzen sollte, sonst stolpert JIRA's "Instance Health" report.
<pool-test-on-borrow>false</pool-test-on-borrow>
Vollständige dbconfig.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<jira-database-config>
<name>defaultDS</name>
<delegator-name>default</delegator-name>
<database-type>mysql</database-type>
<jdbc-datasource>
<url>jdbc:mysql://localhost:3306/jiradb?useUnicode=true&characterEncoding=UTF8&sessionVariables=storage_engine=InnoDB</url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<username>{your user}</username>
<password>{your password}</password>
<pool-min-size>20</pool-min-size>
<pool-max-size>30</pool-max-size>
<pool-max-wait>30000</pool-max-wait>
<validation-query>select 1</validation-query>
<min-evictable-idle-time-millis>60000</min-evictable-idle-time-millis>
<time-between-eviction-runs-millis>300000</time-between-eviction-runs-millis>
<pool-max-idle>20</pool-max-idle>
<pool-remove-abandoned>true</pool-remove-abandoned>
<pool-remove-abandoned-timeout>300</pool-remove-abandoned-timeout>
<pool-test-while-idle>true</pool-test-while-idle>
<pool-test-on-borrow>false</pool-test-on-borrow>
<validation-query-timeout>3</validation-query-timeout>
</jdbc-datasource>
</jira-database-config>
Setup ohne Turnkey/Webmin
Ein weiterer Weg ist hier beschrieben:
yum install http
In die Datei /etc/httpd/conf.d/jira.conf
folgenden Inhalt:
# Send all web traffic to JIRA
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
Apache neu starten und zum runlevel boot hinzufügen
sudo /etc/init.d/httpd start
sudo chkconfig httpd on
Auch hier muss wieder der Eintrag in JIRA's server.xml ({JIRA home}/conf/server.xml
) getätigt werden. Im 8080 connector port die beiden Parameter hinzufügen:
proxyName="{your server's hostname}"
proxyPort="80"
JIRA neu starten & es sollte jeglicher Traffic über 80 bei JIRA auf 8080 ankommen.