@SiteGround_ESwww.siteground.es#SGwebinar
Los mejores trucos y prácticas para configurar Drupal
Oskar [email protected]
por
Índice● Composer
● Base de datos
● Cache
● 404
● Archivos estáticos
● Módulos
● Consola
@SiteGround_ESwww.siteground.es#SGwebinar
Composer● Composer es un manejador
de dependencias, no un
gestor de paquetes.
@SiteGround_ESwww.siteground.es#SGwebinar
Composer: esqueleto web Cuando creamos una web nueva la opción recomendable es usar el proyecto de github: Drupal-composer
Drupal 7
composer create-project drupal-composer/drupal-project:7.x-dev some-dir
--stability dev --no-interaction
Drupal 8
composer create-project drupal-composer/drupal-project:8.x-dev some-dir
--stability dev --no-interaction
@SiteGround_ESwww.siteground.es#SGwebinar
Composer: directorios Esto es más una recomendación que una norma:
● modules/contrib => Módulos de la comunidad.● modules/custom => Módulos propios● modules/features => Features exportadas.● modules/hacked => Módulos modificados.● themes/contrib => Temas de la comunidad.● themes/custom => Temas propios.
@SiteGround_ESwww.siteground.es#SGwebinar
Base de datos● Suele ser uno de los cuellos de botella de las
webs● Es necesario tenerla a punto y optimizada.● Hasta que no tenemos un desastre no nos
preocupamos.● Tenemos que adelantarnos a que esto
ocurra.
@SiteGround_ESwww.siteground.es#SGwebinar
Base de datosSi es posible hay que optimizar la configuración de mysql, hay que seguir este post: https://www.drupal.org/node/259580
Los valores que asignemos tienen que tener en cuenta el hardware de nuestro servidor: https://github.com/major/MySQLTuner-perl
@SiteGround_ESwww.siteground.es#SGwebinar
Base de datos: módulosDrupal es un CMS que utiliza la bbdd incluso para guardar configuraciones.Es necesario tener en buen estado la BBDD, estos dos módulos nos Ayudan
● DBMaintenance● OptimizeDB
@SiteGround_ESwww.siteground.es#SGwebinar
Base de datosDrupal información en las tablas de “sessions” y de “accesslog”, busca una alternativa a estas opciones.
Tanto Memcache como Redis nos permiten guarda en sus respectivas base de datos la información de esas tablas, haciendo que Drupal vaya más rápido.
Este truco se nota más en webs con usuarios autenticados.
@SiteGround_ESwww.siteground.es#SGwebinar
BBDD: copias de seguridadUn buen profesional configurará un sistema de copias de seguridad de la base de datos.Algunos hosting permiten hacer copias de seguridad periódicas. Algunos módulos de Drupal facilitan la creación de copias.● Backup and Migrate● Backup Database
No es recomendable guardar las copias de seguridad en el mismo servidor. Se puede usar el módulo Storage Api para mover las copias de seguridad a otros servidores.
@SiteGround_ESwww.siteground.es#SGwebinar
CacheEl sistema de caché de Drupal sobre base de datos relacional no es perfecto pero funciona.Podemos mejorar si optamos por alguna de las siguientes opciones:● Varnish● Memcache● Redis● Boost
Depende de nuestro hosting podemos usar uno u otro.
@SiteGround_ESwww.siteground.es#SGwebinar
CacheEs importante entender que la política de caché de un proyecto no se podrá afinar antes de empezar el proyecto, sino que es un proceso que se irá afinando en los meses posteriores a lanzar el proyecto, y cada cierto tiempo hay que revisar.
@SiteGround_ESwww.siteground.es#SGwebinar
CronEn Drupal las tareas de Cron son tareas que se ejecutan en segundo plano, y que ayudan a tener optimizado nuestra página web, afectan a múltiples facetas de la web:● Borrado de elementos temporales.● Actualización de la caché.● Indexación de contenido.● Regeneración de permisos.● Etc...
@SiteGround_ESwww.siteground.es#SGwebinar
¿Cuando ejecutamos Cron?● No existe una norma clara.● En modo pasivo (core) se puede ejecutar cada hora.● En modo activo (externo) se puede ejecutar cada
minuto.● Depende del proyecto y las tareas requeridas para
cada proyecto.
@SiteGround_ESwww.siteground.es#SGwebinar
Cron: módulosMódulos recomendados:● Ultimate cron● Elysia cron
Ambos son dos módulos muy parecidos que hacen más o menos lo mismo, he usado indistintamente ambos. La única diferencia es que Ultimate Cron si tiene una versión pública para Drupal 8.
Otro módulo interesante es Cron Debug, si tenemos problemas al ejecutar el Cron, es nuestro módulo. Solo esta para D7.
@SiteGround_ESwww.siteground.es#SGwebinar
Cron: modo activoEjecutar los procesos de Cron usando el modo activo.
Ejecutar los procesos de Cron desde el propio servidor
Utilizar un servicio externo al servidor para que lleve a cabo esta ejecución:
● https://anturis.com/● https://www.statuscake.com/● https://uptimerobot.com/● https://www.pingdom.com/free
@SiteGround_ESwww.siteground.es#SGwebinar
Error 404Cuando Drupal devuelve un 404 genera una entrada en la tabla de caché, si todo va bien, y tenemos funcionando correctamente las tareas de Cron no dará problema.
Pero si no tenemos bien configuradas las tareas de Cron y alguien para atacar nuestra web nos genera peticiones erróneas puede saturar la tabla de caché, y puede llegar a provocar que no se regenere correctamente las tablas de caché.
@SiteGround_ESwww.siteground.es#SGwebinar
Error 404En el archivo settings.php Drupal permite generar una configuración para devolver una página de error rápida, y sencilla.
Si queremos una página de error configurable por el usuario usamos uno de estos módulos:
● Reuse cached 404● Fast 404● Static 404
@SiteGround_ESwww.siteground.es#SGwebinar
Archivos estáticosEl core de Drupal gestiona bien los recursos de js y de css, pero para una mejor gestión usamos Advanced CSS/JS Aggregation
La ventaja de usarlo son:
● Guarda en bbdd el nombre de los archivos.● Unifica y comprime los archivos.
@SiteGround_ESwww.siteground.es#SGwebinar
Archivos estáticosEl módulo CDN mejora el rendimiento de la página web con descargas paralelas usando subdominios para descargar los estáticos (img.dominio.com, css.dominio.com, js.dominio.com)
Al mejorar el rendimiento de la página web mejora también el SEO.
@SiteGround_ESwww.siteground.es#SGwebinar
Archivos estáticosUna alternativa es alojar nuestros archivos estáticos en un servicio externo como el que ofrece Amazon WebService llamado S3, existe un módulo en Drupal que nos permite conectar nuestro directorio files con Amazon.
Cuando cargamos una web los archivos son servidos desde Amazon, se descargan muy rápido.
@SiteGround_ESwww.siteground.es#SGwebinar
Módulos
Las personas que empiezan con Drupal suelen tener el mal del buffet libre.
@SiteGround_ESwww.siteground.es#SGwebinar
Módulos
Si es posible tenemos que usar Apc (5.6) o OpCache (7.x).
@SiteGround_ESwww.siteground.es#SGwebinar
Módulos
Vamos a ver con detalle algunos datos de las paǵinas de módulos, voy a usar como ejemplo la página del módulo https://www.drupal.org/project/s3fs
@SiteGround_ESwww.siteground.es#SGwebinar
ConsolaDrupal tiene tres consolas:
● Drush● Drupal console ● Drupal Code Generator (DCG)
@SiteGround_ESwww.siteground.es#SGwebinar
Bises● Hacked
● https://simplytest.me
● http://www.drupalxray.com
@SiteGround_ESwww.siteground.es#SGwebinar
Síguenos en@SiteGround_ES
SiteGround España
SiteGround España
@SiteGround_ESwww.siteground.es#SGwebinar
SiteGround España