Transfert

À vérifier

  • Droit +w dans les répertoires sites/default/files et sites/default/files/tmp. Voir dans la partie administrative http://site.com/admin/config/media/file-system
  • Droit +x dans le répertoire cgi-bin

Installation

Drupal 7.34

Télécharger à partir de drupal.org, cliquer sur le lien "Develop with Drupal" ou "Download & Extends". Cliquer sur le bouton "Download Drupal 7.34" ou l'onglet "Drupal Core". Cliquer sur "tar.gz (3.08 MB)" dans le tableau "Download". Lien final: http://ftp.drupal.org/files/projects/drupal-7.34.tar.gz

1. download
wget http://ftp.drupal.org/files/projects/drupal-7.34.tar.gz
wget http://ftp.drupal.org/files/translations/7.x/drupal/drupal-7.34.fr.po

2. extraire (créer le répertoire drupal-7.34)
tar xzvf drupal-7.34.tar.gz
mv drupal-7.34.fr.po drupal-7.34/profiles/standard/translations/

2.1 déplacer le répertoire avec le nom de votre site dans le /var/www/vhost/
exemple: mv drupal-7.34 /var/www/vhost/monsiteweb.com
2.2 créer le fichier apache2.conf correspondant, redémarrer le serveur avec la configuration

3. copier fichier de configuration
cd drupal-7.34
cp sites/default/default.settings.php sites/default/settings.php

4. donner les permission d'écriture
chmod a+w sites/default/settings.php
chmod a+w sites/default

5. créer la base de données
mysqladmin -u root -p create drupal7

6. créer l'usager
mysql -u root -p
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON drupal7.* TO 'drupal7'@'localhost' IDENTIFIED BY 'drupal7';

7. continuer l'installation sur http://siteweb.com/
http://siteweb.com/ -> http://siteweb.com/install.php

Select an installation profile : (X) Standard / ( ) Minimal : Save and continue
Choose language : () English (built-in) (X) Français : Save and continue
Pré-requis non satisfaits : 
Bibliothèque Unicode	Erreur
La conversion des chaînes de caractères multibyte en entrée dans PHP est active et doit être désactivée. Vérifiez le paramètre mbstring.http_input dans le fichier php.ini. Consultez la documentation PHP mbstring pour plus d'information.
/etc/php5/apache2/php.ini : 
mbstring.http_input = pass
mbstring.http_output = pass

Configuration de la base de données
Type de base de données * (x) MySQL, MariaDB ou équivalent 
 Nom de la base de données *  : drupal7
 Nom d'utilisateur de la base de données * : drupal7
 Mot de passe de la base de données : drupal7
 Enregistrer et continuer

Installation de Drupal
  (Contrôle barre de progression...)
  29 sur 29 terminés.

Importation de traductions de l'interface utilisateur
 Erreur: - bloquer sur Début de l'importation -
 /install.php?profile=standard&locale=fr&op=start&id=2

 Test en anglais:
 /install.php?profile=standard&locale=en&op=start&id=2
 - Fonctionne

Configure site
 Site Information
  Site name
  Site e-mail address
 Site maintenance account
   Username *
 E-mail address *
 Sécurité du mot de passe :
 Mot de passe *
 Confirmer le mot de passe *

Server settings
 Default country : [Canada]
 Default time zone : [  America/New York ]

Update notifications
 [ ] Check for updates automatically
 [ ] Receive e-mail notifications

Drupal installation complete
 Congratulations, you installed Drupal!
 [Visit your new site.]

8. Redonner les bonnes permissions
chmod 644 sites/default/*.php
chmod 755 sites/default/

Erreur: l'usager/mot de passe choisi ne fonctionne pas. Reset, edit et maintenant il fonctionne.

Drupal 6.19

Télécharger à partir de drupal.org (présentement 6.19) et désarchiver dans un répertoire.

1. download
2. extraire
3. copier fichier de configuration
cp sites/default/default.settings.php sites/default/settings.php
4. donner les permission d'écriture
chmod a+w sites/default/settings.php
chmod a+w sites/default
5. créer la base de données
mysqladmin -u root -p create drupal
6. créer l'usager
mysql -u root -p
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON drupal.* TO 'drupal'@'localhost' IDENTIFIED BY 'drupal';
7. continuer l'installation sur http://siteweb.com/
http://siteweb.com/ -> http://siteweb.com/install.php?profile=default 
Choose language: Cliquer sur "English" http://siteweb.com/install.php?profile=default&locale=en
Verify requirements: ...
Set up database: Database type = mysqli, drupal, drupal, drupal
Advanced options: host, port, prefix
Install site [installation des tables ici]
Configure site
 Site Name: siteweb.com (sans le :81 et le http://)
 Site e-mail address: 
 Administrator username: 
 Administrator email: 
 Administrator password: 
 Default Time Zone: -0400
 Clean URLs: Disabled
Finished
 Cliquer sur your new website (http://siteweb.com/)
 Regarder nouveau courriel avec information
8. Redonner les bonnes permissions
chmod 644 sites/default/*.php
chmod 755 sites/default/

Mise à jour/Migration 7.22 vers 7.50

1. archiver base de données (les renseignements sont dans sites/default/settings.php)
mysqldump ...

2 A) Se connecter sur https://www.siteweb.com/user/
2 B) vérifier les modules qui ont besoins de mise à jour
http://www.siteweb.com/admin/reports/updates

cd sites/all/modules
mkdir ../oldmodules
mv listeDesModules ../oldmodules
wget modules.tar.gz
tar xzvf modules.tar.gz
rm *.tar.gz

3. copie des fichiers mis à jours
mkdir backup
cp robots.txt .htaccess sites/default/settings.php backup/
#cp scripts/... modules/custom...

4. en administrateur, mettre le site en maintenance
Menu Configuration > Dévelopemment > Mode maintenance
/admin/config/development/maintenance

5. téléchargements drupal 7.50 (en dehors du répertoire)
wget https://ftp.drupal.org/files/projects/drupal-7.50.tar.gz
tar xzvf drupal-7.50.tar.gz

6. créer un répertoire de backup pour les vieux fichiers, exemple: old-drupal-7.22

7. déplacer les vieux fichiers (à partir du répertoire principal)
mv authorize.php CHANGELOG.txt COPYRIGHT.txt cron.php includes index.php INSTALL.mysql.txt INSTALL.pgsql.txt install.php INSTALL.sqlite.txt INSTALL.txt LICENSE.txt MAINTAINERS.txt ../old-drupal-7.22
mv misc modules profiles README.txt robots.txt scripts themes update.php UPGRADE.txt web.config xmlrpc.php ../old-drupal-7.22

8. copier les nouveaux fichiers
cp -R ../drupal-7.50/* .
# copier fichiers personnalisés en backup
# cp backup/robots.txt backup/.htaccess  .
# cp backup/settings.php sites/default/

9. vérifier .htaccess (faire modification nécessaire)
vimdiff .htaccess ../drupal-7.50/.htaccess

10. mettre à jour avec le script update.php (via http://...)
http://www.siteweb.com/update.php

11. mettre à jour sites/default/files/.htaccess et sites/default/files/tmp/.htaccess avec les instructions: https://www.drupal.org/SA-CORE-2013-003

12. vérifier status, mise à jour des modules
dans /admin/modules/update

13. enlever le mode de maintenance

14. vider le cache de tout (clear all cache)

Migration 7.50 vers 7.57

Suivre même procédure que précédent: 1. mysqldump -u user -p database > backup-date.sql 5 https://ftp.drupal.org/files/projects/drupal-7.57.tar.gz

Première fois

[logo:drupal] [nom de domaine]

[onglet:Accueil]

[Boîte connexion] Connexion utilisateur Nom d'utilisateur * Mot de passe * 
- Créer un nouveau compte 
- Demander un nouveau mot de passe
(Se connecter)

Bienvenue sur [nom de domaine]
Aucun contenu de page d'accueil n'a été créé pour l'instant.

Propulsé par Drupal.

Thème: entête bleu, page blanche, pied de page gris foncé. onglet blanc, boîte de connexion gris pâle, 

Concept

Usager

User
====
 ID
  0 = anonymous
  1 = admin (root or super-user)
  >1 = user-defined-authenticated
 NoRole  

Role
====
 ID
 Title [Anonymous, Administrator, user-defined-authenticated]
 List of permission


Node
====
 NodeID
 Content Type (node type) [Blog Entry, Book Page, Forum, Page, Poll, Story]
 Title
 CreationDate
 Author (user)
 Body
 [other properties]

Comment
Taxonomy
Database
Path
Theme [header, footer, sidebars, and main content section]
Region
Block
Menu [Primary Links, Secondary Links, and Navigation]

Liens

user/1 : Admin Account
node/add : Create content
admin : Administer (by task)
admin/by-module : Administer (by module)
admin/content : Content
admin/content/comment
admin/content/node
admin/content/...
admin/build : Build
admin/build/block : Blocks
admin/build/menu : Menu
admin/build/modules : Module Lists
admin/build/themes : Themes
admin/settings : Site configuration (Customize and settings)
admin/user : User management
admin/reports : Reports
admin/help : Aide
logout : Log out

?q=admin/content
?q=admin/dashboard
?q=admin/help

?q=node/add
?q=user
?q=user/logout
?q=user/register : Créer un nouveau compte
?q=user/password : Demander un nouveau mot de passe
?q=user/reset/1/????/????? 
?q=user/1/edit&pass-reset-token=????
?q=user/1/shortcut


bloc configurable dans le coin haut/droit

Type de contenu

1. Ajouter un nouveau type de contenu
2.  Type de contenus
Type:
- Nom *
- Description *
- Aperçu avant soumission [désactivé, facultatif, requis]
- Explication ou directives pour la description (text)
- Options par défaut: 
  - IsPublié, 
  - IsPromo en page d'accueil, 
  - IsÉpinglé en hauts des listes, 
  - IsNouvelle revision
- Gestion multilingue (désactivé/activé)
- Afficher auteur/date
- Paramètre commentaires ...
- Paramètre menu [management, menu principal, navigation, user menu], élément parent par défaut

Table:
- Titre (Libellé Title) - varchar
- Body
[interne]
- Status
- IsPromo
- Epingle
- Langue
- Auteur
- Date
[/interne]
[existant - optionnel]
 - field_image
 - field_tags
[/extistant]
[type]
list_boolean [case à cocher on/off, boutons radio]
number_decimal
number_integer
file
image
list_integer [case à cocher/boutons radio, liste de sélection]
list_float [case à cocher/boutons radio, liste de sélection]
list_text [case à cocher/boutons radio, liste de sélection]
number_float
taxonomy_term_reference [widget auto-complétion, case à cocher/bouton radio, liste de sélection]
texte
texte_long
texte_with_summary
[/type]

Gérer l'affichage
- champ [étiquette caché, au dessus, sur la même ligne
- format text brut, coupé, résumé ou coupé, caché

Bugs/problèmes

Webform - champ multiple - ajax

Avec drupal 7.22, il existe un problème avec les champs multiples qui ne se mettent pas à jour (le form_state est partagé pour tous les usagers anonymous - mis en cache).

Il faut migrer vers la dernière version 7.27 au moins.

Référence: https://www.drupal.org/SA-CORE-2014-002 et https://www.drupal.org/node/1808626.

Module smtp

En date du 2017-01-22, smtp contient la version 5.1 de PHPMailer. Voir aussi SMTP et bug report

Courriel

Mail Debug: {url}/admin/config/system/htmlmail : (Optional) Debug - Add debugging info (Set $debug to TRUE).

{url}/admin/config/system/mailsystem

SMTP: {url}/admin/config/system/smtp : Debugging and logging - Logging : Log everything, Errors only, No logging

Modules

Template

page.tpl.php

Disponible: $is_front (boolean), $node (objet)

Vérification d'une page:

$nid = $node && $node->nid ? $node->nid : 0;
if (in_array($nid, array(1, 2, 3))) {}