Realtime und XAMPP und MySQL

VOIPdani

Mitglied
Mitglied seit
8 Aug 2005
Beiträge
432
Punkte für Reaktionen
0
Punkte
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
 
nimm den port und den socks mal aus der Konfigurationsdatei raus.
 
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
 
ja - kann es sein. daß Du in der cdr_mysql.conf user & passwort vertauscht hast ?

password=root
user=****

Sieht irgendwie komisch aus.
 
;cdr_mysql.conf
[global]
hostname=localhost
dbname=asterisk
table=cdr
password=****
user=root
;port=3306
;sock=/opt/lampp/var/mysql/mysql.sock
userfield=1

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
 
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:
 
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
 
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?

und warum arbeitest Du dann nicht mit der "normalen" MySQL-DB ?
 
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.
 
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:
XAMPP und Asterisk funktioniert auf jeden Fall zusammen.

Bitte helft mir dass ich das auch bestätigen kann.

Lg Dani
 
Bitte helft mir dass ich das auch bestätigen kann.

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.
 
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
 
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
 
... sorry, ich meinte das Make-File von Asterisk-Addon
 
Jetzt habe ich aber eine Frage:
Wie kann ich den Xampp als Daemon einrichten der automatisch mit dem System gestartet wird?
 
am einfachsten in die /etc/rc.local eintragan: /opt/xampp/xampp start &
 
@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
 
@Tucca

Wichtig ist, dass man die Files wie auf der Webseite beschrieben entpackt - auch devel-Packet.

Was meinst du damit?
 
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]
versuch ich aber mich in der Shell mit mysql -u root -p asterisk anzumelden kann ich mich nicht verbinden

[root@server udo]# mysql --socket=/opt/lampp/var/mysql/mysql.sock -u=root
 
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...

1.) Asterisk 1.2.0 runtergeladen, compiliert und installiert

Hab ich gemacht...hat auch gefunkt.

2.) Asterisk-addons-1.2.0 runtergeladen, compiliert und installiert

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
 
Kostenlos!

Statistik des Forums

Themen
248,519
Beiträge
2,293,408
Mitglieder
378,018
Neuestes Mitglied
lg300