Descarga la aplicación para disfrutar aún más
Lea materiales sin conexión, sin usar Internet. Además de muchas otras características!
Vista previa del material en texto
REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 1 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 1- Propósito El propósito de este Manual de procedimientos es describir los pasos para la instalación un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20 2- Alcance La audiencia objetivo para este Manual de Procedimientos es: 3- Prerrequisitos 4- Responsables 5- Definiciones -Grafana: es una herramienta de software libre que permite crear cuadros de mando y gráficas a partir de múltiples fuentes de datos. Suele ser utilizado para la visualización y monitorización de datos en tiempo real. -Metabase: es una herramienta de software libre que permite crear cuadros de mando a partir de múltiples fuentes de datos. La construcción de cuadro de mandos es bastante intuitiva ya que permite elaborar consultas mediante un asistente que utiliza lenguaje natural. -Digital Ocean: es una startup proveedora de servicios de infraestructura de cloud computing que ofrece una plataforma enfocada en desarrolladores de software. -Ubuntu: es una distribución GNU/Linux que ofrece un interesante sistema operativo para equipos de escritorio y servidores en el ámbito educativo. -Root: es el usuario maestro con privilegios a casi todas las funciones del servidor por ende no se recomienda su uso regularmente. -OpenSSH: es un protocolo de transferencia de datos encriptados es decir permite la transferencia de datos de una manera segura. -MySQL: es donde se van a almacenar los datos del sitio, ya que esta aplicación maneja y gestiona bases de datos relacionales las cuales son necesarias para la aplicación web. -PHP: es el que manejará el contenido dinámico de la página, así como podrá conectarse con bases de datos MySQL, entre otros. - PHPmyAdmin: es una herramienta escrita en PHP que permitirá manejar y acceder a las bases de datos en MySQL desde un navegador web y más cómoda. -AuthType Basic: en esta línea se especifica el tipo de autenticación que implementará. Con este tipo se implementará la autenticación de contraseña utilizando un archivo de contraseña. -AuthName: establece el mensaje para el cuadro de diálogo de autenticación. Debe procurar que esto sea genérico para que los usuarios no autorizados no obtengan información sobre lo que se protege. -AuthUserFile: establece la ubicación del archivo de contraseña que se utilizará para la autenticación. Esto debe quedar fuera de los directorios que se presentan. -Require valid-user: especifica que solo los usuarios autenticados deberán tener acceso al recurso. Esto es lo que realmente impide el ingreso de los usuarios no autorizados. -Nginx: es una plataforma que permite mostrar los contenidos en http. Nginx es el tipo de plataforma que Grafana requiere. Nginx Full: Indica que se quiere permitir conexiones HTTP (puerto 80, una conexión normal sin encriptar) y HTTPS (puerto 443, conexión encriptada) Nginx HTTP: Conexión HTTP Nginx HTTPS: Conexión HTTPS REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 2 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 6- Diagrama del Procedimiento 7- Pasos detallados del Procedimiento Nro. Procedimiento Ilustración 1 Se debe iniciar sesión en el servidor poniendo las credenciales, el sistema va a pedir el usuario login con lo cual respondemos: root 2 Crear usuario, introducir contraseña y datos opcionales. 3 Otorgar privilegios de súper administrador a este usuario para que pueda usar la clave “sudo” en los códigos. 4 Activar un basic firewall (cortafuegos básico) para que solo permita acceso al servidor mediante conexiones que se desean. 5 Revisar que la conexión que queremos permite llamada Open SSH esté disponible: ufw app list 6 Permitir al firewall esta conexión con Open SSH: ufw allow OpenSSH Seguido de: ufw enable Se oprime la tecla “y” para confirmar y se introduce el código: ufw status 7 Conectar el servidor de manera remota usando PuTTY, instalando esta aplicación en el siguiente link: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 3 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 8 Abrir aplicación e ingresar la IP del servidor en “Host Name (or IP address)” 9 En la barra izquierda se accede en la opción “SSH” luego nos aseguramos de que la versión del protocolo SSH seleccionada sea “2” 10 Ingresamos en la barra izquierda, la opción data y se coloca en “Auto-login username” el nombre de usuario por el que se va a acceder, puede ser root o el usuario previamente creado. REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 4 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 11 Se accede a la barra izquierda en la opción “sesión” y se le da nombre a esta configuración en la opción “Saved Sessions”, se presiona en la opción “Save” que se encuentra a la derecha de la pantalla para guardar la configuración de la conexión para ser usada en el futuro de una manera rápida. 12 Para conectar al servidor se presiona en “open” y saldrá una ventana de advertencia, esta advertencia indica que, si se quiere guardar cache en el servidor del computador, si se está seguro de que es el servidor de Digital Ocean que se manejó anteriormente se presiona en la opción “Yes”. 13 Instalar Apache, descargándolo desde los repositorios de Ubuntu con el siguiente código: sudo apt update sudo apt install apache2 14 Decirle al firewall que permita la conexión con apache: sudo ufw app list sudo ufw allow in "Apache Full” 15 Para comprobar el funcionamiento adecuado de Apache, ingresar en la siguiente dirección: http://tudireccionIppublica y debería emitir una ventana. REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 5 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 16 Para instalar MySQL se debe hacer lo siguiente: sudo apt install mysql-server Esto instalará mysql de los repositorios pero debido a que MySQL viene por defecto con parámetros peligrosos se debe hacer una instalación segura para eliminar esto parámetros. 17 MySQL preguntará si se quiere activar la validación de contraseñas, si la contraseña es muy débil MySQL no la dejará usar, para la instalación de phpmyadmin se requiere tener esta opción apagada pero en caso de que no se quiera usar phpmyadmin se puede aceptar esta configuración. 18 Elegir qué nivel de fuerza tenga las contraseñas donde: 0- Representa débil y el único parámetro es que la contraseña tenga más de 8 dígitos 1- Representa medio y los parámetros es que la contraseña tenga más de 8 dígitos, caracteres especiales, numéricos, mayúsculas y minúsculas. 2- Representa fuerte y debe tener todos los parámetros del número 1 más que la contraseña no puede estar basada en palabras comunes del diccionario. 19 Introducir la contraseña del root de MySQL 20 El sistema hará varias preguntas de seguridad a las cuales se dirá “y” a todas. Esto removerá algunos usuarios anónimos y la base de datos de prueba, deshabilitará ingresosremotos del root etc. 21 Crear un usuario para manipular la base de datos. CREATE USER 'tuusario'@'%' IDENTIFIED WITH mysql_native_password BY 'contrasena'; GRANT ALL ON *.* TO 'tuusuario'@'%'; 22 Si se requiere crear un usuario específico para una base de datos, se cambia el primer asterisco por la base de datos y el segundo asterisco por la tabla sobre la que se quiere tener control. REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 6 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 23 Para instalar PHP se usa el siguiente código el cual también va a configurar a PHP para que se ejecute bajo el servidor Apache: sudo apt install php libapache2-mod-php php-mysql 24 Para que la primera petición que tenga las redirija de Apache a PHP se cambia las prelaciones con el siguiente código: sudo nano /etc/apache2/mods-enabled/dir.conf 25 Cambiar la posición de “index.php” al principio justo después de “DirectoryIndex 26 Salir, guardar y reiniciar el servidor Apache para que los cambios sean reconocidos. sudo systemctl restart apache2 27 Para que la pila lamp funcione en un puerto distinto al puerto 80 hacer lo siguiente: Renombrar el archivo de la configuración de los puertos de apache: sudo mv /etc/apache2/ports.conf /etc/apache2/ports.conf.default 28 Crear un archivo nuevo que escuche al puerto 8080: echo "Listen 8080" | sudo tee /etc/apache2/ports.conf 29 Desactivar el host virtual predeterminado: sudo a2dissite 000-default 30 Copiar y pegar un nuevo archivo de host virtual el cual se va a activar y hacer que este escuche al puerto 8080: sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-default.conf REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 7 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 31 Cambiar el 80 que está situado al lado de virtualhost agregandole otro 80: sudo nano /etc/apache2/sites-available/001-default.conf 32 Salir, guardar y activar este virtual host: <VirtualHost *:8080> Servername tudominio ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 33 Indicarle al firewall que admita el puerto 8080 con el siguiente código: ufw allow 8080 34 Apache ya estará configurado para servir al puerto 8080 y con ello se podrá activar nginx de nuevo: sudo systemctl start nginx 35 Instalar PHPmyAdmin: sudo apt update sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl 36 Aparecerá preguntas de instalacion, en la primera pregunta seleccionar Apache2 para hacerlo presionar la tecla “espacio”, “tab” y “enter” 37 Preguntará si utiliza dbconfig-common para configurar la base de datos, seleccionar Yes. 38 Introducir la contraseña de phpmyadmin. 39 Para finalizar con la instalación indicarle al phpmyadmin que habilite PHP. sudo phpenmod mbstring sudo systemctl restart apache2 REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 8 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 40 Ahora si se ingresa a tuipodominio:8080/phpmyadmin debe salir phpmyadmin para iniciar sesión con uno de los usuarios de mysql 41 Para proteger phpmyadmin editar el archivo phpmyadmin.conf que se dispuso en el directorio de configuración de Apache. sudo nano /etc/apache2/conf-available/phpmyadmin.conf 42 Agregar una directiva AllowOverride All dentro de la sección <Directory /usr/share/phpmyadmin> del archivo de configuración, como se muestra: /etc/apache2/conf-available/phpmyadmin.conf <Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All . . . 43 Una vez agregada la línea, guardar y cerrar el archivo. Si se utilizó nano para editar el archivo, presionar CTRL + X, Y y luego ENTER. 44 Para implementar los cambios que se realizó, reiniciar Apache: sudo systemctl restart apache2 45 Ahora que se habilitó el uso de .htaccess para la aplicación, se deberá crear uno para implementar seguridad. Para que se pueda hacer de forma correcta, el archivo debe crearse dentro del directorio de la aplicación. 46 Crear el archivo necesario y abrirlo en el editor de texto con privilegios root escribiendo lo siguiente: sudo nano /usr/share/phpmyadmin/.htaccess 47 Dentro de este archivo, ingrese la siguiente información: /usr/share/phpmyadmin/.htaccess AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 9 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 48 Cuando termine, guardar y cerrar el archivo. 49 La ubicación que se seleccionó para el archivo de contraseña fue /etc/phpmyadmin/.htpasswd. 50 Crear este archivo y pasarle un usuario inicial con la utilidad htpasswd: sudo htpasswd -c /etc/phpmyadmin/.htpasswd nombreusuario 51 Para el usuario que se creó, se solicitará seleccionar y confirmar una contraseña. Después, el archivo se creará con la contraseña con hash que se ingresó. 52 Instalar Nginx: sudo apt update sudo apt install nginx 53 Actualizar el firewall para que permita conexión con Nginx. sudo ufw app list Esto deberá mostrar el siguiente output 54 Permitir solamente el HTTP sudo ufw allow 'Nginx HTTP' sudo ufw status Eso debería dar el siguiente output 55 Verificar que el servicio estar funcionando escribir el siguiente código: systemctl status nginx Debería dar el siguiente output REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 10 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 56 Para hacer una segunda revisión, ir a la siguiente página: http://la_ip_de_tu_servidor Debería salir esto en la pagina 57 Instalar la aplicación Grafana en el servidor, descargar para añadir a los repositorios de Ubuntu las versiones más actualizadas de Grafana para descargarlas desde allí. wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add – sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" sudo apt update 58 Para comprobar que los tres códigos se añadieron a Grafana a los repositorios para ser instalados esto ponemos el siguiente comando: apt-cache policy grafana 59 Proceder a la instalación sudo apt install grafana sudo systemctl start grafana-server 60 Para verificar que Grafana está corriendo ingresamos el siguiente comando: sudo systemctl status grafana-server Lo importante es que diga “active (running)” En el output 61 Presionar la tecla “q” para salir del output e iniciar Grafana Automáticamente al prender el servidor: sudo systemctl enable grafana-server REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Oceany Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 11 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 62 Configurar nginx para que redirija todas las peticiones a Grafana, para esto se debe entrar al server block que se tenga activo (default por predeterminado) pero tiene otro server block activos, debe ponerlo en ese sudo nano /etc/nginx/sites-available/default 63 Localizar el location block anterior y reemplazarlo con el siguiente. 64 Para verificar que la sintaxis este bien escribir el siguiente comando: sudo nginx -t 65 En caso de que no presente ningún problema reiniciar Nginx sudo systemctl reload nginx 66 Entrar a la página en http://tudominio.com e iniciar sesión con el nombre de usuario “admin” y de contraseña “admin” luego pedirá introducir una nueva contraseña para mayor seguridad. 67 Para instalar Metabase se necesita java para correrlo. El siguiente comando actualiza los repositorios para luego instalar Java sudo apt update sudo apt-get install openjdk-11-jdk openjdk-11-jre -y 68 Comprobar la versión con el siguiente comando sudo java -version Debe salir un output similar a este. REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 12 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 69 Para preparar el entorno de Metabase se debe crear un usuario para que Metabase pueda acceder al servidor, un archivo que registre los logs y un archivo de entorno predeterminado sudo groupadd -r Metabase sudo useradd -r -s /bin/false -g Metabase sudo chown -R metabase:metabase /opt/Metabase/ sudo touch /var/log/metabase.log sudo chown syslog:adm /var/log/metabase.log sudo touch /etc/default/metabase sudo chmod 640 /etc/default/Metabase 70 Crear un archivo para la configuración del sistema donde se establecerá dónde están los directorios y que usuario usará Metabase sudo touch /etc/systemd/system/metabase.service sudo nano /etc/systemd/system/metabase.service Y agrega lo siguiente 71 Crear un syslog para que maneje los logs de Metabase sudo touch /etc/rsyslog.d/metabase.conf sudo nano /etc/rsyslog.d/metabase.conf 72 Introducir el siguiente comando. if $programname == 'Metabase' then /var/log/metabase.log & stop 73 Guardar y salir para luego reiniciar el servicio sudo systemctl restart rsyslog.service 74 Para configurar Metabase que se ejecute en un puerto distinto al 3000 (Este es el puerto de Grafana) abrir el archivo de configuración predeterminada sudo nano /etc/default/Metabase REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 13 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 75 Agregar lo siguiente MB_JETTY_PORT=3030 Guardar y salir. 76 Descargar y poner en funcionamiento a Metabase cd /opt/metabase sudo wget http://downloads.metabase.com/v0.40.1/metabase.jar sudo chown -R metabase:metabase /opt/metabase 77 Reiniciar las configuraciones y activar Metabase con los siguientes comandos: sudo systemctl daemon-reload sudo systemctl start metabase sudo systemctl enable metabase 78 Chequear el estado de Metabase con: sudo systemctl status Metabase 79 Esperar a Metabase se inicialice y para acceder a Metabase, e ir a tuipodominio:3030 80 A la hora de entrar a Metabase, crear usuario y conectar con la base de datos mysql que se quiera que Metabase accese. REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 14 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 81 Para conectar, introducir los siguientes datos: Database type: “Mysql” Ya que es el motor de base de datos. 82 Para instalar Webmin, añadir el repositorio a Ubuntu: sudo nano /etc/apt/sources.list 83 Al final añadir el siguiente código: . . . deb http://download.webmin.com/download/repository sarge contrib 84 Añadir la clave de webmin para que el sistema confíe en el wget http://www.webmin.com/jcameron-key.asc sudo apt-key add jcameron-key.asc 85 Instalar webmin con: sudo apt update sudo apt install webmin 86 Indicarle al firewall que permita su conexión. sudo ufw allow webmin 87 Acceder a webmin a través de: https://tuipodominio:10000 88 Para aumentar de subida en Phpmyadmin: locate php.ini sudo nano /etc/php/7.2/apache2/php.ini 89 Cambiar las siguientes variables al gusto 90 Cambiar los valores al gusto, reiniciar el servicio Apache service apache2 restart REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 15 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 91 Actualizar el phpmyadmin en caso de problemas de compatibilidad con PHP haciendo backup de nuestro phpmyadmin sudo mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak 92 Crear un documento nuevo para phpmyadmin sudo mkdir /usr/share/phpmyadmin/ 93 Mover a donde estaba la versión anterior/ cd /usr/share/phpmyadmin/ 94 Descargar el programa actualizado sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.1.0/phpMyAdmin-5.1.0-all-languages.tar.gz 95 Extraer el archivo con la nueva actualización. sudo tar xzf phpMyAdmin-5.1.0-all-languages.tar.gz 96 Listar los servicios con el siguiente código ls 97 Debería salir la carpeta llamada “phpMyAdmin-5.1.0-all-languages” 98 Mover ese archivo a su carpeta sudo mv phpMyAdmin-5.1.0-all-languages/* /usr/share/phpMyAdmin 99 Es posible que ver los dos siguientes error. 100 Abrir la configuración con este comando: sudo nano /usr/share/phpmyadmin/libraries/vendor_config.php REDContable.com Manual de Procedimientos: ¿Cómo instalar un servidor Grafana y Metabase con Digital Ocean y Ubuntu 20? Revisión Fecha de Elaboración 01-10-2021 Nro. Página 16 de 16 Ultima fecha de revisión Propietario del MP REDContable.com Aprobado por 101 Sustituir las líneas donde aparezca “TEMP_DIR” y “CONFIG_DIR” con define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/'); define('CONFIG_DIR', '/etc/phpmyadmin/'); 102 Para finalizar, eliminar las carpetas vacías y el archivo backup en caso de que todo salga bien. sudo rm /usr/share/phpmyadmin/phpMyAdmin-5.1.0-all-languages.tar.gz sudo rm -rf /usr/share/phpmyadmin/phpMyAdmin-5.1.0-all-languages sudo rm -rf /usr/share/phpmyadmin.bak image6.png image7.png image8.png image9.png image10.png image11.png image12.png image13.png image14.png image15.png image16.png image17.png image18.png image19.png image20.png image21.png image22.png image23.png image24.png image1.png image2.png image3.png image4.png image5.png
Contenido de Estudio
Contenido de Estudio
Estudia y Aprenda
Compartir