Unable to open master device '/dev/zap/ctl'

Bristuff Asterisk als nicht-root

Da ich gerade ein bristuff Asterisk neu aufgesetzt habe hier (hoffentlich) alle Schritte um Asterisk als nicht root laufen zu lassen.
Ich benutze als user und group asterisk , auf Debian 3.1 (sarge).
Ich hatte ursprünglich die * Debianversion installiert und das Startskript behalten. (allerdings muss man dieses minimal ändern, s. vorheriger Beitrag)

Das ganze habe ich mit bristuff-0.2.0-RC8o gemacht, sollte auch mit anderen gehen, aber eventuell sind nicht alle Pfade gleich.

========= 1. ============

im Asterisk Makefile

Code:
ASTVARRUNDIR=$(INSTALL_PREFIX)/var/run
auf
Code:
ASTVARRUNDIR=$(INSTALL_PREFIX)/var/run/asterisk
ändern
in asterisk.conf enstsprechend auch
Code:
astrundir => /var/run/asterisk
setzen.

Dabei auch gleich überprüfen ob ASTLOGDIR auf ein Unterverzeichnis zeigt, wie z.B. in der von mir verwendeten Version
Code:
ASTLOGDIR=$(INSTALL_PREFIX)/var/log/asterisk

Jetzt Asterisk neu kompilieren mit
make clean
make all

und dann installieren.

========= 2. ============
Nach dem Installieren die Rechte setzten.

Zugriffsrechte auf asterisk als user und group ändern (s.auch asterisk.conf):
(inkl. Unterverzeichnisse)
---------------------------
/etc/asterisk
/var/log/asterisk
/var/run/asterisk
/var/spool/asterisk
/var/lib/asterisk
/usr/lib/asterisk
---------------------------

Das gleiche für /dev/xy oder asterisk der entsprechenden Gruppe hinzuzufügen wie z.B. dailout; zur Not/Test das Geräte für alle zum Zugriff öffnen):
---------------------------
/dev/zap
---------------------------
eventuell noch weitere. (/dev/capi20 ist bei mit schon auf rw für alle)

========= Fertig (? ;) ============

jetzt asterisk mit
asterisk -U asterisk -G asterisk -vvvvv -c -g
starten. (eventuell noch ein -d dranhängen für erweiterte Debugmeldungen)

Dabei alle Startmeldungen genau durchgehen und mit allen Geräten (zap/capi/etc) ein paar Testanrufe machen.


PS: ich habe das mal in dieses Thema reingeschrieben weil es noch dazu passt, aber für ein eigenes Thema noch nicht ganz ausgereift ist...
 
@cibi

Wenn Du kannst, versuche mal die Änderungen als Diff hier zu
posten. Man muß ja noch user/group Asterisk anlegen und
die Verzeichnisse /var/lib/asterisk und /var/spool/asterisk usw...
mit Rechten versehen. Außerdem hatte ich immer Probleme
wenn ich danach mal * als root gestartet habe, lagen noch
/var/run/{asterisk.ctl,asterisk.pid} mit root-Rechten da und
es ließ sich nicht starten. Außerdem bügelt eine Neuinstallation
alle Änderungen über. Man sollte also die Source-Distribution
so abändern, daß man einfach ein "make install" ausführt
und * läuft als user. Das währe optimal.

Gruß
britzelfix
 
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.