Ubuntu server jabber server: XMPP/Jabber сервер | Русскоязычная документация по Ubuntu
Корпоративный Jabber сервер на Ubuntu server 11.10
Всем привет! Учебное заведение в котором я работаю совсем недавно потерпело объединение аж сразу из 3 уч.заведений. И исходя из этого получилось 3 корпуса в разных районах города. Чтобы облегчить коммуникации уч.заведения пришлось думать об средствах быстрого обмена сообщениями и передачей данных. Вот исходя из этого и родилась эта статья. Речь будет идти о Jabber сервере который настроим на сервере ejabberd он присутствует в официальных репозиториях ubuntu. Самое главное чтобы наш сервер был доступен из вне а точнее из интернета. Делается это очень просто. Совсем чуть не забыл, статья ориентирована на тех хоть что-нибудь понимает в системе UBUNTU, Дак вот приступим. Вводим команду
sudo apt-get install ejabberd
Конфиг находится тут /etc/ejabberd/ejabberd.cfg открываем и редактируем.
nano /etc/ejabberd/ejabberd.cfg
Раскомментируем следующее
override_local.
укажем логин администратора (придумываем свой например pusher) и имя сервера (вводим свой домен например jkmt.com):
%% Admin user
{acl, admin, {user, "pusher", "jkmt.com"}}.
%% Hostname
{hosts, ["jkmt.com"].
Настроим пункт Admin user: Pusher- это ваш логин администратора под которым будем входить в административную панель для настройки ejjaberd, не забывайте свой придумать! jkmt.com-адрес сервера (домен) у вас должен быть свой… Зарегистрировать можно бесплатно…но вот только 3 уровня…будет выглядеть так например jkmt.odu.com регистрируемся тут Но нужен статический IP адрес если и его нет то это совсем другая история. Если у вас уже есть домен то идём дальше. Теперь пункт Hostname: Укажем имя нашего сервера (указывается при установке системы) но в любой момент можно и нужно поменять на свой в моём случае это jkmt.com
nano /etc/hostname
Если вы хотите чтобы клиенты заводили аккаунты самостоятельно прямо в своих клиентах (плюс в том что у вас не будет обходимости это делать самому (админу) а вот минус очень большой…каждый кто будет знать адрес вашего сервера jkmt.com будет свободно регистрировать аккаунты). Нужно просто раскомментировать и переписать вот это чтобы клиенты сами регистрировались.
{access, register, [{allow, all}]}.
Делаем Русский язык. Находим и меняем это.
{language, "ru"}.
Сохраняемся и выходим Регистрируем аккаунт для администратора (чтоб входить в панель администрирования) Естественно подставляем свои, аналогично тем которые вводили выше в конфиге в пункте Admin user
sudo ejabberdctl register pusher kmt.com 1234567890
перезапустим сервер ejabberd
sudo /etc/init.d/ejabberd restart
Не забываем прописать свой хост в /etc/hosts открываем
nano /etc/hosts
и делаем так
27.0.0.1 localhost 127.0.1.1 kmt.com (имя севера) БЕЛЫЙ IP kmt.com (домен сервера) # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
БЕЛЫЙ IP- тут должен быть статический (БЕЛЫЙ) IP адрес который предоставляет провайдер. В моём городе все провайдеры статику дают))))) Халява))) Чтобы в контакт листе автоматически отображались все аккаунты нужно в конфиге /etc/ejabberd/ejabberd.cfg раскомментировать следующую строку
{mod_shared_roster, []},
Сохраняемся и перезапускаем сервис
sudo /etc/init.d/ejabberd restart
Для удобного и простого администрирования сервера можно использовать веб-админку, которая доступна по адресу: http://ваш сервер:5280/admin вводим логин который мы выше создали и указали его в конфиге в пункте Admin user и входим в админку
Идём в пункт Virtual hosts потом выбираем свой хост и дальше в пункт пользователи
Добавим пользователя user1 и зададим ему пароль userpar создаём сколько хотим аккаунтов.
А теперь чтоб все пользователи автоматом добавлялись в одну группу делаем так: Заходим в пункт Virtual hosts потом выбираем свой сервер и Группы общих контактов и создаём группу kmt входим и редактируем
Теперь идём сюды и качаем клиент jabber PSI если хотите то можно выбрать и другие тута Устанавливаем его, запускаем и видим что он предлагает нам создать нового пользователя, но нет ! (помним что если мы не переписывали эту строку {access, register, [{deny, all}]}. на эту {access, register, [{allow, all}]}. то регистрироваться прямо в клиенте мы не сможем! Вбиваем свой только что созданный аккаунт [email protected] и пароль userpar
И коннектимся.
Вот и всё!
Понравилось это:
Нравится Загрузка…
Похожее
Установка ejabberd в Ubuntu / Linux Mint / Debian
Установка:
Для установки ejabberd в Ubuntu / Linux Mint / Debian, введите в Терминал:
sudo apt update
sudo apt install ejabberd
Подробная информация о пакете:
Распределенный, отказоустойчивый сервер Jabber/XMPP
Источник: https://packages.ubuntu.com
Навигация по записям
Зависимости:
openssl
Инструментарий Secure Sockets Layer — криптографическая утилита
adduser
Добавлять и удалять пользователей и группы
debconf
Система управления конфигурацией Debian
erlang-asn1
Модули Erlang/OTP для поддержки ASN.1
erlang-base
Виртуальные машины и базовые приложения Erlang/OTP
erlang-base-hipe
Erlang/OTP HiPE поддерживает виртуальную машину и базовые приложения
erlang-crypto
Криптографические модули Erlang/OTP
erlang-inets
Интернет-клиенты и серверы Erlang/OTP
erlang-jiffy
JSON NIF (Родные реализованные функции) для Erlang
erlang-mnesia
Распределенная реляционная / объектная гибридная база данных Erlang/OTP
erlang-odbc
Интерфейс Erlang/OTP для баз данных SQL
erlang-os-mon
Монитор операционной системы Erlang/OTP
erlang-public-key
Инфраструктура открытого ключа Erlang/OTP
erlang-ssl
Erlang/OTP реализация SSL
erlang-syntax-tools
Модули Erlang/OTP для обработки абстрактных деревьев синтаксиса Erlang
erlang-xmerl
Инструменты Erlang/OTP XML
lsb-base
Функциональность базового сценария Linux Standard Base
ucf
Обновить файл конфигурации (ов): сохранить изменения пользователя в файлах конфигурации
debconf-2.0
erlang-abi-17.0
erlang-fs-listener
erlang-jose
erlang-lager
erlang-p1-cache-tab
erlang-p1-eimp
erlang-p1-iconv
erlang-p1-stringprep
erlang-p1-tls
erlang-p1-utils
erlang-p1-xml
erlang-p1-xmpp
erlang-p1-yaml
erlang-p1-zlib
Строим Jabber сервер с OpenFire
Статья написана для журнала Системный Администратор
Сегодня для более эффективной организации совместной работы сотрудников все чаще используют системы мгновенного обмена сообщениями. В статье рассмотрим, как установить и настроить Jabber сервер OpenFire.
Проект OpenFire
После знакомства со списком, приведенным по ссылке [http://www.jabber.org/software/servers.shtml], особенно со столбцами “Feature Score” и License=Gnu GPL, из всех присутствующих можно отобрать лишь несколько. Особо выделяется проект OpenFire (ранее — Wildfire), который позиционируется как открытая альтернатива проприетарным серверам мгновенных сообщений масштаба предприятия. Написан на Java, по-моему сегодня использование этого языка уже не должно ни кого пугать. Но зато его можно установить в любой системе, для которой доступен Java Runtime Environment (AIX, *BSD, HP-UX, Linux, MacOS X, Solaris, Windows). Для сохранения различных настроек и профилей можно использовать как внутреннюю базу данных HSQLDB, так и внешнюю. В качестве последних поддерживаются: MySQL, Postgres, Microsoft SQL Server, Oracle, IBM DB2. Для работы с ними понадобится JDBC драйвер. OpenFire очень прост в настройке, все операции осуществляются через понятный веб-интерфейс, который хотя и не локализован, но разобраться с ним будет просто. Тем более он предназначен исключительно для административных целей, а любой админ так или иначе должен владеть базовым английским. В установке по умолчанию OpenFire имеет большое количество возможностей, среди которых управление списком пользователей и отображение списка пользователей на клиентах, отправление сообщений пользователям которые на данный момент отключены, поиск пользователей, а остальное (Asterisk, широковещательные сообщения, IM шлюз, контент фильтр и прочее) реализуется посредством плагинов. Поддерживает работу по протоколам SSL/TLS. Опционально сервер способен использовать существующую систему авторизации предприятия на основе LDAP. Как и большинство подобных решений OpenFire легко интегрируется в сеть серверов Jabber. Сервер выходит под двойной лицензией — Open Source GPL и коммерческий вариант. Все плагины кроме двух: Spark Fastpath Webchat (веб-чат) и Wildfire Enterprise (графики, контроль версий клиентов, архивирование) доступны под лицензией GPL. Для тестирования коммерческих плагинов, необходимо вначале получить тестовый ключ, который даст возможность полноценно погонять его в течение 30 дней.
Устанавливаем OpenFire
Перед началом установки OpenFire следует инсталлировать пакеты sun-java6-jre. И планируется использовать внешний сервер базы данных, то и его. Тестовая установка производилась на Ubuntu 7.04 в качестве БД — MySQL. Для других дистрибутивов все сказанное, кроме особенностей работы менеджеров пакетов, будет действительно.
$ sudo apt-get update
$ sudp apt-get install sun-java6-jre mysql-server
Теперь распаковываем полученный архив в каталог /opt.
$ cd /opt/
$ sudo tar xzvf /home/source/openfire_3_3_0.tar.gz
В результате в каталоге /opt появился подкаталог openfire, в котором содержатся все библиотеки и исполняемые файлы.
Создаем необходимую для работы базу данных
$ sudo mysqladmin —user=root —password=db_passwd create jabber
$ cat ./openfire/resources/database/openfire_mysql.sql | mysql —user=root —password=db_passwd —database=jabber
В указанном каталоге находятся файлы и для остальных баз данных поддерживаемых OpenFire.
Запускаем сервер (привилегий администратора не требуется):
$ cd openfire/bin
$ ./openfire
testing JVM in /usr …
Usage: ./openfire {start|stop|status}
$ ./openfire start
Теперь набираем в браузере http://localhost:9090/ и переходим к этапу настройки.
Как уже говорилось выше, сервер очень прост в настройке. Необходимо будет последовательно пройти всего 5 этапов. В начале выбираем язык интерфейса, русского в списке нет, поэтому придется довольствоваться английским. На следующем шаге, в строке Domain указываем имя сервера. По умолчанию используется вывод hostname, хотя можно здесь использовать IP-адрес. В последствии имя можно изменить, после чего понадобится изменение и сертификатов. Здесь же указываем порт, который будет использоваться при администрировании сервера, обычный и с использованием защищенного соединения (по умолчанию соответственно 9090 и 9091).
Следующий шаг позволяет определить какую из баз данных, мы будем использовать для работы.
Самым простым вариантом будет выбор встроенной базы (Embedded DataBase). В этом случае никаких дополнительных настроек далее делать не нужно. Для небольшого количества пользователей, ее производительности вполне хватает. Мы же используем MySQL, поэтому отмечаем «Standard Database Connection» и «жмем» Continue. В следующем окне указываем параметры подключения к базе данных. Для этого в строке Database Driver Presets выбираем тип базы с которой будем работать, в строке Database URL все слова в квадратных скобках подменяем своими значениями (то есть вместо [host-name] пишем адрес сервера на котором расположена база MySQL, а вместо [database-name] пишем имя базы, в нашем случае база называется jabber). То есть если MySQL установлен на том же компьютере, в поле Database URL получается:
jdbc:mysql://localhost:3306/jabber
Далее вводим имя пользователя и пароли и пробуем соединиться с базой данных. Шаг Profile Settings позволит выбрать вариант сохранения информации о пользователях. Это может быть внутренняя база данных, либо LDAP. В последнем случае настраиваем соединение с сервером предоставляющим соответствующие услуги.
И последний шаг настройки, установка пароля администратора. Учетная запись в этом поле пишется с добавлением домена — [email protected]. По окончании настройки, система предложит нажатием на кнопку «Login to the admin console» зарегистрироваться в консоли администратора. Конфигурация сохраняется в файле /opt/openfire/conf/openfire.xml, если что-то не получилось можно заменить его, взяв версию из архива, либо удалить из него предпоследнюю строку, начинающуюся с <setup>. После чего повторить установку. Сервер теперь готов принимать клиентов, хотя стоит поначалу все-таки обратиться к некоторым настройкам.
Настройки в консоли администратора
Настроек в OpenFire предостаточно, все их описать просто не возможно, скажу только о некоторых. На главной странице, которая будет выведена после регистрации в консоли, будет показана статистика сервера и текущие настройки. Чтобы отредактировать имя сервера, порт подключения сервер-сервер, клиент-сервер и консоли администратора, а также включить или выключить поддержку SSL, следует нажать кнопку Edit Properties в самом низу страницы. Далее выбрав «Language and Time Settings» в «Choose Time Zone» выбираем свой часовой пояс, если он выставлен не правильно (берется из системных настроек). Перейдя в «Email Settings» указываем SMTP сервер и учетные данные, необходимые для отправки почтовых сообщений.
Сервер OpenFire может быть настроен как закрытый, так и в качестве открытого ресурса к которому могут подключаться новые пользователи. По умолчанию он настроен именно так. Если его планируется использовать внутри организации, лучше запретить пользователям, самостоятельно создавать учетные записи. Для этого переходим в «Registration & Login» и установить переключатель в Disabled в поле «Inband Account Registration». Используя переключатель в поле «Anonymous Login» можно разрешить или запретить анонимные подключения к серверу. И, наконец, можно ограничить соединения с сервером только диапазоном определенных адресов, указав их в «Restrict Login» в виде 192.168.1. Переключатель в поле «Change Password» лучше установить в Enabled, тем самым, разрешив пользователям самостоятельно изменять свои пароли. Меню «Conflict Policy» позволяет определить действие сервера, если новый пользователь попробует зайти с именем, которое уже задействовано (протокол это допускает).
Теперь можно зазывать пользователей на новый ресурс, но если выбрана политика запрещающая самостоятельную регистрацию, сначала регистрационные записи нужно будет создать. Для чего переходим в «Users/Groups», выбираем «Create New User» и вводим имя пользователя и пароль. Опционально можно ввести и имя с почтовым адресом. Если создается сразу несколько учетных записей удобнее после заполнения всех параметров нажимать кнопку «Create & Create Another». В этом случае после создания нового пользовательского бюджета появится снова окно настроек, иначе будет показано окно со свойствами учетной записи. Аналогично создаются и группы.
Параметров как видите не много, но если добавить плагин registration, появится новый пункт «Registration Properties» в котором можно активировав соответствующие пункты и затем указать IM контакты и адреса электронной почты на которые будут отсылаться сообщения о новых пользователях, группу по умолчанию в которую будет включен пользователь и приветствие после успешной регистрации.
Здесь же можно разрешить регистрацию через веб-форму, для чего пользователь должен будет зайти по адресу http://server:9090/plugins/registration/sign-up.jsp. Модуль userImportExport позволит экспортировать и импортировать пользователей в XML файл.
Установленные плагины можно найти во вкладке Plugins, где их можно перезапускать, удалять и просматривать информацию о назначении плагина. По умолчанию здесь только один обеспечивающий поиск пользователей, чтобы установить остальные необходимо просто скачать их с сайта проекта и скопировать в подкаталог plugins. После чего их список появится в одноименной вкладке.
Многие пользователи уже имеют ICQ UIN и лишать их часто не имеет смысла, в этом случае необходимо будет настроить транспорт. Устанавливаем плагин gateway, после чего во вкладке Server появится новый пункт «Gateways». Выбираем Setting и устанавливаем флажок напротив ICQ. Нажав ссылку Test, и кнопку Test Connection можно протестировать подключение к выбранному серверу ICQ. В Options-Encoding указываем кодировку проходящих сообщений. По умолчанию использовать шлюз могут все, изменить такой порядок можно выбрав Permissions, где можно указать пользователей или группы которым разрешена работа с шлюзом, либо ручная регистрация в подменю Registrations. Чтобы связаться с корреспондентом через шлюз достаточно указать его UIN в виде uin@jabber_server.com.
Настройка SSL
После установки сервера OpenFire самостоятельно создаст все необходимые (самоподписанные) сертификаты для используемого домена, их можно просмотреть в Server Certificates. Для организации SSL используется стандартная реализация Java. Ключи и сертификаты сервера сохраняются в стандартном хранилище сертификатов – keystore и используются для подтверждения полномочий. Возможно использование второй пары ключей truststore, с помощью которых проверяется подлинность клиентов.
Если планируется работа через SSL этого мало, необходимо включить соответствующие механизмы сервера. Для чего переходим во вкладку System Properties и используя поле «Add new property» добавляем или включаем следующие параметры:
· xmpp.socket.ssl.active – true;
· xmpp.socket.ssl.port – порт для SSL обычно 5223
· xmpp.socket.ssl.storeType — необязательное поле означающее формат, по умолчанию используется jks;
· xmpp.socket.ssl.keystore – местонахождение файла keystore, если оставить пустым будет использовано значение по умолчанию;
· xmpp.socket.ssl.keypass – пароль к keystore, по умолчанию changeit;
· xmpp.socket.ssl.truststore – расположение файла truststore, относительно корневого каталога, если не планируется его использовать оставьте пустым;
· xmpp.socket.ssl.trustpass – пароль к truststore.
Возможна ситуация когда придется создавать ключи и сертификаты самому, также необходимо обязательно сменить пароль к keystore с changeit, на что-то боле безопасное. Это в принципе просто. Переходим в каталог ключей.
$ cd /opt/openfire/resources/security/
Сначала меняем пароль к keystore.
$ sudo keytool —storepasswd —keystore keystore
Вводим пароль changeit, и затем новый повторив его два раза. Удаляем старые сертификаты.
$ sudo keytool -delete -keystore keystore -alias rsa
$ sudo keytool -delete -keystore keystore -alias dsa
При желании это можно сделать и через веб-интерфейс. Теперь создаем новый сертификат.
$ sudo keytool —genkey —keystore keystore —alias grinder.com
Сначала будет спрошен новый пароль keystore, а затем потребуется ввести некоторую информацию о сервере (организация, город, страна), как это обычно делается при создании любого сертификата. Перейдя по ссылке в Signing Request на странице Server Certificates, можно занести всю информацию в файл, чтобы затем не вводить ее каждый раз. По окончании будет задан вопрос о пароле для доступа к ключу. Можно ввести другой пароль, нажатие на Enter установить такой же пароль как и keystore. Если планируется подпись сертификата сервера сторонней организацией необходимо сгенерировать файл в стандартном формате CSR (Certificate Signing Request).
$ sudo keytool -certreq -keystore keystore -alias grinder.com -file grinder_com.csr
Этот запрос отсылается в любую выбранную службу сертификации. Подписанный сертификат импортируется командой.
$ sudo keytool -import -keystore keystore -alias grinder.com -file signed_ grinder_com.csr
Клиентские сертификаты в truststore импортируются также просто. Сначала меняем пароль (по умолчанию тот же changeit).
$ sudo keytool -storepasswd -keystore truststore
И теперь импортируем сертификат каждого клиента.
$ sudo keytool -import -keystore truststore -alias user1 -file user1_certificate_file
Как видите OpenFire очень прост в установке и настройке. Привести его в рабочее состояние можно всего за пару часов, после чего можно забыть о многих проблемах связанных с использованием ICQ или других внешних сервисов мгновенного обмена сообщениями.
Ссылки:
1. Список Jabber серверов – http://www.jabber.org/software/servers.shtml
2. Домашняя страница проекта OpenFire — http://www.igniterealtime.org/projects/openfire
Jabber сервер под Ubuntu (EJabberd)
Очень часто внутри предприятия требуется организовать обмен сообщениями, так что бы они (эти сообщения) не покидали пространства сети самого предприятия. Вариантов организовать обмен такого рода на самом деле просто великое количество. Кто то покупает программы для обмена сообщениями типа Vypress Chat и п.р. Кто то регистрирует всех в ICQ или каком то другом месседжере типа MSN, и так далее. Если на вашем предприятии есть Ubuntu Server (В принципе подойдет большинство *nix подобных систем), то наверное установка Jabber сервера будет одним из лучших решений. Кроме того для использования сервисов типа ICQ, пришлось бы подключать пользователей к сети интернет, ну или подключать клиента через прокси, это было бы не совсем «корпоративно». Ведь пользователь может сидеть в ICQ и общаться «не по работе», а впустую. В этой статье пойдет речь об установке Ejabberd сервера.
Сразу хочу оговорится. Ejabberd сервер позволяет производить не только обмен сообщениями внутри корпоративной сети, но так же может выступать в роли транспортного сервера к другим сервисам сети интернет, например ICQ или IRC. Да и кроме того, в Ejabberd есть возможность авторизации через LDAP, что позволит вам использовать для авторизации пользователей Active Directory, эта функция может оказаться чрезвычайно полезной.
Установка Ejabberd сервера как всегда производится всего одной командой, и так для начала:
1 2 | sudo apt-get update sudo apt-get upgrade |
sudo apt-get update sudo apt-get upgrade
Установим сам Jabber сервер:
1 | sudo apt-get install ejabberd |
sudo apt-get install ejabberd
Сервер установлен, теперь выполним предварительные настройки для работы пользователей. Все настройки Ejabberd хранит в файле по адресу:
1 | /etc/ejabberd/ejabberd.cfg |
/etc/ejabberd/ejabberd.cfg
Открываем этот файл:
1 | sudo nano /etc/ejabberd/ejabberd.cfg |
sudo nano /etc/ejabberd/ejabberd.cfg
И в первую очередь раскомментируем строку:
Двигаясь вниз по файлу, найдите строку
1 2 | %% Admin user {acl, admin, {user, «», «localhost»}} |
%% Admin user {acl, admin, {user, «», «localhost»}}
Приводим эту строку к такому виду (Указав имя администратора сервера Jabber и DNS имя локального компьютера. У меня это Jadmin — имя администратора Jabber сервера и Jserver — имя локального компьютера.)
1 2 | %% Admin user {acl, admin, {user, «JAdmin», «Jserver»}} |
%% Admin user {acl, admin, {user, «JAdmin», «Jserver»}}
Теперь двигаемся еще ниже и находим строку:
1 2 | %% Hostname {hosts, [«SERVER NAME»]} |
%% Hostname {hosts, [«SERVER NAME»]}
Вместо SERVER NAME вводим DNS имя компьютера. (В моем случае это Jserver). Вот что у меня вышло:
1 2 | %% Hostname {hosts, [«Jserver»]} |
%% Hostname {hosts, [«Jserver»]}
Теперь разрешим пользователям регистрироваться на сервере самостоятельно, без Вашего участия. Спускаемся к секции:
Находим там строку:
1 | {access, register, [{deny, all}]} |
{access, register, [{deny, all}]}
и приводим ее к виду:
1 | {access, register, [{allow, all}]} |
{access, register, [{allow, all}]}
Теперь сменим Вашему серверу «язык по умолчанию». Ниже ищем:
и меняем соответственно на
Так как у нас корпоративный сервер, то все пользователи должны видеть друг друга не добавляя контакты вручную. Согласитесь, было бы не удобно если бы корпоративная сеть состояла скажем из 100 пользователей, и каждому из них пришлось бы добавлять друг друга. По этому настроим сразу общую группу для нашего Jabber сервера. Так что, ниже ищем строку:
1 | %%{mod_shared_roster, []} |
%%{mod_shared_roster, []}
и просто ее раскомментируем:
1 | {mod_shared_roster, []} |
На этом настройка закончена. Сохраняем изменения в Вашем файле конфигурации и закрываем его.
Далее Вам нужно зарегистрировать учетную запись администратора для Jabber сервера. Вводим в консоль следующую команду:
1 | sudo ejabberdctl register Jadmin Jserver Jadmin_password |
sudo ejabberdctl register Jadmin Jserver Jadmin_password
где:
Jadmin — Имя пользователя администратора. Мы его указывали в файле конфигурации.
Jserver — Так же был указан в файле конфигурации.
Jadmin_password — Пароль для администратора Jabber сервера.
Теперь перезапускаем сервер командой:
1 | sudo /etc/init.d/ejabberd restart |
sudo /etc/init.d/ejabberd restart
Теперь нам требуется настроить сам список в общей группе о которой я говорил выше.
Для этого мы используем Web интерфейс настройки Jabber сервера. Перейдите в браузере на
http://Jserver:5280/admin/ и введите имя администратора Jabber сервера.
Так как мы с вами указали уже что сервер должен работать на русском языке, то думаю в дальнейшем у нас не возникнет проблем. Переходим на вкладку Virtual Hosts, и кликаем в правой части окна на имя вашего сервера. В моем случае это Jserver.
Переходим на вкладку «Группы общих контактов», Вводим имя группы и нажимаем «Добавить»
Полсде добавления новой группы, кликнем на ее название и заполним поля формы следующим образом и нажмем кнопку отправить:
Вот в принципе и все. Более пожалуй никаких настроек производить не надо. Если Вам нужно производить авторизацию на основании LDAP то найдите в конфигурационном файле сервера EJabberd секцию:
1 | %% Authentication using LDAP |
%% Authentication using LDAP
Так же не мешало бы изменить приветственное сообщение Вашего сервера. Оно находится в том же файле, в строке почти в самом конце файла:
Для работы с Вашим сервером вы можете использовать любой месседжер поддерживающий XMPP.
Установка Ubuntu Server 20.04 | Losst
В апреле 2020-го года команда разработчиков Canonical выпустила долгожданный LTS-дистрибутив Ubuntu 20.04 (Focal Fossa). Поддержка данной версии планируется в течении последующих пяти лет. «Focal» переводится как «центральный» или как «фокусный». Fossa (если переводить дословно) — самое крупное хищное млекопитающее, обитающее на острове Мадагаскар.
Однако, если внимательно глянуть на слово «Fossa», можно предположить, что корень этого слова — «Foss» — наводит также и на мысль об аббревиатуре — «Free and Open Source Software». В этой статье мы рассмотрим как выполняется установка Ubuntu Server 20.04, а также что нового нам подготовили разработчики.
Содержание статьи:
Что нового в Ubuntu 20.04 LTS Server?
Из значимых обновлений в Ubuntu 20.04 LTS Server (Focal Fossa) хочется прежде всего отметить LTS-ядро версии 5.4, что означает появление ряда нововведений, улучшений безопасности, повышение производительности и добавление новых возможностей.
Например: применён алгоритм сжатия ядра без потерь LZ4, что заметно сократило загрузку ОС; появилась поддержка по умолчанию файловой системы от Microsoft exFAT; задействован режим блокировки ядра Linux Lockdown Kernel, предотвращающий выполнение произвольного кода от UID даже с правами root.
Кроме того, реализована полнофункциональная поддержка Кubernetes 1.18. Продолжается внедрение нового формата установочных пактов SNAP. Полностью прекращена поддержка 32-разрядных версий. Даже если у вас сейчас 32-разрядная Ubuntu 18.04, обновиться до версии 20.04 уже не получится.
Минимальные требования к аппаратуре
По данным с официальной страницы Canonical:
- Процессор: одноядерный, 2 ГГц.
- ОЗУ: 2 Гб.
- Жёсткий диск: 10 Гб.
Рекомендуемые характеристики для получения среды с приемлемым уровнем комфорта по производительности:
- Процессор: двухъядерный, 2 ГГц.
- ОЗУ: 4 Гб.
- Жёсткий диск: 25 Гб.
Установка Ubuntu 20.04 LTS Server (Focal Fossa)
Шаг 1. Загрузка образа
На официальном сайте нужно скачать необходимый образ дистрибутива. На выбор предлагается два варианта: Desktop image — с возможностью попробовать его без установки на компьютер в режиме LiveCD и Server install image — для установки сразу:
В данном случае скачиваем вариант Server install image.
Шаг 2. Запись образа флешку
Скачанный установочный образ необходимо записать на носитель — USB-флешку, переносной жёсткий диск или DVD. Программ для записи образа на носитель большое количество, на них останавливаться не будем. Подробнее об этом читайте в статье Как сделать загрузочную флешку Ubuntu.
Шаг 3. Запуск установщика образа
Настоятельно рекомендуется иметь проводное подключение к Интернет на сервере, на котором вы будете устанавливать Ubuntu. Это позволит оперативно обновить программное обеспечение непосредственно в процессе инсталляции.
В списке загрузочных устройств укажите в качестве приоритетного носитель, на котором находится подготовленный образ. Если всё сделано правильно, на старте появится следующее окно:
Шаг 4. Выбор языка
После непродолжительного старта сервисов установочного образа должно появиться окно с меню выбора языка:
Можно выбрать любой из списка, но для установки серверной операционной системы лучше выбрать английский, так как в случае возникновения ошибки намного проще и быстрее будет найти её описание в англоязычном сегменте Интернета. Выбрав требуемый язык в меню продолжите установку.
Шаг 5. Обновление загрузчика
На момент написания статьи вышло обновление загрузчика Ubuntu. Установщик автоматически предложит скачать обновление с внешнего репозитория:
Соглашаемся обновить установщик — выбираем пункт меню Update to the new installer.
Шаг 6. Выбор языка раскладки клавиатуры
В ходе дальнейшей установки будет предложено выбрать раскладку клавиатуры:
Поскольку мы устанавливаем серверную операционную систему и работать в основном мы будем в консольном режиме, выберем английский язык по умолчанию.
Подтверждаем, выбрав пункт меню Done, и продолжаем.
Шаг 7. Настройка сети
Далее будет предложено настроить сетевые подключения. В данном конкретном случае интерфейс автоматически подхватил IP-адрес с DHCP-сервера (10.0.2.15/24):
Выбрав требуемый сетевой интерфейс, можно настроить его вручную, задать статический IP-адрес для IPv4 или IPv6, создать VLAN или просто посмотреть детальную информацию о текущем состоянии подключения:
Помимо прочего, если у нас имеется несколько активных сетевых интерфейсов, можно уже на этапе установки объединить их между собой для увеличения пропускной способности и большей надёжности, сделав так называемый bonding. Для этого необходимо выбрать пункт Create bond:
Далее остаётся лишь отметить активные сетевые интерфейсы (Devices), установить режим балансировки (Bond mode) и другие параметры.
Шаг 8. Настройка прокси
В ходе дальнейшей установки будет предложено указать прокси-сервер на тот случай, если сервер, где производится разворачивание Ubuntu, не имеет прямого подключения к Интернету либо существуют ограничения на доступ к репозиториям Canonical, устранить которые можно только с помощью внешнего прокси:
В данном случае этот режим нам не нужен. Подтверждаем, выбрав пункт меню Done и оставив поле Proxy address пустым.
Шаг 9. Выбор зеркала
Серверы репозиториев — зеркала с установочными пакетами Ubuntu, расположенные по всему миру (список можно посмотреть на официальном сайте). Установщик сам определяет наиболее близко расположенное к нему зеркало для обеспечения лучшей скорости и стабильности скачивания необходимых компонентов. Однако иногда стоит указать URL-адрес зеркала вручную, заполнив поле Mirror address:
В нашем случае оставляем без изменений. Продолжаем, выбрав пункт меню Done.
Шаг 10. Разметка дисков
Самый простой способ разметки диска, подходящий новичкам — предоставление установщику всего диска в распоряжение по умолчанию (Use an entire disk):
Однако лучше всего это всё сделать вручную, так мы будем контролировать процесс и сможем более рационально использовать дисковое пространство.
Отмечаем клавишей Пробел флажок Custom storage layout и подтверждаем, выбрав пункт меню Done.
Выбираем из списка AVAILABLE DEVICES диск, который будем использовать:
В контекстном меню выбираем пункт Add GPT Partition:
Для начала создадим SWAP-раздел, выполняющий ту же роль, что и файл подкачки в Windows. Обычно задают размер, вдвое больший объёма оперативной памяти компьютера. Размер указывается в гигабайтах. В нашем случае ОЗУ — 4 Гб, соответственно, SWAP будет 8 Гб.
Указываем выбранный размер в поле Size. В раскрывающемся списке Format выбираем тип SWAP и далее выбираем пункт меню Create:
Раздел SWAP успешно создан. Объём свободного места на диске, на котором он был создан, соответственно уменьшился:
Продолжая разметку, повторим действия с выбором диска. По умолчанию будет предложена точка монтирования (Mount), распространяемая на весь корневой раздел /. Согласимся с этим.
Также предлагается выбрать тип файловой системы в раскрывающемся списке Format. По умолчанию это файловая система Ext4, выберем её. В поле Size можно указать требуемый размер, но мы будем использовать всё незанятое пространство, поэтому просто оставим это поле пустым. Далее нажимаем на пункт меню Create:
Как видим, у нас готовы для создания SWAP-раздел и том с используемой для него файловой системой Ext4 и точкой монтирования /. Выбираем пункт меню Done.
Внимание! Производимые изменения на диске, на который устанавливается Ubuntu 20.04 LTS Server (Focal Fossa), станут необратимыми, вся информация на нём будет затёрта.
Продолжаем установку, выбираем пункт меню Continue:
Шаг 11. Создание пользователя и настройка имени сервера
В следующем окне установщика необходимо указать имя пользователя в поле Your Name, имя сервера в поле Your server’s name, логин для входа в систему в поле Pick a username и дважды ввести пароль учётной записи в поля Choose a password и Confirm your password:
Шаг 12. Установка OpenSSH-сервера
Для удалённого управления сервером Linux используется специальный защищённый SSH-протокол (Secure Shell).
Если вы не планируете все операции по настройке сервера делать локально, настоятельно рекомендуем установить OpenSSH. Отмечаем клавишей Пробел флажок Install OpenSSH Server:
Опционально в этом же окне для авторизации по протоколу SSH можно добавить SSL-ключи.
Однако пока оставим всё по умолчанию, ключи можно создать или импортировать после установки.
Шаг 13. Выбор и установка приложений
В следующем окне можно сразу же установить популярные серверные окружения и приложения: Docker, Kubernetes, различного рода бенчмарки или инструменты для взаимодействия с облачными провайдерами (aws-cli, google-cloud-sdk и др.):
Пока не будем устанавливать,. при необходимости это можно сделать после. Для продолжения выбираем пункт меню Done.
Шаг 14. Установка системы
В следующем окне мы будем наблюдать за процессом установки ОС и выбранных нами пакетов программ:
Шаг 15. Завершение установки
После того, как ОС и все пакеты будут проинсталлированы, появится окно с сообщением Installation Complete!
Выбираем пункт меню Reboot для выполнения перезагрузки компьютера, параллельно извлекаем носитель с дистрибутивом Ubuntu 20.04 LTS Server (Focal Fossa).
Шаг 16. Проверка версии Ubuntu Server
После перезагрузки попадаем в стандартную консоль управления Linux-сервером. Авторизуемся в системе, вводя логин и пароль. Для того, чтобы проверить версию Ubuntu Server, следует ввести команду:
lsb_release -a
Как видим, в строке Description указано: Ubuntu 20.04 LTS.
Выводы
В этой статье мы в подробностях рассмотрели как установить Ubuntu Server 20.04. В целом установка мало чем отличается от установки предыдущих версий. Единственное, что можно сразу же заметить по сравнению с установками более старых дистрибутивов, это возросшая скорость установки и запуск системы после перезагрузки.
ejabberd XMPP Server MQTT Broker SIP-шлюз Платформа реального времени
Swift — это язык программирования, разработанный Apple для iOS, iPadOS, macOS, watchOS, tvOS и Linux.
Go — это язык программирования, разработанный в Google, обеспечивающий безопасность памяти, сборку мусора, структурную типизацию и параллелизм.
Kotlin — это кроссплатформенный язык программирования со статической типизацией и выводом типов, предназначенный для полного взаимодействия с Java.
Elixir — это функциональный параллельный язык программирования общего назначения, работающий на виртуальной машине Erlang.
Erlang — это универсальный параллельный функциональный язык программирования и исполняющая система со сборкой мусора.
.
180 дней, 12:29:19 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
180 дней, 12:29:46 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
9 0028 | 38 дней, 9:55:16 | 100% (121 / 121) | |||||||||||||||||||||||||||||||||||||
45 дней, 4:10:48 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
4 дня, 1:21:32 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
68 дней, 10:58:48 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
9 дней, 16:41:16 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
53 дня, 9:58:54 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
24 дня, 3:20:36 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
4 дня, 1:25:44 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
4 дня, 1:25:46 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
4 дня, 1:25:49 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
11 дн, 21:21:05 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
32 дня, 1:30:27 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
153 дня, 2:31:24 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
42 дня, 12:14:01 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
42 дня, 12:15:42 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
42 дня, 12:17:23 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
9 0028 | 7 дней, 1:26:06 | 100% (121/121) | |||||||||||||||||||||||||||||||||||||
38 дней, 10:06:12 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
57 дней, 7:08 : 37 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
8 дней, 3:39:54 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
77 дней, 4: 04:28 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
21 день, 12:38:38 | 100% (121/12 1) | ||||||||||||||||||||||||||||||||||||||
13 дней , 23:19:09 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
156 дней, 14:22:18 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
180 дней, 12:48:36 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
6 дней, 1:14:37 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
28 дней, 12:59:21 | 100% (121 / 121) | ||||||||||||||||||||||||||||||||||||||
900 28 | 31 день, 17:35:00 | 100% (121/121) | |||||||||||||||||||||||||||||||||||||
67 дней, 10:02:30 | 100% ( 121/121) | ||||||||||||||||||||||||||||||||||||||
100% (121/121) | |||||||||||||||||||||||||||||||||||||||
31 день, 7:44:43 | 100% ( 121/121) | ||||||||||||||||||||||||||||||||||||||
900 77 дней, 4:34:45 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
38 дней , 6:47:41 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
6 дней, 1:18:14 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
159 дней, 9:24:06 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
900 28 | 323 дня, 8:55:51 | 100% (121/121) | |||||||||||||||||||||||||||||||||||||
17:32:35 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
100% (121/121) | |||||||||||||||||||||||||||||||||||||||
64 дня, 2:10:21 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
25 дней, 12:41:15 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
17 дней, 16:16:41 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
9002 8 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
2 дня, 1: 34:20 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
4 дня, 4:46:20 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
31 день, 17:46:24 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
7 дней, 8:58:05 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
171 день, 1:00:08 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
323 дня, 9:03:05 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
6 дней, 1:28:15 | 100 % (121/121) | ||||||||||||||||||||||||||||||||||||||
9 0028 | 332 дня, 16:12:51 | 100% (121/121) | |||||||||||||||||||||||||||||||||||||
6 дней, 1:28:30 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
395 дней, 9:29:36 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
80 дней, 8:48: 59 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
52 дня, 15:41:24 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
9 дней, 17:16:37 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
31 день, 17:53:27 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
31 день, 17:53:33 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
9002 8 | 31 день, 17:53:41 | 100% (121/121) | |||||||||||||||||||||||||||||||||||||
31 день, 17:53:45 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
31 дней, 17 : 53: 52 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
8 дней, 20:10:41 | 100% (121/121 ) | ||||||||||||||||||||||||||||||||||||||
2 дня, 10:14:56 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
53 дня, 14:15:17 | |||||||||||||||||||||||||||||||||||||||
68 дней, 4:17:40 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
41 день, 8:19:14 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
5 дней, 0:53:44 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
80 дней, 8:55:48 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
8 дней, 20:15:42 | 100% ( 121/121) | ||||||||||||||||||||||||||||||||||||||
31 день, 17:59:40 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
38 дней, 10:40:04 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
80 дней, 8:59:57 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
90 028 | 80 дней, 8:59:59 | 100% (121/121) | |||||||||||||||||||||||||||||||||||||
20 дней, 9:45:35 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
90 028 | 24 дня, 2:35:12 | 100% (121/121) | |||||||||||||||||||||||||||||||||||||
80 дней, 9:00:22 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
21 день, 6:24:01 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
25 дней, 5:15:51 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
1 день, 21:03:07 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
17 дней, 18:18:07 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
28 дней, 16:30:16 | 100% (121/121) | ||||||||||||||||||||||||||||||||||||||
4 дня, 2:10 . |