19
Dic
¿Cómo instalar Apache2 en Ubuntu 22.04?
Cuando entramos al mundo de la programación, siempre será esencial que cada vez que vayamos a crear un proyecto nuevo, necesitemos tener un servidor en nuestra computadora personal o de escritorio. Eso lo solucionamos con Apache2 Web Server.
Apache2 es un servidor de código abierto que podemos instalar en Windows, Mac o Linux. En esta ocasión instalaremos el servidor Apache2 en Ubuntu 22.04. Te enseñare los pasos esenciales para su instalación, luego haremos algunas configuraciones iniciales y por último crearemos un host virtual.
Cuando trabajamos con un sistema operativo basado en Linux, como Ubuntu, siempre necesitamos tener nuestro sistema actualizado. Para actualizar los repositorios de Ubuntu, primero abriremos una terminal y ejecutaremos el siguiente comando:
sudo apt update
Al ejecutar ese comando nos estamos asegurando de tener las ultimas actualizaciones de software para nuestro sistema operativo y sobre todo estamos mejorando la seguridad de nuestro sistema.
Ahora sí, ha llegado el momento de utilizar el siguiente comando para instalar apache2:
sudo apt install apache2 -y
Lo que hace este comando es básicamente instalarnos el servidor web en nuestro sistema junto con todas las dependencias necesarias para ejecutarse correctamente. Si te fijas, hemos agregado el parámetro –y para saltarnos la pregunta de confirmación.
Cuando haya terminado de descargarse todos los paquetes necesarios, queremos asegurarnos de que el servidor web se ha instalado correctamente. Para ello veremos el estado del servidor con el siguiente comando:
sudo service apache2 status
Si todo ha salido bien, deberás ver un mensaje indicando que el servidor web Apache2 está funcionando correctamente.
Algunos comandos para administrar los servicios de Apache2 son los de iniciar, reiniciar y detener el servidor. Cuando nos enfrentemos a algunos problemas en nuestro sistema, a veces será necesario reiniciar o detener el servidor. Te comparto la lista de comandos para administrar el servidor:
sudo service apache2 start #iniciamos el servidor sudo service apache2 stop #detenemos el servidor sudo service apache2 restart #reiniciamos el servidor
Ahora sí, puedes abrir un navegador web y revisar que tu servidor web está funcionando. Puedes hacerlo de 2 maneras. La primera es accediendo a http://localhost o por medio de la dirección IP con http://127.0.0.1. Deberas ver una pantalla similar a esta:
Configuración del servidor web Apache2
Uno de los problemas más comunes que se enfrentan los programadores es que, al momento de visualizar sus sitios web en Apache2, obtienen un mensaje del navegador 404, 403 o 503. Esto se debe porque dependiendo de la configuración y la aplicación que queramos visualizar, necesitaremos hacer algunos ajustes esenciales en el servidor.
Algo que suelo hacer en mis servidores de desarrollo es cambiar el usuario de Apache2. Para ello abriremos una terminal y ejecutaremos el siguiente comando:
sudo nano /etc/apache2/envvars
En el cuadro de dialogo que nos aparezca, nos iremos a las siguientes líneas y las reemplazaremos por nuestro usuario de Linux:
export APACHE_RUN_USER=gerson #www-data export APACHE_RUN_GROUP=gerson #www-data
Nota: Si no sabes cuál es tu usuario e Linux, puedes averiguarlo digitando en otra terminal aparte el comando echo $USER
Cuando termines de editar el archivo, lo puedes cerrar con la combinación de teclas Ctrl + O.
Otra configuración que suelo hacer es permitir la sobreescritura de URL’s en Apache. Para ello, en una terminal, vamos a abrir y editar el siguiente archivo:
sudo nano /etc/apache2/apache2.conf
Deberemos cambiar la palabra None por All quedando nuestro archivo de la siguiente manera:
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All #None Require all granted </Directory>
Cuando hayamos terminado de editar el archivo presionaremos la combinación Ctrl + O.
Ahora ejecutaremos 2 comandos adicionales para activar algunos módulos de apache. Y son:
sudo a2enmod headers
sudo a2enmod rewrite
Luego, para evitar problemas de permisos, cambiaremos el propietario del directorio de nuestro servidor con el de nuestro usuario Linux. Esto lo hacemos con el siguiente comando:
sudo chown -R $USER:$USER /var/www/html
Finalmente bastara con reiniciar el servidor web para que los cambios se apliquen correctamente.
sudo systemctl restart apache2
Crear un virtual host (vHost) en Apache2
En algunas ocasiones, nuestros proyectos no podrán estar en subdirectorios de nuestro sistema, si no que deberán estar en un directorio raíz. Para que esto funcione, necesitaremos crear un host virtual en Apache2. Es muy simple. Empezaremos creando un archivo de configuración de Apache en la siguiente ruta:
sudo nano /etc/apache2/sites-available/mysite.conf
Dentro de ese archivo, le indicaremos a Apache cual será nuestra URL y el directorio de nuestro proyecto.:
<VirtualHost *:80> ServerAdmin gersonhernandez93@hotmail.com DocumentRoot /var/www/html/mysite/ ServerName mysite.localhost ServerAlias mysite.localhost <Directory /var/www/html/mysite/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Cerramos el archivo con la siguiente combinación Ctrl + O y por último, solo nos quedara activar el nuevo sitio y reiniciar el servidor web.
sudo a2ensite mysite.conf
sudo service apache2 restart
Para probar el vitual host, necesitas crear un archivo index.html en el directorio mysite dentro de la ruta /var/www/html.
El archivo index.html contendra la siguiente linea de codigo:
Al ingresar al navegador web en http://mysite.localhost deberás ver el contenido del archivo que creaste.
De esta forma, ya has aprendido a instalar el servidor web Apache2 en Ubuntu 22.04, hacer las configuraciones básicas y crear un virtual host. Además has aprendido los comandos esenciales para una administración del servidor. Espero te haya servido este tutorial.
Ahora que ya tienes instalado un servidor web, de seguro necesitaras tener un servidor de base de datos. Te dejo el siguiente enlace con un tutorial de instalación de MySQL 8 en Ubuntu 22.04.
Videotutorial
¡Eso es todo!
Author
Licenciado en Informatica graduado de la Universidad Tecnológica de El Salvador. PHP Developer con más de 8 años de experiencia trabajando con HTML, CSS, Bootstrap, Tailwind, JavaScript, jQuery, Knockout JS, React JS, Node JS, MySQL, PHP, Laravel, Codeigniter, Wordpress, Woocommerce y Magento.