Установка ejabberd под Linux: различия между версиями

Материал из Мир Jabber
Перейти к навигацииПерейти к поиску
577 байт добавлено ,  12:24, 4 сентября 2009
Переделал структуру, добавил описание установки из реп (из блокнота)
м
(Переделал структуру, добавил описание установки из реп (из блокнота))
Строка 1: Строка 1:
{{ToDo|Введение по типу других статей (dyndns и прочее), поправить остальной текст под добавленные пункты, меньше разговорной лексики ("идем куда надо" и т.п.)}}
[[Ejabberd]] может быть установлен на ваш сервер различными способами. Опишу три по убыванию предпочтительности:


==С чего начать?==
# Установка из репозитория/портов. Идеальный по оптимизации и самый простой вариант.
# Сборка из исходного кода. Если этого пакета нет в репозиториях к вашему дистрибутиву - засучиваем рукава и переходим к соответствующему разделу.
# Предварительно собранные бинарные файлы с инсталлятором. Вариант весьма прост, но вряд ли оптимизирован именно под ваш дистрибутив.


[[Ejabberd]] может быть установлен на ваш компьютер различными способами. Опишу три по убыванию предпочтительности:
==Установка из репозитория==
Репозиториев Linux великое множество, и нет никакой возможности рассмотреть детали установки в каждом из них. Упомянем наиболее популярные (предполагается наличие прав root):
 
===openSuSE 11.0===
Сначала подключим репозиторий, посвящённый серверам обмена сообщениями:
zypper addrepo http://download.opensuse.org/repositories/server:/messaging/openSUSE_11.0/ Messaging


# Установка из репозитория/портов. Идеальный по оптимизации и самый простой вариант. Поэтому не будем его обсуждать - просто берите в руки ваш любимый менеджер пакетов (YaST, synaptic, а то может и zypper, apt-get или emerge) и за дело.
Потом установим:
# Сборка из исходного кода. Если этого пакета нет в репозиториях к вашему дистрибутиву - засучиваем рукава и переходим к следующему разделу.
  zypper install ejabberd
# Предварительно собранные бинарные файлы с инсталлятором. Вариант весьма прост, но вряд ли оптимизирован именно под ваш дистрибутив, поэтому я не буду обсуждать его. Только покажу, как получить и запустить инсталлятор, например, stable-версии 2.0.5 для 32-битного linux:
  wget http://www.process-one.net/downloads/ejabberd/2.0.5/ejabberd-2.0.5-linux-x86-installer.bin.gz
gunzip ejabberd-2.0.5-linux-x86-installer.bin.gz
chmod +x ejabberd-2.0.5-linux-x86-installer.bin
./ejabberd-2.0.5-linux-x86-installer.bin


==Установка из репозитория==
===Fedora Core 11===
По умолчанию нужный репозиторий обычно подключен.
yum install ejabberd


{{ToDo|Привести пример установки в различных дистрибутивах (см. Блокнот)}}
{{ToDo|Е-щё ин-фор-мации! (С)}}


==Собираем из исходников==
==Сборка из исходников==
Рассмотрим сборку stable-версии ejabberd-2.0.5.
Рассмотрим сборку stable-версии ejabberd-2.0.5.


Строка 40: Строка 44:
Конечно же, у вас есть эта удобнейшая утилита - wget. ;)
Конечно же, у вас есть эта удобнейшая утилита - wget. ;)


Ещё нам понадобится свеженький [[ru_wikipedia:Erlang|Erlang]] - это компилятор языка, на котором написан ejabberd. Вряд ли он есть в вашем репозитории, потому я отдельно покажу, как собрать его из [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.


Но довольно лирики.
Но довольно лирики.
Строка 60: Строка 64:
  make install
  make install


Конечно же, следим за процессом, а не просто тупо набираем команды. Программа сборки может сообщить об ошибке, но не каждый error или warning означает неисправимую ошибку. Например, процесс конфигурирования (команда configure) может сообщить, что не нашла компилятора java, библиотек odbc и wx, но это не является ошибкой. Просто соответствующие части erlang-а будут отключены. Перечисленные библиотеки нам не понадобятся для работы ejabberd.
Конечно же, следим за процессом, а не просто набираем команды. Программа сборки может сообщить об ошибке, но не каждый error или warning означает неисправимую ошибку. Например, процесс конфигурирования (команда configure) может сообщить, что не нашла компилятора java, библиотек odbc и wx, но это не является ошибкой. Просто соответствующие части erlang-а будут отключены. Перечисленные библиотеки нам не понадобятся для работы ejabberd.


После сборки вернёмся в домашний каталог:
После сборки вернёмся в домашний каталог:
Строка 69: Строка 73:
  tar zxf ejabberd-2.0.5.tar.gz -С buildtmp  
  tar zxf ejabberd-2.0.5.tar.gz -С buildtmp  


Идём куда надо и собираем ejabberd:
переходим в каталог с исходниками и собираем ejabberd:
  cd buildtmp/ejabberd-2.0.5/src
  cd buildtmp/ejabberd-2.0.5/src
  ./configure
  ./configure
Строка 75: Строка 79:
  make install
  make install


После всех этих манипуляций все нужные файлы разложены где надо. Конфиги, в частности,- в /etc/ejabberd, скрипт запуска - /sbin/ejabberdctl - отрабатывает команду start, что позволяет добавить его куда надо в rc.d...
После всех этих манипуляций все нужные файлы разложены согласно традициям unix/linux. Конфиги, в частности,- в /etc/ejabberd. Скрипт запуска - /sbin/ejabberdctl - отрабатывает команду start, что позволяет сразу добавить в rc.d, хотя лучше всё же написать правильный скрипт управления службой согласно правилам вашего дистрибутива.
 
===Установка готовых бинарников===
Для начала нужно скачать инсталлятор. Я рассмотрю stable-версию 2.0.5 для 32-битного linux:
wget http://www.process-one.net/downloads/ejabberd/2.0.5/ejabberd-2.0.5-linux-x86-installer.bin.gz
 
Пакет распаковывается:
gunzip ejabberd-2.0.5-linux-x86-installer.bin.gz
 
И запускается:
chmod +x ejabberd-2.0.5-linux-x86-installer.bin
./ejabberd-2.0.5-linux-x86-installer.bin
 
Далее следуйте указаниям программы установки.


==Что дальше?==
===Настройка===
А дальше надо настроить сервер: что делать при загрузке, какие модули использовать, на каких портах висеть, и т.п.
А дальше надо настроить сервер: что делать при загрузке, какие модули использовать, на каких портах висеть, и т.п.


Строка 84: Строка 101:
При грамотной настройке ваш сервер поможет людям общаться без опасности быть "подслушанными" спецслужбами и другими злоумышленниками. ;)
При грамотной настройке ваш сервер поможет людям общаться без опасности быть "подслушанными" спецслужбами и другими злоумышленниками. ;)


Всё для вас, [http://new-m0ray.livejournal.com m0Ray]. Просыпайтесь, вать машу! (С)


==Ссылки==
==Ссылки==


* [http://www.ejabberd.im Официальный сайт ejabberd]
* [http://www.ejabberd.im Официальный сайт ejabberd (англ.)]
* [http://erlang.org Официальный сайт Erlang]
* [http://www.process-one.net/en/ejabberd/docs Официальная документация по ejabberd (англ.)]
* [http://erlang.org Официальный сайт Erlang (англ.))]
* [http://ylsoftware.com/news/499 Настройка ведения логов в конференции]
* [http://ylsoftware.com/news/499 Настройка ведения логов в конференции]


[[Category:Свой сервер]]
[[Category:Свой сервер]]
14

правок

Навигация