6373
правки
Rain (обсуждение | вклад) м (интервики, имена собственные, etc) |
Rain (обсуждение | вклад) м (пока так, потом нагрепаю настройки в чатлогах и с десктопа) |
||
Строка 1: | Строка 1: | ||
Рассмотрим установку сервера [[ejabberd]] на компьютеры под управлением одного из дистрибутивов GNU/Linux для использования в локальной сети с открытым доступом из Интернет и с использованием службы DynDNS. | |||
Предполагается, что у Вас уже установлена операционная система, настроен доступ в Интернет, а доменное имя на DynDNS (допустим, это будет '''myjabber.ath.cx''') указывает на внешний адрес Вашего компьютера (либо тот, который доступен из Вашей локальной сети, если Вы настраиваете сервер без возможности подключения к нему из Интернета). | |||
[[Ejabberd]] может быть установлен на ваш сервер различными способами. Опишу три по убыванию предпочтительности: | [[Ejabberd]] может быть установлен на ваш сервер различными способами. Опишу три по убыванию предпочтительности: | ||
Строка 5: | Строка 9: | ||
# Предварительно собранные бинарные файлы с инсталлятором. Вариант весьма прост, но вряд ли оптимизирован именно под ваш дистрибутив. | # Предварительно собранные бинарные файлы с инсталлятором. Вариант весьма прост, но вряд ли оптимизирован именно под ваш дистрибутив. | ||
Далее подробно рассмотрены эти варианты. | |||
__TOC__ | |||
==Установка из репозитория== | ==Установка из репозитория== | ||
Дистрибутивов Linux великое множество, и нет никакой возможности рассмотреть детали установки в каждом из них. Упомянем наиболее популярные (предполагается наличие прав root): | Дистрибутивов Linux великое множество, и нет никакой возможности рассмотреть детали установки в каждом из них. Упомянем наиболее популярные (предполагается наличие прав root): | ||
===openSuSE 11. | ===openSuSE 11.1=== | ||
Сначала подключим репозиторий, посвящённый | Сначала подключим репозиторий, посвящённый программам обмена сообщениями: | ||
zypper addrepo http://download.opensuse.org/repositories/server:/messaging/openSUSE_11.0/ Messaging | <nowiki>zypper addrepo http://download.opensuse.org/repositories/server:/messaging/openSUSE_11.0/ Messaging</nowiki> | ||
:Потом установим сервер: | |||
Потом установим: | |||
zypper install ejabberd | zypper install ejabberd | ||
Строка 19: | Строка 24: | ||
yum install ejabberd | yum install ejabberd | ||
===Debian-based дистрибутивы (Debian, *Ubuntu и другие)=== | |||
Ejabberd входит в основную ветку репозитория, поэтому для установки просто скомандуйте: | |||
apt-get install ejabberd | |||
==Сборка из исходников== | ==Сборка из исходников== | ||
Строка 37: | Строка 44: | ||
Для простоты операций будем работать пользователем root в его домашнем каталоге. Не забудьте потом прибраться. | Для простоты операций будем работать пользователем root в его домашнем каталоге. Не забудьте потом прибраться. | ||
Итак, нам нужен исходный код ejabberd. Идём на [http://www.ejabberd.im официальный сайт] и выбираем, что нужно. Лучше выбирать stable версию, но если вы очень любите новые фишки и не боитесь | Итак, нам нужен исходный код ejabberd. Идём на [http://www.ejabberd.im официальный сайт] и выбираем, что нужно. Лучше выбирать stable версию, но если вы очень любите новые фишки и не боитесь нестабильной работы, то берите beta, testing или [[ru_wikipedia:Subversion|SVN]] версии. | ||
Я выбрал stable-версию 2.0.5 и скачал её: | Я выбрал stable-версию 2.0.5 и скачал её: | ||
Строка 44: | Строка 51: | ||
Конечно же, у вас есть эта удобнейшая утилита - wget. ;) | Конечно же, у вас есть эта удобнейшая утилита - wget. ;) | ||
Ещё нам понадобится свеженький [[ru_wikipedia:Erlang|Erlang]] - это компилятор языка, на котором написан ejabberd. Если Erlang есть в вашем репозитории, то лучше воспользоваться им. Если нет - покажу, как собрать его из [http://erlang.org/download.html исходных кодов]. Как программист, не удержусь от пояснения, зачем было использовать этот с виду громоздкий и неудобный язык. Он громоздок и неудобен действительно лишь с виду, для написания программ вроде hello world, однако предоставляет прекрасный инструментарий многопоточного и распределённого программирования. Это позволит вам единожды написанную и собранную программу использовать на огромных кластерах, состоящих из машин любой архитектуры, в которые будет проще простого добавить новые вычислительные мощности. Даже Java не обладает подобными возможностями. Именно поэтому ejabberd считается одним из самых быстрых и масштабируемых серверов протокола XMPP. | Ещё нам понадобится свеженький [[ru_wikipedia:Erlang|Erlang]] - это компилятор языка, на котором написан ejabberd. Если Erlang есть в вашем репозитории, то лучше воспользоваться им. Если нет - покажу, как собрать его из [http://erlang.org/download.html исходных кодов]. | ||
Как программист, не удержусь от пояснения, зачем было использовать этот с виду громоздкий и неудобный язык. Он громоздок и неудобен действительно лишь с виду, для написания программ вроде hello world, однако предоставляет прекрасный инструментарий многопоточного и распределённого программирования. Это позволит вам единожды написанную и собранную программу использовать на огромных кластерах, состоящих из машин любой архитектуры, в которые будет проще простого добавить новые вычислительные мощности. Даже Java не обладает подобными возможностями. Именно поэтому ejabberd считается одним из самых быстрых и масштабируемых серверов протокола XMPP. | |||
Но довольно лирики. | Но довольно лирики. | ||
Строка 66: | Строка 75: | ||
Конечно же, следим за процессом, а не просто набираем команды. Программа сборки может сообщить об ошибке, но не каждый error или warning означает неисправимую ошибку. Например, процесс конфигурирования (команда configure) может сообщить, что не нашла компилятора java, библиотек odbc и wx, но это не является ошибкой. Просто соответствующие части erlang-а будут отключены. Перечисленные библиотеки нам не понадобятся для работы ejabberd. | Конечно же, следим за процессом, а не просто набираем команды. Программа сборки может сообщить об ошибке, но не каждый error или warning означает неисправимую ошибку. Например, процесс конфигурирования (команда configure) может сообщить, что не нашла компилятора java, библиотек odbc и wx, но это не является ошибкой. Просто соответствующие части erlang-а будут отключены. Перечисленные библиотеки нам не понадобятся для работы ejabberd. | ||
После сборки вернёмся в домашний каталог: | После сборки вернёмся в домашний каталог командой '''cd''': | ||
===ejabberd=== | ===ejabberd=== | ||
Строка 100: | Строка 108: | ||
При грамотной настройке ваш сервер поможет людям общаться без опасности быть "подслушанными" спецслужбами и другими злоумышленниками. ;) | При грамотной настройке ваш сервер поможет людям общаться без опасности быть "подслушанными" спецслужбами и другими злоумышленниками. ;) | ||
==Ссылки== | ==Ссылки== | ||
Строка 106: | Строка 113: | ||
* [http://www.ejabberd.im Официальный сайт ejabberd (англ.)] | * [http://www.ejabberd.im Официальный сайт ejabberd (англ.)] | ||
* [http://www.process-one.net/en/ejabberd/docs Официальная документация по ejabberd (англ.)] | * [http://www.process-one.net/en/ejabberd/docs Официальная документация по ejabberd (англ.)] | ||
* [http://erlang.org Официальный сайт Erlang (англ. | * [http://erlang.org Официальный сайт Erlang (англ.)] | ||
* [http://ylsoftware.com/news/499 Настройка ведения логов в конференции] | * [http://ylsoftware.com/news/499 Настройка ведения логов в конференции] | ||
[[Category:Свой сервер]] | [[Category:Свой сервер]] |