jueves, 11 de abril de 2013

Instalar UniFi Controller en CentOS 6.6 y Red Hat 6

Para instalar UniFi Controller en nuestro servidor debemos realizar los siguientes pasos:

Primero añadimos el repositorio del servidor de base de datos no relacional MongoDB creando el archivo 10gen.repo dentro del directorio /etc/yum.repos.d/ con el siguiente contenido:

# vi /etc/yum.repos.d/10gen.repo

- Para sistemas CentOS o Red Hat de 64 bits (x86_64):


[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0
enabled=1

- Para sistemas CentOS o Red Hat de 32 bits (i686):


[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686
gpgcheck=0
enabled=1

Ahora instalamos todos los paquetes necesarios para que UniFi Controller funcione adecuadamente

# yum install mongo-10gen mongo-10gen-server java-1.7.0-openjdk

Paralelamente podemos descargar la última versión del instalador de la aplicación Unifi Controller (UniFi.unix.zip).

Suponiendo que el archivo comprimido se descargó en el directorio "Descargas", entonces ejecutamos el siguiente comando para descomprimir el archivo zip:

# unzip /home/tu_usuario/Descargas/UniFi.unix.zip -d /usr/local/

Para ejecutar el servicio UniFi Controller debemos escribir la siguiente sentencia:

# java -jar /usr/local/UniFi/lib/ace.jar start

Ahora accedamos a nuestra aplicación localmente a través de la URL https://127.0.0.1:8443
Si deseamos administrar remotamente nuestro servidor UniFi es necesario abrir el puerto 8443 en el cortafuegos. Para esto modifiquemos la configuración del firewall del sistema operativo.

# vi /etc/sysconfig/iptables

Debajo de la linea

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

Añadimos la linea

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT

Guardamos el archivo y reiniciamos el cortafuegos.

# service iptables restart

Ahora podremos acceder desde cualquier navegador web remoto a través de la dirección IP configurada en el servidor, por ejemplo, https://192.168.40.1:8443
Ahora bien, como Unifi Controller debe estar siempre activo y además debe tener la posibilidad de ejecutarse en cuanto arranque el sistema, debemos asociarlo al sistema operativo como un servicio realizando los siguientes pasos:

Creamos el archivo unifi

# vi /etc/init.d/unifi

#!/bin/bash
# chkconfig: 2345 95 20
# Provides: UniFi Control Software
# Description: Use Java to start /usr/local/UniFi/lib/ace.jar
# to allow the wireless access point controlling
# software and provide device management
# to UniFi wireless network.

case "$1" in
  start)
    echo -n "Starting UniFi controller...   "
    java -jar /usr/local/UniFi/lib/ace.jar start &
    echo " [ OK ]"
    ;;

  stop)
    echo -n "Stopping UniFi controller...   "
    java -jar /usr/local/UniFi/lib/ace.jar stop &
    echo " [ OK ]"
    ;;

  restart)
    echo -n "Restarting UniFi controller... "
    java -jar /usr/local/UniFi/lib/ace.jar stop &
    sleep 1
    java -jar /usr/local/UniFi/lib/ace.jar start &
    echo " [ OK ]"
    ;;

  *)
    echo "usage: service unifi {start|stop|restart}"
    ;;
esac

exit 0

Asignamos el atributo de ejecución al archivo creado:

# chmod a+x /etc/init.d/unifi

Añadimos el script como un servicio para que inicie al arrancar el sistema operativo:

# chkconfig unifi on

Y con ello terminamos la instalación completa de Unifi Cotroller en CentOS o RedHat 6.

Si te gustó esta publicación no olvides compartirlo. Espero sus comentarios.



2 comentarios: