no way to compare when less than two revisions
Различия
Показаны различия между двумя версиями страницы.
Следующая версия | |||
— | wiki:articles:voip [06/07/2021 06:15] – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | Дата написания: | ||
+ | Автор: //Graf//\\ | ||
+ | \\ | ||
+ | ^ | ||
+ | \\ | ||
+ | |||
+ | |||
+ | **Дано: | ||
+ | IP сервера, | ||
+ | Slackware64 14.2 с последними обновлениями ядра, системы и пакета //sbopkg//. | ||
+ | |||
+ | ====== | ||
+ | |||
+ | Если вы собираетесь использовать аппаратные интерфейсы ISDN (например, | ||
+ | Если вышеперечисленное вы не будете использовать, | ||
+ | |||
+ | | ||
+ | Первым делом установим последнюю (на день написания статьи - 3.1.0) версию // | ||
+ | Скачаем, | ||
+ | < | ||
+ | # wget http:// | ||
+ | # tar xf ./ | ||
+ | # cd ./ | ||
+ | # make | ||
+ | # make install DESTDIR=/ | ||
+ | # cd / | ||
+ | # makepkg -l y -c n / | ||
+ | # upgradepkg --install-new / | ||
+ | </ | ||
+ | |||
+ | | ||
+ | Далее установим последнюю (на день написания статьи - 3.1.0) версию // | ||
+ | Скачаем, | ||
+ | < | ||
+ | # wget http:// | ||
+ | # tar xf ./ | ||
+ | # cd dahdi-tools-3.1.0 | ||
+ | # autoreconf -i | ||
+ | # | ||
+ | --prefix=/ | ||
+ | --sysconfdir=/ | ||
+ | --localstatedir=/ | ||
+ | --libdir=/ | ||
+ | --includedir=/ | ||
+ | |||
+ | # make | ||
+ | # make install DESTDIR=/ | ||
+ | # make install-config DESTDIR=/ | ||
+ | # cd / | ||
+ | # makepkg | ||
+ | # upgradepkg --install-new / | ||
+ | </ | ||
+ | |||
+ | | ||
+ | Теперь, | ||
+ | < | ||
+ | # wget http:// | ||
+ | # tar xf ./ | ||
+ | # cd libpri-1.6.0 | ||
+ | # make | ||
+ | # make install DESTDIR=/ | ||
+ | # cd / | ||
+ | # makepkg | ||
+ | # upgradepkg --install-new / | ||
+ | </ | ||
+ | |||
+ | | ||
+ | Собственно, | ||
+ | |||
+ | < | ||
+ | # sbopkg -Bki " | ||
+ | # wget http:// | ||
+ | # tar xf ./ | ||
+ | # cd asterisk-17.3.0 | ||
+ | # ./configure \ | ||
+ | --prefix=/ | ||
+ | --sysconfdir=/ | ||
+ | --localstatedir=/ | ||
+ | --libdir=/ | ||
+ | --includedir=/ | ||
+ | </ | ||
+ | |||
+ | Выбираем опции, подробнее об опциях [[https:// | ||
+ | < | ||
+ | # make menuselect | ||
+ | # make | ||
+ | # make install DESTDIR=/ | ||
+ | </ | ||
+ | |||
+ | <note tip> | ||
+ | Если ошибка: | ||
+ | \\ | ||
+ | < | ||
+ | ---> IMPORTANT INFORMATION ABOUT format_mp3 < | ||
+ | *** *** | ||
+ | *** format_mp3 has been selected to be installed, but the *** | ||
+ | *** MP3 decoder library has not yet been downloaded into *** | ||
+ | *** the source tree. To do so, please run the following | ||
+ | *** command: | ||
+ | *** *** | ||
+ | *** $ contrib/ | ||
+ | </ | ||
+ | Так и делаем | ||
+ | < | ||
+ | # ./ | ||
+ | </ | ||
+ | должны подгрузиться файлы, и повторяем | ||
+ | < | ||
+ | # make install DESTDIR=/ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Собираем примеры конфигураций, | ||
+ | < | ||
+ | # make samples DESTDIR=/ | ||
+ | # make progdocs DESTDIR=/ | ||
+ | # make install-logrotate DESTDIR=/ | ||
+ | </ | ||
+ | |||
+ | Устанавливаем веб интерфейс для голосовой почты, для этого изменим в файле // | ||
+ | |||
+ | // | ||
+ | на \\ | ||
+ | // | ||
+ | |||
+ | Создаем недостающие каталоги и собираем. | ||
+ | < | ||
+ | # mkdir -p / | ||
+ | # make webvmail DESTDIR=/ | ||
+ | </ | ||
+ | |||
+ | собираем весь пакет и устанавливаем его. | ||
+ | < | ||
+ | # cd / | ||
+ | # makepkg -l y -c n / | ||
+ | # upgradepkg --install-new / | ||
+ | </ | ||
+ | |||
+ | Создадим скрипт для запуска - /// | ||
+ | В котором укажем, | ||
+ | < | ||
+ | # | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | # Запускаем asterisk от имени apache | ||
+ | | ||
+ | | ||
+ | |||
+ | . / | ||
+ | |||
+ | if ! [ -x $AST_SBIN/ | ||
+ | echo " | ||
+ | exit 0 | ||
+ | fi | ||
+ | |||
+ | if ! [ -d $AST_CONFIG ] ; then | ||
+ | echo " | ||
+ | exit 0 | ||
+ | fi | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | if [ " | ||
+ | | ||
+ | else | ||
+ | | ||
+ | fi | ||
+ | [ -x $CONFIGFILE ] && . $CONFIGFILE | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | # Start daemons. | ||
+ | echo -n $" | ||
+ | if [ -f $SAFE_ASTERISK ] ; then | ||
+ | | ||
+ | fi | ||
+ | if [ $AST_USER ] ; then | ||
+ | | ||
+ | fi | ||
+ | if [ $AST_GROUP ] ; then | ||
+ | | ||
+ | fi | ||
+ | if [ $AST_CONFIG ]; then | ||
+ | | ||
+ | fi | ||
+ | | ||
+ | | ||
+ | [ $RETVAL -eq 0 ] && touch / | ||
+ | echo | ||
+ | | ||
+ | } | ||
+ | | ||
+ | | ||
+ | # Stop daemons. | ||
+ | echo -n $" | ||
+ | | ||
+ | | ||
+ | [ $RETVAL -eq 0 ] && rm -f / | ||
+ | echo | ||
+ | | ||
+ | } | ||
+ | | ||
+ | | ||
+ | stop | ||
+ | start | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | case " | ||
+ | | ||
+ | start | ||
+ | ;; | ||
+ | stop) | ||
+ | stop | ||
+ | ;; | ||
+ | | ||
+ | | ||
+ | ;; | ||
+ | | ||
+ | | ||
+ | ;; | ||
+ | | ||
+ | [ -f / | ||
+ | ;; | ||
+ | | ||
+ | | ||
+ | ;; | ||
+ | *) | ||
+ | echo " | ||
+ | exit 1 | ||
+ | | ||
+ | |||
+ | exit $? | ||
+ | </ | ||
+ | Раздадим права: | ||
+ | < | ||
+ | # chown -R apache: | ||
+ | # chown -R apache: | ||
+ | # chown -R apache: | ||
+ | # chown -R apache: | ||
+ | # chown -R apache: | ||
+ | # chown apache / | ||
+ | # chown apache / | ||
+ | # chmod -R 0770 / | ||
+ | # chmod -R 0770 / | ||
+ | # chmod -R 0770 / | ||
+ | # chmod -R 0770 / | ||
+ | # chmod -R 0770 / | ||
+ | </ | ||
+ | |||
+ | Стартуем // | ||
+ | < | ||
+ | # chmod +x / | ||
+ | # / | ||
+ | |||
+ | Starting asterisk: | ||
+ | </ | ||
+ | |||
+ | Заходим в консоль Asterisk, дабы убедиться, | ||
+ | < | ||
+ | # asterisk -rvvv | ||
+ | |||
+ | Asterisk 17.3.0, Copyright (C) 1999 - 2018, Digium, Inc. and others. | ||
+ | Created by Mark Spencer < | ||
+ | Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' | ||
+ | This is free software, with components licensed under the GNU General Public | ||
+ | License version 2 and other licenses; you are welcome to redistribute it under | ||
+ | certain conditions. Type 'core show license' | ||
+ | ========================================================================= | ||
+ | Connected to Asterisk 17.3.0 currently running on your-voip-server (pid = 13071) | ||
+ | your-voip-server*CLI> | ||
+ | </ | ||
+ | |||
+ | Как видим - работает! \\ | ||
+ | Для выхода из консоли нужно набрать //exit//. | ||
+ | |||
+ | ====== FreePBX ====== | ||
+ | |||
+ | Настроим MySQL. | ||
+ | < | ||
+ | # mkdir / | ||
+ | # mysql_install_db | ||
+ | # chown -R mysql.mysql / | ||
+ | # / | ||
+ | # mysql | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Правим /// | ||
+ | < | ||
+ | # Убираем знак комментария с: | ||
+ | LoadModule rewrite_module lib64/ | ||
+ | |||
+ | # Приводим к виду: | ||
+ | DocumentRoot "/ | ||
+ | < | ||
+ | Options Indexes FollowSymLinks | ||
+ | AllowOverride All | ||
+ | Require all granted | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | DirectoryIndex index.html index.php | ||
+ | </ | ||
+ | |||
+ | # Убираем знак комментария с: | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Правим /// | ||
+ | < | ||
+ | upload_max_filesize = 50M | ||
+ | date.timezone = Europe/ | ||
+ | max_execution_time = 600 | ||
+ | memory_limit = 512M | ||
+ | </ | ||
+ | |||
+ | Перезапуск (// | ||
+ | < | ||
+ | # / | ||
+ | </ | ||
+ | |||
+ | Для прослушивания записей в браузере проверьте, | ||
+ | < | ||
+ | # wget https:// | ||
+ | # upgradepkg --install-new ./ | ||
+ | |||
+ | # wget https:// | ||
+ | # upgradepkg --install-new ./ | ||
+ | </ | ||
+ | |||
+ | Устанавливаем // | ||
+ | При помощи //sbopkg//, устанавливаем // | ||
+ | Скачиваем последнюю (на день написания статьи - 15.0) версию // | ||
+ | < | ||
+ | # pear install DB | ||
+ | # sbopkg -Bki " | ||
+ | # wget http:// | ||
+ | # tar xf ./ | ||
+ | # cd freepbx | ||
+ | </ | ||
+ | В файле // | ||
+ | < | ||
+ | sed -i " | ||
+ | </ | ||
+ | Устанавливаем FreePBX: | ||
+ | < | ||
+ | ./install -n -vv --rootdb --force \ | ||
+ | --dbuser=root \ | ||
+ | --dbpass=mypassword \ <---- Пароль root в MySQL | ||
+ | --user=apache \ | ||
+ | --group=apache \ | ||
+ | --webroot=/ | ||
+ | --astetcdir=/ | ||
+ | --astmoddir=/ | ||
+ | --astvarlibdir=/ | ||
+ | --astagidir=/ | ||
+ | --astspooldir=/ | ||
+ | --astrundir=/ | ||
+ | --astlogdir=/ | ||
+ | --ampbin=/ | ||
+ | --ampsbin=/ | ||
+ | --ampcgibin=/ | ||
+ | --ampplayback=/ | ||
+ | </ | ||
+ | После завершения установки вы увидите сообщение: | ||
+ | __**You have install successefully installed FreePBX**__ | ||
+ | |||
+ | Теперь запретим установку коммерческих модулей. | ||
+ | # fwconsole ma disablerepo commercial | ||
+ | Установим все оставшиеся модули. | ||
+ | # fwconsole ma installall | ||
+ | Удалим не нужные. | ||
+ | # fwconsole ma delete firewall | ||
+ | Перезапустим. | ||
+ | # fwconsole r | ||
+ | |||
+ | Дальше можно продолжить установку перейдя в web-интерфейс по адресу (в нашем примере): | ||
+ | | ||
+ | По завершению установки, | ||
+ | {{: | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | [[http:// |