User Tools

Site Tools


drupal

This is an old revision of the document!


Drupal (http://drupal.org/) est un CMS libre.

Choix de Drupal comme CMS

J'ai choisi Drupal pour les raisons suivantes:

  • c'est un CMS libre, avec une grande base d'utilisateurs et de développeurs
  • pas trop lourd (pour mon petit laptop à l'époque, un Pentium 3 avec 768 Mo de RAM)
  • en PHP → intégration des reports T1
  • package Debian (facile pour la gestion de la sécurité et l'installation)
  • multiples instances apparemment facile

Prévu au départ pour zongo.be (qui utilise pour finir ce WikiWikiWeb), il est utilisé sur http://www.type-one.net/.

Introduction

Taxonomy

= catégories

On crée un vocabulaire qui recouvre un sujet et qui est composé de termes (hiérachisés ou non).

A appronfondir

  • taxonomy
  • views module

Notes

  • pour que le contenu soit indexé (et donc qu'on puisse le retrouver via le moteur de recherche), il faut faire tourner cron: www.site/cron.php

Installation

Debian

Il y a un package Debian:

apt-get install drupal

(pas aptitude parce que j'ai apache2 et qu'il voulait installer apache)

debconf pose des questions, il installe tout.

Mais la base URL est http://localhost/drupal/ (j'ai peut-être mal répondu dans les questions debconf).

J'ai donc dû la changer dans /etc/drupal/conf.php

Sous Windows

J'ai proposé à mon ami Bernie de mettre Drupal sur son site topdeck.be

J'ai donc dû l'aider à l'installer sur sa machine à la maison pour essayer.

Galère.

  • Installation de WAMP: problème avec phpmyadmin: solution.
  • Il a dû faire un autre utilisateur que root pour finir.
  • Il a réussi à créer une DB (“drupal”) et à uploader le script database/database.mysql de création des tables.
  • Puis il a fallu lui expliquer ou décompresser les sources pour avoir le répertoire drupal-4.6.1 dans C:\wamp\www\.
  • Finalement, edition du fichier de configuration sites/default/settings.php:
    • changer les lignes:
$db_url = 'mysql://username:password@localhost/database';

avec son login, mot de passe et base de données et

$base_url = 'http://localhost';

remplacé par:

$base_url = 'http://localhost/drupal-4.6.1';

Et puis c'était bon.

Qu'est-ce que ça va être quand il voudra le mettre chez son hébergeur…

Sous MacOS

cf. Desktop

Configuration

Activer les URLs propres

S'identifier en tant qu'administrateur: administer → settings: Clean URLs: enable → sauver

Ensuite, il faut chipoter au niveau de la configuration Apache:

  • créer un directory dans /etc/apache2/sites-available/default (dans la directive VirtualHost):
    <Directory /var/www/drupal/>
        AllowOverride All
        RewriteEngine On
        Include /etc/drupal/htaccess
    </Directory>
  • dans /etc/drupal/htaccess, décommenter la ligne (pour autant que le site soit dans mon.site.tld/drupal/):
RewriteBase /drupal

cf. Installing Drupal in a subdirectory

Plusieurs instances sur une machine

Lectures:

D'après la doc (/usr/share/doc/drupal/README.Debian.gz), pour les virtual hosts, il suffit d'ajouter un fichier dans /etc/drupal/ par hôte virtuel.

J'essaye avec www.type-one.net:

cp /etc/drupal/conf.php /etc/drupal/www.type-one.net.php
mysql -u root -p
mysql> create database type1;
mysql> exit
mysql -u root -p type1 < /usr/share/drupal/database/database.mysql

Changer dans /etc/drupal/www.type-one.net.php les valeurs pour la connexion DB et le basename.

Ajouter un fichier /etc/apache2/sites-available/www.type-one.net:

<VirtualHost *>
        ServerAdmin carl@zongo.be
        ServerName www.type-one.net
        DocumentRoot /var/www/t1/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/t1/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                RewriteEngine On
                Include /etc/drupal/htaccess_www.type-one.net
        </Directory>

        ErrorLog /var/log/apache2/www.type-one.net.log
        LogLevel warn
</VirtualHost>
cp /etc/drupal/htaccess /etc/drupal/htaccess_www.type-one.net

Editer le fichier ci-dessus et commenter la ligne:

RewriteBase /drupal
ln -s /etc/apache2/sites-available/www.type-one.net /etc/apache2/sites-enabled/www.type-one.net
ln -s /usr/share/drupal /var/www/t1
/etc/init.d/apache2 reload

Ajouter des thèmes

Pour les thèmes dans Debian:

aptitude install nom_du_theme

Ensuite, il suffit d'aller dans administer → themes et de sélectionner le nouveau thème.

Pour les autres thèmes:

  • télécharger (attention à la version de drupal)
  • décompresser dans /usr/share/drupal/themes
  • aller dans administer → themes et sélectionner le nouveau thème

Note: ça marche pas avec box_grey, mais bien avec adc.

C'est parce que pour box_grey, il faut phptemplate.engine.

le télécharger et le décompresser dans /usr/share/drupal/themes/engines

Et c'est bon.

Personnalisation

La documentation officielle est pas mal.

Il y a un handbook qui contient:

D'autres choses intéressantes:

Taxonomie:

Ajouter une page contenant du PHP

create content → page → input format = PHP code

Le bin's, c'est qu'il faut commencer le body de la page par

?>

comme indiqué dans le troubleshooting faq: PHP content won't parse.

Mais alors ce tag apparait sur la page :( Donc je le commente en HTML:

<!--
?>
-->

Modules

  • télécharger un module (tar.gz)
  • e décompresser dans le répertoire adéquat
sudo tar xzf flexinode-4.5.0.tar.gz -C /usr/share/drupal/modules/
  • lire les instructions pour le module…

Thèmes

Versions

Depuis que je l'utilise, il y a eu plusieurs versions que j'ai installées.

version 4.6

Dans Sarge, il y a Drupal 4.5.

Pour www.oberleiter.net, il faut pouvoir mettre des évènements pour quand un appartement est loué. Il faut pouvoir préciser le début et la fin de l'évènement. Pour ça, il faut Drupal 4.6:

4dot6

Il y a beaucoup de problèmes de spam avec le guestbook et le webform.

version 4.7

Il faut donc passer à 4dot7, mais vu les customisations que j'ai faites, c'est trop compliqué. Donc, un site reste en 4.6 et l'autre passe en 4.7.

version 5

Sur le site en 4.7, je suis passé à la version5 (joli thème de base :)

version 6

version 7

Mises à jour

drupal.1388842716.txt.gz · Last modified: 2014/01/04 14:38 by carl