Drupal (Español)

From ArchWiki
Esta traducción de Drupal fue revisada el 2019-01-02. Si existen cambios puede actualizarla o avisar al equipo de traducción.

De Wikipedia:

Drupal (pronunciación IPA en inglés: [druː pʰʊɫ]) es un sistema de gestión de contenidos1 o CMS (por sus siglas en inglés, Content Management System) libre, modular, multipropósito y muy configurable que permite publicar artículos, imágenes, archivos y que también ofrece la posibilidad de otros servicios añadidos como foros, encuestas, votaciones, blogs, administración de usuarios y permisos.
[...]
Es un programa libre, con licencia GNU/GPL, escrito en PHP, combinable con MySQL, desarrollado y mantenido por una activa comunidad de usuarios. Destaca por la calidad de su código y de las páginas generadas, el respeto de los estándares de la web, y un énfasis especial en la usabilidad y consistencia de todo el sistema.

Este artículo describe cómo configurar Drupal y Apache, MySQL o PostgreSQL, PHP y Postfix para trabajar con él. Se da por hecho que tiene algún tipo de servidor LAMP (Linux, Apache, MySQL, PHP), LAPP (Linux, Apache, PostgreSQL, PHP) o LASP (Linux, Apache, SQLite, PHP) ya configurado.

Instalación

Instale el paquete drupal.

Configuración

PHP

Edite /etc/php/php.ini:

  • Para habilitar el soporte para la manipulación de imágenes, descomente la línea extension=gd

Para el soporte de bases de datos, habilite una extensión PDO para su base de datos

  • Para habilitar el soporte para SQLite, descomente la línea extension=pdo_sqlite
  • Para habilitar el soporte para MySQL, descomente la línea extension=pdo_mysql
  • Para habilitar el soporte para PostgreSQL, descomente la línea extension=pdo_pgsql

Apache fallará al intentar iniciarse y mostrará un error al encontrar php_admin_value. A continuación se detalla la solución a este problema:

Instale el paquete php-apache.

En /etc/httpd/conf/httpd.conf, comente la línea:

#LoadModule mpm_event_module modules/mod_mpm_event.so

y descomente la línea:

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Coloque esto al final de la lista LoadModule:

LoadModule php7_module modules/libphp7.so
AddHandler php7-script .php

Coloque esto al final de la lista Include:

Include conf/extra/php7_module.conf

Reinicie httpd.service usando systemd.

Apache fallará al intentar iniciarse y mostrará un error al encontrar open_basedir. A continuación se detalla la solución a este problema:

En /etc/php/php.ini, descomente y añada el sufijo open_basedir para que tenga este aspecto:

open_basedir = /etc/webapps

Apache

Copie el ejemplo del archivo de configuración de Apache:

# cp /etc/webapps/drupal/apache.example.conf /etc/httpd/conf/extra/drupal.conf

E inclúyalo en la parte inferior de /etc/httpd/conf/httpd.conf:

Include conf/extra/drupal.conf

En /etc/httpd/conf/httpd.conf, descomente también la línea LoadModule rewrite_module modules/mod_rewrite.so.

Drupal

Edite /usr/share/webapps/drupal/.htaccess y reemplace Require all denied por Require all granted.

Finalmente, reinicie Apache (httpd.service). Ahora puede acceder a la instalación de Drupal en http://localhost/drupal .

Herramientas de la línea de comandos

Drush

Drush es un shell de línea de comandos y una interfaz de scripting Unix para Drupal. El núcleo Drush se suministra con una gran cantidad de comandos útiles para interactuar con el código, como módulos/temas/perfiles. Del mismo modo, ejecuta update.php, ejecuta consultas de sql y migraciones de base de datos, y otras utilidades como ejecutar Cron o borrar la caché. Drush se puede ampliar por archivos de comandos de terceros. Se puede instalar con el paquete drushAUR[enlace roto: package not found].

Drupalconsole

Drupalconsole es una herramienta CLI para generar código cliché, interactuar y depurar Drupal 8. Se puede instalar con el paquete drupalconsoleAUR.

PHP-Codesniffer-Drupal

PHP-Codesniffer-Drupal revisa su código Drupal contra los estándares de codificación y otras mejores prácticas. Se puede instalar con el paquete php-codesniffer-drupalAUR.

Consejos y trucos

Enviar correos

Drupal necesita un MTA compatible con Sendmail como por ejemplo Sendmail, Postfix o Exim si planea enviar correos desde su configuración local. Alternativamente, existen múltiples soluciones para enviar correos mediante servidores de correo externos a través de SMTP u otros medios como SMTP o PHPMailer. Utilice la página de búsqueda para encontrar más posibilidades.

Programación con Cron

Drupal recomienda ejecutar los trabajos Cron a cada hora. Cron puede ejecutarse desde el navegador web visitando http://localhost/drupal/cron. También es posible ejecutar Cron a través de un script copiando el archivo apropiado de la carpeta "scripts" a /etc/cron.hourly y haciéndolo ejecutable.

El progreso de la subida no está habilitado

Tras una correcta instalación, podría ver el siguiente mensaje en el informe de estado:

Your server is capable of displaying file upload progress, but does not have the required libraries. It is recommended to install the PECL uploadprogress library (preferred) or to install APC.

Primero, instale el paquete php-pearAUR. A continuación, utilize la orden pecl para descargar, compilar e instalar automáticamente la librería:

# pecl install uploadprogress

Finalmente, agregue lo siguiente a /etc/php/php.ini

extension=uploadprogress

Reinicie Apache.

Véase también