Drupal

Drupal

By ronan, 18 août, 2010

Débloquer un site hors-ligne

Débloquer un site hors-ligne

By ronan, 1 novembre, 2011

Quand un site Drupal est mis hors-ligne, plus personne ne peut y accéder.
Cette option est pratique pour des opérations de maintenance et/ou de mises à jour.
Le seul inconvénient, ne pas quitter sa session avant d'avoir remis le site en ligne sous peine de ne plus pouvoir y accéder.
Si par malheur cela se produit, pas de panique, une solution simple existe afin de remettre son site en ligne.

Pour débloquer son site, il suffit de s'y connecter en y ajoutant /user ou /?q=user à la fin de l'adresse.

http://monSite.fr/user (si les URLs simplifiées sont activées)
ou
http://monSite.fr/?q=user (si les URLs simplifiées ne sont pas activées)

Seul l'administrateur est autorisé à se connecter.

Etiquettes

meralli ballou (not verified)

il y a 11 ans 1 mois

J ai un souci je ne pe plu utiliser ma puce parce je suis en hors ligne

Nasser (not verified)

il y a 6 mois 1 semaine

Mille mercis

Installer la barre de progression PECL pour Drupal (sous Linux)

Installer la barre de progression PECL pour Drupal (sous Linux)

By ronan, 18 août, 2010

1 - Installer le paquet php5-dev.

$ sudo apt-get install php5-dev

2 - Se placer dans le répertoire /tmp.

$ cd /tmp/

3 - Vérifier à l'adresse http://pecl.php.net/package/uploadprogress la dernière version disponible puis télécharger l'archive souhaitée.

$ wget http://pecl.php.net/get/uploadprogress-1.0.3.1.tgz

4 - Extraire l'archive téléchargée.

$ tar xzvf uploadprogress-1.0.3.1.tgz

5 - Se placer dans le répertoire uploadprogress-x.x.x

$ cd uploadprogress-1.0.3.1/

6 - Compiler les sources et installer le programme

$ phpize
$ ./configure
$ make
$ sudo make install

7 - Rajoutez "extension=uploadprogress.so" au fichier php.ini.

8 - Redémarrer apache.

$ /etc/init.d/apache2 restart
 

Etiquettes

MAJ des modules Drupal sur un hébergement OVH

MAJ des modules Drupal sur un hébergement OVH

By ronan, 15 décembre, 2017

Si Drupal est installé sur un hébergement OVH, les mises à jour de modules via l'interface de mise à jour de Drupal ne fonctionne plus.

Obligation de télécharger le module à mettre à jour et de l'uploader sur le serveur via le FTP.

Pour retrouver un comportement standard, il suffit de modifier un tout petit fichier situé à la racine du serveur FTP.

Il s'agit du fichier .ovhconfig

Dans ce fichier, il suffit de modifier la ligne qui contient

container.image=legacy

par

container.image=stable

Tout devrait rentrer dans l'ordre

Mise à jour Drupal 7.24 & 6.29

Mise à jour Drupal 7.24 & 6.29

By ronan, 21 novembre, 2013

Suite à la mise à jour de Drupal en version 7.24 & 6.29, il est indipensable d'ajouter ou de modifier le fichier .htaccess présent dans le répertoire sites/default/files.

C'est une question de sécurité.
Cela empêchera toute exécution de scripts malicieux.

$ cat sites/default/files/.htaccess
# Turn off all options we don't need.
Options None
Options +FollowSymLinks
 
# Set the catch-all handler to prevent scripts from being executed.
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
<Files *>
  # Override the handler again if we're run later in the evaluation list.
  SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003
</Files>
 
# If we know how to do it safely, disable the PHP engine entirely.
<IfModule mod_php5.c>
  php_flag engine off
</IfModule>

Si le fichier .htaccess n'existe pas, le créer.

Il faut également protéger le répertoire temporaire de Drupal avec ce même fichier .htaccess.
Pour connaitre le répertoire temporaire de Drupal, il suffit d'aller dans "Configuration --> Média --> Système de fichiers".
En règle générale, sur un serveur Linux, il s'agit du répertoire /tmp.

Pour le protéger, rien de plus simple, il suffit d'effectuer une copie du fichier sites/default/files/.htaccess dans le répertoire /tmp.

Sur un serveur Linux, le répertoire /tmp est vider à chaque redémarrage.
Il faut donc penser à recopier le fichier .htaccess après chaque redémarrage.
Sinon, une petite tâche cron et le problème est réglé :

$ crontab -l
# m h  dom mon dow   command
@reboot cp -a /var/www/public_html/sites/default/files/.htaccess /tmp/

Penser à modifier le chemin d'accès au fichier .htaccess.

Pour finir, supprimer le fichier CHANGELOG.txt. Cela évitera à n'importe qui de connaitre la version actuellement installée.

Mon module Drupal : Test de connexion

Mon module Drupal : Test de connexion

By ronan, 15 mars, 2012

Si mon module Drupal "Test de connexion" vous intéresse, vous pouvez le télécharger en cliquant sur les liens ci-dessous correspondant à votre version de Drupal.

Disponible pour la version 6.x de Drupal :

http://www.isbeta.fr/6ac7a

MD5SUM : 25c575cc262272e6a2a7dc656196c25b  test_connexion.tar.gz

Disponible pour la version 7.x de Drupal :

http://www.isbeta.fr/91e09

MD5SUM : 9b7a14d2e38c1111f2cc841df365f839  test_connexion-7.x-1.0.tar.gz

Etiquettes

Récupérer (extraire) les données d'un noeud

Récupérer (extraire) les données d'un noeud

By ronan, 18 avril, 2012

Dans Drupal 7, il est tout à fait possible d'extraire n'importe quelles données d'un noeud (Page, Article etc etc) grâce aux API Drupal.

Quelles sont les données récupérables :

Exemple avec un article test créé spécialement.

Pour afficher cette description, il suffit d'utiliser l'API node_load en indiquant le NID du noeud concerné :

<?php
$nid = 412;
$node = node_load($nid);
print_r($node);
?>

Ce qui donne :

<?php
$nid = 412;
$node = node_load($nid);
print_r($node);
?>

Si on souhaite afficher la date de création du noeud, il suffit d'écrire

<?php
$nid = 412;
$node = node_load($nid);
$timestamp = $node->created;
$date = date("d-m-Y", $timestamp);
echo $date;
?>

Ce qui donne :

<?php
$nid = 412;
$node = node_load($nid);
$timestamp = $node->created;
$date = date("d-m-Y", $timestamp);
echo $date;
?>

Pour afficher le contenu

<?php
$nid = 412;
$node=node_load($nid);
print $node->body['und']['0']['value'];
?>

Ce qui donne :

<?php
$nid = 412;
$node=node_load($nid);
print $node->body['und']['0']['value'];
?>

Dans Drupal 6, l'affichage du contenu s'effectue de cette manière :

<?php
$nid = 412;
$node=node_load($nid);
print $node->body;
?>

Les arrays ['und']['0']['value'] sont inexistants.

Etiquettes

Réinitialiser le mot de passe administrateur de Drupal

Réinitialiser le mot de passe administrateur de Drupal

By ronan, 13 septembre, 2011

En cas de perte des identifiants, il faut savoir que tous les comptes utilisateurs sont enregistrés dans la table users.

Dans cette table, à chaque compte correspond un id unique (colonne UID).
Pour Drupal, les utilisateurs anonymes et privilégiés sont systématiquement les deux premières lignes de cette table et ont pour UID respectif 0 et 1.

Pour changer identifiant et mot de passe, il suffit d'exécuter la requête SQL suivante avec la console MySQL ou PhpMyAdmin :

$ mysql -u root -p
> use drupal
> update users set
        name = 'identifiant_admin',
        pass = md5('mot_de_passe')
    where uid = 1;