Cómo instalar un servidor web en Ubuntu 20.04 Focal Fossa

Antonio J. Galisteo

Hace un tiempo vimos cómo instalar un servidor web en Ubuntu 18.04. En esta ocasión, vamos a ver cómo instalar un servidor web en Ubuntu 20.04 Focal Fossa.

Lo primero, como siempre, es tener el sistema actualizado con:

sudo apt-get update
sudo apt-get upgrade

Una vez que hemos actualizado nuestro sistema, vamos a comenzar instalando Apache con:

sudo apt-get install apache2

Con esto ya hemos instalado Apache2 en nuestro Ubuntu. Ahora tenemos que ver que no esté bloqueado por el firewall con un:

sudo ufw app list

Esto nos tiene que mostrar algo como lo siguiente:

Aplicaciones disponibles:
Apache
Apache Full
Apache Secure
CUPS

Y tenemos que ver qué tenemos permitido para la entrada Apache Full con:

sudo ufw app info "Apache Full"

Nos va a mostrar que servicios o puertos están permitidos para apache2:

Perfil: Apache Full
Título: Web Server (HTTP,HTTPS)
Descripción: Apache v2 is the next generation of the omnipresent Apache web server.
Puertos: 80,443/tcp

Podemos ver que se permite el tráfico para el servicio de Apache2 por el puerto 80 y 443. Si no fuese así tendriamos que hacer un:

sudo ufw allow in "Apache Full"

Ya tenemos apache instalado, de hecho, si accedemos desde el navegador a:

http://localhost/

Podremos ver la página de inicio de Apache. Ya tenemos el servidor web, ahora tenemos que instalar un servidor de bases de datos. En este caso vamos a instalar MySQL con:

sudo apt-get install mysql-server

Si quieres trabajar con MariaDB en lugar del comando anterior, debes ejecutar el siguiente:

sudo apt-get install mariadb-server

Una vez instalado MySQL o MariaDB, tenemos que poner contraseña al usuario root, tenemos que securizar la instalación, y esto lo hacemos con el siguiente comando:

sudo mysql_secure_installation

Aquí nos va a preguntar si queremos que mysql analice la fortaleza de las contrasesñas, en mi caso le voy a decir que no, nos pedirá una pass para el usuario root, nos consultará si queremos desactivar el login remoto, deberíamos desactivarlo por seguridad y si deseamos borrar la base de datos de prueba, que en mi caso la elimino.

Una vez realizado esto, vamos a hacer un par de ajustes más con respecto al usuario root. Ingresamos a mysql desde la consola con:

sudo mysql

Y aquí vamos a realizar la siguiente consulta:

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

Que nos dará como resultado algo similar a esto:

+----------+------------ +-----------------------+-----------+ 
| user     | auth_string | plugin                | host      | 
+----------+-------------+-----------------------+-----------+ 
| root     |             | mysql_native_password | localhost | 
| mysql.sys| *THISISN... | mysql_native_password | localhost | 
+----------+-------------+-----------------------+-----------+

Como puedes ver, aún queda el usuario root de base de datos sin contraseña por lo que vamos a asignarle una con la siguiente sentencia:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mi_nueva_pass';

Si la query anterior te da error (probablemente si estás usando MariaDB) debe usar una de las siguientes dos:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'mi_nueva_pass';

O bien:

UPDATE mysql.user SET authentication_string = PASSWORD('mi_nueva_pass') WHERE User = 'root' AND Host = 'localhost';

Adicionalmente para que no tengas problamas para iniciar sesión, puede que tengas que setear a vacío la columna plugin del usuario con:

UPDATE user SET plugin="" WHERE user = 'root';

Una vez seteada la nueva pass haremos un:

FLUSH PRIVILEGES;

Y si volvemos a lanzar la select anterior, podremos ver que el usuario root ya cuenta con una contraseña. Aquí ya hemos terminado así que para salir escribimos:

quit

Y la próxima vez que tengamos que acceder a mysql desde la consola lo podremos hacer de la siguiente forma:

mysql -u root -p

Con esto, hacemos login con el usuario root y nos pedirá la password (opción -p) que acabamos de setear a root. Recuerda, este usuario root es de mysql, no de nuestro sistema operativo.

Ya tenemos Apache2 y MySQL instalado, nos falta instalar php y las librerías necesarias para apache y mysql con:

sudo apt-get install php libapache2-mod-php php-mysql

Una vez terminada la instalación vamos a reinicar apache con:

sudo systemctl restart apache2

Y hemos terminado con la instalación de nuestro servidor web. Podemos hacer una última cosa, instalar phpMyAdmin para poder gestionar nuestras bases de datos MySQL a través de la interface web que proporciona y lo haremos con:

sudo apt-get install phpmyadmin

Con esto ya sabemos cómo instalar un servidor web en Ubuntu 20.04 Focal Fossa. Puedes aprender más en nuestra sección de Servidores Linux.

Espero que te haya sido de utilidad!

Publicado el 08-05-2020

Donar

Si te ha sido de ayuda y quieres hacer una donación te lo agradeceremos :)

Compartelo!


Deja un comentario

Comentanos

*

Ir arriba de la pagina