Generic selectors
Exact matches only
Search in title
Search in content

Jira Installation und erste Schritte

Zwei-Faktor Authentifizierungmit dem SecSign ID Plugin

Erfahren Sie, warum unsere Zwei-Faktor Authentifizierung die Beste ist und Sie die Sicherheit Ihres Unternehmens upgraden sollten. Für Entwickler haben wirhier Informationen zusammengetragen.

Erfahren Sie mehr über Inhouse-Installationen und Ihre individuelle Firmen-App mit Ihrem Corporate Design.

Downloaden Sie das Plugin kostenlos in der Cloud für bequemen und sicheren Schutz.

JIRA ist eine von der Firma Atlassian entwickelte und herausgegebene Webanwendung für Projektmanagement, Fehlerverwaltung bzw Fehlertracking und Problembehandlung.

JIRA basiert dabei auf Java Servlets und nutzt gängige Datenbanksysteme (DBMS). Als Webanwendung läuft JIRA serverseitig und nutzt zB Apache Tomcat als Java Servlet Plattform. Die Nutzer haben dabei dann Zugriff auf das System über den Browser. Am häufigsten wird JIRA für die Softwareentwicklung bzw das Projektmanagement einer solchen eingesetzt. Im Wesentlichen wird das System dabei mit sogenannten Tickets (issues) gefüllt, wobei diese Tickets die wesentlichen Informationen für das Projektmanagment darstellen.

Schützen Sie Ihr Unternehmen erfolgreich mit der SecSign ID Zwei-Faktor Authentifizierung für Ihre App.

Inhaltsverzeichnis

    Diese echte Zwei-Faktor-Authentifizierung bei der SecSign ID fügt JIRA und Ihrer Webanwendung eine zusätzliche Sicherheitsschicht hinzu, indem es das Smartphone des Benutzers als ein physisches Token benutzt.

    Dadurch weist sich der Nutzer aus, indem er es besitzt.
    Mehr Information zur JIRA Zwei-Faktor-Authentifizierung finden Sie auf dem Jira Marketplace oder unserer Github Seite.

    Fragen? Kontaktieren Sie uns, wenn Sie Hilfe beim Setup des SecSign ID Plugins brauchen oder Ihnen ein Plugin für eine andere Programmierumgebung fehlt.

    1. Installation

    Die Installationsanleitung von Atlassian für JIRA findet man unter JIRA Installation and Upgrade Guide.

    Voraussetzungen

    • Java: Serverseitig wird Java vorausgesetzt in einer aktuellen Laufzeitumgebung (java runtime environment: JRE) oder einem aktuellen Java Development Kit (JDK). Unterstützt werden dabei die 32bit und 64bit JRE-Versionen für Windows und Linux, die von Apple an MacOSX angepassten Laufzeitumgebung wird von JIRA nicht offiziell unterstützt.
    • Application Server: neben einem Webserver wird ein Application-Server vorausgesetzt, um die Java-Klassen bzw Java-Servlets ausführen zu können. Ein bekannter Application-Server ist dabei Apache Tomcat. JIRA wird mit einem Build-In Apache Tomcat Application Server [http://tomcat.apache.org/] ausgeliefert.

    • Datenbank: JIRA benötigt für den Betrieb ein relationales Datenbanksystem. Bekannte unterstützte Datenbanksysteme sind dabei PostgreSQL, MySQL, Oracle als auch Microsoft SQL Server 2005, 2008 und 2012. Siehe Jira mit einer Datenbank verbinden. Für eine leichte Evaluation wird JIRA mit der HyperSQL DataBase bzw HSQLDB ausgeliefert. Ähnlich wie Apache Derby ist HSQLDB ein in Java geschriebenes relationales Datenbanksystem. Daneben kann HSQLDB wie Derby als Standalone-Datenbank laufen als auch in Java-Anwendungen integriert werden. Wie Apache Derby ist HSQLDB als auch der Nachfolger H2 Database eine sogenannte leichtgewichtige Datenbank (Lightweight-Datenbank)
    • Hardware: Grundsätzliche Anforderungen von JIRA an die Hardware sowie spezielle Voraussetzungen können hier nachgelesen werden.

    1.1 Installation von Jira auf Linux (Mac OSX)

    Die Installation von JIRA wird am Beispiel von Linux erklärt. Für die Installationsanweisung auf Windows-Systemen siehe JIRA on Windows. Für die Installation auf Solaris siehe here.

    1Java muss installiert und die Umgebungsvariable $JAVA_HOME muss gesetzt sein. Mit dem Befehl ‚print_env‘ bzw ’set‘ können alle für einen Nutzer gesetzten Umgebungsvariablen ausgegeben werden. Zum Setzen der Umgebungsvariablen $JAVA_HOME dienen folgende Befehle:

    find /usr/lib /usr/bin/ | grep -Ei „java“

    in der Datei /etc/profile müssen dann folgende Zeilen hinzugefügt werden:

    export JAVA_HOME=/usr/lib/path-that-was-found-for-java
    export PATH=$JAVA_HOME/bin:$PATH

    Oder je nach verwendeter Shell können die folgenden Zeilen auch in der .bashrc des Nutzers, unter dem JIRA später laufen soll, eingetragen werden.

    2Entpacken des Archivs: tar -xvzf atlassian-jira-6.4.4.tar.gz

    3JIRA Home muss gesetzt werden. Damit JIRA funktionieren kann, muss die JIRA-Instanz wissen, in welchem Verzeichnis sie liegt. Dabei ist für jede JIRA-Installation das JIRA-Home eindeutig.

    In der Datei ‚jira-application.properties‘ muss der Wert ‚jira.home‘ gesetzt werden. Die Datei befindet sich nach dem Entpacken im Verzeichnis ‚./atlassian-jira/WEB-INF/classes/‘

    jira.home=/home/jira/

    Zu beachten ist dabei, dass der Wert des Home-Verzeichnisses kein Oberverzeichnis des Servlet-Verzeichnisses sein darf:

    Configured jira.home ‚…/jira‘ must not be a parent directory of the webapp servlet path ‚…/jira/atlassian-jira‘

    Daneben kann auch die Umgebungsvariable $JIRA_HOME gesetzt werden für die einzelnen Nutzer, sofern später mit der JIRA-Installation Plugins und Add-Ons entwickelt werden sollen.

    export JIRA_HOME=/home/jira/

    3.1Für die Eindeutigkeit des JIRA-Home-Verzeichnisses ist es ratsam, einen Nutzer für jede Installation anzulegen, zB den Nutzer ‚jira‘

    useradd jira
    passwd jira

    Unter MacOSX:

    dscl . -create /Users/jira UserShell /bin/bash
    passwd jira

    Das Home-Verzeichnis des neuen Nutzers wird als JIRA-Home gesetzt. Anschließend wechselt man zum Nutzer ‚jira‘

    sh-3.2# su – jira

    Damit hat JIRA als Nutzer ‚jira‘ volle Zugriffsrechte auf das Verzeichnis JIRA-Home und (eventuell) eingeschränkte Rechte auf das JIRA-Installations-Verzeichnis. Die Zugriffsrechte sind notwendig, damit JIRA alle Templates, Plugins/Module etc laden kann. Siehe Problembehandlung.

    jira:~ jira$ cat .bashrc
    JAVA_HOME=/usr/bin/java
    JIRA_HOME=/Users/jira
    ATLAS_HOME=/usr/share/atlassian-plugin-sdk-5.0.13
    export JAVA_HOME
    export JIRA_HOME
    export ATLAS_HOME

    4Nachdem JIRA installiert wurde, kann anschließend über das Shell-Skript ‚bin/start-jira.sh‘ JIRA gestartet werden.
    JIRA startet dabei alle benötigten Komponenten:
    – Apache
    – Apache Tomcat
    Apache Catalina (Servlet-Container von Tomcat)
    – HSQLDB

    Für die Problembehandlung finden sich die Log-Dateien in zB logs/catalina.out oder für Apache Tomcat logs/catalina-YYYY-MM-DD.log bzw für den Webserver unter logs/access_log.YYYY-MM-DD

    Daneben kann JIRA auch im Vordergrund gestartet werden, statt als Dämon. JIRA wird dabei mit den Rechten des aktuellen Nutzers ausgeführt. Alle Ausgaben erscheinen dabei auf der Konsole und erleichtern die Problembehandlung. Siehe Problembehandlung.

    ./start-jira.sh -fg

    Analog zum Start-Skript gibt es ein Skript zum Stoppen von JIRA, sollte es nicht im Vordergrund gestartet worden sein:

    ./stop-jira.sh

    Nach dem Start läuft auf dem Port 8080 (Standardeinstellung) der JIRA Server. Im Browser erreichbar unter http://localhost:8080/
    Sollte der Port 8080 bereits durch eine andere Anwendung belegt sein, zB einem Node.js Webserver können Einstellungen für JIRA in der Datei ‚conf/server.xml‘ vorgenommen werden.

    Wenn JIRA ohne Fehler startet, kann man nun unter http://localhost:8080/secure/SetupMode!default.jspa die Einrichtung von JIRA vornehmen.

    2. Jira Einrichtung

    Die Einrichtung erfolgt über den JIRA Setup Wizard [https://confluence.atlassian.com/display/JIRA/Running+the+Setup+Wizard]. Dabei gibt es prinzipiell zwei Möglichkeiten, JIRA einzurichten. Automatisch und Manuell. Im weiteren Verlauf wird die Einrichtung an der manuellen Einrichtung erklärt.

    1. Datenbank: zu Testzwecken kann die integrierte Datenbank HSQLDB genutzt werden. Soll eine eigene Datenbank benutzt werden, sind hier die Angaben zu machen, welches DBMS und auf welchem Server und unter welchem Port die Datenbank erreichbar ist, Datenbanknutzer etc
    2. Öffentlichkeit: soll das JIRA öffentlich zugänglich sein, oder sollen lediglich Administratoren angelegten Nutzer erlauben, Beiträge und Vorgänge erstellen zu dürfen?
    3. Auswahl der Optionen: Soll JIRA lediglich zur Projektverfolgung genutzt werden? Oder soll JIRA auch zur Einrichtung agiler Workflows für die Softwareentwicklung genutzt werden (JIRA Agile)? Oder soll JIRA auch als Helpdesk genutzt werden können (JIRA Service Desk)?
    4. Lizensierung
    5. Einrichtung des Administrators
    6. Einrichtung E-Mail-Benachrichtungen + Avator Auswahl

    Anschließend führt JIRA durch eine kleine Tour. Soweit ist JIRA nun installiert und eingerichtet.

    4. Problembehandlung

    • Zu beachten ist dabei, dass der Wert des Home-Verzeichnisses kein Oberverzeichnis des Servlet-Verzeichnisses sein darf:
      Configured jira.home ‚…/jira‘ must not be a parent directory of the webapp servlet path ‚…/jira/atlassian-jira‘

    • JiraLockedError: Bei Auftreten der nachfolgenden Exception beim Aufruf von http://localhost:8080/ stimmen die Dateiberechtigungen nicht. Der Nutzer, unter dem JIRA ausgeführt wird, muss für alle verwendeten Verzeichnisse Lese- Schreib- und Ausführrechte haben.

    "JIRA startup failed, JIRA has been locked." [https://answers.atlassian.com/questions/15301147/http-status-500---exception-occurred-while-rendering-template-templatesjiraappconsistencyjiralocked.vm.]
    2015-05-20 15:28:38,773 http-bio-8080-exec-1 ERROR anonymous 928x1x1 - 0:0:0:0:0:0:0:1%0 /JiraLockedError [jira.template.velocity.VelocityEngineFactory$Default] Exception initialising Velocity: java.lang.RuntimeException: org.apache.velocity.util.ClassConstructionException: Cannot instantiate class for introspector.cache.classes
    java.lang.RuntimeException: org.apache.velocity.util.ClassConstructionException: Cannot instantiate class for introspector.cache.classes
    	at com.atlassian.velocity.htmlsafe.introspection.AnnotationBoxingUberspect.init(AnnotationBoxingUberspect.java:59)
    	at org.apache.velocity.runtime.RuntimeInstance.initializeIntrospection(RuntimeInstance.java:366)
    	at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:255)
    	at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:588)
    	at org.apache.velocity.app.VelocityEngine.init(VelocityEngine.java:135)
    	at com.atlassian.jira.template.velocity.VelocityEngineFactory$Default.initialise(VelocityEngineFactory.java:70)
    	at com.atlassian.jira.template.velocity.VelocityEngineFactory$Default.access$000(VelocityEngineFactory.java:24)
    	at com.atlassian.jira.template.velocity.VelocityEngineFactory$Default$1.create(VelocityEngineFactory.java:35)
    	at com.atlassian.jira.template.velocity.VelocityEngineFactory$Default$1.create(VelocityEngineFactory.java:30)
    	at com.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:325)
    	at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:143)
    	at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:112)
    	at com.atlassian.jira.template.velocity.VelocityEngineFactory$Default.getEngine(VelocityEngineFactory.java:47)
    	at com.atlassian.jira.startup.JiraStartupChecklistFilter.getVelocityEngine(JiraStartupChecklistFilter.java:117)
    	at com.atlassian.jira.startup.JiraStartupChecklistFilter.doFilter(JiraStartupChecklistFilter.java:98)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at com.atlassian.jira.web.filters.MultipartBoundaryCheckFilter.doFilter(MultipartBoundaryCheckFilter.java:41)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter(ChainedFilterStepRunner.java:87)
    	at com.atlassian.jira.web.filters.JiraFirstFilter.doFilter(JiraFirstFilter.java:61)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at com.atlassian.gzipfilter.GzipFilter.doFilterInternal(GzipFilter.java:115)
    	at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:92)
    	at com.atlassian.jira.web.filters.gzip.JiraGzipFilter.doFilter(JiraGzipFilter.java:56)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:695)
    Caused by: org.apache.velocity.util.ClassConstructionException: Cannot instantiate class for introspector.cache.classes
    	at org.apache.velocity.util.introspection.IntrospectorBase.(IntrospectorBase.java:81)
    	at org.apache.velocity.util.introspection.Introspector.(Introspector.java:65)
    	at org.apache.velocity.util.introspection.UberspectImpl.init(UberspectImpl.java:66)
    	at com.atlassian.velocity.htmlsafe.introspection.AnnotationBoxingUberspect.init(AnnotationBoxingUberspect.java:55)
    	... 43 more
    Caused by: org.apache.velocity.util.ClassConstructionException: java.lang.reflect.InvocationTargetException
    	at org.apache.velocity.util.ClassUtils.getNewInstance(ClassUtils.java:180)
    	at org.apache.velocity.util.introspection.IntrospectorBase.(IntrospectorBase.java:77)
    	... 46 more
    Caused by: java.lang.reflect.InvocationTargetException
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    	at org.apache.velocity.util.ClassUtils.getNewInstance(ClassUtils.java:168)
    	... 47 more
    Caused by: java.lang.NullPointerException
    	at com.atlassian.velocity.JiraIntrospectorCache.(JiraIntrospectorCache.java:32)
    	... 52 more

    3. Unsere APIS

    Wir haben eine stetig wachsende Liste an APIs und Plugins um die SecSign ID Zwei-Faktor Authentifizierung einfach und schnell in jedes Projekt zu integrieren.
    Wir bieten nicht nur APIs in zahlreichen Programmiersprachen, sondern auch Plugins für CMS, Server und VPN Umgebungen, oAuth2 und zahlreiche mehr. Die Plugins nutzen unsere APIs und bieten zusätzliche Funktionen, zum Beispiel Nutzer Management, einfache und native Installation, Logging oder die Integration in Firewalls oder Active Directories.

    Das JIRA Plugin beispielsweise nutzt die JAVA-API. Die PHP-API und JS-API wird von WordPress, Joomla, Drupal, Typo3 und vielen anderen genutzt. Die ASP.net/C#-API wird für die Windows und Cisco VPN genutzt und die C-API findet Verwendung um Unix SSH Services zu schützen. Die Objective-C API wird für unsere AppleTV und iPhone und iPad Apps genutzt.

    available_apis

    4. Erfahren Sie mehr

    Sie können die SecSign ID Zwei-Faktor Authentifizierung und den Zwei-Faktor Login durch eine einfach Integration des Plugins in Ihre Website oder Ihre Testumgebung kennenlernen. Oder testen Sie den Login auf unserer Website, ohne sich vorher zu registrieren. Sie haben bereits eine SecSign ID oder hätten gerne eine? Loggen Sie sich jetzt ein und nutzen Sie das Portal oder registrieren Sie sich ganz unkompliziert.

    Erfahren Sie selbst, wie schnell und unkompliziert der Login Prozess mit der Challenge-Response Authentifizierung mit 2048-bit Schlüsselpaaren ist. Sie brauchen keine Passwörter, und es werden keine vertraulichen Logindaten übertragen. Einfache Integration und unkomplizierte Nutzung.

    Für mehr Informationen zum patentierten SafeKey Verfahren finden Sie hier.

    Falls Sie eine API für eine Programmiersprache vermissen kontaktieren Sie uns unverbindlich. Falls Sie Hilfe mit der Integration in ein existierendes System brauchen oder kein passendes Plugin für Ihr Content Management System finden, kontaktieren Sie unser Support Team und wir helfen Ihnen gerne weiter.

    Ihr eigener ID-Server

    Die Inhouse Installation der SecSign ID bietet Ihnen die Flexibilität, sich mit Ihren bevorzugten Server, Services und Geräten zu verbinden. Passen Sie die SecSign ID Ihrer Unternehmensmarke an!

    your_own_id

    Warum sollte ich SecSign nutzen?

    Inhouse oder Cloud Lösungen

    Unsere Lösungen lassen sich leicht anpassen: Wählen Sie zwischen der durch uns betriebenen SecSign Cloud oder betreiben Sie selber den SecSign Authentifizierungsserver Inhouse oder in einem Rechenzentrum Ihrer Wahl. Mehr zum Inhouse Zwei-Faktor Authentifizierungsserver

    Einfache Anpassung an Ihre Bedürfnisse

    Wir passen die App an ihre Unternehmens Look-and-Feel an. Zwei-Faktor Authentifizierung angepasst an Ihre Bedürfnisse, für Ihre Kunden.

    Anwendungsfertiges SDK

    Integrieren Sie die SecSign Zwei-Faktor Authentifizierung in existierende Apps mit unserem SDK. Es könnte nicht einfacher gehen.

    Unkompliziertes Nutzer-Management

    Nutzen sie den Zwei-Faktor Authentifizierungsserver zum Schutz Ihres Active Directory/LDAP. Ihr individuelles Identity and Access Management System, beispielsweise mit verpflichtenden Updates und zahlreichen Sicherheitseinstellungen.

    Schützen Sie ALLE Logins

    Integration in sämtliche Login-Umgebungen: Web, Local, VPN, Remote Desktop, Mobile Logins und viele mehr.

    Plugins für alle Anwendungsgebiete

    Komplexe Integrationen gehören der Vergangenheit an: SecSign bietet Ihnen Plugins für nahezu alle Umgebungen.

    SecSign 2FA