Gallery im LAN und im I-Net

wookie

Joined: 2003-02-11
Posts: 3
Posted: Tue, 2003-02-11 16:28

Hallo!

Ich hab die Gallery "erfolgreich" installiert. Sie läuft hier in meinem
LAN aufm nem Linux Server. Solange ich sie nur im LAN benutze läuft sie
prächtig. Aber wenn ich sie aus dem Internet benutzen will, klapps nicht
weil sie ja quasi nur fürs LAN konfiguriert ist. Soll heißen, die Bilder
werden nicht angezeigt usw..

Wie mache ich es, dass die selbe Gallery gleichzeitig im LAN und im Internet
funktioniert? Ich hab die FAQ gelesen aber leider nichts gefunden. Das
Englischsprachige Forum habe ich durchsucht, und auch nen paar Lösungs-
ansätze gefunden. Die brachten mich aber nicht sonderlich weiter.

Hat jemand nen Tip für mich? Das wäre echt klasse!

Gruss

 
ill
ill's picture

Joined: 2002-08-15
Posts: 756
Posted: Tue, 2003-02-11 17:11

Leider beschreibst du nicht, wie dein Server ans Internet angebunden wird/ist.

Die kurze Antwort: Es gibt keine einfache Lösung

Die lange Antwort: Sag deinem Apache, er hätte einen virtuellen Host für die LAN-IP und einen virtuellen Host für die Internet-IP. Das Document-Root, LogFile, etc. ist identisch. Setz beim Internet-virtual-Host ein Alias auf eine Kopie des Config-Verzeichnis. In der Kopie schreibe die Internet-Adresse rein.

http://www.apache.de hat Anleitung für Apache...

 
wookie

Joined: 2003-02-11
Posts: 3
Posted: Tue, 2003-02-11 17:39
Quote:
Leider beschreibst du nicht, wie dein Server ans Internet angebunden wird/ist.

Sorry, hatte ich in der Eile irgendwie vergessen.
Also, mein Linux Server wird von "außen" über ein DynDNS Adresse angesprochen. Sie lautet galerie.meineDomain.tld. Angeschlossen ist er über einen Linux Router, und der hängt an DSL.

Intern heißt mein Server galerie.home.lan.

Quote:
Die lange Antwort: Sag deinem Apache, er hätte einen virtuellen Host für die LAN-IP und einen virtuellen Host für die Internet-IP. Das Document-Root, LogFile, etc. ist identisch. Setz beim Internet-virtual-Host ein Alias auf eine Kopie des Config-Verzeichnis. In der Kopie schreibe die Internet-Adresse rein.

Die zwei Virtual Hosta hatte, bzw. habe ich am Laufen. Document Root sind die selben. Aber wie richte ich ne Alias für nen Virtual Host ein? Ich dachte das geht nur global und nicht für die Virtual Hosts!?

Und was meinst Du mit "Config-Verzeichnis"? Das "setup" Verzeichnis der Gallary?

Vielen dank schonmal für die schnelle Hilfe!

 
ill
ill's picture

Joined: 2002-08-15
Posts: 756
Posted: Tue, 2003-02-11 18:11

Äh, sorry, ja, das Setup-Verzeichnis war gemeint.

Alias geht prächtig im <VirtualHost> Kontext.

Ich merke allerdings grad, dass ich einen Denkfehler mache. config.php wird nicht vom Browser angefordert, sondern direkt von der PHP-Class von Gallery. Sozusagen auf Filesystem-Ebene.

Dann fällt mir nur ein, dass du halt 2 Mal das Gallery installierst, aber ein gemeinsames Albums-Vereichnis verwendest. Das kannst du dann mit einem Softlink auf das physikalische Verzeichnis mappen:

ln -s /usr/local/httpd/LAN-htdocs/gallery/albums /usr/local/httpd/Internet-htdocs/gallery/albums

Wenn man das mit den Softlinks fortspinnt, kannst du alle Dateien mit Ausnahme config.php linken....

 
wookie

Joined: 2003-02-11
Posts: 3
Posted: Wed, 2003-02-12 11:43
Quote:
Dann fällt mir nur ein, dass du halt 2 Mal das Gallery installierst, aber ein gemeinsames Albums-Vereichnis verwendest. Das kannst du dann mit einem Softlink auf das physikalische Verzeichnis mappen:

ln -s /usr/local/httpd/LAN-htdocs/gallery/albums /usr/local/httpd/Internet-htdocs/gallery/albums

Wenn man das mit den Softlinks fortspinnt, kannst du alle Dateien mit Ausnahme config.php linken....

Das werde ich mal ausprobieren. Danke nochmal!

Hier ist das, was ich im Englischem Forum gefunden habe. Dies habe ich auch ausprobiert, aber so überhaupt kein erfolg gehabt. Was bewirken diese Änderungen eigentlich genau? Weiss das jemand, vielleicht sogar schon selber eingebaut?

Quote:
>>>>>>>>>>>>>
The problem is that Gallery (for a variety of technical reasons) needs the full URL to your Gallery. But, you actually have two URLs, one for inside your private network and one for outside. There is no one url that works correctly in both cases, right?

The solution is to modify init.php. Configure your Gallery to use the external URL (www.fullservername.com/gallery) and then we'll tweak the code to have it
"fix" the url if you're using it internally. It may take us a couple of iterations to get this exactly correct.

For this example, let's make the following assumptions:
1. "hostname" is the internal name of the server
2. "1.1.1.1" is the internal IP address of the server
3. "www.site.com" is the external address of the server

Edit init.php and right above the "set_magic_quotes_runtime" block, add the following code:

if (stristr($HTTP_SERVER_VARS['SERVER_ADDR'], '1.1.1.1')) {
$gallery->app->photoAlbumURL =
eregi_replace('www.site.com', 'hostname',
$gallery->app->photoAlbumURL);
$gallery->app->albumDirURL =
eregi_replace('www.site.com', 'hostname',
$gallery->app->albumDirURL);
}

This basically says "if we got to the server on the internal address, pretend that we entered the internal hostname in the config wizard". Good luck.
>>>>>>>>>>>>>>>>