Gallery
Software runterladen
- Gallery und -optional- weitere Sprachpakete (von http://sourceforge.net/project/showfiles.php?group_id=7130)
- jhead (optional, von http://www.sentex.net/~mwandel/jhead/. Parser für die von Digitalkameras in JPEG-Dateien eingebetteten EXIF-Infos über Aufnahmedatum, Belichtung etc.)
Entpacken
In unserem Beispiel wollen wir gallery 1.4.3 unter www.example.com/gallery installieren. Die Software haben wir schon in das entsprechende Verzeichnis abgelegt, in das wir nun wechseln und die Software dann entpacken:
xyz00-doms@hopi:~$ cd ~/doms/example.com /subs/www/
xyz00-doms@hopi:~/doms/example.com/subs/www$ tar xvzpf gallery-1.4.3.tar.gz
Wir legen ein Albenverzeichnis an, hier landen später die Bilder; es muss für den Webserver erreichbar und lesbar sein:
xyz00-doms@hopi:~/doms/example.com/subs/www mkdir -m 755 albums
optional: die zusätzlichen Sprachpakete nach gallery/locale/ entpacken.
Setup vorbereiten
xyz00-doms@hopi:~/doms/example.com/subs/www cd gallery
PHP-Wrapper installieren (in diesem Beispiel PHP 4.3.10)
PHP muss unter CGI laufen. Wie das funktioniert, ist hier beschrieben.Gallery funktioniert laut Eigenaussage mit PHP 4.1.0 oder höher, allerdings sind Probleme mit PHP 4.1.2 bekannt. Auf Hostsharing wurde PHP 4.3.10 getestet und läuft sicher, PHP 5.x.x müsste auch klappen.
Es reicht, wenn die in der Anleitung für php via CGI erwähnte .htaccess-Datei im Verzeichnis gallery/ abgelegt wird.
Wir wechseln in den Setup-Modus, um das Setup ausführen zu können.
xyz00-doms@hopi:~/doms/example.com/subs/www/gallery sh configure.sh
Achtung: Gallery kann jetzt von jedermann konfiguriert werden - UNSICHER!
Im Verzeichnis gallery/setup/ befindet sich eine .htaccess-Datei, die wir wie folgt anpassen müssen.
DirectoryIndex index.php
AddHandler application/x-httpd-phc .php
Action application/x-httpd-phc /cgi-bin/php4310stub
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /gallery/
RewriteRule ^([^\.\?/]+)/([0-9]+)$ /gallery/view_photo.php?set_albumName=$1&index=$2 [QSA]
RewriteRule ^([^\.\?/]+)/([A-Za-z_0-9\-]+)$ /gallery/view_photo.php?set_albumName=$1&id=$2 [QSA]
RewriteRule ^([^\.\?/]+)/$ /gallery/$1 [R]
RewriteRule ^([^\.\?/]+)$ /gallery/view_album.php?set_albumName=$1 [QSA]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(index.php)$ index.php?init_mod_rewrite=1&ersandbroken= [QSA]
RewriteRule ^$ index.php?init_mod_rewrite=1&ersandbroken= [QSA]
</IfModule>
Verwendet man eine andere PHP-Version, muss man den Code in der dritten Zeile natürlich anpassen.
Setup durchführen
- Konfigurationsprogramm aufrufen:
http://www.example.com/gallery/setup/index.php - Auf der ersten Seite werden die Ergebnisse einiger Prüfroutinen angezeigt;
hier sollte überall "Success" stehen, bis auf:- Warnung: Apache beachtet .htaccess nicht
- Warnung: ppmtogif fehlt
- Warnung: jhead fehlt
- Warnung: PHP hat keine Unterstützung für GNU gettext
-
Auf der nächsten Seite müssen der Name der Galerie,
ein Admin-Passwort und einige andere Angaben gemacht werden,
darunter:
- Album directory: Der komplette Pfad zum anfangs angelegten Albenverzeichnis, z.B. /home/doms/example.com/subs/www/albums
- Temporary directory: /tmp
- Gallery URL: URL zur Galerie, meist http://www.example.com/gallery
- Albums URL: URL zum Albenverzeichnis, z.B. http://www.example.com/albums
- Embed Gallery: Standalone
- Graphics suite to use: ImageMagick
- Jhead EXIF Parser: (optional) Pfad zum anfangs gesaugten Programm jhead
- Die Einstellungen auf der zweiten Seite können wieder nach Wunsch festgelegt werden. Erneut: "Next page ->"
- Nun wird die erzeugte Konfigurationsdatei angezeigt. Eventuelle Probleme werden deutlich in rot hervorgehoben und müssen ggf. behoben werden, ansonsten weiter mit: "Save config ->"
Abschließende Arbeiten
- Mit sh secure.sh Gallery von Konfigurationsmodus in den normalen, sichereren Betriebsmodus schalten
- Leider wurde beim Speichern der Konfiguration die .htaccess-Datei im gallery/-Verzeichnis zerstört. .htaccess muss mit der Datei von oben wieder überschrieben werden.
- Über http://www.example.com/gallery/albums.php ist die Galerie nun erreichbar. Nach dem Einloggen (Benutzer admin mit dem früher gewählten Passwort) kann mit dem Hochladen der Bilder begonnen werden.
Anpassen des Layouts
Das Aussehen der Gallery kann recht einfach an eigene Bedürfnisseangepasst werden. Dies geschieht zum einen über eine eigene CSS-Datei,die eingebunden werden kann. Zum anderen kann das Aussehen jeder Seitedurch Einbinden eigener HTML-Dateien, die jeweils vor bzw. nach den vonGallery erzeugten Inhalten eingefügt werden, kontrolliert werden.
-
Also:
<html>
<head> ...Header-Angaben, z.B. CSS... </head>
<body>
Inhalt der HEADER-HTML-Datei
von Gallery erzeugte Alben, Fotos, usw.
Inhalt der FOOTER-HTML-Datei
</body>
</html> - Eine eigene CSS-Datei wird in das Verzeichnis gallery/css/ unter dem Namen standalone_style.css gespeichert.
-
Die HTML-Header und Footer landen im Verzeichnis gallery/html_wrap/ unter den Namen:
- gallery.{header,footer}: Startseite (Album-Übersicht)
- album.{header,footer}: einzelnes Album (Fotoübersicht)
- photo.{header,footer}: einzelnes Foto
- slideshow.{header,footer}: Diashow
und einigen anderen.
- NICHT die *.default Dateien verändern, sonst werden die Änderungen bei Updates überschrieben!
Sonstiges
- Um später Konfigurationsänderungen durchzuführen, einfach den Konfigmodus wieder mit sh configure.sh aktivieren und NICHT VERGESSEN mit sh secure.sh wieder deaktivieren.
- Immer brav nach (Sicherheits-)Updates Ausschau halten: Mailingliste gallery-announce: http://lists.sourceforge.net/lists/listinfo/gallery-announce abonnieren. Gallery hatte leider schon öfter Sicherheitsprobleme und der Programmierstil lässt nichts Gutes ahnen: So läuft Gallery z.B. zwar mit register_globals = off, baut diese Funktion intern aber 1:1 nach?
By(e): Raimund.

