Установка астериск для работы с mysql

Установка марии mysql server


apt-get install mariadb-server
systemctl enable mysql&&systemctl start mysql&&service mysql status
mysqladmin -u root password

Самый простой способ для последних версий

В версиях MySQL, начиная с 5.7, можно логиниться в MySQL от root-пользователя без пароля, если системный пользователь тоже root. Это позволяет подключиться к MySQL как root-пользователь без ввода пароля, а потом изменить его. Это возможно если для пользователя root используется плагин аутентификации auth_socket.

Выполните команду:

Самый простой способ для последних версий

В версиях MySQL, начиная с 5.7, можно логиниться в MySQL от root-пользователя без пароля, если системный пользователь тоже root. Это позволяет подключиться к MySQL как root-пользователь без ввода пароля, а потом изменить его. Это возможно если для пользователя root используется плагин аутентификации auth_socket.

Выполните команду:

sudo mysql

Вы подключитесь к MySQL-серверу как root-пользователь. Теперь можно сбросить пароль одной командой. Вместо 12345 укажите свой пароль:

ALTER USER 'root'@'localhost' IDENTIFIED BY '12345';

Это самый простой способ, доступный в последних версиях MySQL при использовании плагина аутентификации auth_socket.

 

apt install libmariadb-dev

apt install libmariadb-dev-compat

UUID

apt-get install uuid uuid-dev

Астериск иногда требует

UUID — это механизм, позволяющий присвоить каждой файловой системе уникальный идентификатор. Эти идентификаторы генерируются утилитами файловой системы (например, mkfs.*) при форматировании устройства и спроектированы таким образом, что коллизии маловероятны. Все файловые системы GNU/Linux (включая заголовки swap и LUKS необработанных зашифрованных устройств) поддерживают UUID. Файловые системы FAT, exFAT и NTFS не поддерживают UUID, но всё равно перечислены в /dev/disk/by-uuid/ с более коротким UID (уникальным идентификатором):


1
ls -l /dev/disk/by-uuid/

 

Компиляция астериска

cd

Каталог скачивания астериска  https://downloads.asterisk.org/pub/telephony/asterisk


cd /usr/src&&wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz

Это для 11 астериска

cd /usr/src&&wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-11.25.3.tar.gz
tar -xvf asterisk-*.tar.gz&&cd asterisk-16.3*

tar -xvf asterisk-*.tar.gz&&cd asterisk-11.2*
cd contrib&&cd scripts

./get_mp3_source.sh

./install_prereq
./install_prereq test
./install_prereq install

cd ../../

./configure —with-jansson-bundled —with-pjproject-bundled —with-mysqlclient

./configure —with-mysqlclient —with-jansson-bundled

./configure —with-mysqlclient
asterisk 11 без janson

Jansson это ещё один проект, который используется при работе Asterisk. Он позволяет использовать данные JSON, на нем основано много функций гибкого управления АТС и передачи данных во внешние приложения и получения данных из них же.

Из вывода консоли

[pjproject] Configuring with —prefix=/opt/pjproject —disable-speex-codec —disable-speex-aec —disable-bcg729 —disable-gsm-codec —disable-ilbc-codec —disable-l16-codec —disable-g722-codec —disable-g7221-codec —disable-opencore-amr —disable-silk —disable-opus —disable-video —disable-v4l2 —disable-sound —disable-ext-sound —disable-sdl —disable-libyuv —disable-ffmpeg —disable-openh264 —disable-ipp —disable-libwebrtc —without-external-pa —without-external-srtp —disable-resample —disable-g711-codec —enable-epoll

Очистка если что то пошло не так.

Если ошибся почистить

make clean
rm -f defaults.h
rm -f include/asterisk/build.h
rm -f main/version.c
rm -f doc/core-en_US.xml
rm -f doc/full-en_US.xml
rm -f doc/rest-api/*.wiki
rm -f doxygen.log
rm -rf latex
rm -f rest-api-templates/*.pyc
make[1]: Entering directory ‘/usr/src/asterisk-16.30.0/menuselect’
rm -f menuselect cmenuselect gmenuselect nmenuselect menuselect.o strcompat.o menuselect_stub.o
make[1]: Leaving directory ‘/usr/src/asterisk-16.30.0/menuselect’
cp -f .cleancount .lastclean


make menuconfig

make

Теперь устанавливаем asterisk 16 и все его модули.

# make install

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

Формируем образцы файлов конфигурации, чтобы не писать их с нуля самим.
make samples

make basic-pbx

В завершении установки, создаем init скрипт.
make config

Можно еще обновить кэш используемых динамических библиотек.
ldconfig

Завести группу и пользователя астериск

useradd — это низкоуровневая утилита для создания пользователей в Linux.

adduser — представляет собой более простое решение для создания пользователей и по факту является надстройкой над useradd, groupadd и usermod.

Утилита adduser доступна не во всех дистрибутивах Linux. Реализация adduser также может отличаться. Если в дистрибутиве присутствует утилита adduser, то для создания пользователей рекомендуется использовать именно ее.

 

$ useradd опции имя_пользователя

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

  • -b — базовый каталог для размещения домашнего каталога пользователя, по умолчанию /home;
  • -c — комментарий к учетной записи;
  • -d — домашний каталог, в котором будут размещаться файлы пользователя;
  • -e — дата, когда учетная запись пользователя будет заблокирована, в формате ГГГГ-ММ-ДД;
  • -f — заблокировать учетную запись сразу после создания;
  • -g — основная группа пользователя;
  • -G — список дополнительных групп;
  • -k — каталог с шаблонами конфигурационных файлов;
  • -l — не сохранять информацию о входах пользователя в lastlog и faillog;
  • -m — создавать домашний каталог пользователя, если он не существует;
  • -M — не создавать домашнюю папку;
  • -N — не создавать группу с именем пользователя;
  • -o — разрешить создание пользователя linux с неуникальным идентификатором UID;
  • -p — задать пароль пользователя;
  • -r — создать системного пользователя, не имеет оболочки входа, без домашней директории и с идентификатором до SYS_UID_MAX;
  • -s — командная оболочка для пользователя;
  • -u — идентификатор для пользователя;
  • -D — отобразить параметры, которые используются по умолчанию для создания пользователя. Если вместе с этой опцией задать еще какой-либо параметр, то его значение по умолчанию будет переопределено.
  • Поле GECOS — это одно из полей записи файла /etc/passwd в Unix и других подобных. В него записывается основная информация о пользователе, например, реальное имя или номер телефона. В Unix это пятое поле из семи возможных.
  • adduser --system --no-create-home USERNAME

useradd -r -d /var/lib/asterisk -g asterisk asterisk

-r -создать системного пользователя, не имеет оболочки входа, без домашней директории и с идентификатором до SYS_UID_MAX
-g — основная группа пользователя;

groupadd asterisk &&

&& usermod -aG audio,dialout asterisk

108 groupadd -g 1500 asterisk
109 id asterisk
110 useradd -u 1500 -r -g asterisk asterisk
111 id
112 id asterisk

&& chown -R asterisk.asterisk /etc/asterisk

&& chown -R asterisk.asterisk /var/{lib,log,run,spool}/asterisk

&& chown -R asterisk.asterisk /usr/lib/asterisk

id asterisk

sed -i ‘s/#AST_USER=»asterisk»/AST_USER=»asterisk»/’ /etc/default/asterisk && sed -i ‘s/#AST_GROUP=»asterisk»/AST_GROUP=»asterisk»/’ /etc/default/asterisk && sed -i ‘s/;runuser = asterisk/runuser = asterisk/’ /etc/asterisk/asterisk.conf && sed -i ‘s/;rungroup = asterisk/rungroup = asterisk/’ /etc/asterisk/asterisk.conf

Подключить модуль cdr_mysql.so

После выполнения вышеуказанных действий запустите asterisk и попробуйте подключить модуль cdr_mysql.so. Для этого запустите подключение к asterisk:
asterisk -rvvv
И из командной строки asterisk (asterisk CLI) выполните следующую команду:
module load cdr_mysql.so
При возникновении ошибок решение см. в конце статьи. В случае, если Вы исправили ошибку, и Вам необходимо выгрузить и повторно загрузить модуль, выполните команды:
module unload cdr_mysql.so
module load cdr_mysql.so

В случае успеха asterisk может выдать несколько уведомлений и загрузит модуль. Убедиться в том, что модуль загружен, можно выполнив команду:
module show like cdr_mysql.so
После этого перезагрузите конфигурацию CDR и убедитесь, что звонки фиксируются в базе данных. Для перезагрузки конфигурации CDR выполните команды:
reload cdr
reload cdr_mysql.so

или
reload
На этом настройка asterisk закончена.

Будьте поаккуратнее с systemd

Если после завершения сборки, в директории /lib/systemd/system не появился файл asterisk.service необходимо его туда скопировать командой

cp /usr/src/asterisk-16.30.0/contrib/systemd/asterisk.service /lib/systemd/system


mv /etc/init.d/asterisk ~/asterisk.init.d.bak

tee /etc/systemd/system/asterisk.service

nano /etc/systemd/system/asterisk.service

!! вот этот файл вставить и будет запускаться

[Unit]
Description=Asterisk PBX And Telephony Daemon
After=network.target

[Service]
User=asterisk
Group=asterisk
Environment=HOME=/var/lib/asterisk
WorkingDirectory=/var/lib/asterisk
ExecStart=/usr/sbin/asterisk -f -C /etc/asterisk/asterisk.conf
ExecStop=/usr/sbin/asterisk -rx ‘core stop now’
ExecReload=/usr/sbin/asterisk -rx ‘core reload’

[Install]
WantedBy=multi-user.target

Сбиваются права /usr/run/asterisk  с asterisk на  root

 

Сбиваются права с asterisk на  root сделай вот это файл

Также может понадобится добавить правило в директорию /etc/tmpfiles.d для разрешения Asterisk
создавать сокет во время выполнения.

/etc/tmpfiles.d/asterisk.conf

в нем одна строчка

d /var/run/asterisk 0775 asterisk asterisk

systemctl daemon-reload

Делаем автозагрузку астериска

systemctl start asterisk
systemctl restart asterisk
systemctl enable asterisk
systemctl status asterisk
asterisk -rvvvv
systemctl start asterisk
systemctl status asterisk

Удалить астериск

rm -rf /etc/asterisk
rm -rf /var/log/asterisk
rm -rf /var/lib/asterisk
rm -rf /var/spool/asterisk
rm -rf /usr/lib/asterisk

root@iptv:/etc# find / -name «*asterisk*»
/var/run/asterisk
/var/run/asterisk/asterisk.ctl
/var/run/asterisk/asterisk.pid
/var/cache/apt/archives/asterisk_1%3a1.6.2.5-0ubuntu1.4_i386.deb
/var/cache/apt/archives/asterisk-config_1%3a1.6.2.5-0ubuntu1.4_all.deb
/var/cache/apt/archives/asterisk-sounds-main_1%3a1.6.2.5-0ubuntu1.4_all.deb
/var/lib/update-rc.d/asterisk
/var/lib/dpkg/info/asterisk-config.list
/var/lib/dpkg/info/asterisk.postrm
/var/lib/dpkg/info/asterisk.list
/var/log/asterisk
/usr/share/vim/vim72/syntax/asterisk.vim
/usr/share/vim/vim72/syntax/asteriskvm.vim
/etc/default/asterisk
/etc/rc4.d/S21asterisk
/etc/rc1.d/K21asterisk
/etc/rc3.d/S21asterisk
/etc/rc5.d/S21asterisk
/etc/init.d/asterisk
/etc/logrotate.d/asterisk
/etc/rc0.d/K21asterisk
/etc/rc2.d/S21asterisk
/etc/asterisk
/etc/rc6.d/K21asterisk
/root/.asterisk_history

 

root@vm:/usr/src/asterisk-11.25.3# find / -name «*asterisk*»
/run/asterisk
/root/.asterisk_history
/var/lib/mysql/asteriskcdrdb
/usr/share/javascript/codemirror/mode/asterisk
/usr/share/javascript/codemirror/mode/asterisk/asterisk.js
/usr/share/man/man8/safe_asterisk.8
/usr/share/man/man8/asterisk.8
/usr/include/asterisk
/usr/include/asterisk.h
/usr/sbin/safe_asterisk
/usr/sbin/asterisk
/usr/sbin/rasterisk
/usr/lib/systemd/system/asterisk.service
/usr/lib/libasteriskssl.so.1
/usr/lib/libasteriskpj.so
/usr/lib/pkgconfig/asterisk.pc
/usr/lib/libasteriskpj.so.2
/usr/lib/libasteriskssl.so

Готовые команды удаления

rm -rf /usr/share/javascript/codemirror/mode/asterisk

rm /usr/share/man/man8/safe_asterisk.8
rm /usr/share/man/man8/asterisk.8
rm /usr/include/asterisk
rm /usr/include/asterisk.h
rm /usr/sbin/safe_asterisk
rm /usr/sbin/asterisk
rm /usr/sbin/rasterisk
rm /usr/lib/systemd/system/asterisk.service
rm /usr/lib/libasteriskssl.so.1
rm /usr/lib/libasteriskpj.so
rm /usr/lib/pkgconfig/asterisk.pc
rm /usr/lib/libasteriskpj.so.2
rm /usr/lib/libasteriskssl.so

rm /usr/share/man/man8/safe_asterisk.8
rm /usr/share/man/man8/asterisk.8
rm -rf /usr/include/asterisk

 

rm /etc/rc0.d/K01asterisk
rm /etc/rc1.d/K01asterisk
rm /etc/default/asterisk
rm /etc/rc2.d/K01asterisk
rm /etc/init.d/asterisk
rm /etc/rc6.d/K01asterisk
rm /etc/rc3.d/K01asterisk
rm /etc/rc4.d/K01asterisk
rm /etc/rc5.d/K01asterisk
rm /usr/share/man/man8/safe_asterisk.8

rm /usr/include/asterisk.h
rm /usr/include/asterisk
rm /usr/lib/systemd/system/asterisk.service
rm /usr/lib/libasteriskpj.so.2
rm /usr/lib/libasteriskpj.so
rm /usr/lib/libasteriskssl.so.1
rm /usr/lib/pkgconfig/asterisk.pc
rm /usr/lib/libasteriskssl.so
rm /usr/sbin/rasterisk
rm /usr/sbin/asterisk
rm /usr/sbin/safe_asterisk
rm -rf /var/spool/asterisk
rm -rf /run/asterisk
rm /root/.asterisk_history

Ресурсы

Комп за 1000 руб
410039, Россия, Саратовская область, Саратов, Ново-Астраханское шоссе, 80с2
Цены компьютера 1000 рублей

kompza1000.ru
Телефон в Саратове +7 927 10-74-361
| Прайс-лист| RSS| Поиск| Карта сайта|