lunes, 23 de mayo de 2011

Como instalar Apache Archiva en Ubuntu

Hoy estoy configurando en mi laptop Apache Archiva un administrador de repositorio para maven; Y bueno me pareció buena idea documentar el proceso en caso de que le sea de ayuda a alguien más o si me hace falta en el futuro.

Instalación:
1.) descargamos archiva stand alone, estoy usando la versión 1.3.4
2.) Descomprimimos el archivo recientemente descargado.
3.) Movemos la carpeta de archiva hacia donde será instalado finalmente, en mi caso en la carpeta opt.

#1
wget -c http://www.reverse.net/pub/apache//archiva/binaries/apache-archiva-1.3.4-bin.tar.gz
#2
tar xfv apache-archiva-1.3.4-bin.tar.gz
#3
sudo mv apache-archiva-1.3.4 /opt/

Comprobamos que todo ha salido bien ejecutando en el siguiente comando:
/opt/apache-archiva-1.3.4/bin/archiva console
Abrimos el navegador web e ingresamos la dirección http://localhost:8080/archiva y deberíamos ver una pagina de configuración de la cuenta del administrador, si desean pueden rellenar los datos sino lo pueden hacer luego.

Nota: Antes de continuar con la configuración debemos terminar el proceso presionando Ctrl+C en la consola donde lanzamos archiva.

Configuración
Ahora que ya esta instalado y funcionando lo siguiente es configurarlo.
Para una mejor administración y actualización vamos a separar los datos y las configuraciones de la instalación de archiva:
1.) creamos las carpetas necesarias.
2.) copiamos los datos de la instalación actual de archiva a la carpeta de configuración.
#1
sudo mkdir -p /var/archiva/data
sudo mkdir -p /var/archiva/conf
sudo mkdir -p /var/archiva/logs

#2
cd /opt/apache-archiva-1.3.4/
cp -v conf/* /var/archiva/conf/
cp -vr data/* /var/archiva/data/

Configurar Archiva como un demonio (daemon)
1.) creamos un "start/stop" script en /etc/init.d/
2.) modificamos el nuevo script para que lance archiva
#1
sudo touch /etc/init.d/archiva
sudo chmod +x /etc/init.d/archiva
#2
sudo nano /etc/init.d/archiva

Aquí les dejo mi script /etc/init.d/archiva como ejemplo.


Nota: la variable de entorno ARCHIVA_BASE es necesaria para que archiva sepa de donde debe cargar los datos y las configuraciones

Básicamente lo que hice fue:
Definir o exportar la variable de entorno ARCHIVA_BASE igual a "/var/archiva".
Pasar el primer parámetro al script en incluido en archiva con el que se puede lanzar el servidor muy fácilmente.

Con esto podemos ejecutar los siguientes comando para lanzar o detener archiva.
sudo /etc/init.d/archiva start
sudo /etc/init.d/archiva stop

Si deseamos que archiva se lance automáticamente al iniciar el sistema podemos ejecutar el siguiente comando:
sudo update-rc.d archiva defaults
Aquí pueden encontrar más información sobre el comando update-rc.d

Algunos enlaces interesantes:

* Apache Archiva: http://archiva.apache.org/
* Archiva, guía de administradores: http://archiva.apache.org/docs/1.3.4/adminguide/index.html
* Archiva 1.3.4 quick start: http://archiva.apache.org/docs/1.3.4/quick-start.html

Saludos y será hasta la próxima.