Instalar Drupal en Ubuntu Server

Instalar Drupal en Ubuntu Server.

Junto con WordPress y Joomla, Drupal es uno de los CMS más utilizados, lógico, es buenísimo, altamente seguro y de código abierto.

En este articulo instalaremos un servidor para Drupal desde cero en Ubuntu Server 18.04 LTS (es valido para sus derivados y otras versiones), con las siguientes características: MySQL, PHP-FPM 7.2 y Nginx. Solo debes seguir los pasos indicados uno por uno.

 

Instalar Drupal en Ubuntu Server

Antes de comenzar, actualizamos el sistema e instalamos el descompresor unzip.

sudo apt update && sudo apt upgrade

sudo apt install unzip
Instalar y configurar MySQL

Ahora procedemos a instalar MySQL o MariaDB, nuestro Ubuntu 18.04 viene por defecto con MySQL.

sudo apt-get install mysql-server

Aseguramos la instalacion:
mysql_secure_installation

Responde a las siguientes preguntas:
  • Configurar la contraseña de root. N
  • Eliminar usuarios anónimos. Y
  • Deshabilitar el inicio de sesión remoto para el usuario root. Y
  • Borrar la base de datos demo y los accesos. Y

Puedes configurar una password especifica o no, es tu decisión. En el resto de preguntas responde siempre «Y», esto eliminará los usuarios anónimos, la base de datos demo, deshabilitará los inicios de sesión remotos, y cargará las nuevas reglas de MySQL.

La base de datos ya esta configurada y lista para ser usada. Se supone que debería estar corriendo, por si acaso la iniciamos manualmente y habilitamos su arranque con el sistema.

systemctl start mysql

systemctl enable mysql

Bien… nos falta crear una base de datos para Drupal y su usuario. Nosotros insertaremos como usuario de MySQL el nombre drupal, no te olvides de insertar una contraseña segura.

Abrimos la consola de MySQL.

sudo mysql

Linea por linea ejecuta lo siguiente:
mysql> CREATE DATABASE drupal;

mysql> GRANT ALL PRIVILEGES ON drupal.* TO 'drupal'@'localhost' IDENTIFIED BY 'mi-password-seguro';

mysql> FLUSH PRIVILEGES;

mysql> \q
Instalar y configurar PHP

Vamos con el php, en este caso instalaremos la versión 7.2.

sudo apt install php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

Al instalar Drupal necesitamos unos requisitos un poco superiores a WordPress, aplicamos los mínimos en el archivo php.ini desde nuestra terminal (puedes aumentarlos si es necesario)
sudo sed -i "s/memory_limit = .*/memory_limit = 256/" /etc/php/7.2/fpm/php.ini

sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 128M/" /etc/php/7.2/fpm/php.ini

sudo sed -i "s/post_max_size = .*/post_max_size = 128M/" /etc/php/7.2/fpm/php.ini

sudo sed -i "s/max_execution_time = .*/max_execution_time = 3000/" /etc/php/7.2/fpm/php.ini
Instalar y configurar Nginx

Llego el momento de instalar Nginx, no perdamos más tiempo.

sudo apt install nginx

Creamos el archivo de configuración de nuestro sitio web Drupal.
sudo nano /etc/nginx/sites-available/tu-dominio.com

Copia y pega lo siguiente, OJO!!!, con tu nombre de dominio.
server {
    listen 80;
    server_name tu-dominio.com www.tu-dominio.com;
    root /var/www/tu-dominio.com;

    index index.html index.htm index.php;

    charset utf-8;

    access_log /var/log/nginx/tu-dominio.com.access.log;
    error_log /var/log/nginx/tu-dominio.com.error.log info;

    location ~ \..*/.*\.php$ {
        return 403;
    }

    location ~ ^/sites/.*/private/ {
        return 403;
    }

    location ~ ^/sites/[^/]+/files/.*\.php$ {
        deny all;
    }

    location ~ (^|/)\. {
        return 403;
    }

    location / {
        try_files $uri /index.php?$query_string;
    }

    location @rewrite {
        rewrite ^/(.*)$ /index.php?q=$1;
    }

    location ~ /vendor/.*\.php$ {
        deny all;
        return 404;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    location ~ '\.php$|^/update.php' {
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi.conf;
    }


    location ~ ^/sites/.*/files/styles/ {
        try_files $uri @rewrite;
    }

    location ~ ^(/[a-z\-]+)?/system/files/ {
        try_files $uri /index.php?$query_string;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        try_files $uri @rewrite;
        expires max;
        log_not_found off;
    }

    location ~ /.(?!well-known).* {
        deny all;
    }
}

Guarda el archivo y cierra el editor.

Creamos un enlace simbólico para no permitir el acceso al archivo original.

sudo ln -s /etc/nginx/sites-available/tu-dominio.com /etc/nginx/sites-enabled/tu-dominio.com

Verificamos que la configuración es valida y reiniciamos el servicio.
sudo nginx -t

sudo systemctl restart nginx

Una vez concluido el ultimo paso, ya tenemos listo nuestro servidor web. Te recomiendo reiniciar el sistema antes de instalar Drupal.
reboot

 
Instalar Drupal

Descargamos la ultima versión estable de Drupal, en este caso la 8.8.0 (puedes revisar si existen nuevas versiones aquí).

wget https://ftp.drupal.org/files/projects/drupal-8.8.0.zip -O drupal.zip

Descomprimimos el archivo descargado y lo movemos al directorio de nuestro sitio web.
sudo unzip drupal.zip

sudo mv drupal-8.8.0/ /var/www/tu-dominio.com

No olvides conceder los permisos necesarios, es importante.
sudo chown -R www-data: /var/www/tu-dominio.com

El ultimo paso es acceder desde tu navegador web a la url del dominio, y finalizar el proceso de instalación.
Instalar Drupal

Instalar Drupal

Te recomiendo que revises la documentación de Drupal, no te arrepentirás.

 

Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.

 

Agregar comentario