Niepowodzenie aktualizacji w instalacji FreePBX

0

Buduję FreePBX 2.11.0.25 ze źródła nad Asterisk asterisk-11.9.0 (również zbudowany ze źródła) na 64-bitowym serwerze Ubuntu 14.04 zainstalowanym na VMWare VM. Podczas instalacji wystąpił błąd, że wersja Asterisk nie pasuje do aktualnie obsługiwanych wersji. Skomentowałem ten czek, aby uruchomić kod dalej. Po skomentowaniu czeku przy uruchomieniu sudo ./install_amp początkowa instalacja przebiega sprawnie. Wtedy nie powiedzie się podczas instalacji pierwszej aktualizacji. Wydajność:

-> Running PHP script /home/xeno/freePBX/freepbx/upgrades/1.10.007beta1/upgradecallgroups.php
Upgrading Call Groups..0 to check...
OK

DB Error: no such table

Teraz drukowane OK to ostatnia instrukcja w pliku PHP. Próbowałem trochę włożyć out() instrukcje w skrypcie nadrzędnym ( libfreepbx.install.php ), aby zobaczyć, jak daleko skrypt idzie, aby określić dokładną lokalizację błędu. To wydaje się że upgradecallgroups.php nigdy nie wraca; błąd występuje w tym pliku nie w skrypcie nadrzędnym.

Nie wygląda to na błąd zgodności, więc jestem pewien, że komentowanie sprawdzenia wersji nie powinno być tutaj istotne.

Nie jestem bardzo biegły w PHP (choć mogę łatwo odczytać kod) i całkowicie nie rozumiem tego błędu. Będąc początkującym, śledziłem kroki z tego linku do instalacji FreePBX: http://highsecurity.blogspot.in/2012/12/quick-and-dirty-asterisk-11-and-freepbx.html

Każda pomoc jest doceniana. Z góry dziękuję.

xenodevil
źródło

Odpowiedzi:

1

Okazuje się, że Baza danych nazywa się jako asterisk był potrzebny wraz z asteriskcdrdb ale nie został wymieniony w tutorialu.

Utworzenie bazy danych i wszystkich tabel w niej rozwiązało problem.

Przyczyna: Niektóre skrypty SQL w aktualizacjach wymuszają użycie asterisk baza danych, nawet jeśli nadpisujesz bazę danych w ustawieniach początkowych. Aby rozwiązać poprzednie błędy (które, BTW, również powstały, ponieważ samouczek nie wspomniał asterisk bazy danych), zaktualizowałem też skrypty w początkowej instalacji do użycia asteriskcdrdb dla WSZYSTKICH tabel, ale nie w skryptach dostarczanych z aktualizacjami. Okazuje się, że znacznie łatwiej jest użyć domyślnego (i właściwego) asterisk baza danych zamiast nadpisywać wszystkie skrypty SQL. Błąd był trudny, ponieważ MySQL określił nieistniejące tabele, gdy tabele istniały w innej bazie danych.

xenodevil
źródło
-1

Polecam uzyskanie obrazu VMware (wiele z nich można znaleźć w Internecie) za pomocą freepbx lub użyj PIAF.

Możesz także spróbować uaktualnić za pośrednictwem modułów web & gt;

arheops
źródło
Cóż, jeśli chciałbym tylko roboczą kopię FreePBX, to już bym poszedł na takie opcje. Instaluję ze źródła jako hobby i doświadczenie edukacyjne.
xenodevil