FB7170 - Auslagern von Modulen, via EXTERNAL, funktioniert wegen falschem LINK nicht

chriskmuc

Neuer User
Mitglied seit
27 Dez 2006
Beiträge
21
Punkte für Reaktionen
0
Punkte
1
Hallo das Problem von http://freetz.org/ticket/1055 ist wohl immer noch nicht behoben, dies kann ich dahingehend konkretisieren.

1.tes Image nur mit XMail ohne EXTERNAL => alles OK
2.tes Image mit XMAIL und PHPXMAIL. Letzteres wegen Speichermangel via EXTERNAL auf USB-Stick ausgelagert

=> XMAIL ist in der FREETZ Oberfläche vorhanden und kann konfiguriert werden

=> PHPXMAIL ist zwar auch in der FREETZ Oberfläche vorhanden, jedoch wenn ich die Konfigurationsoberfläche via: http://192.168.1.25:81/phpxmail/index.php aufrufen möchte, erhalte ich die Fehlermeldung "404 Not Found The requested URL was not found"

Ursache ist, das in /usr/bin es folgenden Link gibt:

root@192:/usr/bin# ls -al php*
lrwxrwxrwx 1 root root 21 Jan 23 12:22 php-cgi -> /mod/external/php-cgi

root@192:/usr/bin#

In /mod - gibt es jedoch nicht einmal das Verzeichnis "external" !

root@192:/var/mod# ls -al
drwxr-xr-x 11 root root 0 Jan 1 2000 .
drwxrwxrwx 14 root root 0 Jan 23 13:16 ..
drwxr-xr-x 2 root root 0 Jan 23 12:21 bin
drwxr-xr-x 6 root root 0 Jan 23 12:55 etc
drwxr-xr-x 2 root root 0 Jan 23 12:21 home
drwxr-xr-x 2 root root 0 Jan 23 12:21 lib
drwxr-xr-x 2 root root 0 Jan 23 12:21 pkg
drwxr-xr-x 2 root root 0 Jan 23 12:21 root
drwxr-xr-x 2 root root 0 Jan 23 12:21 sbin
drwxr-xr-x 6 root root 0 Jan 1 2000 usr
drwxr-xr-x 3 root root 0 Jan 1 2000 var
root@192:/var/mod#

Tatsächlich liegt die php-cgi Datei auf dem USB-Stick in:

root@192:/var/media/ftp/Sony-StorageMedia-01/external# ls -al
drwxrwxrwx 2 root root 4096 Jan 23 12:41 .
drwxrwxrwx 4 root root 4096 Jan 1 1970 ..
-rwxrwxrwx 1 root root 88660 Jan 19 01:10 CtrlClnt
-rwxrwxrwx 1 root root 9828 Jan 19 01:10 MkUsers
-rwxrwxrwx 1 root root 4480 Jan 19 01:10 XMCrypt
-rwxrwxrwx 1 root root 342324 Jan 19 01:10 XMail
-rwxrwxrwx 1 root root 10380 Jan 19 01:10 compartment
-rwxrwxrwx 1 root root 4634692 Jan 23 12:03 php-cgi
-rwxrwxrwx 1 root root 13412 Jan 19 01:10 sendmail
root@192:/var/media/ftp/Sony-StorageMedia-01/external#

Wenn ich in /var/mod ein Verzeichnis "external" anlege und folgenden Link:

root@192:/var/mod/external# ln -s /var/media/ftp/Sony-StorageMedia-01/external php-cgi

Dann funkioniert: http://192.168.1.25:81/phpxmail/index.php

3.tes Image: XMAIL und PHPXMAIL via EXTERNAL ausgelagert:

=> Jetzt ist in der Freetz-Web-Oberfläcche XMail nicht mehr vorhanden und der Service xmail läuft auf der Web-Oberfläche von Freetz auch nicht mehr. Da XMAIL nicht läuft:

root@192:/var/mod/external# telnet localhost 10025
telnet: can't connect to remote host (127.0.0.1): Connection refused

root@192:/var/mod/external#

*******************

Da der Pfad zu den ausgelagerten Packeten auf dem USB-Stick immer anders heissen kann, müsste es wohl schon im

"make menuconfig"

eine Option geben, wo man angeben kann, in welchem FINALEN Pfad die ausgelagerten Packete sein werden, damit beim Bau des IMAGES gleich die richtigen Links gesetzt werden - oder?

Frage: Welche Datei(en) müssen angepasst werden, damit im Image, dann die korrekten Links stehen.

z.B. /usr/bin/php-cgi => nicht nach /var/mnt/external sondern z,B. nach /var/media/ftp/Sony-StorageMedia-01/external

und beim XMail Packet folgende Links:

/usr/lib/MailRoot/bin/CtrlClnt... moved & linked
/usr/lib/MailRoot/bin/MkUsers... moved & linked
/usr/lib/MailRoot/bin/XMCrypt... moved & linked
/usr/lib/MailRoot/bin/XMail... moved & linked
/usr/lib/MailRoot/bin/compartment... moved & linked
/usr/lib/MailRoot/bin/sendmail... moved & linked
 
...
z.B. /usr/bin/php-cgi => nicht nach /var/mnt/external sondern z,B. nach /var/media/ftp/Sony-StorageMedia-01/external
...
"/var/mod/external" ist ein Link und kein Verzeichnis:
Code:
root@fritz:/var/mod/root# ls -la /var/mod/external
[B][COLOR="red"]l[/COLOR][/B]rwxrwxrwx    1 root     root            31 Jan  1  2000 /var/mod/external -> /var/media/ftp/uStor01/external
 
Ok - aber auch dieser Link ist in meinen Images nicht vorhanden gewesen. Muss man diesen Link selber anlegen? Macht aber ja keinen Sinn, da nach einem REBOOT der Link weg ist und somit bei einem ausgelagerten XMail auf den USB-Stick, dieser nicht mehr automatische gestartet wird.
 
Warum wurde er bei mir nicht angelegt? Welche Infos braucht Ihr? Kann ich ggf. in einer Konfig-Datei (in welcher?) diesen Link als Workaround selber "reinbasteln" - so das er dann im Image vorhanden ist?
 
Es sollte im Webinterface ein Log zu external geben?

Gruß
Oliver
 
In den Logs gibts keine Fehler oder Auffälligkeiten. Nur diese Hinweise:

php will be started by external.
xmail will be started by external.

Die Ursache warum der Link nicht angelegt werden kann, liegt wohl daran, dass die FB7170 meinen USB-Stick folgendermassen mounted:

root@192:/var/mod/root# mount
/dev/sda1 on /var/media/ftp/Sony-StorageMedia-01 type vfat (rw,nodiratime,fmask=0000,dmask=0000,codepage=cp437,iocharset=iso8859-1,shortname=winnt)

Meine Vermung - das Image erwartet jedoch den USB-Stick auf /var/media/ftp/uStor01 - Ist das so? Nachdem es dieses Verzeichnis nicht gibt sondern eben nur:

root@192:/var/media/ftp# ls -al
drwxrwxrwx 4 root root 4096 Jan 1 1970 Sony-StorageMedia-01

Ist dies ein prinzipielles Problem - oder habe nur ich das, wegen meines "exotischen USB-Sticks"? Habe rumgespielt - schaffe es aber nicht dauerhaft den USB-Stick als /var/media/ftp/uStor01 gemountet zu bekommen!

Habe ich was falsch gemacht? Was muss ich machen, damit der USB-Stick als /var/media/ftp/uStor01 gemounted wird oder das ich das Image entsprechend anpassen kann?

Selbst das Eintragen meines aktuellen Pfades im Freetz-WebGui unter

Freetz -> Einstellungen ->

*******************
external

Automatisch Dienste starten/stoppen beim ein-/aushängen

Verzeichnis von external:

/var/media/ftp/Sony-StorageMedia-01/external

Folgende externalisierte Freetz-Dienste behandeln: php xmail

*************************

behebt das Problem nicht :-((
 
Also ich hab ja wenig Zeit und bin in manchen Dingen nicht mehr ganz auf der Höhe, aber muss der Stick zum externalisieren nicht ext2 oder ext3 als Filesystem haben?
 
Das Dateisystem ist egal, solang es von der FB gelesen werden kann.
Das Problem sind die Pfade:
/var/media/ftp/uStor01
/var/media/ftp/Sony-StorageMedia-01

Also entweder den Pfad zu external im Webif anpassen oder den Stick mit Freetz-mount unter richtigem Namen mounten

external.log enthält alles was external macht. Wenn aber falsche Pfade angegeben sind macht external nichts, da es nur bei der passenden Partition ausgeführt wird...
 
Zuletzt bearbeitet:
Danke cuma - für die Bestätigung.

Habe unter Ubuntu nun den Stick mit ext3 formatiert.

sudo mkfs.ext3 /dev/sdb1
sudo e2label /dev/sdb1 usb-pen

aber nun kann die FB den Stick gar nicht mehr mounten.

Werde den Stick nun unter XP wieder mit FAT32 formatieren.

Allerdings funktioniert Deine erste Variante "Pfad zu external im Webif anpassen" NICHT!!! - Habe ich oben auch schon geschrieben! Gibt es dazu eine Bestätigung oder Erklärung?

Könntest Du mir bitte den korrekten Befehl für "Freetz-mount" mitteilen - ich bin schon seit vielen Stunden ziemlich genervt - DANKE. Ist dies dann auch dauerhaft so gemountet, oder muss noch was gemacht werden, damit es bootfest ist?
 
Wenn du den richtigen Pfad eingetragen hast müsste es auch funktionieren. Hast du die Dateien in das Verzeichnis auf den Stick kopiert? Sonst fällt mir nichts ein
 
...
Werde den Stick nun unter XP wieder mit FAT32 formatieren.
...
ext2 oder ext3 ist schon das geeignetere Dateisystem für den USB-Stick mit Freetz. Auf Dauer wirst Du mit FAT32 nicht glücklich sein.;)
 
Wenn du den richtigen Pfad eingetragen hast müsste es auch funktionieren. Hast du die Dateien in das Verzeichnis auf den Stick kopiert? Sonst fällt mir nichts ein

Ja - die Dateien sind auf dem Stick.

Nachdem ich mich mit "telnet" nicht mehr einloggen konnte, da er dieser Stelle hängt:

chris@chris-laptop:~$ telnet 192.168.1.25
Trying 192.168.1.25...
Connected to 192.168.1.25.
Escape character is '^]'.
192.168.1.1 login: root
Password:
__ _ __ __ ___ __
|__ |_) |__ |__ | /
| |\ |__ |__ | /_

The fun has just begun ...

***************************************************************************

habe ich ein Image recovery gemacht und nochmals von vorne angefangen. Das Ergebnis war das gleiche.

Habe nun den USB-Stick unter Ubuntu mit ext2 formatiert:

mkfs.ext2 /dev/sdb1

(Welche Packet brauche ich um es auch unter freetz mit ext2 zu formatieren?):

Die FB7170 konnte den USB-Stick nun nicht mehr mounten. Im Logfile steht, das die 7170 nur FAT und FAT32 mounten kann.

Habe dann unter /var/flash mit

nvi debug.cfg folgendes eingetragen (Warum muss ich das selber machen? Ich würde erwarten, dies macht das freetz-image automatisch!?):

***************************************************************************
# # # # # # # # # Warten bis USB-Stick gemountet ist
max=5
i=0
while [ $i -lt $max ]; do
if mount | grep " on /var/media/ftp/" > /dev/null; then
break
fi
let i=$i+1
sleep 10
done
#
# # # # # # # # # ENDE USB-Stick Warteschleife

# # # # # # # # # Ext2-Partition mounten
mkdir /var/media/ftp/uStor01
modprobe ext2
mount -t ext2 /dev/sda1 /var/media/ftp/uStor01
#
# # # # # # # # # ENDE Ext2-Mounten
*****************************************************************************

OK - nun wird der USB-Stick korrekt gemounted! Aber der Link für das external package php ist in /mod immer noch nicht da, also nochmals: cd /var/flash; nvi debug.cfg

und folgendes noch am Ende hinzugefügt:

cd /var/media/ftp/uStor01
mkdir external
cd /mod
ln -s /var/media/ftp/uStor01/external external

Dann reboot =>

danach noch cd /usr/bin

jetzt gibt:

cat php-cgi

den Inhalt von php-cgi aus - soweit so gut! Obwohl in der freetz gui der External-Pfad korrekt gesetzt ist und das freetz-image auch das packet php defaultmässig als external anzeigt gibt es in der freetz gui keinen Menüpunkt "PHPXMail" auch der direkte Aufruf

http://192.168.1.25:81/phpxmail/index.php

funktioniert nicht. Allerdings funktioniert aktuell XMail auch nicht korrekt, vermutlich da ich das XMail Verzeichnis auf auf dem USB-Stick (per Hand angelegt habe, da es via der GUI auch nicht funtionierte) stimmen wohl die Berechtigungen nicht. Kann dies der Grund sein, das PHPXMail nicht funktioniert bzw. nicht ausgewählt werden kann?:

Hier ein Auszug aus dem Log vom Web-Gui:

rc.mod version freetz-devel-6445
crond is disabled.
Starting AVM telnetd ... done.
Starting Freetz webinterface ... done.
swap is disabled.
Starting inetd ... done.
php will be started by external.
Starting XMail SMTP/POP3 server ... initialzing mail location folder with default values ... done.
chown: /var/media/ftp/uStor01/XMail/spool/2/10/froz: Input/output error
chown: /var/media/ftp/uStor01/XMail/spool/2/11: Input/output error
chown: /var/media/ftp/uStor01/XMail/spool/2/12: Input/output error



Mein Fazit: Packete auf einer FB7170 via external auf einen USB-Stick auszulagern funktioniert mit einem nativen freetz-image nicht wirklich - kann das jemand bestätigen?

Werde die FB7170 nochmals recovern. Dann XMail nicht auslagern und auch das XMail-Verzeichnis auch nicht auf den USB-Stick auslagern (denn damit funktionierte beim ersten Mail auch Xmail ohne Probleme). Dann obige Handarbeit und dann mal schaun, ob ich weiter komme.

Weitere Infos, Tipps sind gerne willkommen - DANKE.
 
Wenn bei chown "Input/output error" kommt, ist entweder das Dateisystem inkonsistent oder die Hardware nicht in Ordnung.

Habe den USB-Stick unter Ubuntu mit ext2 so formatiert:

mkfs.ext2 /dev/sdb1

Ist das alles? Oder muss ich noch was machen?
 
Ja, so erstellt man ein ext2 Dateisystem.
Hast Du das so frisch erstellt, oder irgendwann einmal?
Was sagt ein Dateisystem-Check?
Funktioniert das entsprechende chown auf dem PC?
 
Hast Du das so frisch erstellt, oder irgendwann einmal?

Habe es so frisch unter Ubuntu 9.04 erstellt. Dann ausgecheckt an die FB angehängt. Die FB 7170 kann es jedoch nicht mounten, da nur FAT und FAT32 unterstützt sind. Neues freetz-image drauf. Dann wie vorher schon beschrieben per Hand via debug.cfg beim erneuten booten automatisch gemounted (Immer noch die Frage, kann es sein, das bei der FB7170 das automatische mounten via freetz-image nicht funktioniert, da die FB kein ext2 kennt? Müsste ich noch ein bestimmtes Packet ins freetz-image packen, damit der USB-Stick mit ext2 automatisch korrekt schon beim ersten reboot nach /var/media/ftp/uStor01 gemounted wird?)

Auffällig war, das im freetz-gui unter XMail, bei Angabe des XMail-Verzeichnisses von /var/media/ftp/uStor01/XMail - das XMail Verzeichnis nicht automatisch angelegt wurde - offensichtlich hatte das zuständige Script ein (Berechtigungs-?)problem. Per Hand konnte ich das Verzeichnis anlegen und nach dem Ändern des Standard GUI-Password wurden auch automatisch die Verzeichnisse und Dateien in XMail abgelegt. Wo liegt das Logfile, wo ich nachschauen kann, warum die Web-GUI unter XMail dieses Verzeichnis /var/media/ftp/uStor01/XMail nicht anlegen konnte - obwohl der USB-Stick auf /var/media/ftp/uStor01 gemountet ist?


Was sagt ein Dateisystem-Check?

Wie ist der genaue Befehl - muss ein spezielles Packet im freetz-image sein? Da ich den USB-Stick ja auf der FB selber nicht mit mkfs.ext2 direkt formatieren kann!

Welche checks kann/soll ich noch machen um festzustellen, das der USB-Stick sauber unter dem freetz-image arbeitet? Bitte genaue Befehle - danke (mein Unix-KnowHow ist seit 10 Jahren veraltet ;-) )

Funktioniert das entsprechende chown auf dem PC?

Verstehe die Frage nicht? Auf der FB hatte ich keine Probleme, chown bzw. chmod auf Verzeichnisse des USB-Sticks abzusetzen.

Da ich auch die Probleme habe, wie hier: Freetz trunk / 7390: kein Reboot und kein weiteres Update mehr möglich http://www.ip-phone-forum.de/showthread.php?t=227788 Viel Speicher habe ich nicht mehr übrig - kann es daran liegen? Wie kann ich das überprüfen? Wenn ich mit einem "reboot" auf der Shell die FB nicht zum booten zwingen kann?

Deshalb habe ich der FB zigmal einfach den Strom weggenommen - konnte aber nicht feststellen, das dadurch das Filesystem auf dem Stick Schaden genommen hätte.
 
Hasst du denn das ext2-Modul mit im mage? Automounten von ext2 angestellt? Wenn nein: Nachholen.
 
Hasst du denn das ext2-Modul mit im mage? Automounten von ext2 angestellt? Wenn nein: Nachholen.

Habe gesucht - finde aber kein Packet ext2! Oder ist dies kein Packet, sondern ein Modul oder libary (habe gerade keinen Zugriff auf freetz)? Danke für die Info - aber ohne konkreten Angaben, suche ich mir immer den Wolf und bin mir dann auch nicht sicher, ob ich es richtig gemacht habe.

Packet oder Modul oder Libary?

Automounten von ext2 angestellt?

Habe ich nicht - wo und wie mach ich das? Oder ist folgender code in /var/flash/debug.cfg damit gemeint? Den habe ich eingefügt - aber warum muss ich das per Hand machen? Welcher newbie bzgl. freetz (wie ich) weiss das schon? Ich hätte erwartet, wenn ich Packete via external auslagere, das dann alles dafür notwendige (ext2 Unterstützung, automount automatisch ins image gepackt werden und die debug.cfg entsprechend erstellt wird). Sonst ist der ganze "Spass" ja nur was für absolute Profis geeignet - oder?

************************************************** *************************
# # # # # # # # # Warten bis USB-Stick gemountet ist
max=5
i=0
while [ $i -lt $max ]; do
if mount | grep " on /var/media/ftp/" > /dev/null; then
break
fi
let i=$i+1
sleep 10
done
#
# # # # # # # # # ENDE USB-Stick Warteschleife

# # # # # # # # # Ext2-Partition mounten
mkdir /var/media/ftp/uStor01
modprobe ext2
mount -t ext2 /dev/sda1 /var/media/ftp/uStor01
#
# # # # # # # # # ENDE Ext2-Mounten
************************************************** ***************************
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
246,300
Beiträge
2,249,713
Mitglieder
373,904
Neuestes Mitglied
Elemir
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.