Búsqueda de sitios web

Cómo instalar Drupal con Apache en Debian y Ubuntu


Desarrollar su sitio web desde cero puede ser una tarea desalentadora. Lleva mucho tiempo y es costoso si planea contratar a un desarrollador. Una forma sencilla de hacer despegar su blog o sitio web es utilizar un CMS (sistema de gestión de contenidos) como Drupal.

Drupal es un sistema de gestión de contenidos (CMS) de código abierto, escrito en PHP y publicado bajo GPL. Fue lanzado por primera vez en enero de 2001 para potenciar blogs personales, sitios web corporativos y cualquier tipo de sitio web que la gente pueda necesitar. Hoy en día, Drupal es uno de los CMS más famosos del mundo y gestiona millones de sitios web en todo el mundo.

La última versión de Drupal al momento de escribir esta guía es Drupal 9.

Características de Drupal

  1. Gratis y de código abierto.
  2. Funciones básicas como la capacidad de publicar publicaciones, páginas y un sistema de comentarios, fuente RSS y registro de usuarios. instalar y modificar plantillas y complementos.
  3. Más de 30000 módulos disponibles para descargar gratis desde la tienda Drupal.
  4. Disponible en más de 110 idiomas con soporte para idiomas RTL como el árabe.
  5. Soporte para múltiples sitios y soporte para edición y creación de contenido para múltiples usuarios.
  6. Soporte para la creación de blogs, foros, encuestas utilizando módulos que se instalan de forma predeterminada.
  7. Muy buen sistema de actualizaciones para notificarle sobre actualizaciones de seguridad.
  8. Muchas otras características.

En esta guía, instalaremos Drupal en Debian 10/9 y Ubuntu 20.04/18.04.

Requisitos previos de Drupal

Dado que Drupal es un CMS basado en PHP al que los usuarios acceden desde el front-end, necesita tener una pila LAMP instalada en su instancia de Debian/Ubuntu. LAMP es una pila de software que se utiliza para probar e implementar sitios web y consta de 3 componentes principales:

  • Servidor web apache.
  • Servidor de base de datos MariaDB.
  • PHP (para Drupal 9, se recomienda PHP 7.3 y versiones posteriores).

Con los requisitos cumplidos, ¡comencemos!

Paso 1: instale Apache, MariaDB y PHP

1. Para instalar Drupal, necesitará un servidor web en ejecución y un servidor de base de datos; en este artículo trabajaremos con Apache, PHP y MariaDB, puedes instalarlos fácilmente con la ayuda de una herramienta de administración de paquetes llamada apt.

sudo apt install apache2 mariadb-server mariadb-client php libapache2-mod-php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-intl php-mbstring php-curl php-xml php-pear php-tidy php-soap php-bcmath php-xmlrpc 

2. En los servidores de producción, debe habilitar algunas medidas de seguridad básicas para la instalación de la base de datos MariaDB, ejecutando el siguiente script de seguridad que se incluye con el paquete MariaDB.

sudo mysql_secure_installation

Después de ejecutar el script, lo guiará a través de una serie de preguntas donde puede responder sí(y) para habilitar algunas opciones de seguridad básicas como se muestra.

  • Ingrese la contraseña actual para root (ingrese para ninguna): Ingrese
  • ¿Establecer una contraseña de root? [S/n] s
  • ¿Eliminar usuarios anónimos? [S/n] s
  • ¿No permitir el inicio de sesión de root de forma remota? [S/n] s
  • ¿Eliminar la base de datos de prueba y acceder a ella? [S/n] s
  • ¿Recargar tablas de privilegios ahora? [S/n] s

Eso es todo, instaló con éxito todos los paquetes necesarios y también agregó una contraseña de MySQL. Ahora es el momento de seguir adelante y crear una base de datos para la instalación de Drupal.

Paso 2: crea una base de datos Drupal

3. Necesitaremos crear una base de datos para nuestra instalación de Drupal; para hacerlo, ejecute el siguiente comando para conectarnos al shell de mysql.

sudo mysql -u root -p

Nota: Le pedirá que ingrese la contraseña raíz de MySQL, que configuró mientras protegía el paquete MySQL, ingrésela y se le solicitará que acceda a la terminal MySQL. .

4. A continuación, ejecute la siguiente serie de comandos en la terminal MySQL para crear un nuevo usuario y base de datos 'drupal' y otorgar privilegios.

## Creating New User for Drupal Database ##
MariaDB [(none)]> CREATE USER drupal@localhost IDENTIFIED BY "your_password_here";

## Create New Database ##
MariaDB [(none)]> create database drupal;

## Grant Privileges to Database ##
MariaDB [(none)]> GRANT ALL ON drupal.* TO drupal@localhost;

## FLUSH privileges ##
MariaDB [(none)]> FLUSH PRIVILEGES;

## Exit ##
MariaDB [(none)]> exit

Nota: si lo desea, puede reemplazar el nombre de usuario y el nombre de la base de datos con cualquier otro nombre.

Paso 3: descargue e instale Drupal en Ubuntu

5. Drupal está disponible para descargar desde el repositorio oficial de Ubuntu/Debian como un paquete; sin embargo, es una versión antigua de Drupal que tiene muchas vulnerabilidades de seguridad y la versión actual de Drupal es 9.0. .6), es por eso que descargaremos Drupal desde el sitio web oficial.

Alternativamente, puede usar el siguiente comando wget para obtener la última versión directamente.

sudo wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz

6. A continuación, extraiga el archivo tarball y mueva la carpeta drupal sin comprimir a la ruta /var/www/html como se muestra.

sudo tar -xvf drupal.tar.gz
sudo mv drupal-9.0.6 /var/www/html/drupal

7. Para que drupal sea accesible, asigne los permisos que se muestran:

sudo chown -R www-data:www-data /var/www/html/drupal/
sudo chmod -R 755 /var/www/html/drupal/

Paso 4: cree un host virtual Apache Drupal

8. La parte final de la configuración requiere que creemos un archivo de host virtual Apache para nuestro sitio web Drupal. Continúe y cree el archivo de host virtual como se muestra:

sudo vim /etc/apache2/sites-available/drupal.conf

Pegue el contenido a continuación.

<VirtualHost *:80>
     ServerAdmin [email 
     DocumentRoot /var/www/html/drupal/
     ServerName  example.com  
     ServerAlias www.example.com

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

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

     <Directory /var/www/html/>
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    </Directory>
</VirtualHost>

Luego, guarde y salga del archivo de configuración.

9. Con el host virtual instalado, debemos habilitarlo usando los siguientes comandos:

sudo a2ensite drupal.conf
sudo a2enmod rewrite

10. Luego reinicie el servidor web Apache para que se apliquen los cambios.

sudo systemctl restart apache2

Paso 6: configurar Drupal desde un navegador

11. En este paso concluimos la instalación de Drupal configurándolo en un navegador web. Inicie su navegador y diríjase a la dirección IP de su servidor como se muestra:

http://www.server-ip/
OR
http://www.example.com/

12. En la página que aparece, seleccione su idioma preferido y haga clic en el botón "Guardar y continuar".

13. El siguiente paso le ofrece tres perfiles de instalación que puede aprovechar. Para mantener las cosas fáciles y directas, seleccione la primera opción, que es el perfil Estándar, y presione el botón "Guardar y continuar".

14. En el siguiente paso, complete los detalles de la base de datos.

15. Poco después, comenzará la instalación de todos los archivos necesarios. Esto lleva aproximadamente 5 minutos y un poco de paciencia será suficiente.

16. Complete todos los campos obligatorios sobre su sitio, como el nombre del sitio, la dirección de correo electrónico del sitio, la ubicación y la zona horaria.

17. Finalmente, obtendrá el panel predeterminado para Drupal como se muestra:

Desde aquí, puede comenzar a crear su propio sitio web elegante y responsivo utilizando los temas disponibles o aprovechando los temas premium de Drupal. Eso es todo lo que teníamos por hoy. Esperamos que puedas configurar cómodamente Drupal en Debian 10/9 y Ubuntu 20.04/18.04.