zuletzt geändert : 24.01.10
- Perl ab Version 5.004 und höher
- Perl Modul CGI
- Perl Modul File::Copy
- Perl Compress::Zlib ab Version 1.06
- Perl Modul Archive::Zip ab Version 1.01
- CGI-Umgebungsvaribale SCRIPT_FILE_NAME muss einen gültigen Wert liefern
- laut http://bike-nomad.com/perl/ muss für das Perl Modul Archive::Zip in der aktuellen Version 1.05 das Perl Compress::Zlib Version 1.14 installiert sein
Das Script funktioniert auch, wenn nicht alle der oben aufgeführten Module installiert sind, einige Funktionen sind dann allerdings nicht nutzbar. Der Debug-Modus des efileman liefert im Fall des Falles die entsprechenden Informationen.
Nach dem Download und dem Entpacken des aktuellen efileman-Archives sollte jede cgi-Datei geöffnet und die Pfadangabe zum Perl-Interpreter in der ersten Zeile des Scripts überprüft werden ! In den meisten Fällen sollte hier "#!/usr/bin/perl" stehen. Wenn nicht auf einem Unix-System gearbeitet wird und Schwierigkeiten beim Lesen der Dateien wegen des Unix-Zeilenumbruchs auftreten, lohnt ein Blick auf einen Editor wie proton.
Nun öffnet man die "efileman_config.cgi" und setzt oder ändert die Variablen wie nachfolgend beschrieben. Die restlichen Werte können später über die efileman Admin-Seite definiert werden.
| $file_lock | Wenn die Webserver-Plattform bzw. das Betriebssystem die Perl flock()-Funktion unterstützt, sollte diese Variable auf "0" gesetzt werden. Für Unix, Windows NT/2000/XP also "1", für Windows95/98/Me "0". Im übrigen ist es aus Sicherheitsgründen nicht empfehlenswert, einen Webserver auf Windows95/98/Me zu betreiben ! |
| $image_path | Dies ist der absolute Pfad des Verzeichisses, in das die Grafiken aus dem "images" Verzeichnis "geuploadet" wurden, z.B. "/data1/www.volume4u.de/public_html/images/efileman" (für jede Pfadangabe gilt : keinen Backslash \ und keinen abschließenden Slash /). Für einen schnelleren Zugriff ist es empfehlenswert für die Grafiken des efileman ein extra (Unter-)Verzeichnis einzurichten. |
| $image_url | Dies ist die entsprechende URL zur "$image_path"-Variablen, z.B. "http://www.volume4u.de/images/efileman". |
$enable_upload $enable_mail $enable_admin | Mit "0" bzw. "1" kann der Link auf die entsprechenden efileman-Komponenten upload, mail und admin aus- bzw. eingeblendet werden. Die entsprechenden Tags in den skins werden damit nicht angezeigt. Ist eines der Feature damit nicht nutzbar, kann die entsprechende Komponente vom Server gelöscht werden. Allerdings sollte $enable_admin jetzt auf "1" gesetzt werden, um die Konfiguration online abschließen zu können. |
| $user_path[0] | Dies ist der absolute Pfad zu dem Verzeichnis, das dem Benutzer angezeigt werden soll. Sollen mehrere Verzeichnisse angezeigt werden, müssen diese durch ein Komma getrennt eingetragen werden. Für jedes Verzeichnis muß ein Alias-Name vergeben werden, z.B. $user_path = "/data1/public_html/software=Software,/data1/public_html/mp3=Musik". Ebenso kann ein Pfad außerhalb des HTML-Stammverzeichnisses angegeben werden, z.B. $user_path = "/data/files=Files". |
| $user_url[0] | Dies ist die entsprechende URL (http/ftp) zur "$user_path" Variable. Dem obigen Beispiel folgend $user_url = "http://www.yourhomepage.net/software,http://www.yourhomepage.net/mp3". Liegt das Verzeichnis in "$user_path" außerhalb des HTML-Stammverzeichnisses oder im CGI-Verzeichnis, muss hier der gleichen Wert ohne Alias eingetragen werden : $user_url = "/data/files". In diesem Fall wird das Script automatisch efileman_download.cgi benutzen, um den Download zu ermöglichen. Damit gelten dann die in der Featureliste erwähnten Einschränkungen. |
| $user_name[0] | Der eindeutige Anmeldename des Benutzers. Eindeutig heißt : ES KANN NUR EINEN (Benutzer mit diesem Anmeldenamen) GEBEN! Es sind keine Leerzeichen und Sonderzeichen wie Umlaute u.ä. erlaubt, nur A-Z, a-z, 0-9 sowie der Unterstrich _. |
| $user_password[0] | Das immer notwendige Paßwort des Benutzers. Bei direkter Bearbeitung der efileman_config.cgi (wie in diesem Fall), müssen die Zeichen "$","@","\" and """ maskiert werden: "\$", "\@", "\\" and "\"" z.B. "364\$.\\dfg" anstelle von "364$.\dfg". Bei der Nutzung von efileman_admin.cgi ist das nicht notwendig. |
| $user_is_admin[0] | Der Wert Yes[1] gibt dem jeweiligen Benutzer den vollen Zugriff auf die Administration mit den Möglichkeiten zum Anlegen, Rechte vergeben und Löschen von Benutzern. No[0] zeigt dem entsprechenden Benutzer eine einfache Admin-Seite, auf der er nur sein Paßwort ($user_password), Sprache ($user_language), Skin ($user_skin) und seine Email-Adresse ($email_address) ändern kann. In die erste Installation ist der Wert also auf die "1" zu setzen. |
| $user_language[0] |
Die für diesen Benutzer anzuwendende Sprache z.B. "german". Die Sprachdateien befinden sich im "lang"-Verzeichnis. |
| $file_space[0] | Definiert den reservierten Speicherplatz des Benutzers in MB von 0 bis zu einem beliebigen Wert. Es sind nur absolute Werte zulässig. Der bereits verwendete Platz wird über alle Verzeichnisse/Freigaben des Benutzers ermittelt. |
Das war's zunächst. Datei speichern und schließen.
Jetzt kann der FTP-Client gestartet und die Verbindung zur Domain hergestellt werden. Im cgi-bin-Verzeichnis (das manchmal auch nur cgi heißt) sollte ein eigenes Verzeichnis für den efileman erstellt werden z.B. "efileman". Innerhalb dessen müssen dann die Verzeichnisse "skins" und "lang" und im "skins"-Verzeichnis zumindest das "default"-Verzeichnis erstellt werden.
| cgi-bin | | | |
| efileman | | |
| | lang | |
| | skins | |
| | | default |
Nun zumindest die folgenden Dateien in das cgi-bin/efileman-Verzeichnis kopieren: (Alle Dateien im ASCII Modus hochladen.)
- efileman.cgi
- efileman_config.cgi
- efileman_subs.cgi
- efileman_admin.cgi
- efileman_help.cgi (Admin Online Hilfe)
Abhängig von den zuvor eingestellten Werten in der config (upload, mail enabled) folgen nun:
- efileman_upload.cgi
- efileman_mail.cgi
Wird der Zugriff auf Dateien außerhalb des HTML-Stammverzeichnisses bzw. im CGI-Verzeichnis benötigt:
Nun in das "lang"-Verzeichnis wechseln und die Sprachdateien hochladen:
- efileman_english.cgi
- efileman_german.cgi
Zu guter Letzt die skin-Dateien in das skins/default-Verzeichnis:
- admin.skin
- edit.skin
- error.skin
- login.skin
- mail.skin
- manager.skin
- upload.skin
- useradmin.skin
Das efileman_createaccount.cgi Skript kann benutzt werden, um Anwendern ohne efileman-Account die Möglichkeit zu geben, sich diesen Account selbst zu erstellen. efileman_createaccount.cgi ist dabei ein eigenständiges Skript, das default-Werte aus der efileman_config.cgi nutzt. Dieses Skript ist für die Ausführung des efileman nicht notwendig.
Nun sollte man in etwa folgende Struktur haben:
| cgi-bin |
|
|
|
|
|
efileman |
|
|
|
|
|
efileman.cgi |
|
|
|
efileman_config.cgi |
|
|
|
efileman_subs.cgi |
|
|
|
efileman_upload.cgi |
|
|
|
efileman_mail.cgi |
|
|
|
efileman_admin.cgi |
|
|
|
efileman_help.cgi |
|
|
|
efileman_download.cgi |
|
|
|
lang |
|
|
|
|
efileman_english.cgi |
|
|
|
efileman_german.cgi |
|
|
skins |
|
|
|
|
default |
|
|
|
|
|
admin.skin |
|
|
|
|
edit.skin |
|
|
|
|
...skin |
Durch Änderung der Dateirechte (chmod) auf 755 müssen folgende Dateien (soweit hochgeladen) ausführbar gemacht werden :
- efileman.cgi
- efileman_admin.cgi
- efileman_mail.cgi
- efileman_upload.cgi
- efileman_createaccount.cgi
- efileman_download.cgi
- efileman_help.cgi
Wenn der Pfad, der in der "$image_path"-Variablen angegeben wurde, noch nicht existiert, sollte dieser jetzt angelegt werden.
Nun die Grafiken des efileman in dieses Verzeichnis kopieren.
Das Skript kann jetzt mit dem vorhandenen Browser (Internet Explorer, Netscape, Opera ..) durch Eingabe von http://<meineDomain>/cgi-bin/efileman/efileman.cgi gestartet werden. Wenn möglich sollte dabei SSL (Secure Socket Layer) genutzt werden, denn die Login-Daten und alle Daten während der Online-Administration werden durch das Skript unverschlüsselt übertragen. Für die Nutzung von SSL sind serverseitig einige Voraussetzungen zu erfüllen, die sich meist auch in höheren Kosten für das Hosten niederschlagen. Sind diese Voraussetzunge jedoch erfüllt, kann des Skript mit https://<meineDomain>/cgi-bin/efileman/efileman.cgi gestartet werden. Wenn nicht, hilft der jeweilige Sysemadministrator sicher gerne weiter.
Siehe unter Administration für mehr Informationen zur Online Administration und den jeweiligen Variablen des efileman. Siehe unter Skins um mehr über die Benutzung und Gestaltung eigener Skins (Templates) zu erfahren.
|