En la anterior entrada, decía cómo instalar Apache Archiva bajo Tomcat6 utilizando la base de datos Derby como gestor. En esta entrada, finalizaré la instalación indicando cómo hacer para que Archiva conecte con MySQL y daré los primeros pasos con Apache Archiva.
Configuración con MySQL
En primer lugar, debemos disponer de un sistema de base de datos MySQL ya instalado. Si no lo tenemos instalado, debemos ejecutar el siguiente comando:
$ sudo apt-get install mysql-server-5.1 mysql-client-5.1
A continuación, creamos una base de datos y un usuario exclusivos para Archiva:
$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 73 Server version: 5.1.41-3ubuntu12.3 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database archiva; Query OK, 1 row affected (0.07 sec) mysql> use archiva; Database changed mysql> grant all privileges on archiva.* to archiva identified by 'archivapass'; Query OK, 0 rows affected (0.02 sec) mysql> exit Bye
Con este paso, tenemos una base de datos “archiva” y un usuario “archiva” con todos los permisos hacia la misma.
Por último, necesitamos indicar a Archiva que se conecte con esta nueva tabla, pero previamente debemos instalar el driver JDBC de MySQL:
$ sudo su - # apt-get install libmysql-java # cd /usr/share/tomcat6/lib # ln -s ../../java/mysql-connector-java.jar
Editamos la configuración de Archiva en Tomcat6 (archivo “/var/lib/tomcat6/conf/Catalina/localhost/archiva.xml”), comentando las entradas correspondientes a la conexión de base de datos Derby e incluyendo la conexión a MySQL. El archivo quedaría como éste:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/archiva"
docBase="${catalina.base}/archiva/apache-archiva-1.3.1.war">
<!--
<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="jdbc/users" auth="Container" type="javax.sql.DataSource"
username="archiva"
password="archivapass"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/archiva?autoReconnect=true" />
<Resource name="jdbc/archiva" auth="Container" type="javax.sql.DataSource"
username="archiva"
password="archivapass"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/archiva?autoReconnect=true" />
<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"
mail.smtp.host="localhost"/>
</Context>
Para terminar la instalación, debemos crear el directorio .m2 en el directorio del usuario tomcat6, de forma que Archiva la procese (y para que también podamos editarla desde la página de administración Archiva):
$ sudo mkdir ~tomcat6/.m2 $ sudo chown tomcat6:tomcat6 -R ~tomcat6/.m2
Ahora podemos reiniciar Tomcat y utilizar Apache Archiva como nuestro servidor de repositorio.
Conexión a Apache Archiva – Creación de usuario administrador
La primera vez que nos conectamos a Apache Archiva, éste genera las tablas necesarias en la base de datos y nos solicita la creación del usuario administrador:
Una vez creado el usuario, nos aparecerá la página de búsqueda:
Configuración de Repositorios
Una vez finalizada la instalación y configuración “base”, debemos incluir algunos repositorios de Maven 2 para que Archiva actúe de “proxy” hacia ellos, de forma que nosotros nos conectemos únicamente a Archiva y sea éste el que se encargue de descargar los archivos que necesitemos de los repositorios externos.
Para ello, desde la página de búsqueda, vista anteriormente, pulsaremos sobre el botón de “Repositories”. Aquí nos aparecerán los repositorios manejados (“Managed Repositories”) por defecto:
- Archiva Managed Internal Repository.
- Archiva Managed Snapshot Repository.
y dos repositorios remotos:
- Central Repository.
- Java.net Repository for Maven 2.
Lo primero que debemos hacer es modificar la configuración de los directorios dos repositorios manejados, de forma que los directorios estén bajo “/var/lib/tomcat6/archiva/repositories”. Para ello, sobre cada uno, pulsamos en el botón “Edit” y modificamos el parámetro:
Una vez actualizados, pulsaremos sobre el botón “Add” en el apartado de “Remote Repositories”, añadiendo nuevos repositorios remotos:
Y así, añadimos los siguientes repositorios:
- Codehaus: http://repository.codehaus.org/.
- JBoss: http://repository.jboss.org/maven2/. Actualización (02/08/2010): JBoss ha dispuesto otro repositorio: http://repository.jboss.org/nexus/content/groups/public/.
- IBiblio: http://mirrors.ibiblio.org/pub/mirrors/maven2/.
- Spring: http://s3.amazonaws.com/maven.springframework.org/release.
quedando del siguiente modo:
Configuración de conexiones de los repositorios
Una vez que hemos añadido los repositorios remotos, hemos de indicar para qué paquetes Java utilizaremos cada uno de estos repositorios. Pulsamos sobre el enlace “Proxy Connectors” y a continuación sobre el botón “Add”. Éste es el ejemplo para añadir el repositorio de Codehaus:
Nótese que hemos indicado el paquete “org/codehaus/**” en la “White List”, es decir, estamos indicando que se utilizará este repositorio remoto únicamente para descargar “artefactos” / librerías que cumplan este formato (cuyo groupId sea éste o esté compuesto por éste).
La configuración completa de todos los repositorios remotos, así como edición del repositorio “Java.net Repository for Maven 2″ para añadirle en la “White List” el paquete “javolution/**” es ésta:
Configuración de Maven2 para conexión con Archiva
Una vez que tenemos Apache Archiva funcionando, podemos configurar Maven2 para que lo utilice como repositorio de todos los paquetes necesarios en nuestros desarrollos, para lo cual, editamos nuestro archivo de configuración de Maven2 situado en nuestro directorio “.m2″ de nuestro usuario, dejándolo de este modo:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--
<localRepository/>
<interactiveMode>true</interactiveMode>
<usePluginRegistry/>
<offline>false</offline>
<pluginGroups/>
<servers/>
-->
<mirrors>
<mirror>
<id>internal</id>
<name>Archiva Managed Internal Repository</name>
<url>http://hostname:8080/archiva/repository/internal</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<!--
<proxies/>
<profiles/>
<activeProfiles/>
-->
</settings>
* Este archivo se muestra a modo de ejemplo ya que, en realidad, únicamente hace falta añadir la parte relativa a “mirror”; el resto, debe configurarse en función de las necesidades de cada usuario.
** Se debe sustituir la palabra “hostname” por el nombre o IP del servidor real de Apache Archiva.
No hay entradas relacionadas.
















