Manual de Instalación - IDE-Chile

Manual de Instalación

Este manual de instalación presenta los pasos para realizar la instalación de GeoNodo en el sistema operativo CentOS.

Contenidos

  1. Crear y configurar usuario
  2. Instalación de docker
  3. Configurar llaves ssh
  4. Instalación de la administración (back-end)
  5. Instalación del Visor de mapas (front-end)

 

1. Crear y configurar usuario

Los siguientes comandos deben ejecutarse como usuario root.

Paso 1: Crear usuario y su contraseña

Usar el comando useradd seguido del nombre de usuario. Por ejemplo, crear el usuario geonodo

useradd geonodo

Para crear una contraseña ingrese el comando passwd seguido del nombre de usuario

passwd geonodo

Respuesta:

1-cambio-pass

Paso 2: Añadir nuevo usuario a grupo wheel

Por defecto en centOS los miembros del grupo wheel tiene privilegios sudo, por lo tanto se agregara al nuevo usuario a este grupo, para que tenga los mismos privilegios del usuario root.

usermod -aG wheel geonodo

Paso 3: Cambiar de usuario root al nuevo usuario

Para autenticarse como nuevo usuario escriba:

su - geonodo


2. Instalación de docker

La instalación de docker se debe realizar con el usuario creado con anterioridad, nunca debe ejecutar los comandos de instalación con el usuario root, a menos que se indique lo contrario.

Los siguientes pasos de instalación se han obtenido del sitio oficial de Docker https://docs.docker.com/install/ 

Debe tener en consideración, que el servidor no debe tener instalada versiones anteriores de Docker.

Paso 0: Actualizar sistema operativo

sudo yum update -y

Paso 1: Instalar repositorio

Instalar los paquetes requeridos. yum-utils que proporciona la utilidad yum-config-manager, device-mapper-persistent-data y lvm2 que son requeridos por el controlador de almacenamiento de devicemapper.

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Use el siguiente comando para configurar el repositorio estable. Siempre necesita el repositorio estable, incluso si desea instalar compilaciones desde edge o test.

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Paso 2: Instalar docker-ce

Instale la última versión de Docker CE

sudo yum install docker-ce

Paso 3: Iniciar docker

sudo systemctl start docker

Paso 4: Verifique que docker esté instalado correctamente ejecutando la imagen de hello-world.

sudo docker run hello-world

Respuesta

2-verificacion-docker

Paso 5: Configuración post instalación

Crear grupo docker

sudo groupadd docker

Añadir usuario geonodo al grupo docker

sudo usermod -aG docker $USER

Ejemplo:

3-ejemplo-usuario

 
Importante: Cierre sesión y vuelva a iniciar sesión para que se vuelva a evaluar su membresía grupal.

Luego de iniciar sesión no olvide entrar con el usuario geonodo, ejecutando el siguiente comando

su geonodo

Verifique que puede ejecutar comandos docker sin sudo

docker run hello-world

Habilitar servicio docker para que se inicie de forma automática al arrancar o reiniciar el servidor

sudo systemctl enable docker

Paso 6: Instalar docker-compose

Docker compose permite gestionar todos los contenedores utilizados mediante archivos de configuración yml.

Ejecute el siguiente comando para descargar docker-compose

sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

Aplique permisos de ejecución al binario

sudo chmod +x /usr/local/bin/docker-compose

Compruebe que docker-compose se ha instalado correctamente

docker-compose --version

Resultado

4-verificar-doker-compose

3. Configurar llaves ssh

Paso 1: Verificar si SSH se encuentra instalado en el servidor

ssh -V

Resultado:

5-verificar-ssh

Paso 2: Verificar si existen llaves ssh existentes

ls -al ~/.ssh

Verificar si existen llaves ssh.

Por defecto los nombres de llaves ssh son los siguientes:

  • id_rsa.pub
  • id_dsa.pub
  • id_ecdsa.pub
  • id_ed25519.pub

Si no tiene llaves ssh creadas, aparecerá el siguente mensaje y deberá seguir al "Paso 3: Crear llave ssh"

ls: no se puede acceder a /home/geonodo/.ssh: No existe el fichero o el directorio

Paso 3: Crear llave ssh.

Reemplace "<MAIL_SYSADMIN>" por el correo electrónico del administrador del servidor.

ssh-keygen -C "<MAIL_SYSADMIN>"

Ejemplo: 

6-ejemplo-llave

Acepte la ubicación por defecto de la llave presionando Enter

7-enter

Puede ingresar una contraseña de forma opcional o dejar en blanco, luego presionar Enter

Resultado:

8-resultado-llave

Iniciar el agente ssh en segundo plano

eval "$(ssh-agent -s)"

Resultado:

9-agent

Añadir llave ssh a agente

ssh-add ~/.ssh/id_rsa

Resultado:

10-identity

Paso 4: Solicitar llave ssh
Para ver la llave ssh, en una terminal ejecute:

cat ~/.ssh/id_rsa.pub

Resultado ejemplo

11-resultado-llave

Seleccione el texto de esta forma se copiara en el porta papeles de Windows. Envíe este texto y solicite acceso a su llave pública ssh a Humberto Toledo (Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.)

 

4. Instalación de la Administración (Back-end)

Recuerde NO ejecutar comandos como usuario root a menos que se indique explícitamente

Paso 1: Clonar repositorio

Entrar al directorio home del usuario.

cd ~/

Ejecutar la clonación. Este paso puede verse afectado por la lentitud o latencia de la red.

git clone -b prod --depth 1 --recurse-submodules Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:BiosoftCL/geonodo.git

Paso 2: Configurar varables de entorno de GeoNodo

Entrar a la carpeta geonodo

cd ~/geonodo

Crear copia de archivo env-example que esta presente en la carpeta geonodo. Este archivo contiene información (host, db user, db pass, etc) de servicios utilizados por la aplicación.

cp env-example .env

Entrar al archivo .env, para editar usando el editor de archivos vi.

vi .env

Al entrar al archivo, debe cambiar las dos palabras localhost por la IP o dominio de su servidor. Finalmente debe salir y guardar.

### Application ### 
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_LOG_LEVEL=debug
APP_URL=http://localhost:81
APP_TIMEZONE=America/Santiago


### Map viewer ###
APP_MAPVIEWER_URL=http://localhost

Paso 3: Configurar contenedores docker

Entrar el directorio laradock.

cd ~/geonodo/laradock

Crear una copia de los archivos docker-compose.prod.yml y env-example.

cp docker-compose.prod.yml docker-compose.yml 
cp env-example .env

El archivo .env contiene valores como la versión de php, servidor web, puertos a utilizar, usuario y contraseña de las aplicaciones que utiliza GeoNodo, como postgreSQL, Geoserver y GeoNetwork. Si lo desea, puede modificar valores por defecto de estas variables.

 A continuación se presenta algunos ejemplos.

En GeoNetwork puede cambiar su puerto.

### GEONETWORK ### 

GEONETWORK_PORT=9100 # Puerto de Geonetwork

 En GeoServer, puede cambiar el puerto y la contraseña 

### GEOSERVER ### 

GEOSERVER_PORT=9090 # Puerto de Geoserver
GEOSERVER_ADMIN_PASSWORD=geonodo # Contraseña admin Geoserver

 En PostgreSQL, puede modificar los datos conexión a la base de datos.

### POSTGRES ### 

POSTGRES_DB=default
POSTGRES_USER=default
POSTGRES_PASSWORD=secret
POSTGRES_PORT=5432

 Si modifica estos valores debe hacerlo también en el archivo de variables .env de Geonodo

 

En Owncloud, agregue los datos de acceso del usuario administrador en las siguientes variables

### OWNCLOUD ### 

OWNCLOUD_HOST=owncloud
OWNCLOUD_USER=admin
OWNCLOUD_PASS=geonodo

 

 Paso 4: Iniciar contenedores

Debe estar en el directorio laradock

cd ~/geonodo/laradock 

 Iniciar los contenedores de postgre-postgis, geoserver y geonetwork, mediante el comando docker-compose

docker-compose up -d nginx postgres-postgis geoserver geonetwork owncloud

 Acceder al bash geonodo

docker-compose exec --user=laradock workspace bash

Instalar dependencias de PHP

composer install

Generar un key único para la aplicación

php artisan key:generate

 Migrar tablas de la base de datos

php artisan migrate --seed

 Agregar datos iniciales de paquetes

php artisan db:seed --class="Geonodo\Widgets\Seeds\DatabaseSeeder" --force 
php artisan db:seed --class="Geonodo\Workflow\Seeds\DatabaseSeeder" --force

Crear usuario administrador, reemplazar $NAME $EMAIL ejemplo "php artisan make:admin superadmin Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo."

php artisan make: admin $NAME $EMAIL

Finalmente debe salir 

exit

Verifique la instalación abriendo en su navegador la dirección (IP o dominio) del nuevo servidor. Compruebe los servicios adicionales en los siguientes puertos:

PUERTO APLICACION
81 Geonodo
9090 GeoServer
9100 GeoNetwork
9110 OwnCloud

 

5.- Instalación del Visor de mapas

Paso 1: Entrar a la carpeta geonodo

cd /home/geonodo

Paso 2: Clonar repositorio con el código del visor de mapas

git clone -b prod --depth 1 Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:BiosoftCL/viewfinder_ionic.git visor

Este paso puede verse afectado por la lentitud o latencia de la red.

Paso 2: Configurar visor de mapas. 

Entrar a la carpeta js

cd visor/www/js

Editar el archivo app.js

vi app.js

Modificar el valor de la constante urlApi del archivo www/js/app.js con la IP o DOMINIO y PUERTO 81 usado para la Administración de Geonodo (backend). Por ejemplo, los valores cambiados quedan de la siguiente forma

.constant('appConstants', { urlApi: '//testing.geonodo.cl:81/api/v2/' })

Paso 3: Puesta en marcha

Ir al directorio visor 

cd /home/geonodo/visor

Realizar copia del archivo de configuración docker-compose.yml

cp docker-compose.production.yml docker-compose.yml

Iniciar el docker-compose

docker-compose up -d