Мгновенный обмен сообщениями с Prosody в Debian Squeeze

просодия

Привет друзья!. Сегодня я представляю вам современный и гибкий сервер. Jabber / XMPP, написано на языке Lua и ранее известный как Lxmppd. Она имеет характеристики многоплатформенной системы с очень низким потреблением ресурсов, простой в использовании и расширяемой. И без лишних слов, приступим к делу! Они могут показаться многогранными, но на самом деле они просты и кратки. Посмотрим сейчас:

  • Базовый сервер
  • Устанавливаем необходимые пакеты
  • Научимся настраивать
  • Настраиваем глобальные параметры
  • Создаем и настраиваем виртуальный хост
  • Генерируем сертификаты SSL / TLS
  • Включаем хост
  • Создаем первого пользователя
  • Регистрируем наши Просоды в DNS
  • Все проверяем

Базовый сервер
Низкое потребление ресурсов позволяет нам устанавливать Prosody даже на нашу собственную рабочую станцию ​​и предоставлять с нее сервис чата.

Устанавливаем необходимые пакеты
Чтобы ознакомиться с Prosody, мы воспользуемся официальными пакетами, которые входят в репозиторий Squeeze:

aptitude установить prosody liblua5.1-sec0

Научимся настраивать
Читаем сопроводительную документацию /usr/доля/doc/просодия/doc/coding_style.txt, чтобы ознакомиться с форматом, используемым в файлах конфигурации. Заходим в папку / etc / prosody и мы перечисляем существующие файлы и каталоги. Имена каждой папки или файла интуитивно понятны и четко обозначают, для чего они используются:

  • сертификаты: Каталог, в котором будут храниться сертификаты SSL / TLS и их закрытые ключи.
  • конф.доступно: Каталог, содержащий файлы конфигурации виртуальных хостов, которые мы объявляем доступными. Он работает очень похоже на то, что было показано в предыдущих сообщениях о веб-серверах, как в случае с папкой Nginx sites-available.
  • конф.д: Папка, в которой указаны прямые ссылки виртуальных хостов. конф.авил и что мы хотим включить.
  • просодия.cfg.lua: основной файл конфигурации Prosody.
  • README: Файл, который дает нам "подсказку" двигаться дальше. Не переставай читать!

С тем, что мы прочитали до сих пор, мы можем попробовать минимальную начальную конфигурацию.

Настраиваем Глобальные параметры
Внимательно изучаем основной файл конфигурации/etc/просодия/просодия.cfg.lua, к которому я сделал бесплатный перевод и который мы можем скачать в конце. Сохраним исходный установленный файл с помощью следующей команды:

cp /etc/prosody/prosody.cfg.lua /etc/prosody/prosody.cfg.lua.original

Очищаем конфигурационный файл. С карликовый, мы редактируем просодия.cfg.lua уже очищен, и вставьте содержимое загруженного файла примера. Модифицируем его в соответствии с нашими потребностями и сохраняем обычным Ctrl + о. Позже мы проверим синтаксис конфигурационного файла:

cp / dev / null /etc/prosody/prosody.cfg.lua nano /etc/prosody/prosody.cfg.lua luac -p /etc/prosdy/prosody.cfg.lua

И если вы не вернете ни одного сообщения, значит, все в порядке.

Создаем и настраиваем Виртуальный Хост
Файл нашего виртуального хоста, мы создадим его в каталоге /etc/просодия/conf.доступно/с именем хоста плюс расширение .conf.lua, а мы создадим его из файлаНапример.com.cfg.lua существующие в этой папке:

mv /etc/prosody/conf.avail/example.com.cfg.lua /etc/prosody/conf.avail/web.amigos.cu.cfg.lua nano /etc/prosody/conf.avail/web.amigos.cu .cfg.lua

Мы изменяем файл с правильными параметрами в соответствии с нашими потребностями. Мы можем скачать версию, соответствующую этому примеру, в конце сообщения. Не забудьте удалить строку enabled = false - удалите эту строку, чтобы включить этот хост.

Генерируем сертификаты SSL / TLS
При выполнении команды для генерации сертификатов они запросят у нас информацию, связанную с нашей компанией.

cd / etc / prosody / certs openssl req -new -x509 -days 365 -nodes -out "web.amigos.cu.crt" -keyout "web.amigos.cu.key"

Проверяем, правильно ли были сгенерированы сертификаты ls -l.

Включаем хост
Чтобы включить хост, объявленный в /etc/prosody/conf.avail/web.amigos.cu.cfg.lua, мы должны создать символическую ссылку на этот файл в папке конф.д. Затем мы должны перезапустить службу:

ln -s /etc/prosody/conf.avail/web.amigos.cu.cfg.lua /etc/prosody/conf.d/web.amigos.cu.cfg.lua /etc/init.d/prosody restart

Функции: Откройте специальную консоль для просмотра сообщений журнала Prosody с помощью команды хвост -f /var/log/prosody/prosody.log. Если в последней строке написано «Успешно демонтирован к PID ####», то на Кило все работает !. Если вы получили сообщение об ошибке, возможно, вам придется вручную убить процесс. "Луа" что он запущен ДО перезапуска Prosody. Чтобы знать ПИД-регулятор дель Луа, бегипс-е | grep луа. Чтобы убить процесс, убить-убить #pid del lua.

Создаем первого пользователя
Для создания пользователей используем команду просодиктл следующим образом:

prosodyctl adduser admin@web.amigos.cu

Команда запросит у нас "пароль" пользователя. Обратите внимание, мы создаем пользователя «Админ», который мы объявляем администратором Prosody в глобальном файле конфигурации просодия.cfg.lua.

РЕКОМЕНДУЕМ НЕ использовать команду просодиктл для остановки, запуска или перезапуска службы, но делайте это традиционными методами, такими как:

/etc/init.d/prosody {start | stop | restart | reload} invoke-rc.d prosody {start | stop | restart | reload} service prosody {start | stop | restart | reload}

Регистрируем наши Просоды в DNS
Служба обмена мгновенными сообщениями в значительной степени полагается на службу DNS. Каждый пользователь идентифицируется по его адресу или IADB на пути пользователь @ домен, где домен указывает сервер, на котором хранится учетная запись. Чтобы пользователь мог подключиться и войти в систему, необходимо найти IP-адрес сервера. Аналогичным образом удаленные серверы должны связаться с пользователь @ домен чтобы передать вам сообщение. Поэтому необходимо, чтобы на сервере Prosody был тип записи A в DNS-сервере нашей LAN. Например:

192.168.10.20 В сети web.amigos.cu.

Все проверяем
У нас уже запущен наш сервер Prosody. Тогда давай поболтаем! Установите Pidgin или Psi или выберите клиент XMPP по вашему выбору и подключитесь к серверу. Если ему это удалось, то это потому, что он в точности следил за содержанием этой статьи. Если нет, спросите, для этого и созданы подобные блоги. Ааа, если вы хотите общаться с консоли, установите Finch.

Мы сделали пакет с документацией с официального сайта Prosody, которая, надеемся, будет полезна. Тем, кто желает скачать пакеты прямо из репозитория Prosody, посетите Репозиторий пакетов просоды.

Всем удачи и счастливого Чата!

Скачать образцы файлов

20 комментариев, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   элиотайм3000 сказал

    Хорошее предложение. Посмотрим, найду ли я время на создание клиента для обмена мгновенными сообщениями.

    1.    Elav сказал

      Другой клиент XMPP? Чувак, я не думаю, что это необходимо, если только вы не делаете это ради обучения и не ставите это своей целью. Это уже Pidgin, Kopete, KDE-Telephaty, Empathy, PSI ... во всяком случае.

      1.    Данхантер сказал

        Ну, как и другой клиент, я так не думаю, но было бы весело поиграть с XMPP API и отправлять сообщения из приложений.

      2.    Ротс87 сказал

        Было бы хорошо, если например вам нужно сделать своего рода чат для внутренней сети или что-то подобное

      3.    Брейбо сказал

        Если это правда, но это руководство используется для реализации клиента XMPP в бесплатных сетях.

        1.    Данхантер сказал

          Это руководство для сервера, уже есть несколько бесплатных клиентов.

      4.    элиотайм3000 сказал

        Для Windows это было бы неплохо (в отсутствие мифического Messenger было бы неплохо сделать лучший, не так ли?).

  2.   Федерико А. Вальдес Тужаге сказал

    Спасибо всем за ваши комментарии. Я мечтаю иметь веб-клиент для общения в моей локальной сети. Я установил ejabberd с JwChat, и, поскольку интерфейс в Squeeze был липким (уродливым и глючным), я даже не пробовал его. Я пробовал веб-сервер Yaws и его веб-клиент Yaws-chat и не смог заставить его работать должным образом. Скачали PHPFreeChat и ничего. С помощью Lenny's Drupal 6 я попытался настроить плагины для чата и тогда устал, несколько лет назад. Мечтаю не зависеть от установки клиентов и болтать с браузером не более того. Вызов запущен.

    1.    элиотайм3000 сказал

      Добро пожаловать, приятель. Посмотрим, смогу ли я закончить загрузку Wheezy DVD1, чтобы сделать руководство по установке ZPanelX в новой версии Debian Stable (я надеюсь, что разработчики ZPanel не откажутся от поддержки Ubuntu 12.04 LTS, потому что в противном случае я не смог бы выполнить автоматическую установка той панели управления, которая мне понравилась, когда я тестировал ее в Windows).

  3.   Впервые в Debian сказал

    Здравствуйте, если я недавно установил Debian 7. Однако у меня нет интернета, он говорит мне, что прошивка отсутствует. Это usb tp ссылка tl-wn321g. Могу я его скачать из Windows? Извините, что спрашиваю, я не хочу регистрироваться ни на каком форуме debian, к тому же я не очень хорошо знаю английский.

    1.    элиотайм3000 сказал

      Если TP-Link имеет набор микросхем Altheros, он должен распознать его без проблем.

      Узнайте, есть ли в вашей модели TP-Link USB набор микросхем Altheros, а также запишите идентификатор оборудования.

    2.    комментатор сказал

      Если вы хотите загрузить здесь ISO-образ, это ISO-образ для debian, но он поставляется с несвободными драйверами и встроенным ПО.

      http://live.debian.net/cdimage/release/7.0.0+nonfree/i386/iso-hybrid/

  4.   Ротс87 сказал

    Хотелось бы хорошего туториала на звездочке хехехе

    1.    Юлий Цезарь сказал

      Я рекомендую вам начать с использования Trixbox CE или Elastix, оба основаны на Asterisk.

      http://www.elastix.org/

      http://www.trixbox.com/

  5.   MSX сказал

    Очень хороший гид, большое спасибо

  6.   Алехандродес сказал

    Отлично, большое спасибо, это было очень полезно.

  7.   @Jlcmux сказал

    Я протестирую его в Mesh Free Network, которую мы внедряем в моем городе. Тогда я расскажу, как у меня с этим дела.

    Saludos.!

  8.   @Jlcmux сказал

    Как жаль. Я остался на последнем этапе. Где мне настроить DNS? Какой позор быть единственным, кто спрашивает об этом, ха-ха

  9.   ПИККОРО Ленц Маккей сказал

    У меня есть очень интересные вопросы:

    Знаете ли вы или есть опыт установки в производстве просодии для 3000 пользователей, при которых одновременно подключено не менее 1000 чатов?

    Поддержка: передачи файлов, VIP, и это самый важный журнал разговоров?

    СРЕДА: 3 тысячи пользователей с отключенным веб-регистром и скриптами через сервер, вызываемыми через cgi-креветки для регистрации и управления пользователями, в 8-ядерном DELL T110 с 8 ГБ оперативной памяти для исключительного использования или для ejabberd в lenny с портированными erland и ejabberd

    Мяч набухает, после того, как я уладил много проблем в ejabberd, я нахожу это, по правде говоря, это заставляет меня чувствовать, что я зря потратил свое время ..

    1.    Федерико А. Вальдес Тужаге сказал

      С уважением, PICCORO Lenz McKAY !!!. Послушайте, рекомендую вам посетить официальный сайт Просоди http://prosody.im, и разверните информацию. У меня нет опыта, когда более 1000 клиентов одновременно разговаривают с Prosody. И я не думаю, что вы зря потратили время на Эджабберда. Это решение вы приняли во времена Ленни. Между прочим, признаюсь, что Ejabberd был первым, кого я установил на моем бизнес-сервере, где 50 или 60 пользователей общались в унисон. Сервер даже не знал об этом, а у него было всего 512 мегабайт оперативной памяти. 🙂 И да, мне было сложно его правильно настроить. Prosody очень прост, но я приглашаю вас узнать больше о его возможностях. Дело не в том, что я сомневаюсь в нем, а в том, что у меня нет того опыта, который вам нужен.