Drupal

De OpenWikiBSD.

Sommaire

Installation

Drupal6 n'aime pas PostgreSQL. Dommage..

Installez MySQL


pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(uname -m)/drupal6-ldap_integration
pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(uname -m)/drupal6-securelogin

ln -s /var/www/conf/modules.sample/drupal6.conf  /var/www/conf/modules
ln -s /var/www/conf/modules.sample/php5.conf /var/www/conf/module
ln -fs /var/www/conf/php5.sample/gd.ini   /var/www/conf/php5/gd.ini
ln -fs /var/www/conf/php5.sample/mbstring.ini /var/www/conf/php5/mbstring.ini
ln -fs /var/www/conf/php5.sample/mysql.ini   /var/www/conf/php5/mysql.ini



In mysql, assuming you're connected as admin initially.

create user drupal@localhost identified by 'password';
create database drupal character set utf8;
grant all on drupal.* to drupal@localhost;

In postgresql, assuming an `admin' account has all rights:

createuser -U admin --pwprompt --no-superuser --createdb --no-createrole drupal
createdb -U drupal -E UTF8 drupal


  • Avec PostgreSQL
cf install de psql

A l'install web, l'outil vous laisse le choix.


Par les paquets officiels

cp sites/default/default.settings.php sites/default/settings.php
chown www.www sites/default/settings.php 
mkdir sites/default/files
chown www.www sites/default/files/

[error] ALERT - configured POST variable limit exceeded - dropped variable

dans les logs d'Apache quand vous ne pouvez pas faire des modifs sur des pages avec beaucoup de paramètres...


Il faut modifier les valeurs des patches Suhosin PHP:

perl -pi -e 's/;suhosin.post.max_array_depth = 50/suhosin.post.max_array_depth = 100/' /var/www/conf/php.ini 
perl -pi -e 's/;suhosin.post.max_array_index_length = 64/suhosin.post.max_array_index_length = 128/' /var/www/conf/php.ini 
perl -pi -e 's/;suhosin.post.max_name_length = 64/suhosin.post.max_name_length = 128/' /var/www/conf/php.ini 
perl -pi -e 's/;suhosin.post.max_totalname_length = 256/suhosin.post.max_totalname_length = 512/' /var/www/conf/php.ini 
perl -pi -e 's/;suhosin.post.max_vars = 200/suhosin.post.max_vars = 400/' /var/www/conf/php.ini 
perl -pi -e 's/;suhosin.post.max_value_length = 65000/suhosin.post.max_value_length = 100000/' /var/www/conf/php.ini 
perl -pi -e 's/;suhosin.request.max_array_index_length = 64/suhosin.request.max_array_index_length = 128/' /var/www/conf/php.ini 
perl -pi -e 's/;suhosin.request.max_array_depth = 50/suhosin.request.max_array_depth = 100/' /var/www/conf/php.ini 
perl -pi -e 's/;suhosin.request.max_vars = 200/suhosin.request.max_vars = 400/' /var/www/conf/php.ini 

apachectl stop
apachectl startssl


Modules

Gestion des droits

  • node_access & content_access

Galerie de photos

Plusieurs existent, j'ai choisi celle-là :album photos.

Il faut également télécharger dfGallery

  • dfgallery doit être copié dans sites/all/modules
  • Penser à activer les modules (admin/build/modules/list)
mv sites/all/modules/dfgallery/dfgallery/resources/locale/dfgallery_en.eden.txt sites/all/modules/dfgallery/dfgallery/resources/locale/dfgallery_en.eden
  • Penser à augmenter la taille des uploads PhP : dans php.ini

et dans un .htaccess à la racine du site drupal :[1]

  • Penser à augmenter la taille des Uploads Drupal : admin/settings/uploads catégorie par catégorie d'utilisateurs.
  • Penser à mettre une musique : Slide default Music :


Monitoring

  • Munin

IPv6

Affiche un bloc dépendant de l'ip du client v4 ou v6 : [2]

Config

Ajouter un lien permanent dans le bloc principal de gauche

-> admin/build/menu-customize/navigation

././.drupal/modules/index.html

Lancer des jobs à intervalle de temps régulier

crontab -e
45      *       *       *       *       /usr/bin/lynx -source http://www.monsite.fr/drupal6/cron.php

Indispensable pour plusieurs taches, dont les flux rss

Suivre les flux RSS d'un autre site

Suivre ça et ne pas oublier de lancer les cronjobs et de faire une première synchro à la main!

Modifier un morceau fixe de page

  • Exemple les coordonnées du lycée :

../sites/all/themes/newsflash/page.tpl.php

Authentification LDAP/AD

  • installer drupal6-ldap_integration

Pour AD

  • Configurer un user avec droits RO sur l’arborescence des utilisateurs; il devra lire les mdp
  • Mettre un server par OU que devra parcourir votre processus d'authentification; le champ texte proposé devrait,à priori permettre de parcourir plusieurs OU; en pratique ça ne marche pas.
  • TRES important : Dans Base DN's, vous devez utiliser le plain text editor, pas le rich text editor; des balises HTML dans un BaseDN, ça marche moyen moyen..


Processus de publication

  • Pour avoir un workflow de publication cad:
    • Création de contenu
    • Validation/Modération du contenu
    • Publication du contenu

Il vous faut le module Rulesainsi que modr8

  • Modr8 devra voir son bloc activé pour le groupe modérateurs
  • Appliquez une triggered rule pour lancer une action en fonction d'une condition; très simple d'usage.


  • Ne pas oublier de modifier le fonctionnement par défaut relatif aux différents contenus, cad: publié par défaut décoché (admin/content/types)

Faire envoyer les mails par Drupal en HTML

D'abord le html dans les mails, c'est mal! Oui, mais l'utilisateur lambda l'exige, alors... C'est là :admin/messaging/settings/method/overview


Menu déroulants

Ces solutions demandent javascript...

  • Il faut le module nice menus
  • Il faut également la librairie JQuery UI plutôt pénible à installer quand on est habitué aux modules :
  • Installer le module JQuery
  • Télécharger la librairie chez Google
  • Créez un répertoire drupal/site/all/libraries
  • Désarchivez jquery.ui-1.6.zip dedans
  • Renommez le répertoire jquery.ui-1.6 en jquery.ui

http://blog.houen.net/drupal-jquery-ui-complete-guide/


Celle , ne demande que de retoucher les css et marche parfaitement

Transformer la page d'accueil

En autre chose que le flux de news par défaut : [3]

Sinon, utilisez le module Panels (qui dépend de ctools) qui permet, sans une ligne de PHP ou de CSS, de mettre en forme son site.

Une doc

Mais c'est très lourd pour le serveur de générer des pages en panels..

Afficher une image aléatoire

http://blog.thetys-retz.net/post/2011/08/24/Ajouter-un-bloc-avec-une-image-al%C3%A9atoire-sous-Drupal-6-avec-CCK

Mise à jour

  • Mettez le site hors-ligne /admin/settings/site-maintenance
  • Copiez les nouveaux modules
  • lancez /update.php
  • Vérifiez les logs : /?q=admin/reports/dblog
  • Remettez en ligne /admin/settings/site-maintenance
Outils personnels