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.

Pfade siehe: Tomcat_installation_per_apt-get_(Linux)#Pfade

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 /usr/share/tomcat9/bin/setenv.sh

und mit folgendem Inhalt erweitern:

CATALINA_HOME und CATALINA_BASE notwendig?

export CATALINA_HOME="/usr/share/tomcat9"
export CATALINA_BASE="/var/lib/tomcat9"

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 /usr/share/tomcat9/bin/setenv.sh
sudo chown tomcat:tomcat /usr/share/tomcat9/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 CATALINA_HOME auf dem selben Level wie bin, lib etc. ein Verzeichnis archiva erstellen:

sudo -u tomcat mkdir /usr/share/tomcat9/archiva/

Heruntergeladene WAR-Datei in gerade erstelltes Verzeichnis kopieren:

sudo -u tomcat cp ~/temp/apache-archiva-2.2.5.war /usr/share/tomcat9/archiva/

archiva.xml

Eine Datei archiva.xml im Konfigurationsverzeichnis $CATALINA_BASE/conf anlegen:

sudo -u tomcat vi /var/lib/tomcat9/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

Die Datei $CATALINA_BASE/conf/context.xml anpassen:

sudo vi /var/lib/tomcat9/conf/context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context>
    ...

    <JarScanner scanManifest="false"/>

    ...
</Context>

repository.xml

TODO

sudo vi /var/lib/tomcat9/conf/repository.xml
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-armhf

https://github.com/apache/archiva/blob/master/archiva-modules/archiva-web/archiva-webapp/src/main/resources/META-INF/spring-context.xml

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

/etc/logrotate.d/archiva

Die Datei

sudo vi /etc/logrotate.d/archiva

anlegen und mit

/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
}

befüllen.

/etc/cron.daily/tomcat9

In der Datei

sudo vi /etc/cron.daily/tomcat9

die Zeile

find /var/log/$NAME/ -name \*.$EXT -daystart -mtime +0 -print0 \

durch

find /var/log/$NAME/ \( -name \*.$EXT -not -name archiva\*.$EXT \) -daystart -mtime +0 -print0 \ 

ersetzen, damit die Archiva-Logdateien ignoriert werden.

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

org.apache.jackrabbit.core.config.ConfigurationException: Failed to create workspace directory: default

Links

https://jackrabbit.apache.org/jcr/jackrabbit-configuration.html

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)