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:
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:
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:
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:
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.