Résoudre REMOTE_ADDR derrière un reverse proxy Varnish

Lorsqu’un site est derrière un reverse proxy (comme Varnish Cache), le php ne reçoit dans la variable $_SERVER[‘REMOTE_ADDR’] que l’adresse IP du reverse proxy. Afin d’accéder à l’IP du client, il faut ajouter une directive au fichier VCL de Varnish et modifier le code php permettant de récupérer l’ip.

 

Ajout dans le fichier .vcl de Varnish

Dans le php, on récupère l’IP du client en utilisant

 Résoudre REMOTE_ADDR derrière un reverse proxy Varnish

Mise à jour vers php 5.2 pour Plesk 8.x et 9.x

Voici un petit tutoriel permettant de mettre à jour la version de php vers la 5.2.

 

Mise à jour vers php 5.2 pour Plesk 8.x et 9.x

Changer un site magento de serveur

 

En voulant récemment basculer un site magento d’un serveur à un autre j’ai été confronté aux modifications à faire dans les fichiers de configuration de magento. Et là c’est bien plus compliqué que dans Joomla. Voici les étapes à suivre pour faire le transfert d’un site vers un autre serveur ou une autre racine de contexte.

 

1) Effacer le contenu du sous-répertoire <magento_install_dir>/var

2) Changer les valeurs dans le fichier <magento_install_dir>/app/etc/local.xml
Les valeurs à modifier concernent la chaîne de connexion à la base de données (database user, host and name).

3) Une fois que la base de données à été installée sur le nouveau serveur, vous devez faire les modifications suivantes

– Exécuter la requête suivante:

SELECT FROM core_config_data WHERE path ‘web/unsecure/base_url’ OR path ‘web/secure/base_url’;
Le résultat obtenu est semblable à :

+———–+———+———-+———————–+————————————–+
config_id scope   scope_id path                  value                                |
+———–+———+———-+———————–+————————————–+
|         | default |        web/unsecure/base_url http://www.mondomaine.com/magento/ |
|         | default |        web/secure/base_url   http://www.mondomaine.com/magento/ |
+———–+———+———-+———————–+————————————–+

– Il faut changer les valeurs pour la nouvelle URL.
UPDATE core_config_data SET value ‘http://www.monnewdomaine.com/’ WHERE path LIKE ‘web/%/base_url’;
Le résultat obtenu est semblable à :

+———–+———+———-+———————–+——————————+
config_id scope   scope_id path                  value                        |
+———–+———+———-+———————–+——————————+
|         | default |        web/unsecure/base_url http://www.monnewdomaine.com/ |
|         | default |        web/secure/base_url   http://www.monnewdomaine/ |
+———–+———+———-+———————–+——————————+

 

Vous pouvez ensuite accéder à magento sans difficulté.

Sauvegarde des données sous Plesk

Les exemples suivants présentent les lignes de commandes permettant de sauvegarder l’ensemble d’un serveur utilisant Plesk. Les données sauvegardées sont :

  • La configuration du serveur et du panneau de contrôle,
  • Les bases de données,
  • Les utilisateurs,
  • Les clés de licences,
  • Les sites web,
  • Les boîtes à lettre.

 La syntaxe présentée correspond à la version 8.0.2 de Plesk.

Continue reading

Accéder à MySQL via des services REST en PHP

 Qu’est ce que REST ?

REST n’est pas un protocole (contrairement à SOAP), il s’agit d’une méthodologie décrite dans une thèse de Roy Thomas Fielding "Architectural Styles and the Design of Network-based Software Architectures". Cette méthodologie préconise d’utiliser les standards du web (Protocole HTTP, XML) pour mettre à disposition des services sur le WEB.

Un petit projet pour se simplifier le travail

Le projet suivant PHPRestSQL hébergé sur Sourceforge permet de rendre accessible les tables d’une base de données Mysql via des requêtes HTTP.

 Un projet très interessant mais un peu limité au niveau de la sécurité, surtout si les écritures dans la base de données sont possible.

Configuration de php pour un domaine sous plesk

Plesk est une interface d’administration permettant de gérer l’hébergement de plusieurs domaines sur un même serveur. Avec php il est fréquent d’avoir besoin de paramètres différents au niveau de chaque domaine.

La configuration des paramètres du site se fait dans le fichier httpd.include du répertoire /conf/ du domaine (Par exemple : /var/www/vhosts/mondomaine.com/conf/).Il n’est pas conseillé de modifier ce fichier (bien que ce soit possible) car à chaque modification de la configuration du domaine dans l’interface de plesk, les modifications seront perdues.

Pour faire une configuration particulière du site il faut créer un fichier vhost.conf dans le répertoire conf du domaine. A noter que cette configuration spécifique peut se faire au niveau du sous-domaine également en positionnant le fichier dans le répertoire conf du sous-domaine (/var/www/vhosts/mondomaine.com/subdomains/monsousdomaine/conf/). Le fichier vhost.conf contient ensuite exactement les mêmes informations que le fichier httpd.include.

Pour que ce fichier soit pris en compte par plesk il faut lancer la commande suivante :

  • /usr/local/psa/admin/sbin/websrvmng -u —vhost-name=mondomaine.com pour ne configurer que le domaine,
  • /usr/local/psa/admin/bin/websrvmng -a pour reconfigurer tous les sites.

La dernière étape est de redémarrer apache pour que la nouvelle configuration soit prise en compte. La commande est service httpd restart.