Requerimientos de instalación
Hardware
Software
- Sistema operativo con distribución GNU/Linux
- Git
- Docker community edition (Centos 7 o +, Ubuntu 20.14 LTS, Ubuntu 18.04)
- Configuración de Docker post instalación
Instalaciones y configuraciones previas
1. Actualiza el sistema
Es importante tener actualizados todos los componentes de nuestro sistema. Ejecuta la siguiente línea de comando en la terminal: sudo yum update -y
2. Instalar Git
Es necesario instalar Git para descargar el repositorio de Geonodo, para esto, ejecutar la siguiente línea de comando:
sudo yum install git
Verificar la instalación de Git con el comando
git --version.
(Resultado o similar):\
git versión 1.8.3.1
3. Creación y configuración de usuario Linux
Los siguientes comandos se deben realizar como usuario root. Para cambiarse a este usuario, ejecutar en la consola el comando su- e ingresar su contraseña.
Creación de usuario
Para permitir una utilización óptima del sistema, se debe trabajar con distintos usuarios y grupos, para ello, en esta guía crearemos un usuario llamado geonodo. Ingresar en la terminal el comando useradd seguido del nombre de usuario que desea crear.
useradd geonodo
Crear contraseña de usuario
Para crear una contraseña, ingrese el comando passwd seguido del nombre de usuario.
passwd geonodo
Una vez ingresada la contraseña, el mensaje retornado será similar al siguiente:
"Changing password for user geonodo.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully."
Añadir usuario a grupo wheel
Por defecto, en CentOS los miembros del grupo wheel tienen privilegios sudo (Privilegios especiales de root). Otorgar estos privilegios al usuario, con el siguiente comando:
usermod -aG wheel geonodo
Autenticarse como nuevo usuario Para los siguientes pasos, se debe autenticar como el usuario recién creado con el comando: su - geonodo
Instalación y configuración de Docker Engine
4.Docker Engine es un sistema operativo para contenedores, que nos permite trabajar a través de imágenes, de manera online, con diferentes aplicaciones sin necesidad de instalarlas de manera local, las cuales son necesarias para la instalación de Geonodo .
Recuerde NO ejecutar comandos como usuario root a menos que se indique explícitamente.
| Documentación oficial | Toda la documentación de este documento es extraída de la fuente oficial.
Configurar repositorio de Docker Engine
Antes de instalar, debemos descargar y configurar el repositorio de Docker Engine, para ello revisaremos cómo realizarlo en el sistema operativo Centos, y en Ubuntu.
Configuración en Centos
Se debe instalar los paquetes requeridos. yum-utils
proporciona las utilidades yum-config-manager
, device-mapper-persistent-data
y lvm2
que son requeridos por el controlador de almacenamiento Device Mapper.
sudo yum install -y yum-utils
Use el siguiente comando para configurar el repositorio estable.
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Configurar repositorio en Ubuntu
Actualizar el índice de paquetes apt e instalar los paquetes requeridos.
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
Agregar la clave GPG oficial de Docker:
sudo apt-get install ca-certificates curl gnupg lsb-release
Use el siguiente comando para configurar el repositorio estable:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Instalar Docker Engine
- Esta guía asume que no tiene versiones anteriores de docker instaladas.
Instale la última versión de Docker CE, a través del siguiente comando
sudo yum install docker-ce docker-ce-cli containerd.io
Iniciar Docker
Para iniciar Docker, ejecuta el siguiente comando:
sudo systemctl start docker
Para verificar que Docker esté instalado correctamente, ejecutar el siguiente comando. Debería aparecer el mensaje entre las líneas de ejecución desplegadas "Hello from Docker!":
sudo docker run hello-world
Resultado (o similar):
"Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world ca4f61b1923c: Pull complete Digest: sha256:97ce6fa4b6cdc0790cda65fe7290b74cfebd9fa0c9b8c38e979330d547d22ce1 Status: Downloaded newer image for hello-world:latest
Hello from Docker! This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.
To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID: https://cloud.docker.com/
For more examples and ideas, visit: https://docs.docker.com/engine/userguide/__
Configuración de Docker
Crear un grupo llamado docker.
sudo groupadd docker
Añadir usuario geonodo al grupo docker.
sudo usermod -aG docker geonodo
exit
docker run hello-world
Habilitar servicio al arrancar equipo
Indicar que Docker se inicie al arrancar el equipo a través de systemctl.
sudo systemctl enable docker
5. Configurar llaves SSH
Se necesitará contener llaves SSH, para poder acceder a nuestro servidor de manera segura y mediante líneas de comando.
Primero verificar si SSH se encuentra instalado en el servidor con el siguiente comando:
ssh -V
Resultado (o similar):
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
Verificar si existe llave ssh
Por defecto los nombres de llaves ssh son los siguientes:
- id_rsa.pub
- id_dsa.pub
- id_ecdsa.pub
- id_ed25519.pub
Para verificar en la terminal ejecutar:
ls -al ~/.ssh
-rw-r--r--. 1 geonodo geonodo 409 abr 15 16:59 id_rsa.pub
Crear llave ssh
Ejecutar el siguiente comando para crear la nueva clave SSH. (Reemplazar [CORREO_SYSADMIN] por el correo del administrador del servidor)
$ ssh-keygen -C "[CORREO_SYSADMIN]"
Resultado (o similar):
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):Enter same passphrase again:
eval "$(ssh-agent -s)"
Resultado (o similar):
Agent pid 59566
$ ssh-add ~/.ssh/id_rsa
Resultado (o similar):
Identity added: /user/.ssh/id_rsa (/user/.ssh/id_rsa)
Validar y enviar llave SSH
En la terminal, revisar la llave SSH ejecutando:
cat ~/.ssh/id_rsa.pub
- Nombre Completo
- Cargo
- Teléfono
- Institución
-
Llave SSH (Contenido de la llave)
Instalación de Geonodo
Instalación local
La instalación local, permitirá que las configuraciones de Geonodo sean reflejadas sólo en el equipo instalado. Para tener la aplicación de forma local, ejecutar los siguientes códigos en la terminal:
git clone ssh://git@gitlab.ide.cl:2244/geonodo/geonodo.git
make build
make stop
make init-local
make start-local
make dev
Finalmente abrir el proyecto en la ruta http://localhost
Instalación en productivo
La instalación en productivo permitirá que los equipos puedan conectarse a Geonodo a través de la red. Por lo que todos los cambios se verán reflejados en los equipos que se conecten a ella:
git clone ssh://git@gitlab.ide.cl:2244/geonodo/geonodo.git
make build
make start
make geonodo
Actualización en ambiente productivo
git pull origin master
make build
make start
make geonodo