Apache Archiva (Version 2.2.5)

Aus Tutorials
Zur Navigation springen Zur Suche springen

Noch in Bearbeitung


Voraussetzungen

Hier wird die Installation unter Verwendung von Apache Tomcat beschrieben.

Tomcat Bibliotheken

derby.jar

Von https://db.apache.org/derby/derby_downloads.html die aktuellste Derby Datenbank runterladen:

cd ~/downloads/
wget https://mirror.klaus-uwe.me/apache/db/derby/db-derby-10.14.2.0/db-derby-10.14.2.0-lib.tar.gz
tar -xzf db-derby-*.tar.gz
sudo cp db-derby-10.14.2.0-lib/lib/derby.jar /usr/share/java/derby-10.14.2.0.jar
cd /usr/share/tomcat9/lib/
sudo ln -sfn ../../java/derby-10.14.2.0.jar derby.jar

activation.jar

Von https://mvnrepository.com/artifact/javax.activation/activation/1.1.1 unter Repository runterladen:

wget https://repo1.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar
sudo cp activation-1.1.1.jar /usr/share/java/activation-1.1.1.jar
cd /usr/share/tomcat9/lib/
sudo ln -sfn ../../java/activation-1.1.1.jar activation.jar

mail.jar

Von https://mvnrepository.com/artifact/javax.mail/mail/1.4.3 unter Repository runterladen:

wget https://repo1.maven.org/maven2/javax/mail/mail/1.4.3/mail-1.4.3.jar
sudo cp mail-1.4.3.jar /usr/share/java/mail-1.4.3.jar
cd /usr/share/tomcat9/lib/
sudo ln -sfn ../../java/mail-1.4.3.jar mail.jar

Installation

Variablen setzen

Skript $TOMCAT_HOME/bin/setenv.sh anlegen / erweitern

sudo vi /opt/tomcat/tomcat10_0_0/tomcat10/bin/setenv.sh

und mit folgendem Inhalt erweitern:

export CATALINA_OPTS="-Dappserver.home=$CATALINA_HOME -Dappserver.base=$CATALINA_BASE"

Falls die Datei neu angelegt wurde, muss sie noch ausführbar gemacht werden:

sudo chmod 750 /opt/tomcat/tomcat10_0_0/tomcat10/bin/setenv.sh
sudo chown tomcat:tomcat /opt/tomcat/tomcat10_0_0/tomcat10/bin/setenv.sh

apache-archiva-*.*.*.war

Unter https://archiva.apache.org/download.cgi die aktuellste Version suchen und herunterladen:

wget https://mirror.klaus-uwe.me/apache/archiva/2.2.5/binaries/apache-archiva-2.2.5.war

In TOMCAT_BASE auf dem selben Level wie bin, lib etc. ein Verzeichnis archiva erstellen:

sudo -u tomcat mkdir /opt/tomcat/tomcat10_0_0/tomcat10_1/archiva

Heruntergeladene WAR-Datei in gerade erstelltes Verzeichnis kopieren:

sudo -u tomcat cp ~/temp/apache-archiva-2.2.5.war /opt/tomcat/tomcat10_0_0/tomcat10_1/archiva/

archiva.xml

Eine Datei archiva.xml im Konfigurationsverzeichnis conf anlegen:

sudo -u tomcat vi /opt/tomcat/tomcat10_0_0/tomcat10_1/conf/Catalina/localhost/archiva.xml

XML-Versionszeile weglassen / WAR-Dateiname muss angepasst werden / URL zur Datenbank muss noch angepasst werden

Und folgenden Inhalt einfügen:

<Context path="/archiva" docBase="${catalina.home}/archiva/apache-archiva-2.2.5.war">
<!--
  <JarScanner>
    <JarScanFilter tldSkip="${tomcat.util.scan.StandardJarScanFilter.jarsToSkip}, derbyLocale*.jar"/>
  </JarScanner>
-->

 <Resource name="jdbc/users" 
           auth="Container" 
           type="javax.sql.DataSource"
           username="sa"
           password=""
           driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
           url="jdbc:derby:${catalina.base}/archiva/database/users;create=true" />

 <Resource name="jdbc/archiva" 
           auth="Container" 
           type="javax.sql.DataSource"
           username="sa"
           password=""
           driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
           url="jdbc:derby:${catalina.base}/archiva/database/archiva;create=true" />

 <Resource name="mail/Session" auth="Container"
           type="javax.mail.Session"
           mail.smtp.host="localhost"/>
</Context>

context.xml

sudo vi /opt/tomcat/tomcat10_0_0/tomcat10/conf/context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context>
    ...

    <JarScanner scanManifest="false"/>

    ...
</Context>

Apache Konfiguration

Bis hier

Konfigurationsdatei anlegen

cd /etc/apache2/sites-available/
sudo vi archiva.conf

und mit folgenden Inhalt befüllen:

<VirtualHost *:80>
    ServerName archiva.kirner.or.at
    DocumentRoot /var/www/

    ProxyPass / http://127.0.0.1:8080/archiva/
    ProxyPassReverse / http://127.0.0.1:8080/archiva/

    ErrorLog ${APACHE_LOG_DIR}/archiva.kirner.or.at-error.log
    CustomLog ${APACHE_LOG_DIR}/archiva.kirner.or.at-access.log combined
</VirtualHost>

Danach Konfiguration aktivieren und Apache neustarten:

sudo a2ensite archiva
sudo service apache2 reload

Logrotate

sudo vi /etc/logrotate.d/archiva
/var/log/tomcat9/archiva-audit.log /var/log/tomcat9/archiva.log /var/log/tomcat9/archiva-security-audit.log {
copytruncate
daily
rotate 7
compress
missingok
size 100M
}

Debugging

Für detailiertere Fehlemeldungen in der Datei $CATALINA_BASE/webapps/archiva/WEB-INF/classes/log4j2.xml im jeweiligen Bereich (appenders bzw. loggers) folgende Zeilen hinzufügen:

sudo vi /opt/tomcat/tomcat10_0_0/tomcat10_1/webapps/archiva/WEB-INF/classes/log4j2.xml 
    <appenders>
        ...
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
        ...
    </appenders>

    </loggers>
        ...
        <logger name="org.springframework.web" level="debug">
            <appender-ref ref="console"/>
        </logger>
        ...
    </loggers>

Probleme

24-Jan-2021 18:33:40.961 SCHWERWIEGEND [main] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class [org.springframework.web.context.ContextLoaderListener] java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener

Probleme mit CLASSPATH???

CATALINA_HOME vs. CATALINA_BASE'

Links

https://archiva.apache.org/index.cgi

https://archiva.apache.org/docs/2.2.5/adminguide/webapp.html

https://cwiki.apache.org/confluence/display/ARCHIVA/Archiva+on+Tomcat

https://fabianlee.org/2018/02/03/maven-installing-a-private-maven-repository-on-ubuntu-using-apache-archiva/


Zurück zu Apache Archiva (verschiedene Versionen)