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

"Database unavailable" - HILFE

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von greenfrog, 8 Dez. 2006.

  1. greenfrog

    greenfrog Neuer User

    Registriert seit:
    8 Dez. 2006
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,
    ich kann die astdb.conf nirgends finden. Wer kann mir weiterhelfen und sagen, wo ich diese evtl. downloaden kann oder wie man diese anlegt(neues Textdokument mit dem Namen astdb.conf wird nicht erkannt)

    Danke
     
  2. cibi

    cibi Mitglied

    Registriert seit:
    6 Apr. 2005
    Beiträge:
    561
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ba-Wü
    Was für eine Asteriskversion benutzt du denn? Irgendwelche Modifikationen?
    Ich habe keine "astdb.conf" auch google findet dazu nichts.
    Wie lautet denn die Fehlermeldung(en)?
     
  3. greenfrog

    greenfrog Neuer User

    Registriert seit:
    8 Dez. 2006
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ich nutze die Version 1.2.10
    die Fehlermeldung ist "database unavailable" und dann je nachdem was ich machen will sagt er halt, dass er nichts lesen,schreiben,... kann.

    Auf den Befehl database show kommt auch die Meldung database unavailable
     
  4. cibi

    cibi Mitglied

    Registriert seit:
    6 Apr. 2005
    Beiträge:
    561
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ba-Wü
    Die Datenbank liegt in /var/lib/asterisk in der Datei astdb.
    Ist diese nicht vorhanden wird sie neu erstellt (?).
    Stimmen die Zugriffsrechte? Datenbankdatei eventuell beschädigt?
     
  5. Netview

    Netview IPPF-Promi

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    3,366
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    Dipl.-Inf.
    Ort:
    Westerwald
    Was steht bei dir in der asterisk.conf:

    [directories]
    ...
    astvarlibdir => .../var/


    Asterisk legt in diesem Pfad selbst die astdb an, sofern er die entsprechenden Rechte hat!

    ansonsten kann man sie erzeugen mit ' > .../var/astdb'

    Danach ist ein * Restart erforderlich!
     
  6. greenfrog

    greenfrog Neuer User

    Registriert seit:
    8 Dez. 2006
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Also bei mir steht folgendes:

    [directories]
    astetcdir => /etc/asterisk
    astmoddir => /usr/lib/asterisk/modules
    astvarlibdir => /var/lib/asterisk
    astagidir => /var/lib/asterisk/agi-bin
    astspooldir => /var/spool/asterisk
    astrundir => /var/run/asterisk
    astlogdir => /var/log/asterisk


    Wo genau muss ich die denn erzeugen bzw. wie sehe ich ob asterisk die Rechte hat?
    Hier mal die komplette Fehlermeldung:

    linux*CLI> database show
    Database unavailable
    Dec 9 15:13:42 WARNING[5508]: db.c:67 dbinit: Unable to open Asterisk database
     
  7. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Sieht eher nach einem Rechteproblem aus.

    # ls -la /var/lib/asterisk/astdb

    Und als welcher Benutzer läuft asterisk?

    Passiert meistens wenn man Asterisk als root laufen lässt und danach unter einem Benutzer.
     
  8. greenfrog

    greenfrog Neuer User

    Registriert seit:
    8 Dez. 2006
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    linux:/ # ls -la /var/lib/asterisk/astdb
    /bin/ls: /var/lib/asterisk/astdb: No such file or directory


    Asterisk läuft unter Benutzer root.

    Wie erstelle ich denn nun die database?
     
  9. cibi

    cibi Mitglied

    Registriert seit:
    6 Apr. 2005
    Beiträge:
    561
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ba-Wü
    Wie schon gesagt, Asterisk erstellt die Datenbank neu, falls sie nicht existiert.
    Nur um ganz sicher zugehen, das Asterisk als root läuft.
    Code:
    ps aux | grep asterisk
    Gibt es das Verzeichnis /var/lib/asterisk ?
    Warum Version 1.2.10? Aktuell ist 1.2.13, eventuell eine spezielle (gepachte) Version? VServer? etc...
     
  10. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ist keine da erstellt Asterisk diese, mit Sicherheit wenn Asterisk als root läuft.
     
  11. greenfrog

    greenfrog Neuer User

    Registriert seit:
    8 Dez. 2006
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    linux:/ # ps aux | grep asterisk root 5655 0.0 3.7 32200 19264 ? S 15:21 0:03 kwrite [kdeinit] /etc/asterisk/extensions.conf root 5918 0.0 3.6 31748 18680 ? S 15:36 0:00 kwrite [kdeinit] /etc/asterisk/features.conf root 6460 0.0 3.6 31892 18832 ? S 16:19 0:00 kwrite [kdeinit] /etc/asterisk/sip.conf root 7043 0.0 0.1 1856 604 pts/2 R+ 16:46 0:00 grep asterisk Das ist ja gerade das Problem, es gibt keine database. Wenn Asterisk diese erstellen würde müsste ich sie doch mit database show finden und auch einträge darin machen können oder? Asterisk 1.2.10-BRIstuffed-0.3.0-PRE-1s built by root @ linux on a i686 running Linux on 2006-11-08 13:30:33 UTC

    Das Verzeichnis /var/lib/asterisk existiert mit den Ordnern agi-bin, firmware,images,keys,mohmp3,sounds
     
  12. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Da läuft kein Asterisk
     
  13. greenfrog

    greenfrog Neuer User

    Registriert seit:
    8 Dez. 2006
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    linux:/etc/init.d # ps aux | grep asterisk
    root 5655 0.0 3.7 32196 19260 ? S 15:21 0:03 kwrite [kdeinit] /etc/asterisk/extensions.conf
    root 5918 0.0 3.6 31748 18680 ? S 15:36 0:00 kwrite [kdeinit] /etc/asterisk/features.conf
    root 6460 0.0 3.6 31892 18832 ? S 16:19 0:00 kwrite [kdeinit] /etc/asterisk/sip.conf
    root 7076 0.0 0.2 2484 1172 pts/2 S 16:47 0:00 /bin/sh /usr/sbin/safe_asterisk -U asterisk -G asterisk -C /etc/asterisk/asterisk.conf
    asterisk 7084 0.1 1.4 17460 7580 pts/2 Sl 16:47 0:00 /usr/sbin/asterisk -U asterisk -G asterisk -C /etc/asterisk/asterisk.conf -vvvg -c
    root 7194 0.0 0.1 1856 600 pts/2 R+ 16:54 0:00 grep asterisk



    sorry
    :rolleyes:
     
  14. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Läuft Asterisk als root - Nein
    Kann Asterisk als Nicht root eine Datei anlegen?

    keine Rechte zum anlegen -> keine astdb

    -> Rechteproblem

    Einfachste Lösung, asterisk als root starten, beenden und dann die astdb auf Benutzer asterisk, etc. stellen
     
  15. cibi

    cibi Mitglied

    Registriert seit:
    6 Apr. 2005
    Beiträge:
    561
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ba-Wü
    Asterisk läuft NICHT als root.

    s. http://www.voip-info.org/wiki-Asterisk+non-root

    Ich habe in mein /etc/init.d/asterisk das auf dem link beschriebene Skript hinzugefügt, was bei mir so aussieht
    (Edit: als nicht die ganzen Zeilen, sondern in ein externes Skript das von /etc/init.d/asterisk aufgerufen wird)
    Code:
    
    chmod --recursive u=rwX,g=rX,o= /var/lib/asterisk
    chmod --recursive u=rwX,g=rX,o= /var/log/asterisk
    chmod --recursive u=rwX,g=rX,o= /var/run/asterisk
    chmod --recursive u=rwX,g=rX,o= /var/spool/asterisk
    chmod --recursive u=rwX,g=rX,o= /dev/zap
    
    chown --recursive root:asterisk /etc/asterisk
    chmod --recursive u=rwX,g=rX,o= /etc/asterisk
    
    chown --recursive root:asterisk /usr/lib/asterisk
    chmod --recursive u=rwX,g=rX,o=rX /usr/lib/asterisk
    
    
    chown asterisk /dev/tty9
    
    # chown asterisk /dev/capi20
    
    # For wakup calls
    mkdir -p /tmp/wakeups
    chown --recursive asterisk:asterisk /tmp/wakeups
    chmod --recursive u=rwX,g=rX,o= /tmp/wakeups
    
    (die wakup calls sind nicht nötig, ich habe sie aber mal als Demo gelassen)
     
  16. greenfrog

    greenfrog Neuer User

    Registriert seit:
    8 Dez. 2006
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    und wo kommt das script hin?
    einfach in ein neues textfile kopieren?
    wie wird es eingebunden?
    :confused:
    danke
     
  17. cibi

    cibi Mitglied

    Registriert seit:
    6 Apr. 2005
    Beiträge:
    561
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ba-Wü
    Egal z.B. /usr/local/sbin/astrights
    Ja , danach noch ausführbar machen (chmod)
    Wie startest du denn dein Asterisk?
    Falls du das Debianskript oder ähnliches benutzt z.B. so
    /etc/init.d/asterisk
    Code:
    case "$1" in
      start)
        echo -n "Starting $DESC: "
        # *** ADDED change ***** :
        /usr/local/sbin/astrights
        start-stop-daemon --start --pidfile "$PIDFILE" --exec $DAEMON -- $PARAMS
        echo "$NAME."
        ;;
    
     
  18. greenfrog

    greenfrog Neuer User

    Registriert seit:
    8 Dez. 2006
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Jetzt funktionierts(habe Asterisk die Rechte gegeben)
    Danke für die Antworten