One place for hosting & domains

      Cómo instalar Java con `apt` en Ubuntu 18.04


      [*]

      El autor seleccionó el Open Internet/Free Speech Fund para que recibiese una donación de $100 como parte del programa Write for DOnations.

      Introducción

      Se necesitan Java y JVM (la máquina virtual de Java) para muchos tipos de software, como Tomcat, Jetty, Glassfish, Cassandra y Jenkins.

      A través de esta guía, instalará varias versiones de Java Runtime (JRE) y el kit de desarrollo de Java (JDK) utilizando “apt. Instalará OpenJDK y paquetes oficiales de Oracle. Luego, seleccionará la versión que desee utilizar para sus proyectos. Cuando termine, podrá utilizar el JDK para desarrollar software o emplear Java Runtime para ejecutar software.

      Requisitos previos

      Para completar este tutorial, necesitará lo siguiente:

      Instalación de JRE y del JDK predeterminados

      La opción más sencilla para instalar Java es utilizar la versión que forma parte del paquete de Ubuntu. Por defecto, Ubuntu 18.04 incluye Open JDK, que es una variante de código abierto de JRE y JDK.

      Este paquete instalará OpenJDK 10 o 11.

      • Antes de septiembre de 2018, esto instalará OpenJDK 10.
      • Después de septiembre de 2018, esto instalará OpenJDK 11.

      Para instalar esta versión, primero actualice el índice de paquetes:

      A continuación, compruebe si Java ya está instalado:

      Si Java no está instalado, verá el siguiente resultado:

      Output

      Command 'java' not found, but can be installed with: apt install default-jre apt install openjdk-11-jre-headless apt install openjdk-8-jre-headless apt install openjdk-9-jre-headless

      Ejecute el siguiente comando para instalar OpenJDK:

      • sudo apt install default-jre

      Con este comando se instalará Java Runtime Environment (JRE). Esto le permitirá ejecutar casi todo el software de Java.

      Verifique la instalación con lo siguiente:

      Verá el siguiente resultado:

      Output

      openjdk version "10.0.1" 2018-04-17 OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)

      Es posible que necesite el kit de desarrollo de Java (JDK) además de JRE para compilar y ejecutar algunos programas específicos basados en Java. Para instalar JDK, ejecute el siguiente comando, que también instalará JRE:

      • sudo apt install default-jdk

      Verifique que el JDK se haya instalado revisando la versión de javac, el compilador de Java:

      Verá el siguiente resultado:

      Output

      javac 10.0.1

      A continuación, observaremos la especificación de la versión de OpenJDK que deseamos instalar.

      Instalación de versiones específicas de OpenJDK

      Si bien puede instalar el paquete de OpenJDK predeterminado, también puede instalar diferentes versiones de OpenJDK.

      OpenJDK 8

      Java 8 es la versión de respaldo a largo plazo actual y aún cuenta con un amplio respaldo, aunque el mantenimiento público termina en enero de 2019. Para instalar OpenJDK 8, ejecute el siguiente comando:

      • sudo apt install openjdk-8-jdk

      Verifique que esto se haya instalado con

      Verá un resultado como este:

      Output

      openjdk version "1.8.0_162" OpenJDK Runtime Environment (build 1.8.0_162-8u162-b12-1-b12) OpenJDK 64-Bit Server VM (build 25.162-b12, mixed mode)

      También es posible instalar solo el JRE. Puede hacerlo ejecutando sudo apt install openjdk-8-jre.

      OpenJDK 10/11

      Los repositorios de Ubuntu contienen un paquete que instalará Java 10 o 11. Antes de septiembre de 2018, este paquete instalará OpenJDK 10. Una vez que se lance la versión Java 11, este paquete instalará Java 11.

      Para instalar OpenJDK 10/11, ejecute el siguiente comando:

      • sudo apt install openjdk-11-jdk

      Para instalar solo JRE, utilice el siguiente comando:

      • sudo apt install openjdk-11-jre

      A continuación, veremos la forma de instalar las versiones oficiales del JDK y de JRE de Oracle.

      Instalación del JDK de Oracle

      Si desea instalar el JDK de Oracle, que es la versión oficial distribuida por Oracle, deberá agregar un nuevo repositorio de paquetes para la versión que desee utilizar.

      Para instalar Java 8, que es la versión LTS más reciente, primero agregue su repositorio de paquetes:

      • sudo add-apt-repository ppa:webupd8team/java

      Cuando agregue el repositorio, verá un mensaje como este:

      output

      Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actual Jav a files in this PPA. Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracl e-java-7-and-6-installers-no.html Update: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/j dk9-downloads-3848520.html The PPA supports Ubuntu 18.04, 17.10, 16.04, 14.04 and 12.04. More info (and Ubuntu installation instructions): - for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html Debian installation instructions: - Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html For Oracle Java 10, see a different PPA: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html More info: https://launchpad.net/~webupd8team/+archive/ubuntu/java Press [ENTER] to continue or Ctrl-c to cancel adding it.

      Pulse ENTER para continuar. Luego, actualice su lista de paquetes:

      Una vez que la lista de paquetes se actualice, instale Java 8:

      • sudo apt install oracle-java8-installer

      Su sistema descargará el JDK de Oracle y le solicitará que acepte el acuerdo de licencia. Acepte el acuerdo para que se instale el JDK.

      Ahora, observaremos la forma de seleccionar la versión de Java que desea utilizar.

      Administración de Java

      Puede tener varias instalaciones de Java en un servidor. Puede configurar la versión predeterminada que se utilizará en la línea de comandos con el comando update-alternatives.

      • sudo update-alternatives --config java

      Así debería lucir el resultado una vez instaladas todas las versiones de Java de este tutorial:

      Output

      There are 3 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 manual mode 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode 3 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode

      Elija el número asociado con la versión de Java para utilizarlo como predeterminado o pulse ENTER para dejar los ajustes actuales.

      Puede hacer esto para otros comandos de Java, como el compilador (javac):

      • sudo update-alternatives --config javac

      Entre otros comandos para los cuales este comando se puede ejecutar se incluyen, de forma no limitativa, los siguientes: keytool, javadoc y jarsigner.

      Configuración de una variable de entorno JAVA_HOME

      Muchos programas escritos con Java utilizan la variable de entorno Java_HOME para determinar la ubicación de la instalación de Java.

      Para configurar esta variable de entorno, primero, determine dónde se instala Java. Utilice el comando update-alternatives:

      • sudo update-alternatives --config java

      Con este comando se muestra cada instalación de Java junto con su ruta de instalación:

      Output

      There are 3 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 manual mode 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode 3 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode Press <enter> to keep the current choice[*], or type selection number:

      En este caso, las rutas de instalación son las siguientes:

      1. OpenJDK 11 se encuentra en /usr/lib/jvm/java-11-openjdk-amd64/bin/java.
      2. OpenJDK 8 se encuentra en /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java.
      3. Oracle Java 8 se encuentra en /usr/lib/jvm/java-8-oracle/jre/bin/java.

      Copie la ruta de su instalación preferida. Luego abra /etc/environment con nano o su editor de texto favorito:

      • sudo nano /etc/environment

      Al final de este archivo, agregue la siguiente línea. Asegúrese de sustituir la ruta resaltada por su propia ruta copiada:

      /etc/environment

      JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/"
      

      La modificación de este archivo configurará la ruta de JAVA_HOME para todos los usuarios de su sistema.

      Guarde el archivo y cierre el editor.

      Ahora, vuelva a cargar este archivo para aplicar los cambios a su sesión actual:

      Verifique que esté configurada la variable de entorno:

      Verá la ruta que acaba de configurar:

      Output

      /usr/lib/jvm/java-11-openjdk-amd64/bin/

      Otros usuarios deberán ejecutar la fuente de comandos /etc/environment o cerrar sesión y volver a iniciarla para aplicar esta configuración.

      Conclusión

      A través de este tutorial, instaló varias versiones de Java y aprendió a administrarlas. Ahora puede instalar software que se ejecute en Java, como Tomcat, Jetty, Glassfish, Cassandra o Jenkins.

      [*]
      [*]Source link

      Cómo instalar Linux, Nginx, MySQL, PHP (pila LEMP) en Ubuntu 18.04


      Introducción

      La pila de software LEMP es un grupo de elementos de software que puede utilizarse para ofrecer páginas web y aplicaciones web dinámicas. El acrónimo describe un sistema operativo Linux, con un servidor web Nginx (que se pronuncia ​como “Engine-X”). Los datos backend se almacenan en la base de datos de MySQL y el procesamiento dinámico se gestiona a través de PHP.

      En guía se muestra la forma de instalar una pila LEMP en un servidor de Ubuntu 18.04. El sistema operativo Ubuntu se ocupa de los primeros requisitos. Describiremos la manera de hacer funcionar el resto de los componentes.

      Requisitos previos

      Antes de completar este tutorial, deberá tener una cuenta de usuario no root en su servidor con privilegios sudo. Configure esta cuenta completando nuestra guía de configuración inicial para servidores de Ubuntu 18.04.

      Una vez que tenga su usuario disponible, estará listo para comenzar con los pasos descritos en esta guía.

      Paso 2: Instalar el servidor web Nginx

      Para mostrar páginas web a los visitantes de nuestro sitio, emplearemos Nginx, un servidor web moderno y eficaz.

      Todos los programas de software utilizados en este procedimiento provendrán de los repositorios de paquetes predeterminados de Ubuntu. Esto significa que podemos utilizar el conjunto de programas de administración de paquetes apt para completar las instalaciones necesarias.

      Ya que esta es la primera vez que usamos apt para esta sesión, comience actualizando el índice de paquetes de su servidor. A continuación, instale el servidor:

      • sudo apt update
      • sudo apt install nginx

      En Ubuntu 18.04, Nginx se configura para que ejecutarse después de la instalación.

      Si tiene activo el firewall ufw, como se indica en la guía de configuración inicial, deberá permitir las conexiones a Nginx. Nginx se registra de forma automática con ufw tras la instalación, de modo que el procedimiento es bastante sencillo.

      Se recomienda que habilite el perfil más restrictivo que aún permitirá el tráfico que usted desea. Debido a que no configuró SSL para su servidor a través de esta guía, solo deberá permitir el tráfico en el puerto 80.

      Puede habilitarlo escribiendo lo siguiente:

      • sudo ufw allow 'Nginx HTTP'

      Puede verificar el cambio ejecutando lo siguiente:

      El resultado de este comando mostrará que el tráfico de HTTP está permitido:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

      Una vez agregada la nueva regla del firewall, podrá probar si el servidor se encuentra en ejecución accediendo al nombre de dominio o a la dirección IP pública de su servidor en su navegador web.

      Si no tiene un nombre de dominio para su servidor y no conoce la dirección IP pública de este, puede encontrarla ejecutando siguiente comando:

      • ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's//.*$//'

      Con esto se mostrarán algunas direcciones IP. Puede probar cada una de estas en su navegador web.

      Como alternativa, podrá verificar la dirección IP accesible, como se ve desde otras ubicaciones de Internet:

      Escriba la dirección que reciba en su navegador web. Esta lo llevará a la página de destino predeterminada de Nginx:

      http://server_domain_or_IP
      

      Página predeterminada de Nginx

      Si ve la página de arriba, significa que instaló Nginx de forma correcta.

      Paso 2: Instalar MySQL para administrar datos de sitios

      Ahora que dispone de un servidor web, debe instalar MySQL (sistema de administración de bases de datos) para almacenar y administrar los datos de su sitio.

      Instale MySQL escribiendo lo siguiente:

      • sudo apt install mysql-server

      El software de base de datos MySQL quedará instalado, pero su configuración aún no estará completa.

      Para proteger la instalación, MySQL viene con un script que preguntará si deseamos modificar algunos valores predeterminados no seguros. Inicie el script escribiendo lo siguiente:

      • sudo mysql_secure_installation

      Este script le preguntará si desea configurar el VALIDATE PASSWORD PLUGIN.

      Advertencia: La habilitación de esta función queda a discreción del usuario. Si se habilita, MySQL rechazará con un mensaje de error las contraseñas que no coincidan con los criterios especificados. Esto provocará problemas si utiliza una contraseña débil junto con software que configure automáticamente las credenciales de usuario de MySQL, como los paquetes de Ubuntu para phpMyAdmin. Dejar la validación desactivada será una opción segura, pero siempre deberá utilizar contraseñas seguras y únicas para credenciales de bases de datos.

      Elija Y para indicar que sí, o cualquier otra cosa para continuar sin la habilitación.

      VALIDATE PASSWORD PLUGIN can be used to test passwords
      and improve security. It checks the strength of password
      and allows the users to set only those passwords which are
      secure enough. Would you like to setup VALIDATE PASSWORD plugin?
      
      Press y|Y for Yes, any other key for No:
      

      Si habilitó la validación, el script también le solicitará seleccionar un nivel de validación de contraseña. Tenga en cuenta que si ingresa 2, para marcar el nivel más seguro, recibirá mensajes de error al intentar configurar cualquier contraseña que no contenga números, letras en mayúscula y minúscula, y caracteres especiales, o que se base en palabras comunes del diccionario.

      There are three levels of password validation policy:
      
      LOW    Length >= 8
      MEDIUM Length >= 8, numeric, mixed case, and special characters
      STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file
      
      Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
      

      A continuación, se le solicitará enviar y confirmar una contraseña root:

      Please set the password for root here.
      
      New password:
      
      Re-enter new password:
      

      Para el resto de las preguntas, debe elegir Y y presionar la tecla ENTER en cada mensaje. Con esto, se eliminarán algunos usuarios anónimos y la base de datos de prueba, se deshabilitarán las credenciales de inicio de sesión remoto de root y se cargarán estas nuevas reglas para que MySQL respete de inmediato los cambios que realizamos.

      Tenga en cuenta que en los sistemas Ubuntu con MySQL 5.7 (y versiones posteriores), el usuario root de MySQL se configura para la autenticación utilizando el complemento auth_socket de manera predeterminada en lugar de una contraseña. Esto en muchos casos proporciona mayor seguridad y utilidad, pero también puede generar complicaciones cuando deba permitir que un programa externo (como phpMyAdmin) acceda al usuario.

      Si utiliza el complemento auth_socket para acceder a los ajustes de MySQL con su flujo de trabajo, puede continuar con el paso 3. Sin embargo, si prefiere utilizar una contraseña al conectarse con MySQL como root, deberá cambiar su método de autenticación de auth_socket a mysql_native_password. Para hacer esto, abra la línea de comandos de MySQL desde su terminal:

      A continuación, compruebe con el siguiente comando el método de autenticación utilizado por una de sus cuentas de usuario de MySQL:

      • SELECT user,authentication_string,plugin,host FROM mysql.user;

      Output

      +------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | | auth_socket | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.00 sec)

      En este ejemplo, puede ver que, en efecto, el usuario root se autentica utilizando el complemento de auth_socket. Para configurar la cuenta de root de modo que la autenticación se realice con una contraseña, ejecute el siguiente comando ALTER USER. Asegúrese de cambiar password por una contraseña segura que elija:

      • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

      A continuación, ejecute FLUSH PRIVILEGES para indicar al servidor que vuelva a cargar la tabla de permisos y aplique sus nuevos cambios:

      Compruebe de nuevo los métodos de autenticación empleados por cada uno de sus usuarios para confirmar que *root *deje de realizarla con el complemento de auth_socket:

      • SELECT user,authentication_string,plugin,host FROM mysql.user;

      Output

      +------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.00 sec)

      Puede ver en este resultado de ejemplo que el usuario *root *de MySQL ahora se autentica utilizando una contraseña. Una vez que confirme esto en su propio servidor, podrá cerrar el shell de MySQL:

      Nota: Después de configurar su usuario root de MySQL para la autenticación con una contraseña, ya no podrá acceder a MySQL con el comando sudo msql utilizado anteriormente. En su lugar, deberá ejecutar lo siguiente:

      Una vez que ingrese la contraseña que acaba de configurar, verá el la línea de comandos de MySQL.

      En este punto, su sistema de bases de datos estará configurado y podrá instalar PHP.

      Paso 3: Instalar PHP y configurar Nginx para utilizar el procesador de PHP

      Ya tiene instalados Nginx para sus páginas y MySQL para el almacenamiento y la administración de sus datos. Sin embargo, aún le falta una herramienta que pueda generar contenido dinámico. Aquí es donde se considera PHP .

      Dado que Nginx no contiene procesamiento de PHP nativo como otros servidores web, deberá instalar php-fpm, que significa “administrador de procesos de fastCGI”. Indicaremos a Nginx que transmita solicitudes de PHP a este software para su procesamiento.

      Nota: Según su proveedor de plataforma de nube, es posible que deba agregar el repositorio universe de Ubuntu, en el cual se incluye software gratuito y de código abierto actualizado por la comunidad de Ubuntu, antes de instalar el paquete php-fpm. Puede hacerlo escribiendo lo siguiente:

      • sudo add-apt-repository universe

      Instale el módulo php-fpm junto con un paquete auxiliar adicional, php-mysql, que permitirá a PHP comunicarse con el backend de su base de datos. La instalación extraerá los archivos principales de PHP necesarios. Podrá ejecutarla escribiendo lo siguiente:

      • sudo apt install php-fpm php-mysql

      Con esto, habrá instalado todos los componentes requeridos de la pila LEMP, pero aún deberá realizar algunos cambios en la configuración para indicar a Nginx que utilice el procesador PHP para contenido dinámico.

      Esto se realiza en el nivel de bloque del servidor (los bloques de servidor son similares a los hosts virtuales de Apache). Para hacerlo, abra un nuevo archivo de configuración de bloques de servidor dentro del directorio /etc/nginx/sites-available/. En este ejemplo, el nuevo archivo de configuración de bloques de servidor se llama example.com, pero puede dar al suyo el nombre que desee:

      • sudo nano /etc/nginx/sites-available/example.com

      Con la edición de un nuevo archivo de configuración de bloques de servidor, en lugar de editar el predeterminado podrá restaurar fácilmente la configuración predeterminada si lo necesita.

      Agregue el siguiente contenido, tomado y modificado ligeramente a partir del archivo de configuración predeterminado de bloques de servidor, a su nuevo archivo de configuración de bloques de servidor:

      /etc/nginx/sites-available/example.com

      server {
              listen 80;
              root /var/www/html;
              index index.php index.html index.htm index.nginx-debian.html;
              server_name example.com;
      
              location / {
                      try_files $uri $uri/ =404;
              }
      
              location ~ .php$ {
                      include snippets/fastcgi-php.conf;
                      fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
              }
      
              location ~ /.ht {
                      deny all;
              }
      }
      

      Esto es lo que hacen estas directivas y estos bloques de ubicación:

      • listen: define en qué puerto Nginx escuchará. En este caso, escuchará en el puerto 80, el puerto predeterminado para HTTP.
      • root: define el root de documentos en el que se almacenan los archivos disponibles en el sitio web.
      • index: configura Nginx para dar prioridad a los archivos denominados index.php cuando se solicite un archivo de índice, si están disponibles.
      • server_name: define el bloque de servidor que debe utilizarse para una solicitud determinada enviada a su servidor. Introduzca esta directiva en el nombre de dominio o la dirección IP pública de su servidor.
      • location /: el primer bloque de ubicación incluye una directiva try_files, la cual comprueba la existencia de archivos que coincidan con una solicitud de URI. Si Nginx no puede encontrar el archivo apropiado, se mostrará un error 404.
      • location ~ .php$: este bloque de ubicación administra el procesamiento de PHP real orientando Nginx al archivo de configuración fastcgi-php.conf y al archivo php7.2-fpm.sock, que declara el socket que se asocia con php-fpm.
      • location ~ /.ht: el último bloque de ubicación maneja archivos .htaccess, que Nginx no procesa. Al agregar la directiva deny all, si algunos de los archivos .htaccess ingresa de alguna forma en el root de documentos, estos no se pondrán a disposición de los visitantes.

      Una vez que agregue este contenido, guarde y cierre el archivo. Habilite su nuevo bloque de servidor creando un enlace simbólico entre su nuevo archivo de configuración de bloques de servidor (en el directorio /etc/nginx/sites-available/) y el directorio /etc/nginx/sites-enabled/:

      • sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

      Luego, desvincule el archivo de configuración predeterminado del directorio /sites-enabled/:

      • sudo unlink /etc/nginx/sites-enabled/default

      Nota: Si necesita restablecer la configuración predeterminada, puede hacerlo recreando el ajuste del enlace simbólico como se muestra a continuación.

      • sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/

      Verifique si hay errores de sintaxis en su nuevo archivo de configuración escribiendo lo siguiente:

      Si se notifica algún error, vuelva a verificar su archivo antes de continuar.

      Cuando esté listo, vuelva a cargar Nginx para realizar los cambios necesarios:

      • sudo systemctl reload nginx

      Con esto concluye la instalación y configuración de su pila LEMP. Sin embargo, se recomienda confirmar que todos los componentes puedan comunicarse entre sí.

      Paso 4: Crear un archivo PHP para probar la configuración

      Su pila LEMP ahora debería estar configurada por completo. Puede probarla para validar la ejecución correcta de archivos .php a partir del procesador PHP por parte de Nginx.

      Para hacerlo, utilice su editor de texto para crear un archivo PHP de prueba llamado info.php en su root de documentos:

      • sudo nano /var/www/html/info.php

      Introduzca las líneas que se muestran a continuación en el archivo nuevo. Se incluye código PHP válido que mostrará información sobre su servidor:

      /var/www/html/info.php

      <?php
      phpinfo();
      

      Cuando termine, guarde y cierre el archivo.

      Luego, visite esta página en su navegador web accediendo al nombre de dominio o a la dirección IP pública de su servidor con /info.php al final:

      http://your_server_domain_or_IP/info.php
      

      Debería ver una página web generada por PHP con información sobre su servidor:

      Información de página de PHP

      Si ve una página con este aspecto, significa que habrá configurado el procesamiento de PHP con Nginx de forma satisfactoria.

      Tras verificar que Nginx represente la página de forma correcta, la mejor opción será eliminar el archivo que creó porque puede dar indicios sobre su configuración que podrían ser útiles para que usuarios no autorizados intenten ingresar. Siempre puede regenerar este archivo si lo necesita más adelante.

      Por ahora, elimine el archivo escribiendo lo siguiente:

      • sudo rm /var/www/html/info.php

      Con esto, dispondrá de una pila LEMP completamente segura y funcional en su servidor de Ubuntu 18.04.

      Conclusión

      Una pila LEMP es una plataforma poderosa que le permitirá configurar y presentar casi cualquier sitio web o aplicación de su servidor.

      Existen varios pasos posteriores que podría seguir a partir de este punto. Por ejemplo, debe asegurarse de que las conexiones con su servidor estén protegidas. Para ello, podría proteger su instalación de Nginx con Let’s Encrypt. Siguiendo esta guía, obtendrá un certificado TLS/SSL gratuito para su servidor, lo que permitirá ofrecer contenido mediante HTTPS.



      Source link

      Cómo instalar MongoDB en Ubuntu 18.04


      El autor seleccionó a Creative Commons Corporation para que recibiese una donación de $100 como parte del programa Write for DOnations.

      Introducción

      MongoDB es una base de datos de documentos gratuita y de código abierto utilizada comúnmente en las aplicaciones web modernas.

      En este tutorial, instalará MongoDB, administrará su servicio y, de forma opcional, habilitará el acceso remoto.

      Requisitos previos

      Para completar este tutorial, necesitará lo siguiente:

      Paso 1: Instalar MongoDB

      En los repositorios oficiales de paquetes de Ubuntu se incluye una versión actualizada de MongoDB. Esto significa que podemos instalar los paquetes necesarios utilizando apt.

      Primero, actualice la lista de paquetes para tener la versión más reciente de listados de repositorios:

      A continuación, instale el propio paquete de MongoDB:

      • sudo apt install -y mongodb

      Con este comando. se instalan varios paquetes que contienen la versión estable más reciente de MongoDB, junto con herramientas de administración útiles para el servidor de MongoDB. El servidor de la base de datos se inicia de forma automática tras la instalación.

      A continuación, comprobaremos que el servidor esté activo y funcione de forma correcta.

      Paso 2: Comprobar el servicio y la base de datos

      El proceso de instalación inició MongoDB de forma automática, pero verificaremos que el servicio se inicie y que la base de datos funcione.

      Primero, compruebe el estado del servicio:

      • sudo systemctl status mongodb

      Verá este resultado:

      Output

      mongodb.service - An object/document-oriented database Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-05-26 07:48:04 UTC; 2min 17s ago Docs: man:mongod(1) Main PID: 2312 (mongod) Tasks: 23 (limit: 1153) CGroup: /system.slice/mongodb.service └─2312 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

      Según systemd, el servidor MongoDB se encuentra activo y funcionando.

      Podemos verificar esto en profundidad estableciendo conexión con el servidor de la base de datos y ejecutando un comando de diagnóstico.

      Ejecute este comando:

      • mongo --eval 'db.runCommand({ connectionStatus: 1 })'

      Con esto se mostrarán la versión actual de la base de datos, la dirección y el puerto del servidor, y el resultado del comando status:

      Output

      MongoDB shell version v3.6.3 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.6.3 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

      Un valor de 1 para el campo ok en la respuesta indica que el servidor funciona correctamente.

      A continuación, veremos la forma de administrar la instancia del servidor.

      Paso 3: Gestionar el servicio de MongoDB

      MongoDB se instala como un servicio systemd. Esto significa que puede administrarlo utilizando comandos systemd estándares, junto con todos los demás servicios de sistema en Ubuntu.

      Para verificar el estado del servicio, escriba lo siguiente:

      • sudo systemctl status mongodb

      Puede detener el servidor en cualquier momento escribiendo lo siguiente:

      • sudo systemctl stop mongodb

      Para iniciar el servidor cuando esté detenido, escriba lo siguiente:

      • sudo systemctl start mongodb

      También puede reiniciar el servidor con un solo comando:

      • sudo systemctl restart mongodb

      Por defecto, MongoDB se configura para iniciarse de forma automática con el servidor. Si desea desactivar el inicio automático, escriba lo siguiente:

      • sudo systemctl disable mongodb

      Volver a habilitarlo es igualmente sencillo. Para hacerlo, utilice lo siguiente:

      • sudo systemctl enable mongodb

      A continuación, ajustaremos la configuración del firewall para nuestra instalación MongoDB.

      Paso 4: Ajustar el firewall (opcional)

      Suponiendo que siguió las instrucciones del tutorial de configuración inicial para servidores para habilitar el firewall en su servidor, no será posible acceder al servidor de MongoDB desde Internet.

      Si tiene intención de usar el servidor de MongoDB solo a nivel local con aplicaciones que se ejecuten en el mismo servidor, este es el ajuste recomendado y seguro. Sin embargo, si desea poder conectarse con su servidor MongoDB desde Internet, deberá permitir las conexiones entrantes en ufw.

      Para permitir el acceso a MongoDB en su puerto predeterminado 27017 desde cualquier parte, podría utilizar sudo ufw allow 27017. Sin embargo, permitir el acceso a Internet al servidor de MongoDB en una instalación predeterminada proporciona acceso ilimitado al servidor de la base de datos y a sus datos.

      En la mayoría de los casos, solo se debe acceder a MongoDB desde determinadas ubicaciones de confianza, como otro servidor que aloje una aplicación. Para realizar esta tarea, puede permitir el acceso en el puerto predeterminado de MongoDB mientras especifique la dirección IP de otro servidor que, de forma explícita, tendrá permitido conectarse:

      • sudo ufw allow from your_other_server_ip/32 to any port 27017

      Puede verificar el cambio en los ajustes del firewall con ufw:

      Debería ver la habilitación del tráfico hacia el puerto 27017 en el resultado:

      Output

      Status: active
      
      To                         Action      From
      --                         ------      ----
      OpenSSH                    ALLOW       Anywhere
      27017                      ALLOW       Anywhere
      OpenSSH (v6)               ALLOW       Anywhere (v6)
      27017 (v6)                 ALLOW       Anywhere (v6)
      

      Si decidió permitir que solo una dirección IP determinada se conecte con el servidor de MongoDB, en el resultado se enumerará la dirección IP de la ubicación autorizada en lugar de Anywhere.

      Puede encontrar ajustes de firewall más avanzados para restringir el acceso a servicios en Aspectos básicos de UFW: Reglas y comandos comunes de firewall.

      Aunque el puerto esté abierto, MongoDB solo escucha en la dirección local 127.0.0.1. Para permitir conexiones remotas, agregue la dirección IP pública de su servidor al archivo mongod.conf.

      Abra el archivo de configuración de MongoDB en su editor:

      • sudo nano /etc/mongodb.conf

      Agregue la dirección IP de su servidor al valor bindIP:

      ...
      logappend=true
      
      bind_ip = 127.0.0.1,your_server_ip
      #port = 27017
      
      ...
      

      Asegúrese de situar una coma entre la dirección IP existente y la que agregó.

      Guarde el archivo, cierre el editor y reinicie MongoDB:

      • sudo systemctl restart mongodb

      MongoDB ahora recibirá conexiones remotas, pero cualquiera podrá acceder a él. Siga la parte 2 de Cómo instalar y proteger MongoDB en Ubuntu 16.04 para agregar un usuario administrativo y ampliar el bloqueo.

      Conclusión

      Puede encontrar tutoriales más detallados sobre cómo configurar y utilizar MongoDB en estos artículos de la comunidad de DigitalOcean. La documentación oficial de MongoDB también es un gran recurso en el que se abordan las posibilidades que ofrece MongoDB.



      Source link