Photo Gallery with igal - online image gallery generator

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 05:36, 14 August 2006 by 84.44.130.157 (Talk)

Jump to: navigation, search

by andre

cy50f.jpg

Contents

Photo Gallery with igal

All you want is share your photos, but you don't want to install one of these bloated media servers? igal is for you!

Installation

All users

wget http://www.stanford.edu/~epop/igal/igal-1.4.tar.gz
tar -xvzf igal-1.4.tar.gz
cd igal-1.4
mkdir -p /usr/local/bin
cp igal /usr/local/bin/
chmod 0755 /usr/local/bin/igal
mkdir -p /usr/local/man/man1
cp igal.1 /usr/local/man/man1/
mkdir -p /usr/local/lib/igal
cp README THANKS ChangeLog COPYING indextemplate.html slidetemplate.html tile.png igal.css /usr/local/lib/igal/

Debian users

apt-get install libjpeg-progs netpbm

All you need from netpbm is the pnmscale binary. Optionally, if you want to conserve disk space,

cp -a /usr/bin/pnmscale /usr/local/bin/
cp -a /usr/lib/usr/lib/libnetpbm.so.1* /usr/local/lib/
apt-get remove netpbm

Others (PPC only)

wget http://hvkls.dyndns.org/downloads/libjpeg-pnmscale_binaries-ppc.tar.gz
tar -C / -xvzf libjpeg-pnmscale_binaries-ppc.tar.gz

Configuration

  • Set up a custom instance of thttpd (the webserver shipped with the LS), as described here. Advanced users might prefer this setup instead. We'll assume your server root is /mnt/share/www (LS1 style) in this example.
  • Create the directory that will hold the photos you want to share
mkdir /mnt/share/www/photos
  • Protect the directory with a password (optional)
thtpasswd -c /mnt/share/www/photos/.htpasswd photos # enter a password when prompted
  • Copy photos into /mnt/share/www/photos/, organize them into subdirectories if you want.
  • Set up a script that generates the galleries if necessary, on a daily basis. If your directory /mnt/share/www/photos is password protected, the subdirecories will inherit the password. See "man igal" for the options passed to the program.
echo '#! /bin/sh
DIR="/mnt/share/www/photos"
for dir in $(/bin/ls -1 ${DIR}/ | /usr/bin/tr "\n" " "); do
/usr/bin/test -d $DIR/${dir} && /usr/local/bin/igal --bigy 480 -n -d ${DIR}/${dir}/
/usr/bin/test -d $DIR/${dir} && /usr/bin/cp ${DIR}/.htpasswd ${DIR}/${dir}/
done' > /etc/cron.daily/igalAB
chmod 0755 /etc/cron.daily/igalAB
  • Optional: hourly generation
echo '#! /bin/sh
DIR="/mnt/share/www/photos"
for dir in $(/bin/ls -1 ${DIR}/ | /usr/bin/tr "\n" " "); do
/usr/bin/test -d $DIR/${dir} && /usr/local/bin/igal --bigy 480 -n -d ${DIR}/${dir}/
/usr/bin/test -d $DIR/${dir} && /usr/bin/cp ${DIR}/.htpasswd ${DIR}/${dir}/
done' > /etc/cron.hourly/igalAB
chmod 0755 /etc/cron.hourly/igalAB
  • If you want to create the galleries manually, run
/etc/cron.daily/igalAB

whenever you want.