Как удалить asterisk ubuntu
Настройка и администрирование Windows и Linux, телефония Asterisk, готовые решения и услуги аутсорсинга.
Установка Asterisk 16 на Ubuntu 18 LTS Server из исходников
Статья рассчитана для новичков в установке астериск из исходников. В этом нет ничего трудного, как может показаться.
Итак, имеем установленную Ubuntu 18 LTS Server и цель установить Asterisk 16.X.X Communications Framework:
Устанавливаем зависимости:
Поддержку mp3
Доустанавливаем зависимости:
Компилим и ставим астериск:
В процессе установки вам нужно будет отметить нужные компоненты, если ставите в первый раз - оставляйте все как есть. Я обычно включаю поддержку MySQL/Postgres (либо ODBC) и русские звуковые файлы. В данном случае, помимо стандартного набора по умолчанию, я добавил chan_ooh323, res_config_mysql, app_macro и codec_g729.
Если вам нужны базовые конфиги после установки, то выполняем:
Устанавливаем скрипты для ротации логов:
Устанавливаем скрипт инициализации (для автозапуска):
Если вы хотите повысить безопасность заставив asterisk работать от одноименного пользователя, выполняем следующее:
Перенастроим logrotate, чтобы он создавал новые файлы лога с правильными правами:
Находим строчку:
и меняем на
Иначе на следующий день вы получите в консоли астериска ошибку: Unable to open log file '/var/log/asterisk/messages': Permission denied' и Unable to create queue log: Permission denied.
При необходимости добавляем астер в автозапуск и стартуем службу:
Если вам нужно перекомпилировать астериск и запустить заново, все просто:
Добавим дополнительные русские звуковые файлы для Asterisk, которых не было в исходниках:
Звуковые файлы из полученного архива нужно извлечь в папку /var/lib/asterisk/sounds/ru/ и на всякий случай обновить права:
Посмотреть, что озвучено можете по этой ссылке.
Для сохранения минимально необходимого функционала я использую следующий набор модулей для Asterisk 16. По названию чаще всего можно понять, зачем нужен модуль. Все файлы модулей должны присутствовать в папке /usr/lib/asterisk/modules/.
nano /etc/asterisk/modules.conf
А вот список конфигурационных файлов по умолчанию в папке /etc/asterisk:
acl.conf, asterisk.conf, calendar.conf, ccss.conf, cdr.conf, cdr_mysql.conf, cel.conf, chan_dahdi.conf, cli.conf, codecs.conf, confbridge.conf, extensions.ael, extensions.conf, extensions.lua, features.conf, festival.conf, followme.conf, iax.conf, indications.conf, logger.conf, manager.conf, mgcp.conf, modules.conf, musiconhold.conf, muted.conf, ooh323.conf, pjproject.conf, queuerules.conf, queues.conf, res_parking.conf, res_snmp.conf, rtp.conf, sip.conf, stasis.conf, udptl.conf, voicemail.conf.
На этом все, проверяем работу и смотрим на возможные ошибки в консоли:
Если выводятся только предупреждения, переходим к дальнейшей настройке. Например, по этой статье.
В данной статье пошагово опишем как выполнить установку Asterisk. Статья предназначена для IT-специалистов, желающих самостоятельно выполнить настройку и установку Asterisk для компании.
Если Вас интересует профессиональное внедрение системы IP-телефонии Asterisk « под ключ», то обращайтесь к нашим специалистам по телефону 8 (495 ) 989-85-33 или 8 (800 ) 333-75-33. Доверьте свою телефонию профессионалам.
Ручная установка Asterisk
Перед началом установки рекомендуется произвести полное обновление операционной системы. Это улучшит стабильность работы и безопасность сервера.
yum update
reboot
Создаем директорию, в которую поместим исходные коды дистрибутива Asterisk.
mkdir -p /usr/src/asterisk
cd /usr/src/asterisk
Аналогичным образом выкачиваем все требуемые пакеты:
Для компиляции исходников потребуется сам компилятор. Устанавливаем его следующей командой ( кавычки должны быть те, где на клавиатуре размещена буква « Ё»):
yum -y install make gcc gcc-c++ kernel-headers-`uname -r` kernel-devel-`uname -r` ncurses-devel newt-devel libtiff-devel libxml2-devel sqlite-devel glibc-headers
Распаковываем предварительно скачанные с официального сайта пакеты.
tar -xvf asterisk-current.tar.gz
tar -xvf dahdi-linux-complete-current.tar.gz
tar -xvf libpri-1.4-current.tar.gz
В первую очередь устанавливаем библиотеку LibPRI.
LibPRI — это OpenSource библиотека, предназначенная для работы с потоковыми TDM-интерфейсами ISDN: PRI (Primary Rate Interface)и BRI (Basic Rate Interface). Первый (PRI ) часто используется в России для работы с операторами по каналам Е1.
cd /usr/src/asterisk/libpri-*
make clean
make
make install
Далее устанавливается драйвера каналов DAHDI.
Драйвера предназначены для взаимодествия Asterisk с платами цифровых интерфейсов: E1, FXO, FXS и пр.
cd /usr/src/asterisk/dahdi-linux-complete*
make all
make install
make config
Далее задаем автоматический запуск службы DAHDI при старте системы:
chkconfig dahdi on
service dahdi start
Это может означать, что не стоят исходные коды для ядра. Вернитесь на этап, где требовалось установить исходные коды ядра.
На этом этапе устанавливаем само телефонное ядро Asterisk.
cd /usr/src/asterisk/asterisk*
. /configure
Если на этом шаге у Вас отобразится такая заставка, значит все идет по плану:
На этом этапе можно выбрать модули, которые будут входить в состав сборки. Если требуется работа с MySQL или другими компонентами, их рекомендуется установить заранее.
Система выбора модулей выглядит следующим образом ( хотя, она может быть и на черно-белом фоне):
- Перемещение — стрелками клавиатуры
- Выбор — пробелом
- XXX — модуль не доступен для установки. Необходимо установить недостающие зависимости и повторить все с шага». /configure»
- F12 — сохраняем и выходим
Далее, оканчиваем установку:
make
make install
Создаем дефолтные конфиги и образцы.
make samples
make config
Добавляем Астериск в автозагрузку
chkconfig asterisk on
Запускаем Астериск консольно, количеством «v » в опции задавая плотность протоколирования (verbosity ). Убеждаемся, что Астериск запускается нормально, после чего останавливаем его.
asterisk -vc
stop now
Запуск будет сопровождаться таким списком загружаемых модулей:
Теперь Asterisk можно запустить как службу, после чего подключиться к нему штатно в режиме консоли.
service asterisk start
asterisk -rvvvv
Работа с DAHDi
После инсталляции карты, проверяем ее в системе
в /etc/dahdi/modules
комментим все модули, вписываем нужный нам, например, quasarm
в /etc/dahdi/system.conf
Указываем зоновую ( региональную) принадженость.
Настраиваем согласование потока между АТС оператора и Asterisk.
span = 1,0,0,CCS,HDB3,CRC4 //Задается источник синхронизации, тип кодирования и необходимость проверки четности
bchan=1-15,17-31 // Задаются тайм-слоты для голоса
dchan=16 //Задаются сигнальные тайм-слоты для данных (0 -й — по умолчанию)
echocanceller=mg2,1-15,17-31 // Указывается тип эхоподавителя и тайм-слоты, на которых он будет задействован.
Теперь чуть более подробно по опциям.
span = <span_num>,<timing>,<LBO>,< framing>,<coding>[,crc4]
где
span_num – номер порта E1 ( от 1 до максимального номера порта в плате)
timing – использовать ли порт как источник синхронизации
0 – порт адаптера ведущий по E1
1 и более – порт ведомый по E1 и является одним из источников
синхронизации адаптера. Чем больше число, тем меньше приоритет порта.
LBO – параметр не используется, ставить 0.
Framing – тип телефонной сигнализации, ставить ccs или cas.
Coding – кодирование в линии, может принимать значения ami или hdb3
Crc4 – разрешить проверку и генерацию crc4 ( не обязательный параметр)
Делаем рестарт dahdi
service dahdi stop
service dahdi status
Если не выгрузился, необходимо сначала остановить Asterisk:
service asterisk stop
service asterisk start
service dahdi start
Значения не ниже 99,9 — хороший результат. Он означает, что DAHDI-устройство не вынуждено конкурировать с другими процессами за прерывания и время процессора. Значения ниже 99.9 будут приводить к ухудшению качества звука, срыву синхронизации канала E1, скрежету и обрывам голоса.
В случае, если значения ниже 99,9 ( да и просто для профилактики), неободимо убедиться, что цифровая карта не делит прерывания с другими драйверами.
cat /proc/interrupts
[pbx.localdomain
wctdm занимает отдельный irq, это правильно
если с кем-то делит, то это может сказывать на работе карты и качестве голоса.
Чаще всего наблюдается ситуация, когда драйвера USB и DAHDI занимают одно прервывание. Это нежелательная ситуация, и в ней лучше всего либо разнести драйвера по разным прерываниям, либо отключить USB на уровне BIOS.
тут можно увидеть ошибки в работе карты:
показывать сведения о карте
показывает конфигурационный файл, который используется
затем в /etc/asterisk/chan_dahdi.conf
примерный конфиг:
language=ru
context=from-trunk
signalling=pri_cpe
rxwink=300 ; Atlas seems to use long (250ms ) winks
;
; Whether or not to do distinctive ring detection on FXO lines
;
;usedistinctiveringdetection=yes
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
echotraining=800
rxgain=0.0
txgain=0.0
group=0
callgroup=1
pickupgroup=1
immediate=no
;busydetect=yes
;busycount=5
faxdetect=no
switchtype=euroisdn ; or qsig
immediate=no
context=from-trunk
resetinterval=100000000
signalling=pri_cpe ; or pri_net
group=0
channel ≥1-15,17-31
dahdi restart
dahdi show channels — проверяем что каналы поднялись
dahdi show channel 1
Установка Asterisk из YUM
Помимо компиляции Asterisk вручную, можно воспользоваться менеджером пакетов YUM, который является штатной утилитой RedHat-based дистрибутивов.
Вам требуется создать новый файл с названием «centos -asterisk.repo» в директории the» /etc/yum.repos.d». В него вы вносите следующую конфигурацию:
Сохраняете данный файл и создаете новый: «centos -digium.repo». Вносите в него следующий текст:
После того как репозитории добавлены, можно приступить к установке пакетов.
Запускаем Asterisk и подключаемся к нему:
service asterisk start
asterisk -rvvv
Астериск — конфигурационные файлы
Главный конфигурационный файл:
asterisk.conf: Сервер Asterisk берет из этого файла информацию о том, где какие файлы находятся в системе, включая директорию, где лежат все остальные файлы конфигурации. По умолчанию, Asterisk ищет файл asterisk.conf в директории /etc/asterisk, но Вы можете, с помощью параметров запуска Asterisk, задать другое расположение и имя этого файла.
Файлы конфигурации каналов Asterisk:
iax.conf: Файл с конфигурацией канала IAX2
sip.conf: Файл с конфигурацией канала SIP
chan_dahdi.conf: Файл с конфигурацией каналов DAHDi
Файлы конфигурации Диалплана ( Плана набора):
extensions.conf: Конфигурация плана набора
extensions.ael: План набора в новом формате AEL (Asterisk Extensions Language)
features.conf: Конфигурация Парковки вызовов, перевода вызова, перехвата и прочих сервисных функций Asterisk.
Файлы конфигурации специфичные для некоторых команд плана набора:
alarmreceiver.conf: Конфигурация для команды AlarmReceiver
dundi.conf: Конфигурация, используемая командой DUNDiLookup
festival.conf: Конфигурация, используемая командой Festival
indications.conf: Определение тонов для команды Playtones
meetme.conf: Файл с конфигурацией конференций для команды MeetMe
musiconhold.conf: для команды MusicOnHold
queues.conf: Определение очередей звонков и их параметров для команды Queue
voicemail.conf: Конфигурация голосовых почтовых ящиков для команды VoiceMail
Конфигурационные файлы не попадающие в какую-либо категорию:
Основная фишка во всех файлах конфигурации
Установка кодека g729 ( и g723)
Кодек G729 обременен патентными ограничениями, что не дает возможность команде разработчиков Asterisk включить его в стандартную сборку Asterisk. Тем не менее, данный кодек является самым популярным кодеком на низкоскоростных каналах связи. Поэтому нам необходимо установить его самостоятельно.
cli> core show translation
показывает время ( ед. измерения в заголовке таблицы) транскодинга из одного формата в другой. В то же время позволяет понять, какие кодеки установлены. и загружены в систему.
Например, для Сentos 32 бита, на платформе intel, подойдет:
затем загружаем модуль в астериск
cli> core show translation
если мы ошиблись в выборе нужного кодека, скорее всего астериск « упадет»
Запускаем астериск и видим на каком этапе он вываливается
Удаляем модуль и перезапускаем астериск.
Без удаления можно обойтись так: в файле modules.conf добавить строчку
это значит, что при старте этот модуль автоматически загружаться не будет
После нормальной загрузки кодека, выполните команду core show translations для того чтобы убедиться в корректности установки кодека.
Подключение SIP клиента
Теперь необходимо настроить со стороны Asterisk-а SIP-аккаунт для внутреннего абонента.
[general]
;глобальные значения переменных канала SIP
disallow=all
allow=gsm
allow=ulaw
allow=alaw
context=default
;……
register ≥ user:pass@host/callerid
Создаем номер для абонента, узказывая для него опции подключения.
[100]
deny=0.0.0.0/0.0.0.0 //указание сетей, из которых запрещено подключение
permit=0.0.0.0/0.0.0.0 //указание сетей, из которых разрешено подключение
type=friend //указываем тип абонента.
secret=asdff34tgg //задаем пароль на подключение
qualify=yes // Активируем KeepAlive
port=5060 // Задаем порт, на котором будет работать абонентское устройство ( используется, если не работает функция регистрации абонентского устройства)
pickupgroup=1 // Задаем принадлежность к группе перехвата
nat=yes // Указываем, будет ли устройство находиться за NAT-ом по отношению к серверу Asterisk
mailbox=100@device // Указываем номер и контекст ящика голосовой почты
host=dynamic // Задаем IP абонетского устройства или сообщаем с опцией dynamic, что для местоопределения будет использоваться механизм регистрации
dtmfmode=rfc2833 // Тип передачи DTMF-сигналов
disallow=all // Сначала запрещаем все кодеки
allow=ulaw // Тут указываем допустимые кодеки, перечисляя их построчно сверху вниз в порядке приоритета
allow=gy29
dial=SIP/100 // Задаем команду Dial, которая будет использоваться для вызова данного абонента
context=from-internal // Указываем принадлежность абонента определенному контексту.
canreinvite=no // Указываем возможность использования механизма CanReinvite. Не рекомендуется для устройств, которые могут быть отделены от сервера NAT-ом
callgroup=1 // Указываем группу набора
callerid=Alexey <100> // Задаем CallerID — имя и номер, которые будут высвечиваться у других абонентов, а также в CDR.
call-limit=2 // Задаем максимальное количество линий, которые одновременно могут использоваться абонентом. Рекомендуется задавать не более 2-3-х одновременных линий.
сохраняем и делаем в cli
sip show peers
100/100 (Unspecified ) D N A 5060 UNKNOWN
1 sip peers [Monitored: 1 online, 0 offline Unmonitored: 0 online, 0 offline]
Теперь настраиваем софтфон или SIP телефон. Простая и понятная инструкция по настройке софтфона X-Lite для Asterisk находится здесь. Указываем реквизиты из sip.conf
user
pass
ip-proxy — IP нашего Астериск
Когда телефон подключится, мы должны увидеть
100/100 192.168.0.10 D N A 5060 OK (111 ms)
1 sip peers [Monitored: 1 online, 0 offline Unmonitored: 0 online, 0 offline]
Настройки для конкретного SIP peer
sip show peer 100
Необходимо создать второй аккаунт для коллеги, чтобы пускать звонки и тестировать корректность настройки Asterisk.
Сделать действия аналогичные, создать второй номер и сообщить реквизиты для SIP клиента коллеге.
Полезные команды CLI Asterisk
sip show peers
sip show peer 100
sip show settings
sip reload
sip set debug on
rtp set debug on
core show translation
dahdi show channels
core show application Dial
core show application CALLERID
core reload
dialplan reload
dialplan show context
dialplan show 100@context
Простой диалплан. Файл extensions.conf
Файл Extensions.conf описывает логику работы Asterisk, а именно, обработку входящих вызовов, маршрутизацию исходящих вызовов, обработку звонков и событий по разнообразным правилам. В Asterisk это называется ДиалПланом (DialPlan ). Как говорят разработчики, диалплан — это сердце Asterisk.
За работу диалплана отвечает файл extensions.conf. Файл поделен на контексты, в каждом из которых прописана логика работы. Логика работы формируется с помощью приложений. Приложения — это функции Asterisk, запускаемые с параметрами. Последовательность выполнения приложений — построчная.
Так как каждая телефонная линия или номер внутреннего абонента может принадлежать только одному контексту, осуществляется логическое разделение всех внутренних абонентов и телефонных линий операторов.
Например, в данном контексте, который назначен абоненту с номером 100, описана возможность выполнения трех действий:
- звонка на внутренний номер 999, который выполняет какую-либо функцию
- звонка другому внутреннему абоненту, номер которого начинается с цифры «1 » и состоящий из трех цифр
- звонок на внешние телефонные линии через SIP-оператора
[from-internal]
;тестовый звонок на номер 999, с возможность донабрать 2,3,5
exten ≥ 999,1,Answer ( )
exten ≥ 999,n,Background (hello -world)
exten ≥ 999,n,Hangup ( )
exten ≥ 2,1,Playback (digits /2)
exten ≥ 3,1,Playback (digits /3)
exten ≥ 5,1,Playback (digits /5)
;звонок на внутреннего абонента 1XX подключенного по технологии SIP
exten ≥ _1XX,1,Dial (SIP/$,60)
;звонок на московский номер через транк провайдера, который подключен к Asterisk по технологии SIP
Бывают случаи, когда необходимо полностью удалить FreePBX или Asterisk. К примеру начать использовать сервер для других нужд или же чтобы начать все заново после неудачный манипуляций с сервером телефонии. В этой статье будет подробно показано как правильно удалить FreePBX 13 версии и Asterisk версии 13.27.0 Удалять FreePBX и Asterisk будем вручную, для этого нужно будет […]
Бывают случаи, когда необходимо полностью удалить FreePBX или Asterisk. К примеру начать использовать сервер для других нужд или же чтобы начать все заново после неудачный манипуляций с сервером телефонии.
В этой статье будет подробно показано как правильно удалить FreePBX 13 версии и Asterisk версии 13.27.0
Обратите внимание! Дальнейшие действия абсолютно полностью очистят FreePBX с сервера без возможности восстановиться. Настоятельно рекомендуется сделать бэкап настроекУдалять FreePBX и Asterisk будем вручную, для этого нужно будет выполнить 3 шага.
Удаление таблиц MySQL
Подключаемся к MySQL с root правами: mysql -u root –ppassword
Удаляем таблицы базы данных:
Отключаемся от MySQL: exit;
Удаляем FreePBX.
Удаляем файлы, связанные с FreePBX, выполнив данные команды:
Всё. Можно увидеть, что от FreePBX ничего не осталось… Если вы попробуете зайти на web-интерфейс, вас выведется 404 ошибка. Однако Asterisk все еще будет работать.
Удаление Asterisk
Если надо удалить Asterisk, надо остановить все процессы связанные с ним. Обычно надо остановить сам Asterisk и связанные с ним процессы DAHDI.
Т.к. работы проводятся на виртуальной машине, драйверов Dahdi у нас нетВыполняем service asterisk stop
Теперь удаляем сам Asterisk. Как только команды, которые описаны ниже, будут выполнены, сервер телефонии будет удален:
Всё, теперь Asterisk’а больше нет на сервере.
Удаляем таблицы asterisk и asteriskcdrdb:
нет ли тут ошибки))))
Да, опечаточка, поправили)
А можно ли снести только Asterisk, не снося БД? Сможет ли новая установка также работать в имеющейся БД?
Добрый день, да можно. Только если в новой установке, не будет столбцов, отличающихся от имеющейся базы. Но я тогда рекомендую сделать дамп базы, удалить потом саму базу, и когда будете накатывать астер по новой, то туда вкатите существующий дамп, но тоже делайте внимательно, чтобы не было отличий по столбцам и ключам.
В статье не описано как чистить систему от pjproject, который требуется для работы chan_pjsip
Остались вопросы?
Я - Виталий Шелест, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
VoIP оборудование
Fanvil X3S
3 900 руб
Fanvil X3S
2 990 руб
Fanvil X3S
2 990 руб
Fanvil X3S
2 990 руб
Fanvil X3S
2 990 руб
Fanvil X3S
2 990 руб
ближайшие курсы
Курсы по Asterisk
последняя неделя
каждого месяца
Записаться
Новые статьи
Пример маршрутизации и проверки телефонного номера по API с использованием Python
Отправка уведомлений о звонках в Telegram
Настройка и подключение к Asterisk потока Е1 с использованием шлюза Yeastar TE
ближайшие Вебинары
Mikrotik User Meeting: конференция по сетевым технологиям
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.
Но мне нужна помощь ГУРУ, как удалять в сдр отчетах ярлык на запись разговора если она старше 14 дней ?
Да совершенно верно, мне не нужно удалять записи сдр, мне нужно удалять ярлык на звуковой файл, дайте карму что-бы мог комментировать=)
Comments
Дело не в карме - сайт глючит.
Спасибо, будем ждать когда сделается =)
насколько я помню после удаления файлы в freepbx уже не показывает микрофончик. там просто проверка есть ли файл. или что за ярлычек вам надо удалить?
показывает =( и ссылается на не существующий файл
у меня стоит * + отдельно накатил фрипбх
Мой вариант на удаление старых файлов - удаляет по проверке занятого места внимательно проверяйте как отдается свободное место перед запуском - должно быть в процентах - меняйте на $4 на $5 по необходимости в 2 местах
Comments
рекомендую добавить в цикл sleep 1
Вот тут я написал скрипт для удаления записей из MySQL.
Comments
и что конкретно в нем хорошего? вы проверяли ваш "скрипт" с базой на 1млн записей? а на 10млн? вы вообще в курсе что делает команда optimize с innodb базой?
При обслуживании базы надо еще предусмотреть ротацию/удаление mysql.log, иначе он растет бесконечно, например: mv mysql.log mysql.old; mysqladmin flush-logs
Comments
хороший совет - ничего не скажешь пароль к бд и сразу в крон. лучше на сокеты не ставить проверку пароля а поставить аутентификацию по пиру (системному пользователю) а внешние скрипты типа phpmyadmin вязать по порту. не знаю если в mysql есть такая возможность - давно на постгресе. но это уже как-то глубоко в оффтопик :-)
у mysql уже фиг знает сколько присутсвует возможность ставить разных пользователей разным адресам и хорошим тоном является запрет для пользователя рут доступа извне сервера. а если злоумышленик получил доступ к РУТОВОМУ кронтабу, то вас уже ничего не спасет, поверьте. хотя четсно говоря удаление 100000 записей на системах гед это 100000 больше чем сумарное число немного не радуют. я обычно удаляю по calldate>date_sub(now(),interval 6 month)
>>хороший совет - ничего не скажешь пароль к бд и сразу в крон.
А PHP скрипты веб интерфейса у вас пароли к БД спрашивают непосредственно перед исполнением?
скрипт надо не от рута запускать а из от униховского пользователя asterisk. Как это у меня - только юникс пользователи "asterisk" и "www-api" имеют доступ непосредственно к базе данных Астериска (так настроены pgident и pghba.conf). www-api - это пользователь для отдельного API контроллера (гальваническая развязка через JSON-RPC), который проксирует запросы от вебморды к базе и соответственно имеет к доступ к базе Астера. Если на сервере появились вредноносные веб скрипты то им нужно знать интерфейс между гальванической развязкой и вебмордой чтобы навредить базе Астера. Пароль в этом случае не нужен - api-контроллер коннектится к базе через сокет. Астер тоже через сокет может. если уже есть unix идентификация - зачем еще одна? без ident идентификации и с открытым паролем в /etc/crontab может быть весело. особенно если права для чтения для "other". от рута по идее вообще в системе ничего запускаться не должно.
на сервере телефонии имхо пофигу от какого пользователя. ибо кроме телефонии нчего нет. и если есть доступ к пользователю астриск - то уже можно всю инфу удалить.и смысл? ваши идеи какието сильно теоритические. много вы систем создали?
если кто-то получил физический доступ к вашей системе - это уже не ваша система. Если кто-то подключился к эластику и клонам через любую учетку, то он имеет доступ ко всему. В общем можно долго и нудно зарабатывать геморрой мозга устраняя потенциальные проблемы внутренней безопасности, а можно просто никого не пускать внутрь. И потом: если сокет пускает без пароля, то нахрен вся остальная псевдозащита?
Elastix в глаза не видел - только Vanilla. Делаю с нуля на ZF2 обе части + marcelog/PAGI (для AGIшной части использую только некоторые компоненты фреймворка, но оказалось весьма кстатьи - но это уже к поднятой теме безопасности не имеет отношение вроде как :) ). Далеко не на нулевом этапе. До этого долго изучал вопрос. Почему Вы думаете что все системы обязательно должны быть клонами Эластикса? Если создавать тиражируемую систему то вопрос размещения на разных серверах - не обязательно в компетенции разработчика. Как получат доступ к пользователю "asterisk" без взлома рута расскажите мне - при /sbin/nologin? Код Астера вроде небезопасными функциями не страдает насколько мне известно. Лучшая защита - изоляция объектов. Когда доступ к базе может быть от любого пользователя юникс - это не есть гуд. вот что я хотел сказать да и только. чем больше уровней защиты, тем лучше теоретически. если никого не пускать на сервер - это хорошо, но может не продлиться вечно.
Читайте также: