los mejores trucos y prácticas para configurar drupal

32
@SiteGround_ES www.siteground.es #SGwebinar Los mejores trucos y prácticas para configurar Drupal Oskar Calvo @documenta2 Boream.com por

Upload: siteground-espana

Post on 22-Jan-2018

65 views

Category:

Internet


0 download

TRANSCRIPT

@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

Módulos

@SiteGround_ESwww.siteground.es#SGwebinar

Módulos

@SiteGround_ESwww.siteground.es#SGwebinar

Módulos

@SiteGround_ESwww.siteground.es#SGwebinar

Módulos

@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

Gracias¿Preguntas?

@SiteGround_ESwww.siteground.es#SGwebinar

Síguenos en@SiteGround_ES

SiteGround España

SiteGround España

@SiteGround_ESwww.siteground.es#SGwebinar

SiteGround España