Difference between revisions of "Photo Gallery with igal - online image gallery generator"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
(Debian users)
(Configuration)
Line 51: Line 51:
  
 
  echo '#! /bin/sh
 
  echo '#! /bin/sh
 +
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
  DIR="/mnt/share/www/photos"
 
  DIR="/mnt/share/www/photos"
  for dir in $(/bin/ls -1 ${DIR}/ | /usr/bin/tr "\n" " "); do
+
  for dir in $(ls -1 ${DIR}/ | tr "\n" " "); do
  /usr/bin/test -d $DIR/${dir} && /usr/local/bin/igal --bigy 480 -n -d ${DIR}/${dir}/
+
  test -d $DIR/${dir} && igal --bigy 480 -n -d ${DIR}/${dir}/
  /usr/bin/test -d $DIR/${dir} && /usr/bin/cp ${DIR}/.htpasswd ${DIR}/${dir}/
+
  test -d $DIR/${dir} && cp ${DIR}/.htpasswd ${DIR}/${dir}/
 
  done' > /etc/cron.daily/igalAB
 
  done' > /etc/cron.daily/igalAB
 
  chmod 0755 /etc/cron.daily/igalAB
 
  chmod 0755 /etc/cron.daily/igalAB
Line 61: Line 62:
  
 
  echo '#! /bin/sh
 
  echo '#! /bin/sh
 +
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
  DIR="/mnt/share/www/photos"
 
  DIR="/mnt/share/www/photos"
  for dir in $(/bin/ls -1 ${DIR}/ | /usr/bin/tr "\n" " "); do
+
  for dir in $(ls -1 ${DIR}/ | tr "\n" " "); do
  /usr/bin/test -d $DIR/${dir} && /usr/local/bin/igal --bigy 480 -n -d ${DIR}/${dir}/
+
  test -d $DIR/${dir} && igal --bigy 480 -n -d ${DIR}/${dir}/
  /usr/bin/test -d $DIR/${dir} && /usr/bin/cp ${DIR}/.htpasswd ${DIR}/${dir}/
+
  test -d $DIR/${dir} && cp ${DIR}/.htpasswd ${DIR}/${dir}/
  done' > /etc/cron.hourly/igalAB
+
  done' > /etc/cron.daily/igalAB
 
  chmod 0755 /etc/cron.hourly/igalAB
 
  chmod 0755 /etc/cron.hourly/igalAB
  

Revision as of 05:42, 14 August 2006

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/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
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DIR="/mnt/share/www/photos"
for dir in $(ls -1 ${DIR}/ | tr "\n" " "); do
test -d $DIR/${dir} && igal --bigy 480 -n -d ${DIR}/${dir}/
test -d $DIR/${dir} && cp ${DIR}/.htpasswd ${DIR}/${dir}/
done' > /etc/cron.daily/igalAB
chmod 0755 /etc/cron.daily/igalAB
  • Optional: hourly generation
echo '#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DIR="/mnt/share/www/photos"
for dir in $(ls -1 ${DIR}/ | tr "\n" " "); do
test -d $DIR/${dir} && igal --bigy 480 -n -d ${DIR}/${dir}/
test -d $DIR/${dir} && cp ${DIR}/.htpasswd ${DIR}/${dir}/
done' > /etc/cron.daily/igalAB
chmod 0755 /etc/cron.hourly/igalAB
  • If you want to create the galleries manually, run
/etc/cron.daily/igalAB

whenever you want.