По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Шлюз Yeastar серии TA- это VoIP-шлюз с портами FXS для подключения аналоговых телефонов. Yeastar TA отличается богатым функционалом и простотой конфигурирования, идеален для малых и средних предприятий, которые хотят объединить традиционную телефонную сеть компании с телефонной сетью на базе IP. Yeastar TA помогает сохранить предыдущие инвестиции и уменьшить затраты на коммуникации.
В серии шлюзов Yeastar TA FXS имеются как аналоговые адаптеры на 1 или 2 аналоговых порта, так и шлюзы на 4, 8, 16, 24 и 32 порта. Шлюзы, начиная с 16 портовых, оснащены выходами Telco на 50 pin.
Для подключения всех шлюзов Yeastar серии TA к FreePBX следует сделать следующее. Для примера будет использоваться шлюз Yeastar TA3200.
$dbName_ecom = "to-www_ecom";
$GoodID = "2625843094";
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
mysql_select_db($dbName_ecom) or die(mysql_error());
$query_ecom = "SELECT `model`, `itemimage1`, `price`, `discount`, `url`, `preview115`, `vendor`, `vendorCode` FROM `items` WHERE itemid = '$GoodID';";
$res_ecom=mysql_query($query_ecom) or die(mysql_error());
$row_ecom = mysql_fetch_array($res_ecom);
echo 'Кстати, купить '.$row_ecom['vendor'].' '.$row_ecom['vendorCode'].' можно в нашем магазине Merion Shop по ссылке ниже. С настройкой поможем 🔧
Купить '.$row_ecom['model'].''.number_format(intval($row_ecom['price']) * (1 - (intval($row_ecom['discount'])) / 100), 0, ',', ' ').' ₽';
$dbName = "to-www_02";
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
mysql_select_db($dbName) or die(mysql_error());
Настройка в FreePBX
В веб-панели FreePBX необходимо создать внутренние номера PJSIP, на которых будут регистрироваться аналоговые телефоны, подключенные к шлюзу TA3200. Перейдите в Приложения, а затем в раздел Внутренние номера.
Создайте внутренний номер, нажав на Добавить внутренний номер.
После этого нажмите на Добавить новый SIP [chan_pjsip] внутренний номер.
В открывшемся окне заполните поля Внутренний номер пользователя, Отображаемое имя, Исходящий Caller ID и Секрет (пароль). После чего нажмите Сохранить.
Созданные новые номера отобразятся в списке
Теперь необходимо подключиться к веб-интерфейсу шлюза TA3200.
Настройка Yeastar TA3200
По умолчанию шлюз получает IP-адрес от DHCP сервера. Чтобы узнать его IP-адрес, подключите в один из портов FXS аналоговый телефон. Затем наберите *** и нажмите 1. Шлюз продиктует IP-адрес. Введите его в адресную строку браузера. По умолчанию логин admin, пароль password. Перейдите в раздел Система.
Перейдите в Сетевые настройки, подпункт Настройки LAN.
Проверьте настройки IP-адреса.
Далее Вам необходимо подключить шлюз к FreePBX. Перейдите в раздел Шлюз.
Откройте VoIP-настройки, подпункт Серверы VoIP.
Выберите сервер VoIP и откройте его для редактирования.
Во вкладке Основные настройки укажите Имя сервера, задайте IP-адреса и домен Вашего FreePBX.
Для сохранения введенных настроек нажмите Сохранить, затем нажмите Применить.
Перейдите в VoIP-настройки, подпункт Правила набора.
Выберите необходимый шаблон и откройте его на редактирование. В панели редактирования настроек задайте Имя шаблона и в поле Правило укажите . (точку).
Для сохранения настроек нажмите Сохранить, а затем нажмите Применить.
Перейдите в раздел Порты, подраздел Порты.
Выберите необходимый порт, в который подключен аналоговый телефон, и откройте его на редактирование. Укажите настройки для подключения номера на FreePBX
Имя Caller ID и номер Caller ID такие же, как на FreePBX.
В поле Сервер VoIP выбирите ранее созданный сервер VoIP.
В поле Имя и Имя регистрации укажите учетные данные созданного номера. В поле Пароль укажите Секрет (пароль) заданный на FreePBX.
В поле From укажите тот же номер, что и в поле Номер Caller ID.
Таким же образом заполните номер DID.
Выберите ранее отредактированное Правило набора
Нажмите Сохранить и затем Применить. Статус регистрации порта на FreePBX будет отображен в веб-панели шлюза.
Перейдите в раздел Статус. А затем перейдите в пункт Порты.
Указанный порт будет иметь статус ОК при успешной регистрации.
Одной из важнейших потребностей системы Linux является постоянное обновление последних исправлений безопасности, доступных для соответствующего дистрибутива.
В этой статье мы объясним, как настроить систему Debian и Ubuntu для автоматической установки и обновления необходимых пакетов безопасности или исправлений при необходимости.
Для выполнения задач, описанных в этой статье, вам понадобятся права суперпользователя.
Настройка автоматических обновлений безопасности в Debian и Ubuntu
Для начала установите следующие пакеты:
# aptitude update -y && aptitude install unattended-upgrades apt-listchanges -y
где apt-listchanges сообщит, что было изменено во время обновления.
Кстати, у нас есть статья, как сделать автоматическое обновление пакетов безопасности на CentOS или RHEL
Затем откройте /etc/apt/apt.conf.d/50unattended-upgrades в текстовом редакторе и добавьте эту строку в блок Unattended-Upgrade :: Origins-Pattern :
Unattended-Upgrade::Mail "root";
Наконец, используйте следующую команду для создания и заполнения необходимого файла конфигурации /etc/apt/apt.conf.d/20auto-upgrades для активации автоматических обновлений:
# dpkg-reconfigure -plow unattended-upgrades
Выберите Yes, когда будет предложено установить автоматические обновления (Automatically download and install stable updates? ) и затем убедитесь, что следующие две строки были добавлены в /etc/apt/apt.conf.d/20auto-upgrades:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
И добавьте эту строку, чтобы сделать отчеты подробными:
APT::Periodic::Verbose "2";
Наконец, проверьте /etc/apt/listchanges.conf, чтобы убедиться, что уведомления будут отправлены в root.
email_address=root
Готово! В этой статье мы объяснили, как обеспечить регулярное обновление вашей системы последними обновлениями безопасности. Кроме того, вы узнали, как настроить уведомления, чтобы держать себя в курсе, когда применяются исправления.
В продолжение статьи про Docker, сегодня мы расскажем про Dockerfile — скрипт, который позволяет автоматизировать процесс построения контейнеров — шаг за шагом, используя при этом base образ.
Докерфайлы и синтаксис для их создания
Как уже было сказано выше, каждый Докерфайл — по сути скрипт, который автоматически выполняет определенные действия или команды в base образе, для формирования нового образа.
Все подобные файлы начинаются с обозначения FROM — также как и процесс построения нового контейнера, далее следуют различные методы, команды, аргументы или условия, после применения которых получится Docker контейнер.
Для начала, быстренько пройдемся по синтаксису — он, кстати говоря, крайне простой, с командами, говорящими самими за себя.
В Докер файлах содержится два типа основных блоков — комментарии и команды с аргументами. Причем для всех команд подразумевается определенный порядок — подробнее об этом ниже.
Ниже типичный пример синтаксиса, где первая строка является комментарием, а вторая — командой.
# Print «Hello from Merionet!»
RUN echo «Hello from Merionet!!»
Перед тем, как переходить к собственно написанию собственно Докерфайла, сначала разберем все возможные команды.
Все команды в Докерфайлах принято указывать заглавными буквами — к примеру RUN, CMD и т.д.
Команда ADD — данная команда берет два аргумента, путь откуда скопировать файл и путь куда скопировать файлы в собственную файловую систему контейнера. Если же source путем является URL (т.е адрес веб-страницы) — то вся страница будет скачена и помещена в контейнер.
# Синтаксис команды: ADD [исходный путь или URL] [путь назначения]
ADD /my_merionet_app /my_merionet_app
Команда CMD — довольно таки похожая на команду RUN, используется для выполнения определенных программ, но, в отличие от RUN данная команда обычно применяется для запуска/инициации приложений или команд уже после их установки с помощью RUN в момент построения контейнера.
# Синтаксис команды: CMD %приложение% «аргумент», «аргумент», ..
CMD «echo» «Hello from Merionet!».
Команда ENTRYPOINT устанавливает конкретное приложение по умолчанию, которое используется каждый раз в момент построения контейнера с помощью образа. К примеру, если вы установили определенное приложение внутри образа и вы собираетесь использовать данный образ только для этого приложения, вы можете указать это с помощью ENTRYPOINT, и каждый раз, после создания контейнера из образа, ваше приложение будет воспринимать команду CMD, к примеру. То есть не будет нужды указывать конкретное приложение, необходимо будет только указать аргументы.
#Синтаксис команды: ENTRYPOINT %приложение% «аргумент»
# Учтите, что аргументы опциональны — они могут быть предоставлены командой CMD или #во время создания контейнера.
ENTRYPOINT echo
#Синтаксис команды совместно с CMD:
CMD «Hello from Merionet!»
ENTRYPOINT echo
Команда ENV используется для установки переменных среды (одной или многих). Данные переменные выглядят следующим образом «ключ = значение» и они доступны внутри контейнера скриптам и различным приложениям. Данный функционал Докера, по сути, очень сильно увеличивает гибкость в плане различных сценариев запуска приложений.
# Синтаксис команды: ENV %ключ% %значение%
ENV BASH /bin/bash
Команда EXPOSE используется для привязки определенного порта для реализации сетевой связности между процессом внутри контейнера и внешним миром — хостом.
# Синтаксис команды: EXPOSE %номер_порта%
EXPOSE 8080
Команда FROM — данную команду можно назвать одной из самых необходимых при создании Докерфайла. Она определяет базовый образ для начала процесса построения контейнера. Это может быть любой образ, в том числе и созданные вами до этого. Если указанный вами образ не найден на хосте, Докер попытается найти и скачать его. Данная команда в Докерфайле всегда должна быть указана первой.
# Синтаксис команды: FROM %название_образа%
FROM centos
Команда MAINTAINER — данная команда не является исполняемой, и просто определяет значение поля автора образа. Лучше всего ее указывать сразу после команды FROM.
# Синтаксис команды: MAINTAINER %ваше_имя%
MAINTAINER MerionetNetworks
Команда RUN - является основной командой для исполнения команд при написании Докерфайла. Она берет команду как аргумент и запускает ее из образа. В отличие от CMD данная команда используется для построения образа (можно запустить несколько RUN подряд, в отличие от CMD).
# Синтаксис команды: RUN %имя_команды%
RUN yum install -y wget
Команда USER — используется для установки UID или имени пользователя, которое будет использоваться в контейнере.
# Синтаксис команды: USER %ID_пользователя%
USER 751
Команда VOLUME — данная команда используется для организации доступа вашего контейнера к директории на хосте (тоже самое, что и монтирование директории)
# Синтаксис команды: VOLUME [«/dir_1», «/dir2» ...]
VOLUME [«/home»]
Команда WORKDIR указывает директорию, из которой будет выполняться команда CMD.
# Синтаксис команды: WORKDIR /путь
WORKDIR ~/
Создание своего собственного образа для установки MongoDB
Для начала создадим пустой файл и откроем его с помощью vim:
vim Dockerfile
Затем мы можем указать комментариями для чего данный Докерфайл будет использоваться и все такое — это не обязательно, но может быть полезно в дальнейшем. На всякий случай напомню — все комментарии начинаются с символа #.
########
# Dockerfile to build MongoDB container images
# Based on Ubuntu
########
Далее, укажем базовый образ:
FROM ubuntu
Затем, укажем автора:
MAINTAINER Merionet_Translation
После чего обновим репозитории(данный шаг совершенно необязателен, учитывая, что мы не будем их использовать ) :
RUN apt-get update
После укажем команды и аргументы для скачивания MongoDB (установку проводим в соответствии с гайдом на официальном сайте):
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/mongodb.list
RUN apt-get update
RUN apt-get install -y mongodb-10gen
RUN mkdir -p /data/db
После чего укажем дефолтный порт для MongoDB:
EXPOSE 27017
CMD [«--port 27017»]
ENTRYPOINT usr/bin/mongod
Вот как должен выглядеть у вас финальный файл — проверьте и, затем, можно сохранить изменения и закрыть файл:
#########
# Dockerfile to build MongoDB container images
# Based on Ubuntu
#########
FROM ubuntu
MAINTAINER Merionet_Translation
RUN apt-get update
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/mongodb.list
RUN apt-get update
RUN apt-get install -y mongodb-10gen
RUN mkdir -p /data/db
EXPOSE 27017
CMD ["--port 27017"]
ENTRYPOINT usr/bin/mongod
Запуск контейнера Docker
Итак, мы готовы создать наш первый MongoDB образ с помощью Docker!
sudo docker build -t merionet_mongodb .
-t и имя здесь используется для присваивания тэга образу. Для вывода всех возможных ключей введите sudo docker build —help, а точка в конце означает что Докерфайл находится в той же категории, из которой выполняется команда.
Далее запускаем наш новый MongoDB в контейнере!
sudo docker run -name MerionetMongoDB -t -i merionet_mongodb
Ключ -name используется для присвоения простого имени контейнеру, в противном случае это будет довольно длинная цифро-буквенная комбинация. После запуска контейнера для того, чтобы вернуться в систему хоста нажмите CTRL+P, а затем CTRL+Q.
Заключение
Всем спасибо за внимание, теперь вы можете очень много экспериментировать с созданием Докерфайлов и ваших собственных образов, не бойтесь пробовать упростить привычные вам процессы установки приложений с помощью контейнеров — возможности крайне велики, и мы постараемся охватить их в следующих статьях.