Como instalar y proteger Apache en Ubuntu 20.04

Qué tal soy Kiko. Os traigo un nuevo post sobre el sistema operativo mas molón. Encantado linuxeros.

Este tutorial le ayudará a instalar el servidor web Apache al sistema operativo Ubuntu 20.04 LTS (Focal Fossa). También aprenderás a proteger tu dominio mediante cifrado el certificado SSL. Este tutorial también funcionará a los sistemas Ubuntu 4.18, Ubuntu 4.16 y Ubuntu 19.10.

Antes de empezar

Antes de comenzar su trabajo:

  • Ejecutando el sistema Ubuntu 4.20 con privilegios sudo de acceso al intérprete de comandos.
  • Complete las instrucciones iniciales de configuración del servidor
  • Un nombre de dominio registrado y dirigido a la dirección IP pública del servidor. Para este tutorial, usamos webhost.linux.net, que apunta a nuestro servidor.

Paso 1: instalar Apache

Los paquetes Apache están disponibles en los repositorios de software predeterminados de Ubunts. Puede instalarlo fácilmente mediante la herramienta convencional de gestión de paquetes.

Primero de todo, actualice el índice de paquetes local para reflejar los últimos cambios anteriores. A continuación, instala el servidor web Apache2.

sudo apt update
sudo apt install apache2

Tras la confirmación, apt instalará Apache y otras dependencias necesarias en su sistema.

Paso 2: pruebe su servidor web

Una vez finalizada la instalación, el servicio Apache iniciará automáticamente en su sistema Ubuntu. Puede encontrar el estado del servicio de Apache ejecutando el siguiente orden:

sudo systemctl status apache2

Salida de muestra:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-04-26 05:28:08 UTC; 10min ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 15464 (apache2)
      Tasks: 55 (limit: 2283)
     Memory: 6.9M
     CGroup: /system.slice/apache2.service
             ├─15464 /usr/sbin/apache2 -k start
             ├─18646 /usr/sbin/apache2 -k start
             └─18647 /usr/sbin/apache2 -k start

Apr 26 05:28:08 linux systemd[1]: Starting The Apache HTTP Server...
Apr 26 05:28:08 linux systemd[1]: Started The Apache HTTP Server.

El estado del resultado como «Activo: activo (en ejecución)» significa que el servicio Apache ha comenzado con éxito. Sin embargo, la mejor manera de probar el servidor web, solicite una página a Apache en el navegador web.

 

Vea la página de destino Apache predeterminada. Quiere decir que el servidor web Apache funciona correctamente en su sistema.

Paso 3: cree un host virtual

Con la ayuda de anfitriones virtuales, puede alojar más de un dominio desde un mismo servidor. Un anfitrión virtual encapsula la configuración de un dominio. Configuraremos un host virtual con un subdominio llamado webhost.tecamin.net, pero debería sustituirlo por su propio nombre de dominio.

Empezamos con un directorio para nuestro dominio de la siguiente manera:

sudo mkdir /var/www/webhost
sudo chmod -R 755 /var/www/webhost
sudo chown -R www-data:www-data /var/www/webhost

A continuación, cree una página index.html de muestra para alojarla en este subdominio. Editar este archivo en el editor de texto preferido como vim o nano:

nano /var/www/webroot/index.html

Agregue el siguiente contenido HTML de muestra:

Guarde el archivo y ciérrelo.

Con el servidor Apache recién instalado, verá un archivo de configuración de anfitrión virtual predeterminado situado en etc / apache2 / sites-available / 000-default.conf. Pero este es un buen Habbo para crear archivos de configuración separados para cada host virtual. Por lo tanto, cree un nuevo archivo de host virtual como /etc/apache2/sites-available/webhost.linux.net.conf:

sudo nano /etc/apache2/sites-available/webhost.linux.net.conf

Agregue la siguiente configuración en el archivo de host virtual. Asegúrese de cambiar la dirección de correo electrónico ServerAdmin correcta, ServerName a su nombre de dominio. También puede incluir ServerAlias ​​para añadir más dominios o subdominios. A continuación, configure DocumentRoot correcto tal como se ha creado anteriormente.

Guarde el archivo y ciérrelo.

Por defecto, Apache lee los archivos de configuración del host virtual en el directorio / etc / apache2 / sites-available. Utilice la herramienta a2ensite para habilitar este host virtual:

sudo a2ensite webhost.linux.net.conf

El orden anterior creará un enlace simbólico webhost.linux.net.conf el archivo disponible en el sitio.

Una vez hecho, ejecute el siguiente para verificar los archivos de configuración:

sudo apache2ctl configtest

Debería ver la salida siguiente:

Syntax OK

A continuación, reinicie el servicio Apache para aplicar los cambios:

sudo systemctl restart apache2

Apache está preparado para publicar su contenido a su nombre de dominio configurado. Puede probarlo navegando a http://webhost.linux.net,

Paso 4: configure Let ‘s Encrypt SSL

Utilizamos cifra el certificado SSL para proteger el sitio web en el servidor web Apache. Certbot es la utilidad de línea de comandos para trabajar con Cifrar certificados. Ejecute el siguiente para instalar el binario certbot:

sudo apt install python3-certbot-apache

Esto instalará todos los paquetes necesarios para el certbot.

Una vez finalizado el proceso de instalación. Ejecute el siguiente para solicitar que codificamos la autoridad certificadora para emitir certificado para nuestro dominio webhost.linux.net. Puede añadir varios dominios o subdominios mediante parámetros «-d» separados.

certbot -d webhost.linux.net

El asistente le pedirá su dirección de correo electrónico para enviar sus actualizaciones. A continuación, acepta las Condiciones de servicio para continuar. A continuación se muestran los registros de órdenes completos:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for webhost.linux.net
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/webhost.linux.net-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/webhost.linux.net-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/webhost.linux.net-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/webhost.linux.net.conf to ssl vhost in /etc/ap                         ache2/sites-available/webhost.linux.net-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://webhost.linux.net

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=webhost.linux.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/webhost.linux.net/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/webhost.linux.net/privkey.pem
   Your cert will expire on 2020-07-25. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Ha configurado correctamente su dominio con certificado SSL. Ahora puede acceder a su dominio mediante el protocolo https tal como se muestra en la captura de pantalla siguiente:

 

Paso 5: ajustar las reglas del cortafuegos

Puede utilizar el nombre del servicio como «http» o «https» para permitirlo a FirewallD. Para abrir los puertos HTTP y HTTPS a FirewallD, ejecute los siguientes comandos:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

Una vez agregue las reglas, vuelva a cargar los cambios mediante la orden siguiente.

sudo firewall-cmd --reload

Paso 6: administra el servicio Apache

Ahora, tiene el servidor web Apache en funcionamiento, vamos con las órdenes de gestión del servicio Apache.

Para detener el servidor web Apache, escriba:

sudo systemctl stop apache2

Para iniciar el servidor web Apache (si está parado), escriba:

sudo systemctl start apache2

Para reiniciar (detener y luego iniciar) el servicio Apache, escriba:

sudo systemctl restart apache2

En lugar de detener e iniciar un servidor en ejecución, utilice la opción de recarga para aplicar cambios en el archivo de configuración sin dejar caer las conexiones actuales. Pero no se leerá ningún archivo de configuración nuevo:

sudo systemctl reload apache2

Para desactivar el servicio Apache para iniciarse automáticamente al arrancar el sistema, escriba:

sudo systemctl disable apache2

Para habilitar el servicio Apache para iniciarse automáticamente al arrancar el sistema, escriba:

sudo systemctl enable apache2

conclusión

El servidor web Apache funciona en el sistema operativo Ubuntu 20.04 LTS.

El Blog lo hacemos para colaborar y servir de referencia a la comunidad Linux. Esperamos que os guste.

Give a Comment