Personal tools
You are here: Home GNU / Linux Debian 4.0 Etch Installer le serveur de campagnes publicitaires OpenX sur Debian
Document Actions
  • Send this page to somebody
  • Print this page
  • Add Bookmarklet

Installer le serveur de campagnes publicitaires OpenX sur Debian

by Pierre-Yves Landuré last modified 2010-11-27 22:22

OpenX est un outil PHP permettant de gérer les campagnes publicitaires. Il vous permet de centraliser les informations concernant vos campagnes publicitaires affichées sur un ou plusieurs sites. Cet outil est développé par ceux qui ont créés l'outil de statistiques Piwik. Ce guide vous aide au travers de son installation sur Debian.

Pré-requis

Ce guide nécessite un serveur MySQL disposant du script mysql-tools disponible dans le guide Installer et configurer MySQL sur Debian.

Ce guide nécessite un serveur HTTP avec support du PHP disposant au choix d'un des scripts suivant :

Paramètres

Renseignez le nom de domaine ou sera disponible l'application :

DOMAIN="ads.domaine-exemple.fr"

Renseignez le nom d'hôte de votre serveur MySQL (si vous ne savez pas de quoi il s'agit, ne modifiez pas cette valeur) :

MYSQL_HOST="localhost"

Si votre serveur MySQL n'est pas local, ce guide effectuera une connexion SSH pour y créer la base de données.

Installation

Installation des dépendances logicielles

Installez les extensions PHP et logiciels nécessaires :

command apt-get install php5-mysql php5-gd php5-cli

Augmentez la limite mémoire de PHP :

MEMORY_LIMIT="256M"
if [ -e "/etc/php5/conf.d/memory-limit.ini" ]; then
  CURRENT_MEMORY_LIMIT=$(command grep 'memory_limit' /etc/php5/conf.d/memory-limit.ini \
        | command cut --delimiter='=' --fields='2-' \
        | command sed -e 's/^[ \t]*//g')
  if [ "$(echo "${CURRENT_MEMORY_LIMIT}" | command sed -e 's/M$//g')" \
       -gt "$(echo "${MEMORY_LIMIT}" | command sed -e 's/M$//g')" ]; then
    MEMORY_LIMIT="${CURRENT_MEMORY_LIMIT}"
  fi
fi
echo "; Memory limit for PHP scripts.
memory_limit = ${MEMORY_LIMIT}" > "/etc/php5/conf.d/memory-limit.ini"

Appliquez les paramètres PHP spécifiques à l'application :

TIMEZONE=$(command cat /etc/timezone)
echo "; PHP settings for OpenX
magic_quotes_gpc = Off
date.timezone = ${TIMEZONE}" > /etc/php5/conf.d/openx.ini

Redémarrez votre serveur HTTP :

command test -x /etc/init.d/apache2 && /etc/init.d/apache2 force-reload
command test -x /etc/init.d/lighttpd && /etc/init.d/lighttpd force-reload

Installation de l'application

Obtenez le numéro de la dernière version de l'application :

VERSION="$(command wget --quiet --output-document=- "http://download.openx.org/" \
    | command sed -e 's/<[^>]*>/\n/g' \
    | command grep -e 'openx-.*\.tar\.gz' \
    | command sort | command tail -n 1 \
    | command sed -e 's/openx-\(.*\)\.tar\.gz/\1/')"

Téléchargez les sources de cette version :

command wget "http://download.openx.org/openx-${VERSION}.tar.gz" \
    --output-document="/tmp/openx.tar.gz"

Décompressez l'archive ainsi obtenue:

command tar --directory "/tmp" -xzf "/tmp/openx.tar.gz"

Déplacez le dossier ainsi obtenu vers l'emplacement final de l'installation :

command mv "/tmp/openx-${VERSION}" "/opt/${DOMAIN}"

Déplacez les dossiers var et images vers des emplacements plus adaptés à la LSB, et autorisez le serveur HTTP à modifier leur contenu :

command mkdir --parent "/var/lib/openx/${DOMAIN}"
command mkdir --parent "/var/cache/openx/${DOMAIN}"
command mv "/opt/${DOMAIN}/var/cache" "/var/cache/openx/${DOMAIN}/cache"
command mv "/opt/${DOMAIN}/var/templates_compiled" "/var/cache/openx/${DOMAIN}/templates_compiled"
command ln -s "/var/cache/openx/${DOMAIN}/cache" "/opt/${DOMAIN}/var/cache"
command ln -s "/var/cache/openx/${DOMAIN}/templates_compiled" "/opt/${DOMAIN}/var/templates_compiled"
command mv "/opt/${DOMAIN}/var" "/var/lib/openx/${DOMAIN}/var"
command mv "/opt/${DOMAIN}/www/images" "/var/lib/openx/${DOMAIN}/images"
command mv "/opt/${DOMAIN}/plugins" "/var/lib/openx/${DOMAIN}/plugins"
command ln -s "/var/lib/openx/${DOMAIN}/var" "/opt/${DOMAIN}/var"
command ln -s "/var/lib/openx/${DOMAIN}/images" "/opt/${DOMAIN}/www/images"
command ln -s "/var/lib/openx/${DOMAIN}/plugins" "/opt/${DOMAIN}/plugins"
command chown -R www-data:www-data "/var/lib/openx/${DOMAIN}"
command chown -R www-data:www-data "/var/cache/openx/${DOMAIN}"
command chown -R www-data:www-data "/opt/${DOMAIN}/www/admin/plugins"

Effacez l'archive téléchargée :

command rm "/tmp/openx.tar.gz"

Créez la configuration du serveur HTTP pour votre domaine :

if [ -x "/usr/bin/a2tools" ]; then
  command a2tools add-vhost "${DOMAIN}" "/opt/${DOMAIN}/www/"
fi
if [ -x "/usr/bin/lighty-tools" ]; then
  command lighty-tools add-vhost "${DOMAIN}" "/opt/${DOMAIN}/www/" 
fi

Votre application devrait maintenant être disponible sur le nom de domaine que vous lui avez destiné.

Création de la base de données

Créez la base de données :

if [ "${MYSQL_HOST}" = "localhost" ]; then
  MYSQL_PARAMS=$(command mysql-tools create-domain-db "${DOMAIN}")
else
  command echo "Saisissez le mot de passe de l'utilisateur root MySQL :"
  command read PASSWORD
  MYSQL_PARAMS=$(command ssh "root@${MYSQL_HOST}" "command mysql-tools create-domain-db '${DOMAIN}' '$(command cat /etc/mailname)' '${PASSWORD}'")
fi

Affichez les paramètres de la nouvelle base de données et notez-les pour utilisation dans la suite de ce guide :

echo "${MYSQL_PARAMS}"

Configuration de OpenX

Accédez à la configuration de l'application en utilisant l'URL affichée par la commande :

echo "http://${DOMAIN}/"

Important : Pensez à désactiver Adblock Plus pour votre installation OpenX, si vous souhaitez que tout fonctionne correctement.

Mise en place de la maintenance planifiée

OpenX nécessite l'exécution de tâches de maintenances. Ces taches peuvent être exécutées via un script PHP.

Une fois ceci fait, mettez en place le script CRON de maintenance :

command echo "# Daily OpenX maintenance for ${DOMAIN}.
0 * * * * www-data [ -x /usr/bin/php -a -f /opt/${DOMAIN}/scripts/maintenance/maintenance.php ] && command php /opt/${DOMAIN}/scripts/maintenance/maintenance.php ${DOMAIN}" \
    > "/etc/cron.d/openx-${DOMAIN}"

Rechargez cron pour prendre ne compte la nouvelle configuration :

/etc/init.d/cron reload

Sauvegardes

Pour sauvegarder votre installation, je vous propose d'utiliser Backup Manager. Pour l'installer, vous pouvez suivre mon guide:

Installer et configurer Backup Manager sur Debian

Une fois Backup Manager installé, configurez la sauvegarde des fichiers de l'application :

command update-bm-folders add "/opt/${DOMAIN}"
command update-bm-folders add "/var/lib/openx/${DOMAIN}"

Important: Sauvegarder les fichiers ne suffit pas ! Il faut aussi sauvegarder la base de données. La procédure pour ce faire est disponible dans mon article MySQL sur Debian.

Mise à jour

Renseignez le numéro de la version vers laquelle vous souhaitez mettre à jour :

VERSION=2.8.4

Téléchargez les sources de cette version :

/usr/bin/wget http://download.openx.org/openx-${VERSION}.tar.gz \
    --output-document=/tmp/openx.tar.gz

Décompressez l'archive ainsi obtenue:

/bin/tar --directory /tmp -xzf /tmp/openx.tar.gz

Créez une copie de sauvegarde de l'installation actuelle :

/bin/cp -a /opt/openx /opt/openx.old

Copiez le dossier ainsi obtenu vers l'emplacement actuel de l'installation :

/bin/cp -r /tmp/openx-${VERSION}/* /opt/openx/

Nous remettons en place les permissions adéquates :

/bin/touch /op/openx/var/UPGRADE
/bin/chown -R www-data:www-data /var/lib/openx
/bin/chown -R www-data:www-data /var/cache/openx
/bin/chown -R www-data:www-data /opt/openx/www/admin/plugins

Vérifiez que votre installation d'OpenX fonctionne correctement.

Si tout s'est bien passé, supprimez les fichiers utilisés pour la mise à jour.

/bin/rm -r "/tmp/openx-${VERSION}"
/bin/rm -r /tmp/openx.tar.gz
/bin/rm -r /opt/openx.old

Résolution des problèmes

Les feuilles de styles ne se chargent pas

Si les feuilles de styles ne se chargent pas dans votre interface d'administration, il vous faut désactiver l'option de compression gzip du contenu. Cela se fait depuis le menu "Paramètres généraux -> Paramètres de l'interface utilisateur". Vous devez y décocher l'option "Utiliser la compression de contenu GZIP".

Source : Merci aux personnes ayant répondu à Css Its Not Loading To The Admin..., No style admin page.

Vérifier que le serveur de diffuse pas de code malveillant

Si votre serveur OpenX a été victime d'une faille de sécurité, vous pouvez vous assurez que le serveur ne diffuse pas de code malveillant en suivant la procédure décrite par l'article Security Update: How to Secure your OpenX installation sur le blog OpenX.

Remerciements

BlogBang
Navigation
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards:

Wikio