CentOS 7 установлена в среде виртуализации ProxMox. При установке CentOS 7 все установки были выбраны по умолчанию, настройки сети не проводились, что привело к тому, что после установки CentOS 7 сетевой интерфейс не настроен и, даже более того, там отсутствует утилита ifconfig. Нам нужно всё настроить и установить Asterisk. Поехали!
1. Первым делом мы вводим команду:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
2. Откроется конфигурационный файл ifcfg-eth0 в текстовом редакторе vi:
3. Вносим в него следующие изменения (нажимаем клавишу i, тем самым включая режим правки). Параметр BOOTPROTO=none показывает на то, что мы будем вводить IP-адрес вручную. По умолчанию параметру BOOTPROTO было присвоено значение dhcp. Затем вводим сетевые настройки и не забываем в конце файла параметр ONBOOT=no изменить на ONBOOT=yes, чтобы интерфейс после перезагрузки поднимался(включался) самостоятельно.
4. Затем нажимаем Esc, и вводим с клавиатуры :wq (двоеточие тоже нужно вводить), этой командой редактора vi мы сохраним наши изменения в конфигурационном файле.
5. Вводим команду
reboot
и после перезагрузки проверяем работоспобность нашей сети, например пингом шлюза сети.
6. Если команда ping 8.8.8.8 дала положительный ответ, то делаем вывод, что мы настроили интерфейс на предыдущих шагах правильно и интернет на нашей машине CentOS 7 появился, если в ответ на пинг выходит ошибка:… , то в файл /etc/sysconfig/network нужно прописать:
NETWORKING=yes HOSTNAME=centos7 GATEWAY=192.168.1.200
7. Далее выполняем в консоли команду:
ping ya.ru
и если она также даёт положительный ответ, то мы понимаем, что параметр DNS1 в файле /etc/sysconfig/network-scripts/ifcfg-eth0 мы, также, задали правильно и доменные имена нормально разрешаются в IP-адреса.
8. Делаем обновление пакетов в системе командой:
yum upgrade
в консоли. Затем, снова, перезагружаемся командой
reboot
9. Устанавливаем на всякий случай пакеты net-tools и nano командой:
yum install -y make net-tools nano
Пакет net-tools нужен для функционирования ifconfig, если впоследствии мы захотим работать с сетевыми интерфейсами проще, а nano это более дружелюбный к пользователю текстовый редактор, чем vi.
10. Следующим шагом будет отключение SELINUX (систему улучшенной безопасности LINUX). Эта система много моей крови выпила, когда я устанавливал FTP-сервер и всё вроде бы работало, служба FTP позволяла подключаться пользователю, но в подключенный каталог я не мог ничего писать, да и читать из него, вроде тоже. Всему виной тогда была эта система безопасности, которая отключается из консоли следующей командой:
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
Данная команда, как вы наверное поняли, просто заменяет параметр SELINUX=enforcing на SELINUX=disabled в файле /etc/selinux/config.
11. Устанавливаем необходимые компоненты для работы Asterisk командой:
yum install -y make wget openssl-devel ncurses-devel newt-devel libxml2-devel kernel-devel gcc gcc-c++ sqlite-devel uuid uuid-devel libuuid libuuid-devel uuid-c++
12. Переходим в каталог, в который мы будем грузить исходники:
cd /usr/src/
13. Загружаем, консольной программой для загрузки файлов, wget исходники Asterisk, а также исходники DAHDI, libpri и JSON. Вводим три команду, друг за другом:
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz wget http://www.digip.org/jansson/releases/jansson-2.10.tar.gz
14. Распаковываем скачанные архивы командами:
tar zxvf dahdi-linux-complete* tar zxvf libpri* tar zxvf asterisk* tar zxvf jansson*
15. Компилируем DAHDI и включаем его в автозагрузку:
cd /usr/src/dahdi* make all && make install && make config
16. Включаем автоматический запуск службы DAHDI при старте системы и сразу стартуем службу:
chkconfig dahdi on service dahdi start
17. Компилируем libpri:
cd /usr/src/libpri* make clean && make && make install
18. Компилируем JSON:
cd /usr/src/jansson* ./configure --prefix=/usr/ && make clean && make && make install && ldconfig
19. Узнаём какой битности наша система и в зависимости от битности будем выбирать команду для компиляции исходников Asterisk. Вводим команду:
uname -a
Если в ответе команды есть 64, то значит у нас 64-битная система, в обратном случае 32-х битная.
20. Компилируем Asterisk:
cd /usr/src/asterisk*
Для 32-х битных:
.configure && make clean && make menuselect && make && make install
Для 32-х битных:
.configure --libdir=/usr/lib64 && make clean && make menuselect && make && make install
21. Устанавливаем образцы и конфигурационные файлы:
make samples make config
22. Перезагружаем систему:
reboot
23. После перезагрузки в окно консоли вводим:
asrerisk -r
И если после выполнения этой команды мы попадаем в консоль Asterisk CLI, то установку Asterisk можно считать успешной.
Следующая статья на эту тему: Первоначальная настройка Asterisk 14.5.0