Installer le générateur de sprites CSS SpriteMe sur Debian
SpriteMe est un service de génération automatisée de sprites CSS. Ce guide vous aide à mettre en place une version auto-hébergée de cet outil.
Ce guide est testé sur:
- Debian 6.0 Squeeze
Prérequis
Ce guide nécessite :
- L'un de ces serveurs HTTP:
- Apache 2 avec l'outil a2tools disponible dans Installer et configurer Apache 2 sur Debian.
- Lighttpd avec l'outil lighty-tools disponible dans Installer et configurer Lighttpd sur Debian.
- un serveur HTTP avec support du PHP, comme décrit par Installer PHP-FPM sur Debian.
- un serveur MySQL, comme décrit par Installer et configurer MySQL sur Debian.
- l'outil mysql-tools d'administration simplifiée de MySQL sur l'hôte local (et l'hôte du serveur MySQL, si différent).
Paramètres
Renseignez le nom de domaine où sera disponible l'application:
DOMAIN="spriteme.domain.com"
Renseignez le nom d'hôte du serveur MySQL:
MYSQL_HOST="localhost"
Si le serveur MySQL n'est pas local, l'outil mysql-tools essaiera de s'y connecter avec le client MySQL, ou, en cas d'échec de connexion, via une connexion SSH.
Installation
Déterminez le chemin d'installation:
INSTALL_PATH="/opt/spriteme/${DOMAIN}"
Déterminez le chemin des données:
DATA_PATH="/var/lib/spriteme/${DOMAIN}"
Assurez-vous que le dossier parent existe:
command mkdir --parent "$(command dirname "${INSTALL_PATH}")"
Préparation de l'environnement
Installez les logiciels nécessaires:
command apt-get install subversion git pngcrush php5-imagick php5-cli
Augmentez la taille maximale des variables de GET:
command php-tools --for="spriteme" --set="suhosin.get.max_value_length" "4096"
Rechargez la configuration de PHP:
test -x /etc/init.d/php5-fpm && /etc/init.d/php5-fpm force-reload
test -x /etc/init.d/apache2 && /etc/init.d/apache2 force-reload
test -x /etc/init.d/lighttpd && /etc/init.d/lighttpd force-reload
test -x /etc/init.d/nginx && /etc/init.d/nginx force-reload
Mise en place de l'application
Obtenez les sources de SpriteMe:
command svn checkout 'http://spriteme.googlecode.com/svn/trunk/' "${INSTALL_PATH}"
Obtenez les sources de CoolRunnings:
command git clone 'http://github.com/6a68/coolrunnings' "${INSTALL_PATH}/coolrunnings"
Mise en conformité avec la LSB
Mettez en place une architecture de dossiers conforme à la LSB:
command mkdir --parent "${DATA_PATH}"
command mv "${INSTALL_PATH}/coolrunnings/public_images" "${DATA_PATH}"
command ln -s "${DATA_PATH}/public_images" "${INSTALL_PATH}/coolrunnings/"
command chown -R www-data:www-data "${DATA_PATH}"
Création de la base de données
Créez la base de données:
MYSQL_PARAMS="$(command mysql-tools --server="${MYSQL_HOST}" --with-ssh \
--auto-hosts --db-prefix="spriteme" --create "${DOMAIN}")"
Récupérez les paramètres de la nouvelle base de données:
MYSQL_DB="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_DB" \ | cut --delimiter="=" --fields="2-")" MYSQL_USER="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_USER" \ | cut --delimiter="=" --fields="2-")" MYSQL_PASSWORD="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_PASSWORD" \ | cut --delimiter="=" --fields="2-")" echo "${MYSQL_PARAMS}"
Configuration
Configurez la connexion à la base de données:
command sed -i \
-e "s/examples.stevesouders.com/${MYSQL_HOST}/g" \
-e "s/perfprofile/${MYSQL_DB}/g" \
"${INSTALL_PATH}/results.php"
command mkdir --parent "${INSTALL_PATH}/private"
command echo "<?php
\$gsAuth1 = '${MYSQL_USER}';
\$gsAuth2 = '${MYSQL_PASSWORD}';" > "${INSTALL_PATH}/private/db.php"
Créez les tables:
command sed -i -e "s|^//createTables();|createTables();|g" "${INSTALL_PATH}/results.php"
command php5 "${INSTALL_PATH}/results.php" > '/dev/null'
command sed -i -e "s|^createTables();|//createTables();|g" "${INSTALL_PATH}/results.php"
Ajustez l'URL du service SpriteMe dans le code de SpriteMe:
command sed -i -e "s|http://spriteme.org|http://${DOMAIN}|g" "${INSTALL_PATH}/spriteme.js"
command sed -i -e "s|http://spriteme.org|http://${DOMAIN}|g" "${INSTALL_PATH}/autospriteme.user.js"
Ajustez l'URL du service coolrunnings dans le code de SpriteMe:
command sed -i -e "s|http://jaredhirsch.com/coolrunnings/index.php|http://${DOMAIN}/coolrunnings/index.php|g" "${INSTALL_PATH}/spriteme.js"
Ajustez les paramètres de CoolRunnings:
command sed -i \
-e "s|'/var/www/html/'|realpath(dirname(__FILE__) . '/../../') . '/'|g" \
-e "s|http://localhost/|http://${DOMAIN}/|g" \
"${INSTALL_PATH}/coolrunnings/library/FrontController.php"
Créez la configuration du serveur HTTP:
if [ -x "/usr/bin/a2tools" ]; then command a2tools "${DOMAIN}" "${INSTALL_PATH}" fi if [ -x "/usr/bin/lighty-tools" ]; then command lighty-tools add-vhost "${DOMAIN}" "${INSTALL_PATH}" fi
L'outil est maintenant disponible sur le domaine spécifié.
Sauvegardes
Sauvegardez l'installation avec Backup Manager (voir Installer et configurer Backup Manager sur Debian):
command backup-manager-tools add "${INSTALL_PATH}"
command backup-manager-tools add "${DATA_PATH}"
N'oubliez pas de sauvegarder la base de données (voir Installer et configurer MySQL sur Debian).
Remerciements
- Merci aux développeurs de SpriteMe.
- Merci à Jared Hirsch pour CoolRunnings.