CraftCMS es un sistema de gestión de contenido flexible y fácil de usar que es ideal para desarrolladores web que buscan una plataforma que les permita crear experiencias personalizadas en la web. En esta guía, te mostraremos cómo instalar CraftCMS en un servidor con Ubuntu 22.04 LTS, utilizando Apache como servidor web y asegurando la conexión con un certificado SSL de Let’s Encrypt.

Requisitos Previos

Antes de comenzar, asegúrate de tener un servidor con Ubuntu 22.04 LTS instalado y de contar con acceso de superusuario (sudo). Además, necesitarás un dominio apuntando a la dirección IP de tu servidor.

Paso 1: Instalar Apache y PHP

CraftCMS requiere un servidor web y PHP para funcionar. Empezaremos instalando Apache y PHP, junto con las extensiones necesarias.

  1. Instalar Apache:
   sudo apt update
   sudo apt install apache2
  1. Instalar PHP y extensiones requeridas: CraftCMS requiere PHP versión 7.4 o superior. Instala PHP y las extensiones necesarias con el siguiente comando:
   sudo apt install php php-cli php-fpm php-mysql php-xml php-mbstring php-curl php-zip php-gd php-intl
  1. Configurar Apache para usar PHP: Configura Apache para procesar PHP editando el archivo de configuración predeterminado:
   sudo nano /etc/apache2/mods-enabled/dir.conf

Asegúrate de que el índice index.php esté en la primera posición:

   <IfModule mod_dir.c>
       DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
   </IfModule>

Reinicia Apache para aplicar los cambios:

   sudo systemctl restart apache2

Paso 2: Instalar MariaDB

CraftCMS necesita una base de datos para almacenar su contenido. Instala MariaDB y configúrala:

  1. Instalar MariaDB:
   sudo apt install mariadb-server
  1. Configurar la base de datos: Asegura tu instalación de MariaDB y crea una base de datos para CraftCMS:
   sudo mysql_secure_installation
   sudo mysql -u root -p

En MySQL, ejecuta:

   CREATE DATABASE craftcms;
   GRANT ALL PRIVILEGES ON craftcms.* TO 'craftuser'@'localhost' IDENTIFIED BY 'una_contraseña_segura';
   FLUSH PRIVILEGES;
   EXIT;

Paso 3: Instalar CraftCMS

  1. Descargar CraftCMS: Ve al directorio de Apache donde se alojarán los archivos de CraftCMS:
   cd /var/www/html
   sudo composer create-project craftcms/craft /var/www/html/craftcms
  1. Configurar Apache para servir CraftCMS: Crea un archivo de configuración para tu sitio:
   sudo nano /etc/apache2/sites-available/craftcms.conf

Agrega la siguiente configuración:

   <VirtualHost *:80>
       ServerName tu-dominio.com
       DocumentRoot /var/www/html/craftcms/web

       <Directory /var/www/html/craftcms/web>
           AllowOverride All
           Require all granted
       </Directory>

       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
   </VirtualHost>

Habilita el sitio y reinicia Apache:

   sudo a2ensite craftcms.conf
   sudo systemctl restart apache2

Paso 4: Configurar SSL con Let’s Encrypt

Para configurar SSL y asegurar tu sitio, usa Certbot, un cliente para Let’s Encrypt:

  1. Instalar Certbot:
   sudo apt install certbot python3-certbot-apache
  1. Obtener y configurar el certificado SSL:
   sudo certbot --apache -d tu-dominio.com

Sigue las instrucciones en pantalla para completar la configuración.

Hosting Optimizado para CraftCMS

Para aquellos que buscan un rendimiento optimizado y una gestión simplificada, los servicios de Linux SSD VPS de Shape.host son ideales para desplegar aplicaciones como CraftCMS. Con Shape.host, obtienes acceso a una infraestructura de alto rendimiento que puede soportar la demanda de aplicaciones y servicios modernos, asegurando la escalabilidad y disponibilidad que tu proyecto necesita. Shape.host ofrece soluciones que se adaptan a las necesidades de cualquier empresa, garantizando que la infraestructura necesaria esté disponible sin la complejidad de administrarla día a día.