Cómo instalar Automad CMS con Apache y Let’s encrypt en Debian 10

Automad es un sistema de gestión de contenidos gratuito, de código abierto y plano, escrito en lenguaje PHP. Es rápido, sensible y ofrece características que no están disponibles para otros CMS basados en PHP. Automad utiliza un archivo de texto para almacenar su contenido en lugar de una base de datos. Automad ofrece una interfaz basada en la web para gestionar el sitio, la configuración del sistema, subir imágenes y escribir una entrada en el blog. Viene con un editor Markdown incorporado y un actualizador de un clic para mantener tu Automad actualizado.

En este tutorial, te mostraremos cómo instalar Automad CMS en Debian 10 utilizando el servidor web Apache.

Requisitos

  • Un servidor con Debian 10.
  • Una contraseña de root en tu servidor.

Cómo empezar

Antes de empezar, necesitarás actualizar tu sistema con la última versión. Puedes hacerlo ejecutando el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez actualizado tu servidor, reinicia tu servidor para aplicar los cambios.

Instalar Apache y PHP

Automad se basa en PHP y se ejecuta en un servidor web. Así que tendrás que instalar Apache, PHP y otros módulos necesarios en tu servidor. Puedes instalarlos todos ejecutando el siguiente comando:

apt-get install apache2 php libapache2-mod-php php-zip php-curl php-mbstring php-gd php-xml php-xmlrpc php-soap unzip -y

Una vez instalados todos los paquetes, inicia el servidor web Apache y habilítalo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start apache2
systemctl enable apache2

Una vez hecho esto, puedes pasar al siguiente paso.

Instalar Automad

En primer lugar, tendrás que descargar la última versión de Automad desde el repositorio de Bitbucket. Puedes descargarla con el siguiente comando:

wget https://bitbucket.org/marcantondahmen/automad/get/default.zip

Una vez completada la descarga, extrae el archivo descargado con el siguiente comando:

unzip default.zip

A continuación, mueve el directorio extraído a la raíz web de Apache con el siguiente comando:

mv marcantondahmen-automad-c241e88edc3c /var/www/html/automad

A continuación, cambia la propiedad del directorio automad a www-data y dale el permiso adecuado con el siguiente comando:

chown -R www-data:www-data /var/www/html/automad
chmod -R 755 /var/www/html/automad

Una vez hecho esto, puedes pasar al siguiente paso.

Configurar Apache para Automad

A continuación, tendrás que crear un archivo de configuración del host virtual de Apache para el servidor de Automad. Puedes crearlo con el siguiente comando:

nano /etc/apache2/sites-available/automad.conf

Añade el siguiente contenido:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/automad
     ServerName example.com

     <Directory /var/www/html/automad>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/automadcms_error.log
     CustomLog ${APACHE_LOG_DIR}/automadcms_access.log combined

</VirtualHost>

Guarda y cierra el archivo, cuando hayas terminado. A continuación, comprueba que Apache no tiene ningún error de sintaxis con el siguiente comando

apachectl configtest

Si todo está bien, deberías obtener la siguiente salida:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

A continuación, habilita el módulo de host virtual y reescritura de Apache con el siguiente comando:

a2ensite automad
a2enmod rewrite

Por último, reinicia el servidor web Apache para aplicar los cambios de configuración:

systemctl restart apache2

Una vez que hayas terminado, puedes pasar al siguiente paso.

Acceder a Automad

Ahora que Automad está instalado y configurado, es el momento de acceder a la interfaz web de Automad.

Abre tu navegador web y escribe la URL http://example.com. Serás redirigido al sitio de Automad en la siguiente pantalla:

Portada de Automad CMS

Para crear una cuenta de Automad, abre tu navegador web y visita la URL http://example.com/dashboard. Serás redirigido a la siguiente página:

Crear usuario

Mover el archivo de la cuenta

Ahora, proporciona el nombre de usuario y la contraseña que desees, y luego haz clic en el botón Descargar archivo de cuentas para descargar el formulario de registro de usuario y copiarlo dentro del directorio config:

mv config.php /var/www/html/automad/config/

A continuación, da el permiso adecuado al archivo config.php con el siguiente comando:

chown -R www-data:www-data /var/www/html/automad/config/config.php

Ahora, abre tu navegador web y escribe la URL http://example.com/dashboard. Deberías ver la página de inicio de sesión de Automad:

Accede a tu sitio web

Ahora, proporciona tu nombre de usuario y contraseña, y haz clic en el botón Iniciar sesión. Deberías ver el panel de control por defecto de Automad CMS en la siguiente página:

Tu sitio en Automad

Asegura Automad con Let’s Encrypt

En primer lugar, necesitarás instalar la herramienta Certbot para descargar e instalar el SSL gratuito de Let’s Encrypt para tu sitio web.

Primero, añade el repositorio de Certbot con el siguiente comando:

apt-get install software-properties-common
add-apt-repository ppa:certbot/certbot

A continuación, actualiza el repositorio e instala Certbot con el siguiente comando:

apt-get update -y
apt-get install certbot python-certbot-apache -y

Una vez instalado, tendrás que crear un directorio .well-known dentro del directorio letsencrypt. Puedes crearlo con el siguiente comando:

mkdir -p /var/lib/letsencrypt/.well-known

A continuación, tendrás que dar los permisos adecuados al directorio letsencrypt. Puedes hacerlo con el siguiente comando:

chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt

A continuación, crea un archivo well-known.conf con el siguiente comando

nano /etc/apache2/conf-available/well-known.conf

Añade las siguientes líneas:

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
<Directory "/var/lib/letsencrypt/">
    AllowOverride None
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

Guarda y cierra el archivo. A continuación, habilita los módulos necesarios con el siguiente comando

a2enmod ssl
a2enmod http2
a2enmod headers
a2enconf well-known

A continuación, reinicia el servicio de Apache para aplicar todos los cambios de configuración:

systemctl restart apache2

Ahora, instala el SSL gratuito de Let’s Encrypt para tu dominio example.com ejecutando el siguiente comando:

certbot --apache -d example.com

En primer lugar, tendrás que proporcionar una dirección de correo electrónico válida y aceptar las condiciones del servicio, como se muestra a continuación:

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 example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/example.com-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/example.com-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/example.com-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

A continuación, elige la opción 2 para descargar e instalar un certificado SSL gratuito para tu dominio. Una vez que la instalación se haya completado con éxito. Deberías obtener la siguiente salida:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/example.com.conf to ssl vhost in /etc/apache2/sites-available/
example.com-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://example.com

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2019-10-22. 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

Tu Automad CMS está ahora protegido con el SSL gratuito de Let’s Encrypt. Puedes acceder a él visitando la URL https://example.com.

También te podría gustar...