Outils personnels
Vous êtes ici : Accueil GNU / Linux Debian Installer Gallery 2 sur Debian 4.0 Etch
Actions sur le document
  • Send this page to somebody
  • Print this page
  • Add Bookmarklet

Installer Gallery 2 sur Debian 4.0 Etch

Par Pierre-Yves Landuré - Dernière modification 23/10/2008 21:01

Gallery est un logiciel libre de gestion de galleries photos Web écrit en PHP. Sa très belle interface, et son évolution rapide en fait un incontournable dans ce domaine. Cet article vous guide au travers de l'installation de Gallery 2 sur Debian 4.0 Etch.

Installation

En premier lieu, il vous faut un serveur HTTP avec support du PHP. Vous pouvez par exemple utiliser Lighttpd comme décrit dans mon guide Installer Lighttpd et PHP 5 sur Debian 4.0 Etch.

Nous installons en plus les modules nécessaires au bon fonctionnement de Gallery 2 :

/usr/bin/apt-get install php5-mysql php5-gd mysql-client-5.0 zip unzip \
dcraw ffmpeg imagemagick netpbm jhead apg

Et augmentez la limite mémoire de PHP 5:

if [ -e /etc/php5/cgi/php.ini ]; then
/bin/sed -i -e 's/memory_limit = .*/memory_limit = 128M/' /etc/php5/cgi/php.ini
fi
if [ -e /etc/php5/apache2/php.ini ]; then
/bin/sed -i -e 's/memory_limit = .*/memory_limit = 128M/' /etc/php5/apache2/php.ini
fi

Une fois ceci fait, n'oubliez pas de redémarrer votre serveur HTTP afin de prendre en compte le nouveau module. Par exemple, pour LigHTTPd:

/etc/init.d/lighttpd force-reload

Vous devez ensuite télécharger la dernière version de Gallery 2. Pour ce faire, renseignez la version que vous souhaitez télécharger :

VERSION=2.2.5

Et lancez le téléchargement :

/usr/bin/wget http://downloads.sourceforge.net/gallery/gallery-$VERSION-full.tar.gz \
--output-document=/tmp/gallery-$VERSION.tar.gz

Une fois le téléchargement terminé, décompressez le fichier à l'emplacement adéquat :

/bin/tar --directory=/opt -xzf /tmp/gallery-$VERSION.tar.gz

Nous configurons les permissions des différents répertoires:

/bin/chown -R root:root /opt/gallery2
/bin/chown -R www-data:www-data /opt/gallery2/themes
/bin/chown -R www-data:www-data /opt/gallery2/modules
/bin/chmod -R o-w /opt/gallery2

Et créez le lien symbolique adéquat pour le mettre en ligne :

ln -s /opt/gallery2 /var/www/gallery2

Une fois ceci fait, vous pouvez supprimer l'archive téléchargée :

/bin/rm /tmp/gallery-$VERSION.tar.gz

Configuration

Nous devons maintenant configurer Gallery. En premier lieu, nous créons le fichier de configuration à partir du modèle:

En premier lieu, nous créons le dossier destiné à stocker les images:

/bin/mkdir --parent /var/lib/gallery2/g2data
/bin/chown -R www-data:www-data /var/lib/gallery2

En premier lieu, nous créons le fichier de configuration, et nous le rendons inscriptible par le script PHP d'installation:

/bin/cp /opt/gallery2/install/config.php-template /opt/gallery2/config.php
/bin/chown www-data:www-data /opt/gallery2/config.php

Une fois ceci fait, nous créons la base de données que va utiliser Gallery. Pour ce faire, je vous conseille de suivre mon guide MySQL sur Debian 4.0 Etch.

Attention : Si vous avez suivi mon guide, vous pouvez passer ces lignes de commandes, sinon, remplacer les informations en gras par celles correspondant à votre base de données MySQL :

MYSQL_HOST=localhost
MYSQL_DB=GALLERY2_DATABASE
MYSQL_USERNAME=gallery2_username
MYSQL_USERPWD=gallery2_password

Une fois la base de donnée créée, nous reprenons le court normal des choses. En premier lieu, nous plaçons une valeur par défaut pour le nom d'hôte du serveur de la base de données:

if [ -z "$MYSQL_HOST" ]; then
MYSQL_HOST=localhost
fi

Nous générons des préfixes de tables et de colonne aléatoires afin d'améliorer la sécurité:

TABLE_PREFIX=$(/usr/bin/apg -q -a  0 -n 1 -M NCL)_
COLUMN_PREFIX=$(/usr/bin/apg -q -a  0 -n 1 -M NCL)_

Nous configurons maintenant Gallery 2 pour utiliser la base de données et le dossier de stockage des images que nous venons de créer:

/bin/sed -i -e "s/^\(.*setConfig('data.gallery.base',\).*/\1 '\/var\/lib\/gallery2\/g2data');/" \
-e "s/^\(\$storeConfig\['type'\]\).*/\1 = 'mysqli';/" \
-e "s/^\(\$storeConfig\['hostname'\]\).*/\1 = '$MYSQL_HOST';/" \
-e "s/^\(\$storeConfig\['database'\]\).*/\1 = '$MYSQL_DB';/" \
-e "s/^\(\$storeConfig\['username'\]\).*/\1 = '$MYSQL_USERNAME';/" \
-e "s/^\(\$storeConfig\['password'\]\).*/\1 = '$MYSQL_USERPWD';/" \
-e "s/^\(\$storeConfig\['tablePrefix'\]\).*/\1 = '$TABLE_PREFIX';/" \
-e "s/^\(\$storeConfig\['columnPrefix'\]\).*/\1 = '$COLUMN_PREFIX';/" \
/opt/gallery2/config.php

Une fois ceci fait, connectez-vous à votre nouveau site d'image:

Pour effectuer la vérification d'identité, commencez par renseigner le code qui vous est fourni:

GALLERY_CODE=the_very_long_and_strange_code

Et créez le fichier nécessaire:

/bin/echo $GALLERY_CODE > /opt/gallery2/login.txt

Par la suite, configurez Gallery 2 selon vos besoins. Les étapes de configuration du répertoire de stockage et de la base de données devrait être configurées correctement. Pour une installation standard, il vous faut seulement préciser le mot de passe et l'adresse email du compte admin.

Fin de l'installation

Une fois Gallery paramétré selon vos besoin, nous sécurisons l'installation:

/bin/chown root:root /opt/gallery2/config.php
/bin/rm /opt/gallery2/login.txt
/bin/rm -r /opt/gallery2/install
/bin/rm -r /opt/gallery2/upgrade
/bin/rm -r /opt/gallery2/README.html
/bin/rm -r /opt/gallery2/LICENSE
/bin/rm -r /opt/gallery2/MANIFEST

Si vous utilisez Apache 2, vous pouvez limiter l'accès aux sources PHP:

/bin/echo '<Files ~ "\.(inc|class)$">
Deny from all
</Files>' | /usr/bin/tee -a /opt/gallery2/.htaccess

Vous devriez maintenant avoir une installation fonctionnelle de Gallery 2. Par la suite, je vous conseille de créer vos utilisateurs, ainsi que leur galeries d'images privées, et d'activer les thèmes disponibles (le thème Ajaxian est particulièrement beau).

Mise à jour

Voici la procédure à suivre pour mettre à jour votre installation de Gallery 2 lors de la sortie d'une nouvelle version. Je tiens à vous rappeler que tenir à jour une application Web est très important car les mises à jour apportent des corrections aux failles de sécurités en plus de nouvelles fonctionnalitées.

En premier lieu, installez les logiciels nécessaire à la mise à jour:

/usr/bin/apt-get install mysql-client patch diff

Renseignez le numéro de la nouvelle version que nous souhaitons installer:

VERSION=2.3

Et lancez le téléchargement :

/usr/bin/wget http://downloads.sourceforge.net/gallery/gallery-$VERSION-full.tar.gz \
--output-document=/tmp/gallery-$VERSION.tar.gz

Sauvegarde de la base de données et de l'installation actuelle

Nous allons maintenant récupérer les informations de connexion à la base de données MySQL:

MYSQL_HOST=$(/bin/grep "storeConfig.*hostname" /opt/gallery2/config.php | /bin/sed -e "s/^.*=[ ]*'\(.*\)'.*$/\1/")
MYSQL_DB=$(/bin/grep "storeConfig.*database" /opt/gallery2/config.php | /bin/sed -e "s/^.*=[ ]*'\(.*\)'.*$/\1/")
MYSQL_USERNAME=$(/bin/grep "storeConfig.*username" /opt/gallery2/config.php | /bin/sed -e "s/^.*=[ ]*'\(.*\)'.*$/\1/")
MYSQL_USERPWD=$(/bin/grep "storeConfig.*password" /opt/gallery2/config.php | /bin/sed -e "s/^.*=[ ]*'\(.*\)'.*$/\1/")

Et nous créons une sauvegarde de la base de données de Gallery 2:

/usr/bin/mysqldump --host=${MYSQL_HOST} --user=${MYSQL_USERNAME} --password=${MYSQL_USERPWD} ${MYSQL_DB} > ${HOME}/gallery2-backup.sql

Sauvegardez votre installation actuelle de Gallery 2:

/bin/mv /opt/gallery2 /opt/gallery2.old

Conservez toutefois vos modules et themes installés, ainsi que votre configuration:

/bin/mkdir /opt/gallery2
/bin/cp -a /opt/gallery2.old/config.php /opt/gallery2/
/bin/cp -a /opt/gallery2.old/themes /opt/gallery2/
/bin/cp -a /opt/gallery2.old/modules /opt/gallery2/

Mise en place de la mise à jour

Mettez en place la nouvelle version de Gallery 2 en décompressant l'archive à l'emplacement adéquat:

/bin/tar --directory=/opt -xzf /tmp/gallery-$VERSION.tar.gz

Nous configurons les permissions des différents répertoires et fichiers:

/bin/chown -R root:root /opt/gallery2
/bin/chown -R www-data:www-data /opt/gallery2/config.php
/bin/chown -R www-data:www-data /opt/gallery2/themes
/bin/chown -R www-data:www-data /opt/gallery2/modules
/bin/chmod -R o-w /opt/gallery2

Une fois ceci fait, connectez-vous à votre installation de Gallery 2:

Attention: La procédure de mise à jour vous demande le mot de passe que vous avez saisi pour l'installation de Gallery 2. Si vous ne vous en souvenez plus, vous pouvez l'obtenir avec la ligne de commande suivante:

/bin/grep '^$gallery->setConfig.*setup.password' /opt/gallery2/config.php | /bin/sed -e "s/^.*,[ ]*'\(.*\)'.*$/\1/"

Remarque 1: La procédure de mise à jour peut vous informer que certains fichiers sont devenus inutiles et vous propose de les supprimer à l'aide d'un script. Si vous ne voulez pas vous embéter à copier le script sur le serveur à l'aide d'un scp, vous pouvez copier / coller les lignes de commandes du script directement dans votre accès SSH. Ce n'est vraiment pas recommandé, mais ça marche :). Toutefois, si vous souhaitez copier le script sur le serveur, voici les lignes de commande qui vous permettront de l'utiliser facilement:

/bin/mv cleanup.sh /opt/gallery2
cd /opt/gallery2
/bin/sh cleanup.sh
/bin/rm cleanup.sh

Remarque 2: Ignorez l'étape de sauvegarde de la base de données de la procédure de mise à jour, car nous avons déjà procédé à une sauvegarde.

Fin de la mise à jour

Une fois Gallery mis à jour, nous sécurisons l'installation:

/bin/chown root:root /opt/gallery2/config.php
/bin/rm -r /opt/gallery2/install
/bin/rm -r /opt/gallery2/upgrade
/bin/rm -r /opt/gallery2/README.html
/bin/rm -r /opt/gallery2/LICENSE
/bin/rm -r /opt/gallery2/MANIFEST

Si vous utilisez Apache 2, vous pouvez limiter l'accès aux sources PHP:

/bin/echo '<Files ~ "\.(inc|class)$">
Deny from all
</Files>' | /usr/bin/tee -a /opt/gallery2/.htaccess

Une fois ceci fait, vous pouvez supprimer l'archive téléchargée :

/bin/rm /tmp/gallery-$VERSION.tar.gz

Remerciements

Lien Gallery

Posté par Seb_12 le 10/11/2010 12:00
Bonjour,
Il ne semble que le lien de téléchargement a changer (http://sourceforge.net/projects/gallery/files/gallery3/3.0/gallery-3.0.zip), et le format d'archive aussi.
Cordialement...

BlogBang
Navigation
 

Réalisé avec Plone

Ce site respecte les normes suivantes :

Wikio