Установка asterisk lts на centos 7

CentOS 7 minimal

Если вы используете диск centos minimal iso, то увидите следующий экран:

Здесь вам предлагают указать параметры установки. Восклицательным знаком помечен раздел, без настройки которого продолжение невозможно. Для настройки доступны следующие параметры установки:

  1. Выбор часового пояса centos.
  2. Выбор раскладки клавиатуры.
  3. Поддержка каких языков будет осуществляться на сервере.
  4. Откуда будет происходить установка. Так как у нас дистрибутив centos minimal, установка будет с локального iso.
  5. Выбор пакетов для установки. В образе minimal доступен только минимальный набор софта.
  6. Разбивка жесткого диска. Подробнее коснемся этого пункта, когда будем разбирать установку на raid.
  7. Настройка сетевых интерфейсов.

Для продолжения установки необходимо выполнить как минимум разбивку жесткого диска. Без этого продолжение установки невозможно. Но мы пройдемся по всем параметрам и установим необходимые для нас значения.

Итак, нажимаем на DATE & TIME и настраиваем параметры времени:

  1. Указываем регион.
  2. Выбираем город.
  3. Включаем при необходимости службу времени для синхронизации часов centos с внешними серверами.
    Это возможно сделать только если вы уже настроили сетевые параметры. Если нет, то вернитесь к этой настройке позже.
  4. Выбираем список внешних серверов для синхронизации времени: 
  5. Указываем формат, в котором будет отображаться текущее время.
  6. При необходимости изменяем дату сервера.

После завершения настроек жмем сверху синюю кнопку Done.

Идем в следующую настройку — KEYBOARD LAYOUT:

  1. Добавляем необходимые раскладки. Я добавил Russian.
  2. Нажимаем Options и выбираем, как будет происходить переключение раскладок.
  3. Тестируем раскладки и переключение. Если все в порядке, идем дальше.

Нажимаем LANGUAGE SUPPORT:

Выбираем дополнительные языки, которые будет поддерживать система. Чаще всего мне это не нужно, но для примера добавим поддержку русского языка. Это может пригодиться, например, при создании файлового архива с русскими названиями в файлах. С поддержкой русского языка можно работать в консоли с русскими названиями папок и файлов. Если у вас, к примеру, сервер настраивается для работы в качестве шлюза, поддержка дополнительных языков скорее всего не пригодится. После выбора снова жмем Done.

Теперь выполним сетевые настройки. Идем в раздел NETWORK & HOSTNAME. Подробно о я указывал в одной из своих статей, поэтому останавливаться на этом вопросе не буду. Включаем ползунок в положение ON и получаем автоматически настройки по dhcp:

  1. Включение ползунка в положение ON активирует интерфейс, он получает настройки по dhcp.
  2. Если вы хотите изменить эти настройки, нажимаете Configure.
  3. Указываете hostname. Если забудете, то после установки этот параметр можно изменить.

Завершаем настройку нажатием на Done. Теперь можно вернуться в настройки часов и активировать Network Time.

Теперь перейдем в раздел INSTALLATION SOURCE. При установке centos minimal менять этот параметр нет необходимости. Там по-умолчанию установлен локальный источник, нам это подходит. Можно ничего не трогать:

В разделе SOFTWARE SELECTION при minimal установке тоже нечего выбрать, уже указан единственно возможный вариант:

Нам осталось рассмотреть последнюю обязательную настройку, без которой установка centos не начнется — INSTALLATION DESTINATION. Зайдя в нее вы увидите список подключенных к серверу дисков. В моем случае это один жесткий диск.

Если ваш диск определился правильно, выбираете его и нажимаете Done. Выскакивает окошко с предупреждением, что для установки системе понадобится примерно 1 Гб места на жестком диске, а на вашем жестком диске нет необходимого свободного места. Это происходит потому, что раньше на этом диске была установлена другая система и она занимала весь жесткий диск. Нам нужно удалить всю старую информацию для установки новой системы. Делаем это, нажимая Reclaim space:

Выбираем диск и удаляем все существующие разделы на нем — жмем сначала Delete all, а потом Reclaim space:

После этого установщик выберет весь диск в качестве диска для установки. После этого можно начать непосредственно установку centos, нажав кнопку Begin Installation.

Дальше рассмотрим вариант, когда вы выполняете установку с образа netinstall.

Yandex mirror для CentOS

mirror.yandex.ru — сайт компании Яндекс, зеркало репозитариев популярных дистрибутивов Linux, FreeBSD и других проектов, в том числе CentOS. Работает по протоколам HTTP, FTP и rsync.

На зеркале CentOS можно скачать дистрибутивы всех актуальных на текущий момент версий, а это версии 5, 6 и 7. Зеркало можно использовать в качестве источников стандартных репозиториев системы — base, updates, extras, centosplus.

Можно использовать, что я неоднократно делал, yandex mirror для сетевой установки CentOS. Путь к установочному образу: http://mirror.yandex.ru/centos/7/os/x86_64/images/

Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.

Онлайн курс «Сетевой инженер»

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные сети, рекомендую познакомиться с онлайн-курсом «Сетевой инженер» в OTUS. Это авторская программа в сочетании с удалённой практикой на реальном оборудовании и академическим сертификатом Cisco! Студенты получают практические навыки работы на оборудовании при помощи удалённой онлайн-лаборатории, работающей на базе партнёра по обучению — РТУ МИРЭА: маршрутизаторы Cisco 1921, Cisco 2801, Cisco 2811; коммутаторы Cisco 2950, Cisco 2960.

Особенности курса:

  • Курс содержит две проектные работы.;
  • Студенты зачисляются в официальную академию Cisco (OTUS, Cisco Academy, ID 400051208) и получают доступ ко всем частям курса «CCNA Routing and Switching»;
  • Студенты могут сдать экзамен и получить вместе с сертификатом OTUS ещё сертификат курса «CCNA Routing and Switching: Scaling Networks»;

Проверьте себя на вступительном тесте и смотрите программу детальнее по .

Mariadb

Centos 7 comes with Mariadb instead of Mysql.

1. Install mariadb if not already present

yum install mariadb-server

2. Setup mariadb to start on boot:

systemctl enable mariadb

3. Start mariadb:

systemctl start mariadb

4. Secure the installation by running following script and answering with defaults:

/usr/bin/mysql_secure_installation

Output:

usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] 
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] 
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] 
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] 
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Установка и настройка Freepbx

Скачиваем последнюю версию Freepbx с сайта разработчика.

# cd ~ && wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz

Распаковываем исходники.

# tar xvfz freepbx-*.tgz

Переходим в каталог freepbx и запускаем скрипт проверки запуска asterisk.

# cd freepbx && ./start_asterisk start

Если не получили ошибок, то запускаем установку непосредственно FreePBX.

# ./install -n

Если получили ошибку php:

PHP Fatal error: Uncaught Error: Call to a member function connected() on null in /root/freepbx/amp_conf/htdocs/admin/libraries/BMO/Framework.class.php:180

Запустите установку еще раз

# ./install -n

Она должна пройти без ошибок, но freepbx не будет работать корректно, так как не сможет подключиться к asterisk. После повторной установки надо открыть конфиг /etc/asterisk/manager.conf и в конце строки

#include manager_additional.conf
#include manager_custom.conf

заменить на

;include manager_additional.conf
;include manager_custom.conf

И убедиться, что указан параметр secret с паролем amp111. Если это не так, отредактируйте строку.

secret = amp111

Если этого параметра вообще нет, то добавить в секцию . После этого надо еще раз запустить установку freepbx, в третий раз. После этого ошибок быть не должно и freepbx будет корректно работать.

Если все прошло без ошибок, то можно проверять работу Freepbx. Но перед этим отключим Firewall, если он у вас работает.

# systemctl stop firewalld && systemctl disable firewalld

Я не хочу в этой статье касаться его настройки. Подробно вопрос настройки firewall я рассмотрел отдельно. Там можно узнать все нюансы. Здесь же я прото скажу, что для начала нам нужно открыть 80-й порт, чтобы мы смогли работать с веб интерфейсом:

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

Для полноценной работы астериск, нужно открыть следующие порты:

iptables -A INPUT -p udp -m udp --dport 5060 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 5061 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5060 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5061 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 4569 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5038 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 5038 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT

Теперь можно запустить httpd.

# systemctl start httpd

Добавляем его в автозагрузку:

# systemctl enable httpd

На этом установка закончена Freepbx. Можно зайти браузером на страницу с ip адресом сервера. У меня это http://85.143.175.176 Открывается начальная страница freepbx, где нам предлагается создать нового пользователя:

Создаем пользователя и заходим в web интерфейс управления астериском:

Вот и все, дальше можно заниматься настройкой. Раньше следующим разделом шла информация по автозагрузке freepbx, но в данный момент эта информация неактуально. Отдельно автоазгрузку для freepbx настраивать не надо. Она по дефолту автоматически запускается при старте системы.

Pjproject

вывод:

       libpjsua.so (libc6,x86-64) => /usr/lib/libpjsua.so
       libpjsip.so (libc6,x86-64) => /usr/lib/libpjsip.so
       libpjsip-ua.so (libc6,x86-64) => /usr/lib/libpjsip-ua.so
       libpjsip-simple.so (libc6,x86-64) => /usr/lib/libpjsip-simple.so
       libpjnath.so (libc6,x86-64) => /usr/lib/libpjnath.so
       libpjmedia.so (libc6,x86-64) => /usr/lib/libpjmedia.so
       libpjmedia-videodev.so (libc6,x86-64) => /usr/lib/libpjmedia-videodev.so
       libpjmedia-codec.so (libc6,x86-64) => /usr/lib/libpjmedia-codec.so
       libpjmedia-audiodev.so (libc6,x86-64) => /usr/lib/libpjmedia-audiodev.so
       libpjlib-util.so (libc6,x86-64) => /usr/lib/libpjlib-util.so
       libpj.so (libc6,x86-64) => /usr/lib/libpj.so

Asterisk

1. Install asterisk prerequisites if not already present

yum install wget curl bison perl perl-CPAN openssl-devel kernel-devel audiofile-devel sox svn gcc-c++ make ncurses-devel libxml2-devel mysql-devel sqlite-devel libuuid-devel jansson-devel

If you will use odbc with asterisk you will also need

yum install unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel

And the relevant connector for your database, for example mysql

yum install mysql-connector-odbc

2. Change to a suitable location for storing the downloaded software, for example:

cd /usr/local/src/

3. Download latest version of asterisk (at time of writing this was 10)

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-12-current.tar.gz

4. Extract the source directory

tar -xvzf asterisk-12-current.tar.gz

5. Change into the source directory (customize the command to the version that was downloaded)

cd asterisk-12.8.2

6. Get source for fomat_mp3 (not part of downloaded asterisk tar file)

contrib/scripts/get_mp3_source.sh

7. Configure. Centos 7 uses a different libdir from the default one in asterisk configure script. If you don’t specify this then you will have to link the lib64 library (ln -s /usr/lib/libasteriskssl.so.1 /usr/lib64/libasteriskssl.so.1) for asterisk to run.

./configure --libdir=/usr/lib64

8. Start compilation of the Asterisk interactive menu for selection of the components to build:

make menuselect

Under Add-ons choose:

<pre>format_mp3
app_mysql
cdr_mysql

Under Core Sound Packages and Extra Sound Packages choose any relevant packages. It is a good idea to install not just gsm but also other codecs, since it reduces cpu needs for transcoding and (depending on codec) can give better quality.

When exiting menuselect, when prompted, press S to save changes.

9. Compile and install asterisk

make
make install

10. Change directory owner and group

chown -R asterisk:asterisk /var/run/asterisk
chown -R asterisk:asterisk /var/log/asterisk
chown -R asterisk:asterisk /var/lib/asterisk
chown -R asterisk:asterisk /var/spool/asterisk
chown -R asterisk:asterisk /etc/asterisk

Доступ в web интерфейс Freepbx

Переходим в браузере по ip адресу или доменному имени сервера и создаем учетную запись администратора Freepbx. При первом заходе в 14-ю версию я увидел ошибку.

Текст ошибки.

Whoops \ Exception \ ErrorException (E_DEPRECATED)
Methods with the same name as their class will not be constructors in a future version of PHP; gui_hidden has a deprecated constructor in /var/www/html/admin/libraries/components.class.php on line 571

Насколько я понял, это сообщение о том, что используется какая-то конструкция, которая объявлена Deprecated и скоро не будет работать. Что с этим делать сейчас, я не понял. Нашел баг репорт с этой ошибкой — https://issues.freepbx.org/browse/FREEPBX-19941 Он почему-то отклонен, помещен как дублирующий, но найти эту же ошибку в трекере я не смог.

Если взять версию php 5.6, то там этой ошибки не будет. Freepbx 14 официально поддерживает только 5.6, но откатываться на нее совсем не хочется.

Я решил просто отключить обработчик ошибок bootstrap. Для этого открываем конфиг freepbx и добавляем туда новое значение.

# mcedit /etc/freepbx.conf
$bootstrap_settings = false;

Заходим в web интерфейс freepbx еще раз и создаем администратора.

Потом, используя созданную учетку, логинимся в панель и указываем начальные настройки. Рекомендую выбрать английский язык. Как я уже говорил, перевод на русский так себе, с ним иногда бывает сложно понять суть настроек.

После этого оказываетесь в веб панели Freepbx. Нажмите сверху на Dashboard и увидите сводную информацию по системе. Теперь можно начинать ее настройку, но это тема отдельной статьи. Возможно, до нее у меня когда-нибудь дойдут руки.

Зависимости

 yum install  -y e2fsprogs-devel  keyutils-libs-devel krb5-devel libogg \
 libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp php-pear \
 php php-gd php-mysql php-pdo kernel-devel ncurses-devel \
 audiofile-devel libogg-devel openssl-devel mysql-devel mysql-server zlib-devel \
 perl-DateManip sox srtp srtp-devel gmime gmime-devel
 
 yum install -y gcc-c++ make gnutls-devel kernel-devel libxml2-devel ncurses-devel \
 subversion doxygen texinfo curl-devel net-snmp-devel neon-devel \
 uuid-devel libuuid-devel sqlite-devel sqlite git speex-devel gsm-devel \
 unixODBC unixODBC-devel mysql-connector-odbc libtool-ltdl libtool-ltdl-devel php-mbstring php-xml

Настройка Web сервера

Для работы панели FreePBX нужен web сервер с php. Я буду использовать версию php 7.2 из базового рпозитория. Более подробно про настройку web срвера на Centos вы можете прочитать отдельно. Сейчас же коротко пройдем по шагам весь процесс.

Устанавливаем веб сервер apache:

# dnf install @httpd

Удаляем стартовую страницу.

# rm -f /var/www/html/index.html

Запускаем httpd и добавляем в автозагрузку.

# systemctl enable --now httpd

Открываем порты на firewalld, если вы ранее не настраивали iptables.

# firewall-cmd --add-service={http,https} --permanent
# firewall-cmd --reload

Если вы хотите использовать php 5.6, то сразу переходите в самый конец статьи, в соответствующий раздел. Ниже будем ставить дефолтную версию php 7.2 из базового репозитория Centos 8. Устанавливаем необходимые php расширения.

# dnf install wget @php php-pear php-cgi php-common php-curl php-mbstring php-gd php-mysqlnd php-gettext php-bcmath php-zip php-xml php-json php-process php-snmp

Изменяем максимально допустимый размер файла для загрузки и лимит по памяти для скриптов.

# sed -i 's/\(^upload_max_filesize = \).*/\100M/' /etc/php.ini
# sed -i 's/\(^memory_limit = \).*/\512M/' /etc/php.ini

Теперь нам нужно изменить некоторые параметры httpd — запустить его от пользователя asterisk и включить опцию AllowOverride. Это можно сделать руками в файле /etc/httpd/conf/httpd.conf, либо автоматически с помощью sed.

# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf
# sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf

Мы просто выставили следующие параметры:

  • User asterisk
  • Group asterisk
  • AllowOverride All

И так же в php-fpm меняем пользователя на asterisk в конфигурации пула /etc/php-fpm.d/www.conf

# sed -i 's/^\(user\|group\).*/\1 = asterisk/' /etc/php-fpm.d/www.conf
# sed -i 's/^\(listen.acl_users\).*/\1 = asterisk/' /etc/php-fpm.d/www.conf

Запускаем httpd и php-fpm.

# systemctl enable --now php-fpm httpd
# systemctl restart php-fpm httpd

Поверяем статус запущенных служб.

# systemctl status php-fpm httpd

Все в порядке, движемся дальше.

Дополнительные материалы по Debian

Рекомендую полезные материалы по Debian:
Настройки системы
  • Установка
  • Базовая настройка
  • Настройка сети
  • Обновление 8 до 9
  • Обновление 7 до 8
  • Включение логов cron

Подробная установка Debian 9 Stratch с помощью графического инсталлятора со скриншотами и пояснениями к каждому пункту установщика.

Базовая настройка сервера Debian. Приведены практические советы по улучшению безопасности и удобства администрирования.

Подробное описание настройки сети в Debian — задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др.

Обновление предыдущей версии Debian 8 Jessie до последней Debian 9 Stratch. Подробная инструкция с описанием по каждому этапу обновления.

Обновление версии Debian 7 wheezy до Debian 8 Jessie. Подробная инструкция с описанием по каждому этапу обновления.

Включение записи логов cron в Debian в отдельный файл и настройка ротации этого файла. Отключение логов в syslog.

Настройка программных комплексов
  • Proxmox
  • Шлюз в интернет
  • Установка Asterisk
  • Asterisk+Freepbx
  • PostgreSQL для 1С
  • Настройка pptp

Подробное описание установки гипервизора proxmox на raid1 mdadm на базе операционной системы Debian 8. Приведены практические советы по настройке.

Настройка интернет шлюза на Debian. Включает в себя настройку iptables, nat, dhcp, dns, iftop.

Чистая установка Asterisk 13 на сервер под управлением Debian 8. Никаких дополнений и GUI, только vanilla asterisk.

Установка Freepbx 12 и Asterisk 13 на сервер под управлением Debian/Ubuntu. Подробное описание и разбор ошибок установки.

Рассказ об установке и небольшой настройке сервера бд postgresql для работы с базами 1С. Задача не сложная, но есть небольшие нюансы как по настройке, так и по выбору дистрибутива.

Описание установки и настройки pptp сервера в Debian с передачей статических маршрутов клиенту для организации доступа к ресурсам сети.

Разное
  • Бэкап с помощью rsync
  • Тюнинг postgresl для 1C

Подробное описание настройки бэкапа с помощью rsync на примере скрипта инкрементного архива на системе Centos, Debian, Ubuntu, Windows.

Ускорение работы 1С с postgresql и диагностика проблем производительности

Видео установки CentOS 7 на raid 1

Watch this video on YouTube

Онлайн курс «Сетевой инженер»

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные сети, рекомендую познакомиться с онлайн-курсом «Сетевой инженер» в OTUS. Это авторская программа в сочетании с удалённой практикой на реальном оборудовании и академическим сертификатом Cisco! Студенты получают практические навыки работы на оборудовании при помощи удалённой онлайн-лаборатории, работающей на базе партнёра по обучению — РТУ МИРЭА: маршрутизаторы Cisco 1921, Cisco 2801, Cisco 2811; коммутаторы Cisco 2950, Cisco 2960.

Особенности курса:

  • Курс содержит две проектные работы.;
  • Студенты зачисляются в официальную академию Cisco (OTUS, Cisco Academy, ID 400051208) и получают доступ ко всем частям курса «CCNA Routing and Switching»;
  • Студенты могут сдать экзамен и получить вместе с сертификатом OTUS ещё сертификат курса «CCNA Routing and Switching: Scaling Networks»;

Проверьте себя на вступительном тесте и смотрите программу детальнее по .

Install Asterisk

  1. Return to your build directory:

  2. Download the latest version of Asterisk 16:

  3. Untar the file:

  4. Switch to the new Asterisk directory, replacing if needed:

Configure and Build Asterisk

  1. In your build directory for Asterisk, run the script to prepare the Asterisk source code for compiling:

  2. Start the build process. After a short while, you should see a menu on screen allowing you to configure the features you want to build. This also produces generic binaries instead of native architecture optimized binaries.

  3. If you want to use the MP3 format with Music on Hold, you should select , then use the right arrow to move to the right-hand list. Navigate to and press Enter to select it.

  4. Select additional core sound packages and Music on Hold packages in the left menu, and enable format for your desired language (ie. use the package for English.).

  5. Press F12 to save and exit.

  6. Compile Asterisk. When finished, you should see a message which says Asterisk has successfully been built.

  7. Install Asterisk:

  8. Install sample configuration files:

  9. Configure Asterisk to start itself automatically on boot:

Test Connection

You now have a working Asterisk phone server. Fire up Asterisk and make sure it runs.

  1. Start Asterisk:

  2. To ensure that asterisk service starts even after a reboot, enable the service:

  3. Connect to Asterisk:

    You should see an output similar to the following:

  4. To see a list of possible commands:

  5. To disconnect type:

    Once disconnected, Asterisk continues to run in the background.

Установка Asterisk в Ubuntu Linux

Хотите узнать, как установить Asterisk на Ubuntu Linux? В этом руководстве мы покажем вам все шаги, необходимые для установки сервера Asterisk VoIP на компьютере под управлением Ubuntu Linux.

• Ubuntu 18.04
• Ubuntu 19.04
• Звездочка 16.5.1
• Звездочка 16.6.0

Список оборудования:

В следующем разделе представлен список оборудования, использованного для создания этого учебника Asterisk.

Все вышеперечисленное оборудование можно найти на сайте Amazon.

Asterisk Playlist:

На этой странице мы предлагаем быстрый доступ к списку видео, связанных с Ubuntu Linux.

Playlist

Не забудьте подписаться на наш канал на YouTube FKIT.

На этой странице мы предлагаем быстрый доступ к списку учебных пособий, связанных с Asterisk.

Учебник — Установка Asterisk на Ubuntu Linux

На консоли Linux используйте следующие команды для установки необходимых пакетов.

Copy to Clipboard
apt-get update
apt-get install linux-headers-`uname -r`
apt-get install build-essential libtonezone-dev autoconf pkg-config libtool

Используйте следующие команды для загрузки пакета Asterisk.

Copy to Clipboard
mkdir /downloads/asterisk -p
cd /downloads/asterisk
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
tar -zxvf asterisk-16-current.tar.gz

Перед компиляцией звездочки необходимо выполнить загрузку необходимых пакетов.

Copy to Clipboard
cd /usr/src
git clone git://git.asterisk.org/dahdi/linux dahdi-linux
git clone git://git.asterisk.org/dahdi/tools dahdi-tools
git clone http://gerrit.asterisk.org/libpri libpri

Скомпилируйте и установите пакет dahdi-linux.

Copy to Clipboard
cd /usr/src/dahdi-linux/
make
make install

Скомпилируйте и установите пакет dahdi-tools.

Copy to Clipboard
cd /usr/src/dahdi-tools
autoreconf -i
./configure
make install
make install-config

Скомпилируйте и установите пакет libpri.

Copy to Clipboard
cd /usr/src/libpri
make
make install

Используйте следующие команды для выполнения требований библиотеки Asterisk.

Имейте в виду, что ваша версия ASTERISK и расположение файла могут отличаться от моей.

Copy to Clipboard
cd /downloads/asterisk/asterisk-16.6.0/contrib/scripts/
./install_prereq install

Если потребуется, введите международный код вашей страны.

В нашем примере мы установили код 55 для Бразилии.

Чтобы позвонить в Бразилию, сначала наберите 55.

Теперь вы можете скомпилировать и установить пакет Asterisk.

Имейте в виду, что вы версия ASTERISK, и расположение файла может отличаться от моего.

Copy to Clipboard
cd /downloads/asterisk/asterisk-16.6.0
./configure —with-pjproject-bundled
make menuselect
make
make install
make samples
make config
make install-logrotate

Команда make menuselect откроет меню, в котором вы можете выбрать модули для установки.

Если вы не знаете, что делать, оставьте модули по умолчанию и нажмите кнопку «Сохранить и выйти».

Команды make samples и make config установят образцы файлов конфигурации.

Вы закончили установку Asterisk.

Запустите службу Asterisk с помощью следующей команды:

Copy to Clipboard
service asterisk start

Используйте следующие команды для проверки статуса службы Asterisk.

Copy to Clipboard
service asterisk status

Используйте следующие команды для проверки портов связи, используемых Asterisk.

Copy to Clipboard
netstat -tulpn | grep asterisk
tcp 0 0 0.0.0.0:2000 0.0.0.0:* LISTEN 15800/asterisk
udp 0 0 0.0.0.0:55037 0.0.0.0:* 15800/asterisk
udp 0 0 0.0.0.0:5000 0.0.0.0:* 15800/asterisk
udp 0 0 0.0.0.0:4520 0.0.0.0:* 15800/asterisk
udp 0 0 0.0.0.0:5060 0.0.0.0:* 15800/asterisk
udp 0 0 0.0.0.0:4569 0.0.0.0:* 15800/asterisk
udp 0 0 0.0.0.0:2727 0.0.0.0:* 15800/asterisk
udp6 0 0 :::60105 :::* 15800/asterisk

Поздравляем! Вы завершили установку Asterisk в Ubuntu LInux.

2019-10-30T14:13:28-03:00

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

1 apt-get update && apt-get upgrade -y

Устанавливаем необходимые зависимости:

1 apt-get install build-essential linux-image-amd64 linux-headers-* apt-transport-https bison flex curl sox libncurses5-dev libssl-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libicu-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev subversion libtool-bin python-dev unixodbc dirmngr sudo apache2 mariadb-server mariadb-client default-libmysqlclient-dev -y

ВНИМАНИЕ. Обязательно перезагружаем систему и после этого продолжаем установку.. Устанавливаем PHP версии 5.6 (для корректной работы FreePBX fwconsole):

Устанавливаем PHP версии 5.6 (для корректной работы FreePBX fwconsole):

1
2
3

curl https://packages.sury.org/php/apt.gpg | apt-key add —
echo «deb https://packages.sury.org/php/ $(lsb_release -sc) main» > /etc/apt/sources.list.d/deb.sury.org.list
apt-get update && apt-get install php5.6 php5.6-curl php5.6-cli php5.6-mysql php5.6-mbstring php5.6-gd php5.6-xml php-pear -y

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

1
2
3

curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash —
apt-get install nodejs -y
pear install Console_Getopt

Устанавливаем поддержку MariaDB ODBC

1
2
3

wget https://downloads.mariadb.com/Connectors/odbc/connector-odbc-2.0.15/mariadb-connector-odbc-2.0.15-ga-debian-x86_64.tar.gz
tar -zxvf mariadb*
cp -v mariadb-connector-odbc-2.0.15-ga-debian-x86_64/lib/libmaodbc.so /usr/lib/x86_64-linux-gnu/odbc/

CentOS 7 установка на raid

Теперь рассмотрим наиболее сложный вариант установки. Мы будем ставить CentOS 7 на программный рейд. Для примера возьмем 2 диска и raid 1. Все установки будут такие же, как мы рассмотрели ранее, кроме одной — INSTALLATION DESTINATION.

Подключаем 2 диска к системе, загружаемся с установочного диска и идем в раздел разбивки диска. Видим 2 жестких диска. Выбираем оба и отмечаем пункт I will configure partition:

Жмем Done. Открывается немного кривое окно управления разделами жесткого диска.

Здесь мы первым делом удаляем все существующие разделы:

Должно получиться примерно так:

Нажимаем Done, когда закончим. В новом окне подтверждаем разбивку диска, нажимая Accept Сhanges:

Все остальные параметры выставляем как было рассказано выше. Теперь можно начинать установку CentOS 7 на программный raid, который мы только что создали.

Во время установки нужно указать пароль root, либо создать дополнительных пользователей. Пароль рекомендую установить, пользователей по необходимости.

После завершения установки на raid зайдем в систему и проверим состояние массива:

# df -h
# cat /proc/mdstat

Посмотрим информацию о корневом массиве:

# mdadm -D /dev/md126

Все в порядке, установка сервера закончена. Рейд раздел нормально функционирует, обеспечивая отказоустойчивость сервера.

Я очень рекомендую использовать софтовый raid линукса mdadm в повседневной деятельности. Он намного надежнее, понятнее и стабильнее встроенных в материнскую плату контроллеров. Отдавать предпочтение аппаратному рейду следует только в том случае, если он действительно аппаратный, он имеет батарейку и он действительно увеличивает производительность сервера. Во всех остальных случаях рекомендую пользоваться mdadm.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *