По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Привет! В данной статье мы расскажем про специальный модуль FreePBX (в нашем случае 13, но он доступен и на более ранних версиях), который поможет вам создать правила (которые называются контексты - context), позволяющие разграничить права доступа внутренних абонентов к разным направлениям на Вашей IP-АТС Asterisk. Итак, встречайте - Custom Context
Стоит отметить, что для решения подобных задач более изящным способом существует ещё один модуль - Class of Service, но, как можно догадаться, за него придётся заплатить, так как он предназначен для коммерческого использования.
Задач, которые можно решить с помощью модуля Custom Context – огромное множество, всё ограничивается лишь вашей фантазией и потребностями. Наиболее часто встречающиеся задачи – это ограничение доступа набора исходящих международных и междугородных номеров, а также ограничение доступа набора некоторых внутренних номеров.
Модуль находится в разделе Connectivity, однако, может случиться так, что на Вашем FreePBX изначально не будет данного модуля. Но не надо отчаиваться, установить его очень просто. Для этого переходим в Module Admin → Check Online, ищем Custom Context нажимаем Download → Process и ждём пока процесс установки завершится.
Важно! Для работы данного модуля предварительно нужно установить модуль Time Group
После установки Вы найдёте модуль в разделе Connectivity:
Чтобы было понятнее как работает модуль Custom Context, давайте рассмотрим пример.
Пример настройки
Предположим, у нас есть следующая задача: для некоторых внутренних номеров нужно ограничить возможность набора других внутренних номеров, зарегистрированных на нашей IP-АТС. Например, операторы первой линии не должны иметь возможность набрать внутренний номер нашего уважаемого Генерального директора и отвлекать его от важной работы.
Пусть 102 - это номер оператора, а 110 - номер генерального директора.
Теперь приступим непосредственно к реализации. Открываем модуль, нам предлагают ввести его название и дать понятное описание:
Заполняем поля и жмём Submit. После этого перед нами разворачивается полный функционал данного модуля, который позволяет настроить нужные правила.
В нашем случае, необходимо прописать номер генерального директора (110) в поле Dial Rules и выбрать правило Deny Rules напротив строки ENTIRE Basic Internal Dialplan:
Далее прокрутим меню до строки ext-local и напротив неё также выберем Deny Rules и нажмём Submit:
Отлично, мы создали кастомный контекст. Теперь необходимо применить его в правилах внутреннего номера нашего оператора (102). Для этого заходим в модуль Extensions ищем нашего оператора (102), переходим во вкладку Other и видим, что у нас появился новый пункт - Custom Context, значение по умолчанию которого - ALLOW ALL. Меняем его на наш кастомный контекст и жмём Submit. Не забываем применять изменения Apply Config.
Теперь, при попытке набора 110, наш оператор 102 услышит фразу: “Your call cannot be completed as dialed. Please, check the number and dial again”. Наш многоуважаемый CEO может спать спокойно :)
Rocket.Chat — это бесплатный масштабируемый open source корпоративный чат, разработанный с помощью Meteor. Rocket.Chat можно считать аналогом Slack, который можно развернуть на своем сервере, и подключаться к нему с клиентов на Linux, Windows, macOS, Android и iOS.
Функции Rocket.Chat
Чат в реальном времени
Аудиоконференции
Видеоконференции
Каналы
Гостевой вход
Трансляция экрана
Передача файлов
Полнофункциональный API
Для обеспечения безопасности используется:
Групповая синхронизация LDAP
Двухфакторная аутентификация 2FA
Сквозное шифрование
Единый вход SSO
Несколько поставщиков Oauth аутентификации
Рассказываем как установить и настроить сервер и клиент Rocket.Chat в Linux.
Шаг 1. Установка Snap в Linux
Для простоты мы будем использовать систему управления пакетами Snaps. Первым делом надо установить пакет snapd c помощью диспетчера пакетов.
$ sudo apt install snapd #Ubuntu и Debian
$ sudo dnf install snapd #Fedora 22+/CentOS/RHEL 8
$ sudo yum install snapd #CentOS/RHEL 7
Далее необходимо включить модуль systemd, который управляет основным сокетом мгновенной связи. Эта команда запустит сокет и позволит ему запускаться при загрузке системы.
$ sudo systemctl enable --now snapd.socket
Шаг 2: Установка Rocket.Chat в Linux
Для установки rocketchat-server выполните:
$ sudo snap install rocketchat-server
Когда установка через snap будет завершена, rocket.chat сервер начнет работать и прослушивать порт 3000. Далее откройте веб-браузер и введите следующий адрес, чтобы настроить rocket.chat через GUI.
http://SERVER_IP:3000
После загрузки мастера настройки укажите следующие параметры: полное имя администратора, имя пользователя, адрес электронной почты организации и пароль.
Далее надо указать информацию об организации: тип организации, название, отрасль, размер, страна и сайт.
Затем нужно указать информацию о сервере - имя сайта, язык, тип сервера, и включение или отключение двухфакторной аутентификации 2FA.
На следующей странице нужно зарегистрировать сервер. Здесь есть две опции. Первая - использовать предварительно настроенные шлюзы и прокси, предоставленные Rocket.Chat Вторая - сохранить автономность и создать учетные записи у поставщиков услуг, обновить предварительно настроенные параметры, а также перекомпилировать мобильные приложения с вашими частными сертификатами.
Настройка завершена, и ваше рабочее пространство готово, теперь надо нажать Go to your workspace (Перейти в рабочее пространство)
Вот так оно выглядит.
Шаг 3: Настройка обратного прокси для Rocket.Chat
Обратный прокси-сервер, например nginx или Apache, позволяет настроить приложение Rocket.Chat для доступа через домен или поддомен. Rocket.Chat является сервером приложений среднего уровня, который не поддерживает SSL/TLS. Обратный прокси-сервер позволит настраивать сертификаты SSL/TLS для включения HTTPS.
Обратный прокси Nginx для Rocket.Chat
Сначала установите Nginx.
$ sudo apt apt install nginx #Ubuntu/Debian
$ sudo dnf install nginx #Fedora 22+/CentOS/RHEL 8
$ sudo yum install nginx #CentOS/RHEL 7
Далее запустите службу Nginx, включите ее автоматический запуск при загрузке системы и проверьте ее статус
$ sudo systemctl enable --now nginx
$ sudo systemctl status nginx
Затем создайте block файл виртуального сервера для приложения Rocket.Chat, например, в каталоге /etc/nginx/conf.d/.
$ sudo vim /etc/nginx/conf.d/chat.merionet.com.conf
Далее вставьте конфигурацию в этот файл, заменив домен на свой и сохраните.
upstream backend {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name chat.merionet.com;
# You can increase the limit if you need to.
client_max_body_size 200M;
error_log /var/log/nginx/chat.merionet.com.log;
location / {
proxy_pass http://backend/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}
Наконец проверьте синтаксис и перезапустите службу Nginx.
$ sudo nginx -t
$ sudo systemctl restart nginx
Обратный прокси Apache для Rocket.Chat
Установите пакет Apache2
$ sudo apt install apache2 #Ubuntu/Debian
$ sudo dnf install httpd #Fedora 22+/CentOS/RHEL 8
$ sudo yum install httpd #CentOS/RHEL 7
Далее запустите и включите службу apache и проверьте, запущена ли она и работает.
----- В Ubuntu/Debian -----
$ sudo systemctl enable --now apache2
$ sudo systemctl status apache2
----- В CentsOS/RHEL 7/8 -----
$ sudo systemctl enable --now httpd
$ sudo systemctl status httpd
Затем создайте файл виртуального хоста для приложения Rocket.Chat, например, в каталоге /etc/apache2/sites-available/ или /etc/httpd/conf.d/.
----- В Ubuntu/Debian -----
$ sudo vim /etc/apache2/sites-available/chat.merionet.com.conf
----- В CentsOS/RHEL 7/8 -----
$ sudo vim /etc/httpd/conf.d/chat.merionet.com.conf
Далее вставьте конфигурацию в этот файл, заменив домен на свой и сохраните.
<VirtualHost *:80>
ServerAdmin admin@merionet.ru
ServerName chat.merionet.com
LogLevel info
ErrorLog /var/log/chat.merionet.com_error.log
TransferLog /var/log/chat.merionet.com_access.log
<Location />
Require all granted
</Location>
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:3000/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://localhost:3000/$1 [P,L]
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
В Ubuntu и Debian включите необходимые модули apache2 и перезапустите службу.
$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_wstunnel
$ sudo a2enmod rewrite
$ sudo systemctl restart apache2
В CentOS/RHEL и Fedora перезапустите службу apache.
# systemctl restart httpd
Теперь откройте браузер и введите ваш настроенный адрес и приложение Rocket.Chat станет доступно через ваш домен, настроенный на прокси-сервере.
http://chat.merionet.com
Шаг 4: Установка клиентов Rocket.Chat
Клиентские приложения можно скачать с официального сайта Rocket.Chat. Чтобы установить десктопное приложение в Linux, вы загрузите пакет deb (x64) или rpm (x64) в зависимости от вашего дистрибутива Linux.
$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat_2.17.7_amd64.deb
Или
$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat-2.17.7.x86_64.rpm
Затем установите пакет с помощью диспетчера пакетов dpkg или rpm
$ sudo dpkg -i rocketchat_2.17.7_amd64.deb #Ubuntu/Debian
$ sudo rpm -i rocketchat-2.17.7.x86_64.rpm #CentOS/RedHat
Ручная установка Rocket.Chat
Если вы не хотите устанавливать Rocket.Chat через Snaps, вы можете сделать это вручную.
Установка Node.js
Сначала обновите список системных пакетов:
sudo apt update
Установите Node.js, npm и все другие зависимости, необходимые для сборки пакетов npm из исходного кода:
sudo apt install nodejs npm build-essential curl software-properties-common graphicsmagick
Мы будем использовать n, пакет npm, который позволяет интерактивно управлять версиями Node.js. Выполните команды ниже, чтобы установить n и Node.js:
sudo npm install -g inherits n
sudo n 8.11.3
Установка MongoDB
MongoDB - это документно-ориентированная база данных NoSQL, которая используется Rocket.Chat для хранения данных.
Импортируйте открытый ключ MongoDB и включите официальный репозиторий MongoDB:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
После включения репозитория apt обновите список пакетов и установите MongoDB, набрав:
sudo apt update
sudo apt install mongodb-org
Затем включите и запустите службу MongoDB:
sudo systemctl start mongod
sudo systemctl enable mongod
Создание нового системного пользователя
Теперь необходимо создать нового пользователя и группу с именем rocket, которые будут запускать инстанс Rocket.Chat.
sudo useradd -m -U -r -d /opt/rocket rocket
Добавьте пользователя www-data в новую группу пользователей и измените права доступа к каталогу /opt/rocket, чтобы Nginx мог получить доступ к установке Rocket.Chat:
sudo usermod -a -G rocket www-data
sudo chmod 750 /opt/rocket
Установка Rocket.Chat
Переключитесь на пользователя rocket
sudo su - rocket
Загрузите последнюю стабильную версию Rocket.Chat с помощью curl:
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
После завершения загрузки извлеките архив и переименуйте каталог в Rocket.Chat:
tar zxf rocket.chat.tgz
mv bundle Rocket.Chat
Перейдите в каталог Rocket.Chat/programs/server и установите все необходимые пакеты npm:
cd Rocket.Chat/programs/server
npm install
Чтобы протестировать нашу установку перед созданием модуля systemd и настройкой обратного прокси с Nginx или Apache, мы установим необходимые переменные среды и запустим сервер Rocket.Chat
export PORT=3000
export ROOT_URL=http://0.0.0.0:3000/
export MONGO_URL=mongodb://localhost:27017/rocketchat
Вернитесь в каталог Rocket.Chat и запустите сервер Rocket.Chat, введя следующие команды:
cd ../../
node main.js
Если ошибок нет, вы должны увидеть следующий вывод:
? +---------------------------------------------+
? | SERVER RUNNING |
? +---------------------------------------------+
? | |
? | Rocket.Chat Version: 0.71.1 |
? | NodeJS Version: 8.11.3 - x64 |
? | Platform: linux |
? | Process Port: 3000 |
? | Site URL: http://0.0.0.0:3000/ |
? | ReplicaSet OpLog: Disabled |
? | Commit Hash: e73dc78ffd |
? | Commit Branch: HEAD |
? | |
? +---------------------------------------------+
Остановите сервер Rocket.Chat с помощью Ctrl+C и вернитесь к своему пользователю sudo, набрав exit.
Создание модуль Systemd
Чтобы запустить Rocket.Chat как службу, нужно создать файл модуля rocketchat.service в каталоге /etc/systemd/system/.
sudo nano /etc/systemd/system/rocketchat.service
Вставьте следующий код:
[Unit]
Description=Rocket.Chat server
After=network.target nss-lookup.target mongod.target
[Service]
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocket
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=https://chat.merionet.com PORT=3000
ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js
[Install]
WantedBy=multi-user.target
Сообщите systemd, что мы создали новый файл модуля, и запустите службу Rocket.Chat, выполнив:
sudo systemctl daemon-reload
sudo systemctl start rocketchat
Проверьте статус сервиса:
sudo systemctl status rocketchat
Вывод должен быть таким:
* rocketchat.service - Rocket.Chat server
Loaded: loaded (/etc/systemd/system/rocketchat.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2018-11-07 14:36:24 PST; 5s ago
Main PID: 12693 (node)
Tasks: 10 (limit: 2319)
CGroup: /system.slice/rocketchat.service
`-12693 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js
Наконец, включите автоматический запуск службы Rocket.Chat во время загрузки:
sudo systemctl enable rocketchat
Готово, мы установили Rocket.Chat вручную, теперь можно переходить к настройке обратного прокси и инициализации системы, которые были описаны начиная с шага 3.
Итоги
В этом руководстве вы узнали, как установить Rocket.Chat в Linux и как настроить Nginx и Apache в качестве обратного прокси.
Чтобы узнать больше о Rocket.Chat посетите страницу документации.
Файл cookie HTTP сохраняет информацию в веб-браузере пользователя. Веб-серверы генерируют файлы cookie и отправляют их в браузеры, которые затем включают их в будущие HTTP-запросы.
Что из себя представляют файлы cookie на веб-сайтах?
Файлы cookie – это небольшие информационные файлы, которые веб-браузер генерирует и отправляет в веб-браузер. Веб-браузеры хранят файлы cookie, которые они получают, в течение заранее определенного периода времени или в течение сеанса пользователя на веб-сайте. Они добавляют соответствующие файлы cookie к любым будущим запросам, которые пользователь делает на веб-сервере.
Файлы cookie помогают информировать веб-сайты о пользователе, позволяя персонализировать взаимодействие с ним. Например, интернет-магазины используют файлы cookie для того, чтобы узнать, какие товары пользователи кладут в свои корзины. Кроме того, некоторый файлы cookie необходимы в целях безопасности, например, файлы cookie аутентификации.
Файлы cookie, которые используют в Интернете также называются «файлами cookie HTTP». Как и большинство, что связано с Интернетом, файлы cookie отправляются с использованием протокола HTTP.
Где хранятся файлы cookie?
Веб-браузеры хранят файлы cookie в специальном файле на устройствах пользователей. Например, веб-браузер Google Chrome хранит все файлы cookie в файле под названием «Cookies». Пользователи Chrome могут просмотреть файлы cookie, хранящиеся в браузере, открыв Средства разработчика, щелкнув вкладку «Приложение» и «Файлы cookie» в меню слева.
Для чего используются файлы cookie?
Сеансы пользователей: файлы cookie помогают связать действия веб-сайта с конкретным пользователем. Сеансовый файл cookie содержит уникальную строку (комбинацию букв и цифр), которая соответствует сеансу пользователя с соответствующими данными и содержимым для этого пользователя.
Предположим, у Алисы есть учетная запись в интернет-магазине. Она заходит в свою учетную запись с главной страницы сайта. Когда она входит в систему, сервер веб-сайта создает файл cookie сеанса и отправляет файл cookie в браузер Алисы. Этот файл cookie указывает веб-сайту загрузить содержимое учетной записи Алисы, чтобы на главной странице теперь было написано «Добро пожаловать, Алиса».
Затем Алиса переходит на страницу товара с джинсами. Когда веб-браузер Алисы отправляет HTTP-запрос для этой страницы, он включает файл cookie сеанса Алисы с запросом. Поскольку на веб-сайте есть этот файл cookie, то он распознает пользователя как Алису, и ей не нужно снова входить в систему при загрузке новой страницы.
Персонализация: файлы cookie помогают веб-сайту «запоминать» действия или предпочтения пользователя, позволяя тем самым веб-сайту настраивать взаимодействие с пользователем.
Если Алиса выходит из интернет-магазина, ее имя пользователя может быть сохранено в файле cookie и отправлено в ее веб-браузер. В следующий раз, когда она будет загружать этот веб-сайт, веб-браузер отправит этот файл cookie на веб-сервер, который затем предложит Алисе войти в систему с именем пользователя, которое она использовала в прошлый раз.
Отслеживание: некоторые файлы cookie записывают, какие веб-сайты посещают пользователи. Эта информация отправляется на сервер, который создал файл cookie, тогда, когда браузеру необходимо будет снова загрузить содержимое с этого сервера. Со сторонними отслеживающими файлами cookie этот процесс происходит каждый раз, когда браузер загружает веб-сайт, использующий эту службу отслеживания.
Если Алиса ранее посещала веб-сайт, который отправил ее браузеру файл cookie для отслеживания, то этот файл cookie может записать, что Алиса сейчас просматривает страницу товара с джинсами. В следующий раз, когда Алиса загрузит веб-сайт, который использует эту службу отслеживания, она может увидеть рекламу джинсов.
Реклама – не единственное применение файлов cookie для отслеживания. Многие службы аналитики также используют отслеживающие файлы cookie для анонимной регистрации действий пользователей.
Какие существуют типа файлов cookie?
Ниже представлены некоторые из самых важных типов файлов cookie, которые следует знать:
Сеансовые файлы cookie
Сеансовый файл cookie помогает веб-сайту отслеживать сеанс пользователя. Сеансовые файлы cookie удаляются после завершения сеанса пользователя – после того, как он выходит из своей учетной записи на веб-сайте или покидает веб-сайт. Сеансовые файлы cookie не имеют срока действия, а для браузера это значит, что они должны быть удалены после завершения сеанса.
Постоянные файлы cookie
В отличие от сеансовых файлов cookie, постоянные файлы cookie остаются в браузере пользователя в течение заранее определенного периода времени (это может быть день, неделя, несколько месяцев или даже лет). Постоянные файлы cookie всегда имеют срок действия.
Файлы cookie аутентификации
Файлы cookie аутентификации помогают управлять сеансами пользователей. Они генерируются, когда пользователь входит в учетную запись через свой браузер. Они гарантируют, что конфиденциальная информация доставляется в правильные сеансы пользователя, связывая информацию об учетной записи пользователя со строкой идентификатора файлы cookie.
Отслеживающие файлы cookie
Отслеживающие файлы cookie генерируются службами отслеживания. Они записывают активность пользователя, и браузеры отправляют эту запись в соответствующую службу отслеживания при следующей загрузке веб-сайта, использующего это службу отслеживания.
Зомби-cookies
Подобно «зомби» из популярной фантастики, зомби-cookies восстанавливаются после удаления. Зомби-cookies создают свои резервные копии за пределами обычного места хранения файлов cookie браузера. Они используют эти резервные копии для того, чтобы снова появиться в браузере после их удаления. Такие зомби-cookies иногда используют недобросовестные рекламные сети и даже злоумышленники.
Что такое сторонний файл cookie?
Сторонний файл cookie – это файл cookie, который принадлежит домену, отличного от того, который отображается в браузере. Сторонние файлы cookie чаще всего используются для целей отслеживания. Они отличаются от основных файлов cookie, которые принадлежат тому же домену, который отображается в браузере пользователя.
Когда Алиса делает покупки на сайте jeans.example.com, сервер-источник jeans.example.com использует сеансовый файл cookie для того, чтобы запомнить, что она вошла в свою учетную запись. Это пример основного файла cookie. Однако Алиса может не знать, что файл cookie с сайта example.ad-network.com также хранится в ее браузере отслеживает ее действия на сайте jeans.example.com, даже если в данный момент она не заходит на сайт example.ad-network.com. Это пример стороннего файла cookie.
Как файлы cookie отражаются на конфиденциальности пользователей?
Как упоминалось ранее, файлы cookie могут использоваться для записи активности в Интернете, в том числе и в рекламных целях. Однако многие пользователи против того, чтобы их действия в сети отслеживались. Пользователям также не хватает видимости и контроля над тем, что службы отслеживания делают с данными, которые они собирают.
Даже если отслеживание на основе файлов cookie не привязано к конкретному имени пользователя или устройству, при некоторых типах отслеживания все еще можно связать запись и действия пользователя с Интернете с его реальной личностью. Эта информация может использоваться любыми способами, от нежелательной рекламы до наблюдения, навязчивого преследования и травли пользователей (Это относится не ко всем файлам cookie.)
Некоторые законы о конфиденциальности (о неприкосновенности личной жизни), такие как Директива ЕС о защите электронных данных, касаются и регулируют использование файлов cookie. В соответствии с этой директивой пользователи должны предоставить «информированное согласие» - они должны быть уведомлены о том, как веб-сайт использует файлы cookie, и дать согласие на их использование – до того, как веб-сайт начнет использовать файлы cookie. (Исключением являются файлы cookie, которые «строго необходимы» для работы веб-сайта.) Общий регламент ЕС по защите данных рассматривает идентификаторы файлов cookie как персональные данные, поэтому его правила распространяются и на использование файлов cookie в ЕС. Помимо этого, любые личные данные, собранные с помощью файлов cookie, попадают под юрисдикцию общего регламента по защите данных.
Во многом из-за этих законов многие веб-сайты теперь отображают баннеры файлов cookie, которые позволяют пользователям просматривать и контролировать файлы cookie, которые используют эти веб-сайты.