Skip to main content

Устанавливаем CentOS 6 c набором пакетов Basic Server

После установки включаем сеть

ONBOOT=”yes”
IPADDR=10.10.10.10
NETMASK=255.255.255.0
GATEWAY=10.10.10.1

nameserver 8.8.8.8

Обновляем систему

Отключаем фаервол

Отключаем selinux

SELINUX=disabled
Перезагружаемся

Устанавливаем необходимые пакеты

Устанавливаем php-pear-DB

Скачиваем Asterisk

Распаковываем

Устанавливаем

Создаём пользователя asterisk и меняем владельца директорий Asterisk

Меняем пользователя Apache

Скачиваем FreePBX

Распаковываем

Запускаем Apache и MySQL

Создаём базы FreePBX

Можно установить пароль root’a MySQL

Меняем часовой пояс в конфиге PHP на date.timezone = Europe/Moscow

Устанавливаем FreePBX

Теперь можно зайти в FreePBX (http://10.10.10.10) в Module Admin обновить модули и нажав оранжевую кнопу накормить жабу.

35 Comments

  • Volodya says:

    Добрый день!
    Спасибо огромное за статью CentOS 6 — Asterisk 1.8 — FreePBX 2.9. Перерыл очень много информации по устаовке Asterisk и FreePBX. Сам Asterisk установил, а с FreePBX были проблемы, так как не знал все необходимые пакеты для FreePBX. С помощью вашей статьи установил и FreePBX. Но у меня возникла следующая проблема: при попытке зайти на адрес 192.168.0.101 (это адресс прописанный в настройках моей сетевой карты) браузер отображает страницу
    Fedora Test Page

    This page is used to test the proper operation of the Apache HTTP server after it has been installed. If you can read this page, it means that the web server installed at this site is working properly, but has not yet been configured.

    У меня установлена Fedora 14.
    Заранее спасибо!

  • Volodya says:

    Нужно посмотреть httpd.conf
    FreePBX в /var/www/html/ ?

    Подскажите пожалуйста какая именно должна быть запись в httpd.conf? Просмотрел httpd.conf в /etc/httpd/conf . Строчки связаной со значением freepBX не нашел (
    Есть:
    ServerRoot “/etc/httpd”
    ————————————————
    # Load config files from the config directory “/etc/httpd/conf.d”.
    ————————————————
    ServerAdmin root@localhost
    ————————————————
    DocumentRoot “/var/www/html”
    ————————————————
    DirectoryIndex index.html index.html.var
    ————————————————
    HostnameLookups Off
    Прошу прощения за глупые вопросы. За линуксом начал работать недавно. В нем я чайник, но имею большое желание разбираться в нем.
    Спасибо!

  • Volodya says:

    При установке freepbx вконце выдало:
    Checking for PEAR DB..OK
    Checking for PEAR Console::Getopt..OK
    Checking user..OK
    Checking if Asterisk is running..running with PID: 1383..OK
    Checking for /etc/amportal.conf..OK
    Reading /etc/amportal.conf..OK
    Checking for /etc/asterisk/asterisk.conf..OK
    Reading /etc/asterisk/asterisk.conf..OK
    Using asterisk as PBX Engine
    Checking for Asterisk version..1.8.8.1
    Checking for selinux..OK
    Connecting to database..FAILED
    Try running ./install_amp –username=user –password=pass (using your own user and pass)
    [FATAL] Cannot connect to database
    SELinux отключил

    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    # enforcing – SELinux security policy is enforced.
    # permissive – SELinux prints warnings instead of enforcing.
    # disabled – No SELinux policy is loaded.
    SELINUX=disabled
    # SELINUXTYPE= can take one of these two values:
    # targeted – Targeted processes are protected,
    # mls – Multi Level Security protection.
    SELINUXTYPE=targeted

  • admin says:

    Connecting to database..FAILED
    Базы MySQL созданы? Введите следующие строчки для создания баз и привилегий в консоли из каталога /usr/src/freepbx-2.9.0

    mysqladmin create asterisk
    mysqladmin create asteriskcdrdb
    mysql asterisk < SQL/newinstall.sql mysql asteriskcdrdb < SQL/cdr_mysql_table.sql mysql GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109'; GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109'; flush privileges; quit

  • Volodya says:

    Да, базы созданы. Привелегии назначил. Сделал еще раз:

    [root@Suslikov freepbx-2.9.0]# mysqladmin -u root -p create asterisk
    Enter password:
    mysqladmin: CREATE DATABASE failed; error: ‘Can’t create database ‘asterisk’; database exists’
    [root@Suslikov freepbx-2.9.0]# mysqladmin -u root -p create asteriskcdrdb
    Enter password:
    mysqladmin: CREATE DATABASE failed; error: ‘Can’t create database ‘asteriskcdrdb’; database exists’
    ————————————————————————————————
    mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY ‘amp109′
    -> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY ‘amp109′;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘amp109′
    GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost I’ at line 1
    mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY ‘amp109′
    -> flush privileges
    -> quit
    -> q
    Единственое, что меня волнует, так это запуск мускула.
    [root@Suslikov freepbx-2.9.0]# mysqladmin create asterisk
    mysqladmin: connect to server at ‘localhost’ failed
    error: ‘Access denied for user ‘root’@’localhost’ (using password: NO)’
    Первоначально, когда настраивал мускул то команда выполнялась. Сейчас для выполнения команд мускула использую следующее:
    [root@Suslikov freepbx-2.9.0]# mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 11
    Server version: 5.5.18 MySQL Community Server (GPL)
    Правда я менял пароль на админскую учетку мускула, как было написано в даной статье. Могу догадываться, что раньше выполнялись команды с дефолтным паролем админа мускула, а он был пустым. Или я не прав?
    Проблема осталась Connecting to database..FAILED ( Пробовал и запуск ./install_amp –username=asterisk –password=asterisk и вместо asteriska root-а с паролем админа. Результат не изменился.
    Очень нужна ваша помощ!

  • admin says:

    Если установлен пароль MySQL для root то все команды эти нужно выполнять с “-u root -p”
    Базы уже созданы, нужно залить в них таблицы
    mysql asterisk < SQL/newinstall.sql -u root -p mysql asteriskcdrdb < SQL/cdr_mysql_table.sql -u root -p И выставить привилегии mysql -u root -p GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109'; GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109'; flush privileges; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘amp109′ Неправильные кавычки. Можно установить phpmyadmin и сделать всё то же самое через web интерфейс.

  • Volodya says:

    Теперь выдает следующее
    [root@Suslikov volodya]# mysql asterisk<SQL/newinstall.sql -u root -p
    bash: SQL/newinstall.sql: No such file or directory
    [root@Suslikov volodya]# mysql asterisk < SQL/newinstall.sql -u root -p
    bash: SQL/newinstall.sql: No such file or directory

  • admin says:

    cd /usr/src/freepbx-2.9.0
    newinstall.sql и cdr_mysql_table.sql там лежат

  • Volodya says:

    [root@Suslikov //]# cd /usr/src/freepbx-2.9.0
    [root@Suslikov freepbx-2.9.0]# mysql asterisk<SQL/newinstall.sql -u root -p
    Enter password:
    [root@Suslikov freepbx-2.9.0]# mysql asteriskcdrdb<SQL/cdr_mysql_table.sql -u root -p
    Enter password:
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    [root@Suslikov freepbx-2.9.0]# mysql asteriskcdrdb GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY ‘amp109′
    -> GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY ‘amp109′
    -> flush privileges
    -> exit
    -> q
    Bye
    Так? Какие мои дальнейшие шаги? Согласно Вашей статье, то поменять часовой пояс в php. У меня:
    ;;;;;;;;;;;;;;;;;;;
    ; Module Settings ;
    ;;;;;;;;;;;;;;;;;;;

    [Date]
    ; Defines the default timezone used by the date functions
    ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
    date.timezone = Europe/Kiev

    ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.default-lati$
    ;date.default_latitude = 31.7667

    ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.default-long$
    ;date.default_longitude = 35.2333

    ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.sunrise-zeni$
    ;date.sunrise_zenith = 90.583333
    Потом начинать установку freepbx? А можете указать какие необходимо вводить данные, когда начинается диалог установки? От какого пользователя запускать установку?
    Спасибо!

    • admin says:

      Устанавливать от root, везде отвечать [enter], ввести IP адрес

  • Volodya says:

    Я понимаю, что надоел Вам со своими глупыми вопросами, нл прошу помощи! Не могу подключиться к базе (
    [volodya@Suslikov freepbx-2.9.0]$ sudo ./install_amp
    Checking for PEAR DB..OK
    Checking for PEAR Console::Getopt..OK
    Checking user..OK
    Checking if Asterisk is running..running with PID: 1406..OK
    Checking for /etc/amportal.conf..OK
    Reading /etc/amportal.conf..OK
    Checking for /etc/asterisk/asterisk.conf..OK
    Reading /etc/asterisk/asterisk.conf..OK
    Using asterisk as PBX Engine
    Checking for Asterisk version..1.8.8.1
    Checking for selinux..OK
    Connecting to database..FAILED
    Try running ./install_amp –username=user –password=pass (using your own user and pass)
    [FATAL] Cannot connect to database

  • admin says:

    Думаю для наглядности создания баз хорошо бы установить phpmyadmin
    Пароль для asteriskuser amp109 ?

  • Volodya says:

    Подскажите пожалуйста. Я установил phpMyAdmin-3.4.9-1.fc15.noarch. Как мне теперь его настроить и воспользоваться?

  • bey says:

    ./install_amp –debug

    что выдает?
    была зарка что хост не правильный брал откуда то. пришлось указать в ручную

    ./install_amp –dbhost=localhost –username=asteriskuser –password=amp109 –debug
    так вот.

  • admin says:

    Нужно переписать его в например /var/www/htm/pma и зайти в него http://айпиадрес/pma

  • Volodya says:

    [root@Suslikov freepbx-2.9.0]# ./install_amp –username=asteriskuser –password=amp109 –debug
    Checking for PEAR DB..OK
    Checking for PEAR Console::Getopt..OK
    Using username: asteriskuser
    Using password: ******
    [DEBUG-preDB] Debug mode enabled
    Checking user..OK
    Checking if Asterisk is running..running with PID: 1451..OK
    Checking for /etc/amportal.conf..OK
    Reading /etc/amportal.conf..OK
    Checking for /etc/asterisk/asterisk.conf..OK
    Reading /etc/asterisk/asterisk.conf..OK
    Using asterisk as PBX Engine
    Checking for Asterisk version..1.8.8.1
    Checking for selinux..OK
    Connecting to database..FAILED
    [DEBUG-preDB] [nativecode=Access denied for user ‘asteriskuser’@’localhost’ (using password: YES)] ** mysql://asteriskuser:amp109@127.0.0.1/asterisk
    Try running ./install_amp –username=user –password=pass (using your own user and pass)
    [FATAL] Cannot connect to database

  • Volodya says:

    admin,
    Можете пошагово объяснить пожалуйста?

  • Volodya says:

    admin,
    Запустил phpmyadmin от root-а мускула. Что тут мне необходимо проверить?

  • Volodya says:

    В привелегиях мускула не было пользователя asteriskuser. Добавил. Теперь при инсталяции freepbx выдает следующее:
    [root@Suslikov freepbx-2.9.0]# ./install_amp –username=asteriskuser –password=amp109
    Checking for PEAR DB..OK
    Checking for PEAR Console::Getopt..OK
    Using username: asteriskuser
    Using password: ******
    Checking user..OK
    Checking if Asterisk is running..running with PID: 1451..OK
    Checking for /etc/amportal.conf..OK
    Reading /etc/amportal.conf..OK
    Checking for /etc/asterisk/asterisk.conf..OK
    Reading /etc/asterisk/asterisk.conf..OK
    Using asterisk as PBX Engine
    Checking for Asterisk version..1.8.8.1
    Checking for selinux..OK
    Connecting to database..OK
    Checking current version of AMP..no version information
    Assuming new installation
    Installing new FreePBX files..OK (759 files copied, 0 skipped)
    linking libfreepbx.javascripts.js to theme/js..ok
    Configuring install for your environment..amportal..fpbx..freepbx_engine..done
    apply username/password changes to conf files..done
    creating missing #include files..OK
    OK
    Setting permissions on files..OK
    Checking for upgrades..54 found
    Upgrading to 1.10.007beta1..
    -> Running SQL script /usr/src/freepbx-2.9.0/upgrades/1.10.007beta1/tables.sql
    [FATAL] ALTER TABLE sip CHANGE id id BIGINT( 11 ) DEFAULT “-1″ NOT NULL [nativecode=1142 ** ALTER command denied to user ‘asteriskuser’@’localhost’ for table ‘sip’]” while running tables.sql

  • Volodya says:

    Всем спасибо за помощ! В частности admin-у! Прошу прощения за свои глупые вопросы и надоедливость! Я в Linuxe чайник (
    Проверил еще раз привелегии. Изначально не хотело подключаться к базам мускула из-за того, что в мускуле не было пользователя asteriskuser. Благодаря совету admin-а установил phpmyadmin. Тут то и стало видно это. В phpmyadmin создал пользователя и назначил ему привелегии. После этого FreePBX был успешно установлен.

  • palexa says:

    Спасибо за статью, поставил успешно.

    1. Но не могу понять, архив freepbx-2.9.0.tar.gz распаковывается и права на эту папку и вложенные файлы имеет 501 пользователь.
    Я могу их переназначить на root’а или себя?

    2. При попытке настроить внутреннего пользователя, нет возможности дать разрешение на видео трансляцию, нет такого videosupport=yes
    Может подскажете, нужно видео позарез

  • admin says:

    1. Да, конечно, но зачем?
    2. Я думаю videosupport = yes нужно прописать в /etc/asterisk/sip_general_custom.conf а в пирах allow=h263

  • palexa says:

    Поставил успешно, но вот незадача, работает до первой перегрузки CentOS или Asterisk

    после перегрузки

    STARTING ASTERISK
    Asterisk ended with exit status 1
    Asterisk died with code 1.
    Automatically restarting Asterisk.
    Asterisk ended with exit status 1
    Asterisk died with code 1.
    Automatically restarting Asterisk.
    Asterisk Started

    и так до бесконечности

  • palexa says:

    Не знаю правильно ли я сделал, но перед установкой FreePBX ./install_amp я сделал копию файла /etc/asterisk/modules.conf а после установки FreePBX восстановил его на место. Потом перегрузил CentOS вроде всё заработало

    прочитал здесь, я в английском дуб, поэтому если кто то здесь напишет правильный перевод, будет супер

    и конечно ответит, правильно ли я сделал ?
    ——————————————–
    VERY IMPORTANT BEFORE INSTALLING FREEPBX Make a copy of /etc/asterisk/modules.conf. FreePBX rewrites the file and trashes Asterisk installation. If you restart Asterisk after installing FreePBX Asterisk dies with no message.

    cp /etc/asterisk/modules.conf ~/asterisk-modules.conf

    Start installation of freepbx:

    ./install_amp

    Restore the backup you’ve made of your modules.conf

    cp ~/asterisk-modules.conf /etc/asterisk/modules.conf

    If you have forgoten to make that backup, disable two libraries that are stopping asterisk to work. To disable a library you can add lines in /etc/asterisk/modules.conf. The autoload directive will load anything in the lib directory (/usr/lib/asterisk/modules) unless you put the line noload in the configuration file, before the global directive.

    noload =>app_directory.so
    noload =>res_adsi.so

    In Ubuntu Hardy Heron, you should disable also

    noload => app_voicemail_imap.so
    noload => app_voicemail_odbc.so
    ——————————————–

    Шас попробую с нуля всё поставить

  • admin says:

    IMHO c нуля не нужно делать копию modules.conf … что за модули загружаются у Вас в modules.conf?

  • palexa says:

    Вот что в оригинальном файле

    [modules]
    autoload=yes
    noload => pbx_gtkconsole.so
    load => res_musiconhold.so
    noload => chan_alsa.so
    noload => chan_console.so
    noload => app_directory_imap.so
    noload => app_voicemail_imap.so
    noload => app_directory_odbc.so
    noload => app_voicemail_odbc.so
    noload => chan_mgcp.so
    noload => res_pktccops.so

    Вот что в файле который подменяеться при установке FreePBX
    [modules]
    autoload=yes
    preload => pbx_config.so
    preload => chan_local.so
    noload => pbx_gtkconsole.so
    noload => pbx_kdeconsole.so
    noload => app_intercom.so
    noload => chan_modem.so
    noload => chan_modem_aopen.so
    noload => chan_modem_bestdata.so
    noload => chan_modem_i4l.so
    noload => app_trunkisavail.so
    load => format_wav.so
    load => format_pcm.so
    load => format_mp3.so
    load => res_musiconhold.so
    noload => chan_alsa.so
    noload => chan_oss.so
    noload => app_directory_odbcstorage.so
    noload => app_voicemail_odbcstorage.so

  • palexa says:

    Перед его установкой я делаю копию папки /etc/asterisk

    Если можно, если в курсе admin, можно написать как FreePBX корректно удалить ?

  • admin says:

    Скрипта удаления как такового нет, можно просто удалить всё в /var/www/html/admin и /var/www/html/panel, удалить базы MySQL, убрать amportal из rc.local и переписать /etc/asterisk бекапом

  • Swet says:

    Добрый день. Вроде все по инструкции, но когда запускаю /usr/local/sbin/amportal start появляется ошибка вида chown: неверная группа: “asterisk:asterisk”

  • Swet says:

    Создала группу asterisk, /usr/local/sbin/amportal start запускается. Только при подключении в веб-админке появляется только белый экран. Как же так?

  • palexa says:

    возможно вопрос глупый но при установки из репозитория предлагается куча пакетов, какие из них реально надо ставить для работы по протоколам SIP и H323 ну конечно что бы голосовая почта работала.

    asterisk
    asterisk-alsa
    asterisk-apidoc
    asterisk-calendar
    asterisk-curl
    asterisk-dahdi
    asterisk-devel
    asterisk-fax
    asterisk-festival
    asterisk-gui.noarch
    asterisk-jabber
    asterisk-jack
    asterisk-ldap
    asterisk-lua
    asterisk-minivm
    asterisk-misdn
    asterisk-mobile
    asterisk-mysql
    asterisk-odbc
    asterisk-ooh323
    asterisk-oss
    asterisk-portaudio
    asterisk-postgresql
    asterisk-radius
    asterisk-skinny
    asterisk-snmp
    asterisk-sounds.noarch
    asterisk-sounds-core-en.noarch
    asterisk-sounds-core-en-alaw
    asterisk-sounds-core-en-g722
    asterisk-sounds-core-en-g729
    asterisk-sounds-core-en-gsm.noarch
    asterisk-sounds-core-en-siren14.noarch
    asterisk-sounds-core-en-siren7.noarch
    asterisk-sounds-core-en-sln16.noarch
    asterisk-sounds-core-en-ulaw.noarch
    asterisk-sounds-core-en-wav.noarch
    asterisk-sounds-core-ru.noarch
    asterisk-sounds-core-ru-alaw
    asterisk-sounds-core-ru-g722.noarch
    asterisk-sounds-core-ru-g729.noarch
    asterisk-sounds-core-ru-gsm.noarch
    asterisk-sounds-core-ru-siren14.noarch
    asterisk-sounds-core-ru-siren7.noarch
    asterisk-sounds-core-ru-sln16.noarch
    asterisk-sounds-core-ru-ulaw.noarch
    asterisk-sounds-core-ru-wav.noarch
    asterisk-sqlite
    asterisk-tds
    asterisk-unistim
    asterisk-usbradio
    asterisk-voicemail
    asterisk-voicemail-odbc
    asterisk-voicemail-plain

  • Вячеслав says:

    Спасибо за статью. Огромное.
    Но после того, как накормил жабку после обновления – все упало.
    Ну это уж как бывает.
    Еще раз ОГРОМНОЕ спасибо.

  • Евгений says:

    Здравствуйте!
    У меня такая вот проблема:
    Начал все устанавливать по вашей инструкции, но с момента /etc/resolv.conf и до этапа первой перезагрузки ничего не происходит 🙁
    Т.е. я ввожу команды, но ничего не происходит.
    Помогите пожалуйста разобраться.

  • Евгений says:

    Фигню написал :))) извините, уже разобрался с nano )))

Leave a Reply to Вячеслав Cancel Reply

*