Установка asterisk lts на centos 7
Содержание:
- CentOS 7 minimal
- Yandex mirror для CentOS
- Онлайн курс «Сетевой инженер»
- Mariadb
- Установка и настройка Freepbx
- Pjproject
- Asterisk
- Доступ в web интерфейс Freepbx
- Зависимости
- Настройка Web сервера
- Дополнительные материалы по Debian
- Видео установки CentOS 7 на raid 1
- Онлайн курс «Сетевой инженер»
- Install Asterisk
- Установка Asterisk в Ubuntu Linux
- Список оборудования:
- Asterisk Playlist:
- Учебник — Установка Asterisk на Ubuntu Linux
- Подготовка системы
- CentOS 7 установка на raid
CentOS 7 minimal
Если вы используете диск centos minimal iso, то увидите следующий экран:
Здесь вам предлагают указать параметры установки. Восклицательным знаком помечен раздел, без настройки которого продолжение невозможно. Для настройки доступны следующие параметры установки:
- Выбор часового пояса centos.
- Выбор раскладки клавиатуры.
- Поддержка каких языков будет осуществляться на сервере.
- Откуда будет происходить установка. Так как у нас дистрибутив centos minimal, установка будет с локального iso.
- Выбор пакетов для установки. В образе minimal доступен только минимальный набор софта.
- Разбивка жесткого диска. Подробнее коснемся этого пункта, когда будем разбирать установку на raid.
- Настройка сетевых интерфейсов.
Для продолжения установки необходимо выполнить как минимум разбивку жесткого диска. Без этого продолжение установки невозможно. Но мы пройдемся по всем параметрам и установим необходимые для нас значения.
Итак, нажимаем на DATE & TIME и настраиваем параметры времени:
- Указываем регион.
- Выбираем город.
- Включаем при необходимости службу времени для синхронизации часов centos с внешними серверами.
Это возможно сделать только если вы уже настроили сетевые параметры. Если нет, то вернитесь к этой настройке позже. - Выбираем список внешних серверов для синхронизации времени:
- Указываем формат, в котором будет отображаться текущее время.
- При необходимости изменяем дату сервера.
После завершения настроек жмем сверху синюю кнопку Done.
Идем в следующую настройку — KEYBOARD LAYOUT:
- Добавляем необходимые раскладки. Я добавил Russian.
- Нажимаем Options и выбираем, как будет происходить переключение раскладок.
- Тестируем раскладки и переключение. Если все в порядке, идем дальше.
Нажимаем LANGUAGE SUPPORT:
Выбираем дополнительные языки, которые будет поддерживать система. Чаще всего мне это не нужно, но для примера добавим поддержку русского языка. Это может пригодиться, например, при создании файлового архива с русскими названиями в файлах. С поддержкой русского языка можно работать в консоли с русскими названиями папок и файлов. Если у вас, к примеру, сервер настраивается для работы в качестве шлюза, поддержка дополнительных языков скорее всего не пригодится. После выбора снова жмем Done.
Теперь выполним сетевые настройки. Идем в раздел NETWORK & HOSTNAME. Подробно о я указывал в одной из своих статей, поэтому останавливаться на этом вопросе не буду. Включаем ползунок в положение ON и получаем автоматически настройки по dhcp:
- Включение ползунка в положение ON активирует интерфейс, он получает настройки по dhcp.
- Если вы хотите изменить эти настройки, нажимаете Configure.
- Указываете 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: |
Настройки системы |
---|
Подробная установка 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 на 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 на примере скрипта инкрементного архива на системе 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
-
Return to your build directory:
-
Download the latest version of Asterisk 16:
-
Untar the file:
-
Switch to the new Asterisk directory, replacing if needed:
Configure and Build Asterisk
-
In your build directory for Asterisk, run the script to prepare the Asterisk source code for compiling:
-
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.
-
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.
-
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.).
-
Press F12 to save and exit.
-
Compile Asterisk. When finished, you should see a message which says Asterisk has successfully been built.
-
Install Asterisk:
-
Install sample configuration files:
-
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.
-
Start Asterisk:
-
To ensure that asterisk service starts even after a reboot, enable the service:
-
Connect to Asterisk:
You should see an output similar to the following:
-
To see a list of possible commands:
-
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 |
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 |
curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash — apt-get install nodejs -y pear install Console_Getopt |
Устанавливаем поддержку MariaDB ODBC
1 |
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.