Table of Contents
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
Links
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.
- 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
Plusieurs instances sur une machine
Lectures:
- Adding more Drupals avec Debian et Apache 1.3 (copié les sources chaque fois)
- Multiple directories (une seule fois les sources)
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:
- General concepts: ce qu'on aimerait savoir :)
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:
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 :)