.titleBar { margin-bottom: 5px!important; }

Realtime und XAMPP und MySQL

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von VOIPdani, 14 Nov. 2005.

  1. VOIPdani

    VOIPdani Mitglied

    Registriert seit:
    8 Aug. 2005
    Beiträge:
    432
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo!

    Ich hab es schon geschafft sämtliche Konfigurationsdateien in eine MySQL-DB auszulagern. Jetzt möchte ich aber auch phpMyAdmin nutzen und anstatt viele RPM's zu installieren bin ich auf XAMPP gestossen.

    http://www.apachefriends.org/de/xampp-linux.html

    Der MySQL-Socket wird bei XAMPP (was mal LAMPP hieß) unter /opt/lampp/var/mysql/mysql.sock gespeichert. Diese Info hab ich auch in res_mysql.conf und cdr_mysql.conf eingetragen.

    Code:
    ;cdr_mysql.conf
    [global]
    hostname=localhost
    dbname=asterisk
    table=cdr
    password=root 
    user=root
    port=3306
    sock=/opt/lampp/var/mysql/mysql.sock
    userfield=1
    
    ;res_mysql.conf
    [general]
    dbhost = 127.0.0.1
    dbname = asterisk
    dbuser = root
    dbpass = root
    dbport = 3306
    dbsock = /opt/lampp/var/mysql/mysql.sock
    
    Wenn ich nun aber Asterisk starte sagt * folgendes:
    Code:
    ...
    [cdr_addon_mysql.so] => (MySQL CDR Backend)
    Nov 14 15:45:51 ERROR[15828]: cdr_addon_mysql.c:436 my_load_module: Failed to connect to mysql database asterisk on localhost.
    
    Hat jemand von euch schon XAMPP mit Asterisk laufen?

    Kann mir jemand von euch ein ähnliches Paket empfehlen?

    lg Dani
     
  2. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    nimm den port und den socks mal aus der Konfigurationsdatei raus.
     
  3. VOIPdani

    VOIPdani Mitglied

    Registriert seit:
    8 Aug. 2005
    Beiträge:
    432
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hab meine Konfigurationsdateien wie folgt angepasst:

    Code:
    ;res_mysql.conf
    [general]
    dbhost = 127.0.0.1
    dbname = asterisk
    dbuser = root
    dbpass = ****
    ;dbport = 3306
    ;dbsock = /opt/lampp/var/mysql/mysql.sock
    
    ;cdr_mysql.conf
    [global]
    hostname=localhost
    dbname=asterisk
    table=cdr
    password=root 
    user=****
    ;port=3306
    ;sock=/opt/lampp/var/mysql/mysql.sock
    userfield=1
    
    Aber leider meldet mein * noch immer einen Fehler:
    Code:
     [cdr_addon_mysql.so] => (MySQL CDR Backend)
    Nov 15 07:23:30 WARNING[4892]: cdr_addon_mysql.c:360 my_load_module: MySQL database sock file not specified.  Using default
    Nov 15 07:23:30 ERROR[4892]: cdr_addon_mysql.c:436 my_load_module: Failed to connect to mysql database asterisk on localhost.
    Asterisk Ready.
    
    Hast du vielleicht noch einen Tipp für mich?

    Lg Dani
     
  4. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    ja - kann es sein. daß Du in der cdr_mysql.conf user & passwort vertauscht hast ?

    Sieht irgendwie komisch aus.
     
  5. VOIPdani

    VOIPdani Mitglied

    Registriert seit:
    8 Aug. 2005
    Beiträge:
    432
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Habs jetzt richtig gestellt, hat aber leider auch nichts gebracht.

    Ich hab das Passwort für mysql mittels /opt/lampp/lampp security vergeben. Wenn ich mich über phpMyAdmin anmelde funkt alles supi, versuch ich aber mich in der Shell mit mysql -u root -p asterisk anzumelden kann ich mich nicht verbinden weil es unter /var/lib/mysql keinen socket gibt (Ist auch klar weil der socket unter /opt/lampp/var/mysql zu finden ist)

    Ich hab auch schon versucht den socket zu kopieren (geht aber nicht)

    Woran könnte es noch liegen...wahrscheinlich ist es eh ein ziemlich blöder Fehler (so wie immer...)

    Gibt es vielleicht XAMPP-ähnliche Packages die mit Asterisk zusammenarbeiten?

    lg Dani
     
  6. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    XAMPP und Asterisk funktioniert auf jeden Fall zusammen.
    wenn wir mal annehmen, daß die Verzeichnisangabe des Sockets doch drinstehen muß, dann stellt sich die Frage, ob der Asterisk die entsprechenden Rechte in dem Verzeichnis /opt/lampp/var/mysql hat ?

    Bin im Moment im Büro, und von hier aus habe ich keinen Zugriff auf meine eigenen Server - deshalb kann ich grade nicht selbst testen.

    Du könntest aber mal den Titel des Threads ändern in "Realtime und XAMPP MySQL" das weckt vielleicht noch ein paar andere MySQL-User :wink:
     
  7. VOIPdani

    VOIPdani Mitglied

    Registriert seit:
    8 Aug. 2005
    Beiträge:
    432
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Auf das Verzeichnis /opt/lampp/var/mysql hab ich folgende Rechte (XAMPP läuft):
    Code:
    linux:/usr/src # cd /opt/lampp/var/mysql/
    linux:/opt/lampp/var/mysql # ls -la
    total 11
    drwxrwxr-x  7 nobody root    272 Nov 15 07:22 .
    drwxr-xr-x  5 root   root    184 Nov 15 07:22 ..
    drwx------  2 nobody nobody  360 Nov 14 14:39 asterisk
    drwx------  2 nobody root    120 Oct 29  2003 cdcol
    -rw-rw----  1 nobody root   1624 Nov 15 07:22 linux.err
    -rw-rw----  1 nobody nobody    5 Nov 15 07:22 linux.pid
    drwx------  2 nobody root   1752 Oct 24 18:42 mysql
    srwxrwxrwx  1 nobody nobody    0 Nov 15 07:22 mysql.sock
    drwx------  2 nobody root    840 Dec  6  2004 phpmyadmin
    drwx------  2 nobody root    912 Jul 12 11:22 test
    
    Dann hab ich XAMPP gestoppt und dafür meine "normale" MySQL-DB gestartet. Im Verzeichnis /var/lib/mysql hab ich folgende Rechte:
    Code:
    linux:/var/lib/mysql # ls -la
    total 13
    drwxr-xr-x   6 mysql mysql 280 Nov 15 09:00 .
    drwxr-xr-x  32 root  root  864 Nov 15 07:06 ..
    drwx------   2 mysql mysql 336 Nov 14 10:37 asterisk
    drwx------   2 mysql mysql 120 Nov 11 10:02 cdr
    drwx------   2 mysql mysql 528 Nov 11 09:32 mysql
    srwxrwxrwx   1 mysql mysql   0 Nov 15 09:00 mysql.sock
    -rw-rw----   1 mysql mysql 161 Nov 15 09:00 mysqld.log
    -rw-r--r--   1 root  root  705 Nov 15 07:30 mysqld.log-20051115.gz
    -rw-rw----   1 mysql mysql   5 Nov 15 09:00 mysqld.pid
    drwx------   2 mysql mysql  48 Nov 11 09:32 test
    
    Wie kann ich nun die Berechtigungen in /opt/lampp/var/mysql so setzten wie im Verzeichnis /var/lib/mysql, weil mit der "normalen" MySQL-DB funktioniert ja alles wunderbar?

    lg Dani
     
  8. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    und warum arbeitest Du dann nicht mit der "normalen" MySQL-DB ?
     
  9. VOIPdani

    VOIPdani Mitglied

    Registriert seit:
    8 Aug. 2005
    Beiträge:
    432
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Naja, das ist eine berechtigte Frage...

    Ich möchte gerne ein Web-Interface (PhoneCALL od. AMP) zum laufen kriegen und da ist so ein Package wie XAMPP wo alles enthalten ist natürlich viel komfortabler als alle Komponenten einzeln zu installieren.
     
  10. VOIPdani

    VOIPdani Mitglied

    Registriert seit:
    8 Aug. 2005
    Beiträge:
    432
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Kann mir denn wirklich niemand sagen wie ich eine Verbindung zwischen Asterisk und XAMPP herstelle? Liegt es vielleicht an den Berechtigungen? Wie kann ich die Berechtigungen so setzten dass es funktioniert?

    Ich brauche genau so eine Umgebung wie sie XAMPP bereitstellt, warum das Rad neu erfinden?

    Mir wurde doch schon gesagt:
    Bitte helft mir dass ich das auch bestätigen kann.

    Lg Dani
     
  11. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Hab im Moment ein bißchen wenig Zeit für solche Tests, aber ich habe mir das mal fürs Wochenende in den Kalender geschrieben, falls bis dahin niemand anderes helfen konnte.
     
  12. Tucca

    Tucca Neuer User

    Registriert seit:
    14 Juli 2004
    Beiträge:
    174
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    ich hatte auf meinem Asterisk (Suse 9.3) MySQL über die RPMs installiert.
    Jetzt habe ich auf Xampp umgestellt, mit folgenden Anpassungen im Makefile

    Code:
    MODS+=$(shell if [ -d /usr/local/mysql/include ] || [ -d /usr/include/mysql ] || [ -d /usr/local/include/mysql ] || [ -d /opt/lampp/include/mysql ]; then echo "cdr_addon_mysql.so app_addon_sql_mysql.so"; fi)
    CFLAGS+=$(shell if [ -d /usr/local/mysql/include ]; then echo "-I/usr/local/mysql/include"; fi)
    CFLAGS+=$(shell if [ -d /usr/include/mysql ]; then echo "-I/usr/include/mysql"; fi)
    CFLAGS+=$(shell if [ -d /usr/local/include/mysql ]; then echo "-I/usr/local/include/mysql"; fi)
    CFLAGS+=$(shell if [ -d /opt/lampp/include/mysql ]; then echo "-I/opt/lampp/include/mysql"; fi)
    MLFLAGS=
    MLFLAGS+=$(shell if [ -d /usr/lib/mysql ]; then echo "-L/usr/lib/mysql"; fi)
    MLFLAGS+=$(shell if [ -d /usr/local/mysql/lib ]; then echo "-L/usr/local/mysql/lib"; fi)
    MLFLAGS+=$(shell if [ -d /usr/local/lib/mysql ]; then echo "-L/usr/local/lib/mysql"; fi)
    MLFLAGS+=$(shell if [ -d /opt/lampp/lib/mysql ]; then echo "-L/opt/lampp/lib/mysql"; fi)
    
    Wichtig ist, dass man die Files wie auf der Webseite beschrieben entpackt - auch devel-Packet.

    make im Addon-Verz ausführen und make install.

    lampp starten (/opt/lampp/lampp start)

    Root hat bei mir allerdings momentan kein Passwort.

    ... jetzt läufts mit dem Xampp 1.5.0

    Ich hoffe dass ich weiterhelfen konnte. :)

    Gruß,
    Tucca
     
  13. VOIPdani

    VOIPdani Mitglied

    Registriert seit:
    8 Aug. 2005
    Beiträge:
    432
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo!

    Danke für deine Antwort!

    Mir ist noch unklar wie ich das Makefile ändern muss...
    Mein Makefile ist unter /opt/lampp/bin gespeichert und sieht wie folgt aus:
    Code:
    # $Id: Makefile.in,v 1.1 2002/08/19 20:26:19 witten Exp $
    
    LTLIBRARY_NAME        = libtclink.la
    LTLIBRARY_SOURCES     = tclink.c php_tclink.c
    LTLIBRARY_SHARED_NAME = tclink.la
    LTLIBRARY_SHARED_LIBADD  = $(TCLINK_SHARED_LIBADD)
    
    CFLAGS  =       @CFLAGS@ @DEFS@
    
    include $(top_srcdir)/build/dynlib.mk
    
    Muss ich nun diesen Code mit deinem geposteten Code ersetzten oder erweitere ich das Makefile?

    lg Dani
     
  14. Tucca

    Tucca Neuer User

    Registriert seit:
    14 Juli 2004
    Beiträge:
    174
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ... sorry, ich meinte das Make-File von Asterisk-Addon
     
  15. Tucca

    Tucca Neuer User

    Registriert seit:
    14 Juli 2004
    Beiträge:
    174
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Jetzt habe ich aber eine Frage:
    Wie kann ich den Xampp als Daemon einrichten der automatisch mit dem System gestartet wird?
     
  16. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    am einfachsten in die /etc/rc.local eintragan: /opt/xampp/xampp start &
     
  17. VOIPdani

    VOIPdani Mitglied

    Registriert seit:
    8 Aug. 2005
    Beiträge:
    432
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @Tucca
    Leg ein shell-Skript an wo du wie gewohnt /opt/lampp/lampp start reinschreibst und unter /etc/init.d abspeicherst. Dann kannst du das ganze entweder über Yast (Runlevel-Editor) oder mittels eines Links in das jeweilige Runlevel einbinden.

    Mehr Infos findest du unter http://www.ip-phone-forum.de/forum/viewtopic.php?t=28532

    PS: Hab das Makefile nach deinem Vorschlag abgeändert, mein * sagt beim start aber noch immer
    Nov 16 15:08:57 ERROR[5305]: cdr_addon_mysql.c:436 my_load_module: Failed to connect to mysql database asterisk on localhost.

    Wo könnten noch Fehlerquellen liegen?

    lg Dani
     
  18. VOIPdani

    VOIPdani Mitglied

    Registriert seit:
    8 Aug. 2005
    Beiträge:
    432
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @Tucca

    Was meinst du damit?
     
  19. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Wie versprochen, habe ich mich mal praktisch mit dem Problem beschäftigt.

    Hierzu habe ich folgendes gemacht:

    1.) Asterisk 1.2.0 runtergeladen, compiliert und installiert
    2.) Asterisk-addons-1.2.0 runtergeladen, compiliert und installiert
    3.) XAMPP 1.5.0 runtergeladen, nach /opt installiert und gestartet

    Bis zu diesem Zeitpunkt sind keinerlei Veränderungen an den Konfigurationen der beiden Pakete gemacht ! D.h. XAMPP läuft bisher noch in seiner "unsicheren" Konfiguration.

    4a) über phpmyadmin die Datenbank "asteriskcdrdb" angelegt
    4b) über phpmyadmin in der Datenbank "asteriskcdrdb" die Tabelle "cdr" angelegt

    5.) /etc/asterisk/cdr_mysql.conf angepaßt:

    Code:
    [global]
    hostname=localhost
    dbname=asteriskcdrdb
    table=cdr
    password=
    user=root
    ;port=3306
    sock=/opt/lampp/var/mysql/mysql.sock
    ;userfield=1
    
    6.) asterisk -vvvvg liefert

    Code:
    [... viel bla bla ...]
     [app_saycountpl.so] => (Say polish counting words)
      == Registered application 'SayCountPL'
     [cdr_addon_mysql.so] => (MySQL CDR Backend)
      == Parsing '/etc/asterisk/cdr_mysql.conf': Found
     [app_addon_sql_mysql.so] => (Simple Mysql Interface)
      == Registered application 'MYSQL'
      == Manager registered action DBGet
      == Manager registered action DBPut
      == Parsing '/etc/asterisk/enum.conf': Found
    Asterisk Ready.
    
    Es funktioniert also ohne erst große Konfigurationsänderungen machen zu müssen.
    [hr:33ad110787]
    [root@server udo]# mysql --socket=/opt/lampp/var/mysql/mysql.sock -u=root
     
  20. VOIPdani

    VOIPdani Mitglied

    Registriert seit:
    8 Aug. 2005
    Beiträge:
    432
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Danke das du dich mal praktisch damit beschäftigt hast. Es ist gut zu wissen das XAMPP und Asterisk zusammenspielen. Bei mir läuft die Installation der einzelnen Komponenten allerdings nicht so am Schnürchen wie bei dir...

    Hab ich gemacht...hat auch gefunkt.

    Hab ich versucht...hat nicht so recht hingehaun...Bevor ich versucht hab die Addons zu installieren hab ich die Pakete
    - mysql-devel
    - mysql-client
    - mysql-shared
    installiert.

    * sagt nun folgendes:
    Code:
    testasterisk:/usr/src/packages/SOURCES/asterisk-addons-1.2.0-beta2 # make
    ./mkdep -fPIC -I../asterisk -D_GNU_SOURCE  -I/usr/include/mysql   `ls *.c`
    In file included from app_saycountpl.c:10:
    /usr/include/asterisk/file.h:27:2: #error You must include stdio.h before file.h!
    make -C format_mp3 all
    make[1]: Entering directory `/usr/src/packages/SOURCES/asterisk-addons-1.2.0-beta2/format_mp3'
    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations   -D_REENTRANT -D_GNU_SOURCE  -O6    -c -o common.o common.c
    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations   -D_REENTRANT -D_GNU_SOURCE  -O6    -c -o dct64_i386.o dct64_i386.c
    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations   -D_REENTRANT -D_GNU_SOURCE  -O6    -c -o decode_ntom.o decode_ntom.c
    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations   -D_REENTRANT -D_GNU_SOURCE  -O6    -c -o layer3.o layer3.c
    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations   -D_REENTRANT -D_GNU_SOURCE  -O6    -c -o tabinit.o tabinit.c
    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations   -D_REENTRANT -D_GNU_SOURCE  -O6    -c -o interface.o interface.c
    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations   -D_REENTRANT -D_GNU_SOURCE  -O6    -c -o format_mp3.o format_mp3.c
    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations   -D_REENTRANT -D_GNU_SOURCE  -O6  -shared -Xlinker -x -o format_mp3.so common.o dct64_i386.o decode_ntom.o layer3.o tabinit.o interface.o format_mp3.o
    make[1]: Leaving directory `/usr/src/packages/SOURCES/asterisk-addons-1.2.0-beta2/format_mp3'
    cc -fPIC -I../asterisk -D_GNU_SOURCE  -I/usr/include/mysql     -c -o app_saycountpl.o app_saycountpl.c
    In file included from app_saycountpl.c:10:
    /usr/include/asterisk/file.h:27:2: #error You must include stdio.h before file.h!
    In file included from app_saycountpl.c:10:
    /usr/include/asterisk/file.h:56: error: parse error before '*' token
    /usr/include/asterisk/file.h:57: error: parse error before '*' token
    make: *** [app_saycountpl.o] Error 1
    
    Fehlen mir da irgendwelche Pakete, oder was mach ich falsch?

    lg Dani