Apache Archiva (Version 2.2.5): Unterschied zwischen den Versionen

Aus Tutorials
Zur Navigation springen Zur Suche springen
 
(45 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 5: Zeile 5:


Hier wird die Installation unter Verwendung von [[Tomcat installation per tarball (unterschiedliche Versionen)|Apache Tomcat]] beschrieben.
Hier wird die Installation unter Verwendung von [[Tomcat installation per tarball (unterschiedliche Versionen)|Apache Tomcat]] beschrieben.
Pfade siehe: [[Tomcat_installation_per_apt-get_(Linux)#Pfade|Tomcat_installation_per_apt-get_(Linux)#Pfade]]


=== Tomcat Bibliotheken ===
=== Tomcat Bibliotheken ===
Zeile 13: Zeile 15:
<pre>
<pre>
cd ~/downloads/
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
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
tar -xzf db-derby-*.tar.gz
sudo cp db-derby-10.14.2.0-lib/lib/derby.jar /opt/tomcat/tomcat10_0_0/tomcat10_1/lib/derby-10.14.2.0.jar
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
</pre>
</pre>


Zeile 23: Zeile 27:
<pre>
<pre>
wget https://repo1.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar
wget https://repo1.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar
sudo cp activation-1.1.1.jar /opt/tomcat/tomcat10_0_0/tomcat10_1/lib/
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
</pre>
</pre>


Zeile 31: Zeile 37:
<pre>
<pre>
wget https://repo1.maven.org/maven2/javax/mail/mail/1.4.3/mail-1.4.3.jar
wget https://repo1.maven.org/maven2/javax/mail/mail/1.4.3/mail-1.4.3.jar
sudo cp mail-1.4.3.jar /opt/tomcat/tomcat10_0_0/tomcat10_1/lib/
sudo cp mail-1.4.3.jar /usr/share/java/mail-1.4.3.jar
</pre>
cd /usr/share/tomcat9/lib/
 
sudo ln -sfn ../../java/mail-1.4.3.jar mail.jar
<pre>
cd /opt/tomcat/tomcat10_0_0/tomcat10_1/lib/
sudo chown tomcat:tomcat derby-10.14.2.0.jar activation-1.1.1.jar mail-1.4.3.jar
</pre>
</pre>


== Installation ==
== Installation ==


<pre>
=== Variablen setzen ===
sudo vi /opt/tomcat/tomcat10_0_0/tomcat10/bin/setenv.sh
</pre>


<pre>
Skript $TOMCAT_HOME/bin/setenv.sh anlegen / erweitern
export CATALINA_OPTS="-Dappserver.home=$CATALINA_HOME -Dappserver.base=$CATALINA_HOME"
</pre>


<pre>
<pre>
sudo chmod 750 /opt/tomcat/tomcat10_0_0/tomcat10/bin/setenv.sh
sudo vi /usr/share/tomcat9/bin/setenv.sh
sudo chown tomcat:tomcat /opt/tomcat/tomcat10_0_0/tomcat10/bin/setenv.sh
</pre>
</pre>


und mit folgendem Inhalt erweitern:


{{note|CATALINA_HOME und CATALINA_BASE notwendig?}}


<pre>
export CATALINA_HOME="/usr/share/tomcat9"
export CATALINA_BASE="/var/lib/tomcat9"


export CATALINA_OPTS="-Dappserver.home=$CATALINA_HOME -Dappserver.base=$CATALINA_BASE"
</pre>
Falls die Datei neu angelegt wurde, muss sie noch ausführbar gemacht werden:


<pre>
sudo chmod 750 /usr/share/tomcat9/bin/setenv.sh
sudo chown tomcat:tomcat /usr/share/tomcat9/bin/setenv.sh
</pre>


{{note|Bis hier}}
=== apache-archiva-*.*.*.war ===


Unter [https://archiva.apache.org/download.cgi https://archiva.apache.org/download.cgi] die aktuellste Version suchen und herunterladen:
Unter [https://archiva.apache.org/download.cgi https://archiva.apache.org/download.cgi] die aktuellste Version suchen und herunterladen:
Zeile 66: Zeile 77:
</pre>
</pre>


In ''TOMCAT_HOME'' auf dem selben Level wie ''bin'', ''lib'' etc. ein Verzeichnis ''archiva'' erstellen:
In ''CATALINA_HOME'' auf dem selben Level wie ''bin'', ''lib'' etc. ein Verzeichnis ''archiva'' erstellen:
<pre>
<pre>
sudo -u tomcat mkdir /opt/tomcat/tomcat10_0_0/tomcat10_1/archiva
sudo -u tomcat mkdir /usr/share/tomcat9/archiva/
</pre>
</pre>


Heruntergeladene ''WAR''-Datei in gerade erstelltes Verzeichnis kopieren:
Heruntergeladene ''WAR''-Datei in gerade erstelltes Verzeichnis kopieren:
<pre>
<pre>
sudo -u tomcat cp ~/downloads/apache-archiva-2.2.5.war /opt/tomcat/tomcat10_0_0/tomcat10_1/archiva/
sudo -u tomcat cp ~/temp/apache-archiva-2.2.5.war /usr/share/tomcat9/archiva/
</pre>
</pre>


Eine Datei ''archiva.xml'' im Konfigurationsverzeichnis ''conf'' anlegen:
=== archiva.xml ===
 
Eine Datei ''archiva.xml'' im Konfigurationsverzeichnis ''$CATALINA_BASE/conf'' anlegen:
 
<pre>
<pre>
sudo -u tomcat nano /opt/tomcat/tomcat7_0_69/tomcat7_1/conf/Catalina/localhost/archiva.xml
sudo -u tomcat vi /var/lib/tomcat9/conf/Catalina/localhost/archiva.xml
</pre>
</pre>


Zeile 85: Zeile 99:
Und folgenden Inhalt einfügen:
Und folgenden Inhalt einfügen:
<pre>
<pre>
<Context path="/archiva"
<Context path="/archiva" docBase="${catalina.home}/archiva/apache-archiva-2.2.5.war">
          docBase="${catalina.home}/archiva/apache-archiva-2.2.1.war">
<!--
  <JarScanner>
    <JarScanFilter tldSkip="${tomcat.util.scan.StandardJarScanFilter.jarsToSkip}, derbyLocale*.jar"/>
  </JarScanner>
-->


  <Resource name="jdbc/users" auth="Container" type="javax.sql.DataSource"
  <Resource name="jdbc/users"  
          auth="Container"  
          type="javax.sql.DataSource"
           username="sa"
           username="sa"
           password=""
           password=""
           driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
           driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
           url="jdbc:derby:${catalina.base}/archiva/database/users;create=true" />
           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"
  <Resource name="mail/Session" auth="Container"
            type="javax.mail.Session"
          type="javax.mail.Session"
            mail.smtp.host="localhost"/>
          mail.smtp.host="localhost"/>
</Context>
</Context>
</pre>
 
=== context.xml ===
 
Die Datei ''$CATALINA_BASE/conf/context.xml'' anpassen:
 
<pre>
sudo vi /var/lib/tomcat9/conf/context.xml
</pre>
</pre>


Skript ''$TOMCAT_HOME/bin/setenv.sh'' anlegen / erweitern:
<pre>
<pre>
sudo -u tomcat nano /opt/tomcat/tomcat7/tomcat7_1/bin/setenv.sh
<?xml version="1.0" encoding="UTF-8"?>
<Context>
    ...
 
    <JarScanner scanManifest="false"/>
 
    ...
</Context>
</pre>
</pre>


{{note|TODO: Möglicherweise sollte die Werte auf CATALINA_BASE geändert werden}}
=== repository.xml ===
 
{{note|TODO}}


Folgende Zeile hinzufügen:
<pre>
<pre>
#!/bin/sh
sudo vi /var/lib/tomcat9/conf/repository.xml
</pre>


export CATALINA_OPTS="-Dappserver.home=$CATALINA_HOME -Dappserver.base=$CATALINA_HOME"
<pre>
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-armhf
</pre>
</pre>
[https://github.com/apache/archiva/blob/master/archiva-modules/archiva-web/archiva-webapp/src/main/resources/META-INF/spring-context.xml https://github.com/apache/archiva/blob/master/archiva-modules/archiva-web/archiva-webapp/src/main/resources/META-INF/spring-context.xml]


== Apache Konfiguration ==
== Apache Konfiguration ==
{{note|Bis hier}}


Konfigurationsdatei anlegen
Konfigurationsdatei anlegen
Zeile 141: Zeile 190:
sudo service apache2 reload
sudo service apache2 reload
</pre>
</pre>
== Logrotate ==
=== /etc/logrotate.d/archiva ===
Die Datei
<pre>
sudo vi /etc/logrotate.d/archiva
</pre>
anlegen und mit
<pre>
/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
}
</pre>
befüllen.
=== /etc/cron.daily/tomcat9 ===
In der Datei
<pre>
sudo vi /etc/cron.daily/tomcat9
</pre>
die Zeile
<pre>
find /var/log/$NAME/ -name \*.$EXT -daystart -mtime +0 -print0 \
</pre>
durch
<pre>
find /var/log/$NAME/ \( -name \*.$EXT -not -name archiva\*.$EXT \) -daystart -mtime +0 -print0 \
</pre>
ersetzen, damit die Archiva-Logdateien ignoriert werden.


== Debugging ==
== Debugging ==
Zeile 147: Zeile 243:


<pre>
<pre>
sudo nano /opt/tomcat/tomcat7/tomcat7_1/webapps/archiva/WEB-INF/classes/log4j2.xml  
sudo vi /opt/tomcat/tomcat10_0_0/tomcat10_1/webapps/archiva/WEB-INF/classes/log4j2.xml  
</pre>
</pre>


Zeile 168: Zeile 264:


</pre>
</pre>
== Probleme ==
=== org.apache.jackrabbit.core.config.ConfigurationException: Failed to create workspace directory: default ===
==== Links ====
[https://jackrabbit.apache.org/jcr/jackrabbit-configuration.html 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 ==
== Links ==
Zeile 176: Zeile 286:


[https://cwiki.apache.org/confluence/display/ARCHIVA/Archiva+on+Tomcat https://cwiki.apache.org/confluence/display/ARCHIVA/Archiva+on+Tomcat]
[https://cwiki.apache.org/confluence/display/ARCHIVA/Archiva+on+Tomcat 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/ https://fabianlee.org/2018/02/03/maven-installing-a-private-maven-repository-on-ubuntu-using-apache-archiva/]




Zurück zu [[Apache Archiva (verschiedene Versionen)#Archiva Versionen|Apache Archiva (verschiedene Versionen)]]
Zurück zu [[Apache Archiva (verschiedene Versionen)#Archiva Versionen|Apache Archiva (verschiedene Versionen)]]

Aktuelle Version vom 4. Januar 2023, 14:10 Uhr

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)