Únete
a la comunidad
Inscríbete
Haz una pregunta »

Gentoo - Instalación y configuración de Archiva

Mayo 2013

Archiva es una aplicación que permite la gestión de repositorios, principalmente es utilizada para:
  • el mantenimiento de repositorios
  • la navegación y búsqueda de artefactos
  • la gestión de la seguridad


En este artículo abordaremos la instalación de Archiva en una distribución Gentoo de Linux. Todas las operaciones serán hechas como usuario root.

Instalación de JDK y tomcat


Esta instalación será hecha con JDK-1.5.0_16 y tomcat-5.5.26, la elección de la versión de JDK es hecha teniendo en cuenta la dependencia de versión entre JDK y tomcat según la estructura del portage.

Instalación de JDK-1.5.0_16


Para instalar el jdk, ejecutamos el siguiente comando:
emerge –av =dev-java/sun-jdk-1.5.0.16


Luego respondemos con “yes”.

Instalación de tomcat-5.5.26


Para instalar tomcast, ejecutamos el siguiente comando:
emerge -av = www-servers/tomcat-5.5.26


Luego, respondemos con “yes”.

Instalación de Archiva


La instalación será hecha con la versión 1.1 de Archiva
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<version>2</version>
<repositoryScanning>
<fileTypes>
<fileType>
<id>artifacts</id>
<patterns>
<pattern>**/*.pom</pattern>
<pattern>**/*.jar</pattern>
<pattern>**/*.ear</pattern>
<pattern>**/*.war</pattern>
<pattern>**/*.car</pattern>
<pattern>**/*.sar</pattern>
<pattern>**/*.mar</pattern>
<pattern>**/*.rar</pattern>
<pattern>**/*.dtd</pattern>
<pattern>**/*.tld</pattern>
<pattern>**/*.tar.gz</pattern>
<pattern>**/*.tar.bz2</pattern>
<pattern>**/*.zip</pattern>
</patterns>
</fileType>
<fileType>
<id>indexable-content</id>
<patterns>
<pattern>**/*.txt</pattern>
<pattern>**/*.TXT</pattern>
<pattern>**/*.block</pattern>
<pattern>**/*.config</pattern>
<pattern>**/*.pom</pattern>
<pattern>**/*.xml</pattern>
<pattern>**/*.xsd</pattern>
<pattern>**/*.dtd</pattern>
<pattern>**/*.tld</pattern>
</patterns>
</fileType>
<fileType>
<id>auto-remove</id>
<patterns>
<pattern>**/*.bak</pattern>
<pattern>**/*~</pattern>
<pattern>**/*-</pattern>
</patterns>
</fileType>
<fileType>
<id>ignored</id>
<patterns>
<pattern>**/.htaccess</pattern>
<pattern>**/KEYS</pattern>
<pattern>**/*.rb</pattern>
<pattern>**/*.sh</pattern>
<pattern>**/.svn/**</pattern>
<pattern>**/.DAV/**</pattern>
<pattern>**/.index/**</pattern>
</patterns>
</fileType>
</fileTypes>
<knownContentConsumers>
<knownContentConsumer>auto-remove</knownContentConsumer>
<knownContentConsumer>auto-rename</knownContentConsumer>
<knownContentConsumer>create-missing-checksums</knownContentConsumer>
<knownContentConsumer>index-content</knownContentConsumer>
<knownContentConsumer>metadata-updater</knownContentConsumer>
<knownContentConsumer>repository-purge</knownContentConsumer>
<knownContentConsumer>update-db-artifact</knownContentConsumer>
</knownContentConsumers>
<invalidContentConsumers>
<invalidContentConsumer>update-db-bad-content</invalidContentConsumer>
</invalidContentConsumers>
</repositoryScanning>
<databaseScanning>
<cronExpression>0 * * * * ?</cronExpression>
<unprocessedConsumers>
<unprocessedConsumer>validate-repository-metadata</unprocessedConsumer>
<unprocessedConsumer>index-archive-toc</unprocessedConsumer>
<unprocessedConsumer>index-artifact</unprocessedConsumer>
<unprocessedConsumer>update-db-project</unprocessedConsumer>
<unprocessedConsumer>index-public-methods</unprocessedConsumer>
<unprocessedConsumer>update-db-bytecode-stats</unprocessedConsumer>
</unprocessedConsumers>
<cleanupConsumers>
<cleanupConsumer>not-present-remove-db-artifact</cleanupConsumer>
<cleanupConsumer>not-present-remove-indexed</cleanupConsumer>
<cleanupConsumer>not-present-remove-db-project</cleanupConsumer>
</cleanupConsumers>
</databaseScanning>
<managedRepositories>
<managedRepository>
<location>/data/repositories/internal</location>
<indexDir></indexDir>
<refreshCronExpression>0 * * * * ?</refreshCronExpression>
<retentionCount>5</retentionCount>
<id>internal</id>
<name>Almerys Archiva Managed Internal Repository</name>
</managedRepository>
<managedRepository>
<location>/data/repositories/internal.snapshot</location>
<releases>false</releases>
<snapshots>true</snapshots>
<indexDir></indexDir>
<refreshCronExpression>0 * * * * ?</refreshCronExpression>
<daysOlder>10</daysOlder>
<deleteReleasedSnapshots>true</deleteReleasedSnapshots>
<id>internal.snapshot</id>
<name>Almerys Archiva Managed Internal Snapshot Repository</name>
</managedRepository>
<managedRepository>
<location>/data/repositories/external</location>
<indexDir></indexDir>
<refreshCronExpression>0 * * * * ?</refreshCronExpression>
<id>external</id>
<name>Owliance Official Maven repo</name>
</managedRepository>
</managedRepositories>
<remoteRepositories>
<remoteRepository>
<url>http://repo1.maven.org/maven2/</url>
<id>Maven.repo</id>
<name>Official Maven repository</name>
</remoteRepository>
<remoteRepository>
<url>http://download.java.net/maven/2/</url>
<id>maven2-repository.dev.java.net</id>
<name>Java.net Repository for Maven</name>
</remoteRepository>
<remoteRepository>
<url>http://maven2.exoplatform.org/rest/maven2</url>
<id>maven2.exoplatform.org</id>
<name>eXo Platform Repository for Maven</name>
</remoteRepository>
<remoteRepository>
<url>https://www.partenaires.almerys.com/archiva/repository/internal</url>
<username></username>
<password></password>
<id>internal.central</id>
<name>Almerys Archiva Managed Internal Repository</name>
</remoteRepository>
</remoteRepositories>
<proxyConnectors>
<proxyConnector>
<order>1</order>
<sourceRepoId>external</sourceRepoId>
<targetRepoId>maven2-repository.dev.java.net</targetRepoId>
<policies>
<releases>hourly</releases>
<checksum>fix</checksum>
<snapshots>hourly</snapshots>
<cache-failures>no</cache-failures>
</policies>
</proxyConnector>
<proxyConnector>
<order>2</order>
<sourceRepoId>external</sourceRepoId>
<targetRepoId>maven2.exoplatform.org</targetRepoId>
<policies>
<releases>hourly</releases>
<checksum>fix</checksum>
<snapshots>hourly</snapshots>
<cache-failures>no</cache-failures>
</policies>
</proxyConnector>
<proxyConnector>
<order>1</order>
<sourceRepoId>internal</sourceRepoId>
<targetRepoId>internal.central</targetRepoId>
<proxyId>(direct connection)</proxyId>
<policies>
<releases>hourly</releases>
<checksum>fix</checksum>
<snapshots>hourly</snapshots>
<cache-failures>no</cache-failures>
</policies>
</proxyConnector>
<proxyConnector>
<order>3</order>
<sourceRepoId>external</sourceRepoId>
<targetRepoId>Maven.repo</targetRepoId>
<policies>
<releases>hourly</releases>
<checksum>fix</checksum>
<snapshots>hourly</snapshots>
<cache-failures>no</cache-failures>
</policies>
</proxyConnector>
</proxyConnectors>
</configuration>
  • En /usr/share/tomcat-5.5/common/lib agregamos estos jars:
    • activation-1.1.jar
    • derby-10.1.3.1.jar
    • mail-1.4.jar


Estos jars son agregados
  • En /usr/share/tomcat-5.5/common/lib, agregamos el jar tomcat-dbcp.jar, este jar lo podemos descargar de Aquí
  • En /usr/share/tomcat-5.5/common/endorsed, eliminamos el jar xml-apis.jar
  • Utilizando un editor de texto, agregamos al fichero /etc/init.d/tomcat-5.5 esta línea:
    • CATALINA_OPTS="-Dappserver.home="$CATALINA_HOME" -Dappserver.base="$CATALINA_HOME" -Xmx512m -Dderby.system.home="$CATALINA_HOME


Esta línea debe ser agregada al procedimiento “start()” antes del llamado de “init_env_vars”.
  • En /var creamos una carpeta archiva_database, luego ejecutamos este comando:
    chown -R tomcat:tomcat /var/archiva_database/
  • En /usr/share/tomcat-5.5 creamos una carpeta logs, esta carpeta contiene los logs de Archiva, luego ejecutamos este comando:
    chown -R tomcat:tomcat /usr/share/tomcat-5.5/logs/
  • Iniciamos tomcat
  • Con la url http://servername:8080/archiva, debemos obtener esta página:

  • Una vez ejecutada la aplicación con éxito, el fichero “archiva.xml” situado en la carpeta /etc/tomcat-5.5/Catalina/localhost debe ser reemplazado por el fichero “archiva.xml”, este fichero se encuentra en el proyecto CVS Archiva_Config
  • Reiniciamos tomcat

Configuración de Archiva

  • En la raíz /, creamos la carpeta data y la asignamos al usuario tomcat utilizando el comando:
    chown -R tomcat:tomcat /data/
  • Creamos una carpeta para el usuario tomcat, /home/tomcat, luego ejecutamos
    chown -R tomcat:tomcat /home/tomcat/
  • Lo asignamos como carpeta por defecto al usuario “tomcat” utilizando el comando:
    usermod –d /home/tomcat tomcat
  • En /home/tomcat, creamos la carpeta .m2, en esta carpeta copiamos el fichero “archiva-config-distant.xml” con el nombre de archiva.xml.


Y listo! La aplicación Archiva está lista para ser utilizada por los miembros del equipo

Véase también

Comunidad de asistencia y consejos.

Gentoo - Installation et configuration de Archiva
Gentoo - Installation et configuration de Archiva
Por wjaouadi el 8 de diciembre de 2009
El artículo original fue escrito por wjaouadi. Traducido por Carlos-vialfa.
Este documento intitulado « Gentoo - Instalación y configuración de Archiva » de Kioskea (es.kioskea.net) esta puesto a diposición bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones puestas por la licencia, siempre que esta nota sea visible.
Recibe nuestro newsletter

salud.kioskea.net

Gentoo – Presentación de Archiva
Gentoo – Presentación de Archiva