Рубрики
Блокнот

Температура видеокарты и процессора

Современные видеокарты это очень мощные и производительные устройства. Они потребляют много энергии и сильно нагреваются. Поэтому очень важно чтобы температура видеокарты не превышала критические значения. Иначе это неизбежно приведет к снижению производительности и даже может стать причиной поломки. В этой статье мы расскажем о том, какая температура может считаться нормальной для современной видеокарты, а также рассмотрим несколько способов решения проблем с перегревом.

Какая нормальная температура видеокарты. Но как узнать температуру процессора?

Сталкиваясь с перегревом видеокарты, многие пользователи интересуются, какая нормальная температура видеокарты. Температура видеокарты зависит от графического процессора, на основе которого она построенная, а также системы охлаждения. Поэтому в зависимости от конкретной модели значение нормальной температуры может колебаться. Например, видеокарты с пассивным охлаждением, а также мобильные версии видеокарт для ноутбуков, греются значительно сильнее своих аналогов для обычных настольных ПК.

Тем не менее, можно назвать средние значения температуры для типичной видеокарты. Нормальная температура видеокарты это:

в режиме простоя до 55 градусов Цельсия;
под нагрузкой до 80 градусов Цельсия;

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

Но, как узнать, что температура видеокарты превышает нормальные значения? Значительное повышение температуры видеокарты сопровождается снижением производительности. В играх будут наблюдаться непривычные зависания, FPS будет снижаться. Также могут наблюдаться артефакты изображения: мерцающие точки, полосы. В случае критического перегрева компьютер может перезагрузиться. Если вы заметили подобные симптомы, необходимо срочно проверить температуру видеокарты с помощью специальной программы.

Существует огромное количество программ для мониторинга температуры. Одной из наиболее простых и надежных является программа HWmonitor. Она позволяет узнать температуру процессора, видеокарты, чипсета и жестких дисков.

Рубрики
Блокнот

Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML} – Решение

При переносе данных с одной конфигурации в другую или загрузки каких-либо бухгалтерских данных в 1С пользователь может столкнуться с сообщением «Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДанными XML}». Обычно после данного сообщения об ошибке следует какое-либо уточнение, конкретизирующее тип ошибки, например «Тип не определен (ПланСчетовСсылка.Налоговый)». Появление данной ошибки обычно сигнализирует о несовпадении типов объектов в двух конфигурациях 1С (базовой и конечной), требуя корректировки правил обмена. Ниже разберём суть возникшей дисфункции и способы её решения.

Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML} – Решение

Содержание статьи:

  • 1 Обработка.УниверсальныйОбменДаннымиXML – суть и причины дисфункции
  • 2 Измените правила обмена
  • 3 Изучите текст сообщения об ошибке
  • 4 Перенесите остатки на текущий месяц
  • 5 Обратитесь в техническую поддержку
  • 6 Обратитесь к платным специалистам
  • 7 Заключение

Обработка.УниверсальныйОбменДаннымиXML – суть и причины дисфункции

Рассматриваемая проблема имеет массовый характер, и встречается у множества пользователей. Обычно её появление вызвано:

  • Разницей конфигураций и версий 1С, из-за чего переменные в обеих конфигурациях отличаются (по типам объектов, реквизитам и др.). Например, вместо «УдалитьСтавкаНДС» в новой конфигурации стоит «СтавкаНДС», вместо «УчётнаяПолитикаОрганизаций» необходима «УчетнаяПолитика» и другое. В некоторых случаях запрашиваемый новой конфигурацией реквизит может и вовсе отсутствовать как таковой;
  • Имеющейся ошибкой в правилах конвертации (обмена);
  • Некорректным переносом остатков (имеется попытка переноса остатков не на текущий месяц);
  • Некорректно работает программный помощник выгрузки (например, ПомощникВыгрузки_V8);
  • Некорректно установленным обновлением 1С.

Давайте разберёмся, как исправить ошибку при загрузке данных: {Обработка.УниверсальныйОбмен ДаннымиXML} на вашем ПК.

Это полезно знать: как исправить  неверный формат хранилища данных в 1С.

Измените правила обмена

Для квалифицированных специалистов первым (и наиболее очевидным) решением является изменение правил обмена по возникшей проблеме. Правила изменяются путём работы с форматом обмена данными xml, в котором изменяются те или иные параметры согласно конкретике возникшей проблемы. После корректировки правил обмена перенос данных из одной конфигурации в другую осуществляется без каких-либо проблем.

Также можно поискать правила обмена именно для вашей конфигурации на специализированных форумах 1С.

Изучите текст сообщения об ошибке

Обычно текст возникшей ошибки кроме процитированного нами шаблона содержит конкретику ошибки, например «Поле объекта не обнаружено (СтавкаНДС)». Таким образом, можно понять, что в новой конфигурации отсутствует реквизит «СтавкаНДС». Если вы не можете самостоятельно изменить настройки правил обмена, то в таком (и подобных ему) случаях необходимо открыть ваш конфигуратор, в справочниках отыскать справочник «Номенклатура», скопировать там реквизит «УдалитьСтавкаНДС», и назвать новый реквизит «СтавкаНДС».

Перенесите остатки на текущий месяц

Рассматриваемая дисфункция часто появляется при переносе остатков не на текущий месяц. Соответственно, для избежания ошибки при загрузке данных XML, необходимо переносить остатки на текущий месяц, и никак иначе.

Обратитесь в техническую поддержку

Поскольку появление ошибки при загрузке данных XML вызвано разницей в базовой и конечной конфигурации, то наиболее простым способом избавиться от ошибки {Обработка.УниверсальныйОбменДаннымиXML}  является обращение в службу технической поддержки https://1c.ru/rus/support/support.htm. Если вы имеете дело с лицензионной версией продукта, тогда вам помогут. Вполне вероятно, что вам предоставят специализированные правила переноса (файлы с расширением .epf и .xml) для решения возникшей дисфункции.

Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML} – Решение
Обратитесь в техническую поддержку 1С

Обратитесь к платным специалистам

Решение ошибки {Обработка.УниверсальныйОбменДаннымиXML} может состоять в обращении к специалистам по 1С, которые за определённую плату решат возникшую у вас проблему. Таких специалистов можно найти на различных форумах 1С, списаться с ними лично, и решить возникший вопрос.

Читайте также: «Обнаружено нарушение целостности системы» в 1C — как решить.

Заключение

В нашем материале мы разобрали, почему возникает ошибка {Обработка.УниверсальныйОбменДаннымиXML} и как можно её исправить. Обычно появление проблемы вызвано ошибкой в правилах конфигурации и несоответствием реквизитов, из-за чего перенос данных не может быть осуществлён корректно. Решение проблемы состоит в изменении правил переноса и созданием конгруэнтных реквизитов, после чего рассматриваемая ошибка обычно исчезает.

Рубрики
Блокнот

Массовая оптимизация таблиц Mysql

Известно, что фрагментированные базы данных mysql замедляют работу сервера mysql. И эти базы нужно иногда оптимизировать: производить дефрагментацию.

Есть два способа оптимизации таблиц утилитой mysqlcheck. Первый:

mysqlcheck -Ao

Здесь: ключ A проверяет таблицы на ошибки, а ключ o производит оптимизацию.

Второй способ:

mysqloptimize -A

Значение ключей здесь то же самое. :)

Рубрики
Блокнот

Импорт и экспорт базы mysql при помощи консоли

Импорт и экспорт базы данных mysql при помощи консоли, я думаю, — это самый универсальный и самый удобный способ, по сравнению с тем же phpmyadmin, который нужно ещё и устанавливать, и настраивать. А работа с консолью занимает минимум времени.

Конечно же, у вас должен быть доступ к SSH, либо напрямую к консоли, если это ваш локальный компьютер, либо к VNC.

Импорт

Сперва необходимо создать базу данных.

# mysql -uимя_пользователя -p имя_базы < db.sql

Экспорт

# mysqldump -uимя_пользователя -p имя_базы > db.sql

Значения «имя_пользователя» и «имя_базы» замените на имя пользователя и имя базы данных соответственно.

Для экспорта нескольких баз данных можно воспользоваться вот такой командой:

# mysqldump -uroot -p -B база_1 база_2 база_3 > db.sql

Где «база_1», «база_2», «база_3» — имена нужных для копирования баз данных, а «-B» — указание, что производится копирование нескольких баз.

Также утилита mysqldump позволяет сделать экспорт всех баз на сервере в один файл sql. Это делает команда:

# mysqldump -uroot -p -A > alldb.sql
Рубрики
Блокнот

Ограничение доступа к ssh по ip

Купил у провайдера статический ip и решил разрешить доступ к ssh только лишь с этого ip. Преимущества очевидны: никто, кроме меня, не сможет подключиться по ssh к вашему серверу. Никто не сможет подбирать пароли. И fail2ban становится не нужен. :) Короче, от статического ip одни сплошные плюсы.

Способ первый. Указание разрешённых ip в файле /etc/hosts.allow. Пропишите в нём следующую строку:

SSHD: 127.0.0.1

127.0.0.1 замените на свой ip адрес.

Откройте следующий файл — /etc/hosts.deny и пропишите там это:

SSHD: ALL

Теперь перезагрузите ssh командой service ssh restart.

Второй способ. Ограничение доступа по ip посредством iptables.

Если у вас открытый файерволл, то нужно разрешить доступ только со своего ip и закрыть для остальных. 127.0.0.1 заменяем на свой ip.

 iptables -A INPUT -s 127.0.0.1 -p tcp --dport 22 -j accept iptables -A INPUT -p tcp --dport 22 -j DROP 

Если файерволл закрыт, то нужно только разрешить доступ себе.

 iptables -A INPUT -s 127.0.0.1 -p tcp --dport 22 -j accept 

В обоих вариантах 127.0.0.1 нужно заменить на свой ip.

Рубрики
Блокнот

Ограничение доступа к админке сайта по ip при помощи nginx

Если у вас статический ip, и вы администрируете сайт исключительно с этого адреса, вы можете ограничить доступ к админ-панели сайта по ip. Как правило, панели управления сайтами расположены в папке (изредка — на поддомене :) Например, у вордпресс — это /wp-admin/. Значит, нужно ограничить доступ только к этой директории. В этом случае конфигурационный код будет выглядеть так:

location /wp-admin/ {   allow 127.0.0.1;   deny all; }

Замените 127.0.0.1 на ваш ip. Важно, чтобы строка allow с вашим айпи находилась выше строки deny all. Как сказано в документации:

…Правила проверяются в порядке их записи до первого соответствия.

Точно так же и с другими движками. Узнаём адрес админки, блокируем аналогичным образом.

Рубрики
Блокнот

Использование phpmyadmin в связке с nginx

После настройки связки nginx+php-fpm вам может потребоваться phpmyadmin для управления базами данных MySQL. Наиболее распространённая практика — доступ через алиас. Чуть реже — поддомен. Рассмотрим первый вариант.

В первую очередь следует установить сам phpmyadmin незамысловатой командой:

# aptitude install phpmyadmin

Во время установки будет задано два вопроса. Первый — выполнить ли автоматическую настройку для веб-серверов apache и lighttpd. Второй — следует ли настраивать конфигурацию phpmyadmin посредством db-config.

Первый вопрос пропускаем. При желании, второй вопрос вы можете изучить и выполнить соответствующую настроку. Правда, phpmyadmin будет нормально работать и без этого.

Далее открываем конфигурационный файл nginx и приписываем к нужному сайту следующий location:

location /pma/ {   alias /usr/share/phpmyadmin/;   location ~ .php$ {     fastcgi_pass unix:/var/run/php-pool-name.sock;     fastcgi_index index.php;     include fastcgi_params;     fastcgi_param SCRIPT_FILENAME $request_filename;     fastcgi_ignore_client_abort off;   }   location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {     access_log    off;     log_not_found    off;     expires 1M;   } }

Локейшену следует присвоить какое-нибудь уникальное имя, чтобы туда не стучались боты.

Также в качестве значения параметра fastcgi_pass прописываем адрес пула php (tcp или socket, в зависимости от настройки вашего сервера).

Напоследок добавляем исключения open_basedir для каталогов /usr/share/phpmyadmin и /usr/share/php/php-gettext. Тут возможны два варианта. Первый из них (предпочтительный) — это параметр в конфигурационном файле пула:

php_admin_value[open_basedir] ="/usr/share/phpmyadmin:/usr/share/php/php-gettext"

Второй вариант — в вышеописанном location добавить строку:

fastcgi_param PHP_ADMIN_VALUE "open_basedir=/usr/share/phpmyadmin:/usr/share/php/php-gettext";

После редактирования конфигурационных файлов следует перезапустить nginx и php-fpm.

Рубрики
Блокнот

Настройка сервиса для синхронизации Firefox версии 1.5

Если вы пользуетесь браузером Mozilla Firefox (Iceweasel), то наверняка знаете о прекраснейшей возможности — синхронизации данных: паролей, закладок, настроек, дополнений и т.д. А обладая собственным сервером на ос линукс, вы можете с лёгкостью организовать своё собственное хранилище.

В версии 1.0 сервис полностью был заменяемым. То есть, в настройках браузера вы могли указать адрес вашего сервера и регистрация аккаунта, и хранение данных производились на вашем сервере. Но начиная с версии 1.5 — сервис синхронизации является лишь частью сервисов Mozilla. Можно по-прежнему настроить свой сервис синхронизации, но регистрация аккаунта будет произведена через сайт Мозилли. А храниться данные будут у вас на сервере. :)

Правда, можно запустить сразу Mozilla Accounts у себя на сервере. Но это, возможно, будет рассмотрено в следующей статье.

Также рекомендую вам в обязательном порядке создать пользователя, от имени которого будет запускаться сервис синхронизации Firefox.

Содержание статьи:

  • 1 Установка компонентов
  • 2 Настройка Sync Server
  • 3 Связка с nginx
  • 4 Запуск sync server при помощи screen
  • 5 Настройка синхронизации в Firefox
  • 6 Обновление Firefox sync server

Установка компонентов

Установите необходимые компоненты:

# aptitude install python-dev git-core python-virtualenv

Теперь вы можете приступить к сборке сервиса из исходных файлов. Но сначала их нужно скопировать посредством git.

# git clone https://github.com/mozilla-services/syncserver

Переходим в папку с исходниками.

# cd syncserver

И собираем…

# make build

Настройка Sync Server

Мой сайт, через который будут синхронизироваться данные, работает по протоколу https, а в качестве веб-сервера выступает nginx. Все запросы на синхронизацию проксируются от nginx к сервису синхронизации. Поэтому и конфигурационные параметры будут приведены с учётом этого.

Конфигурационный файл — syncserver.ini. Откройте его в вашем любимом текстовом редакторе и измените следующие параметры.

[syncserver] public_url = https://mysite.com/dir/

Здесь следует указать, по какому адресу будет доступен сервис синхронизации. Смело вписывайте адрес вашего домена (с https, если поддерживается). Также можно указать путь, как у меня в примере.

sqluri = sqlite:////path/to/database/file.db

Это путь к файлу базы данных в формате SQLite. Файл с данными можно хранить в домашнем каталоге пользователя, от имени которого запускается сервис.

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

# head -c 20 /dev/urandom | sha1sum

Команда сгенерирует случайным образом секретный ключ. Раскомментируйте параметр secret и укажите полученный ключ. Например, так:

secret = db8a203aed5fe3e4594d4b75990acb76242efd35

Связка с nginx

Теперь организуем работу сервиса синхронизации и nginx.

Директиву [server:main] в конфигурационном файле syncserver.ini преобразуйте так:

[server:main] use = egg:gunicorn host = 127.0.0.1 port = 5000 workers = 2 timeout = 60

После чего откройте конфигурационный файл nginx с вашим сайтом, добавьте туда следующий location:

server { ... location /dir { proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_redirect off; proxy_read_timeout 120; proxy_connect_timeout 10; proxy_pass http://127.0.0.1:5000/; } ... }

И перезапустите nginx. Затем запустите сервис синхронизации:

# local/bin/pserve syncserver.ini

Запуск sync server при помощи screen

Для удобства запуска сервиса синхронизации создайте в папке с сервисом файл .sh с произвольным именем и запишите туда следующее:

#!/bin/bash screen -A -d -m -S ffsync make serve 

Это и будет вашим скриптом запуска. :) Останется только запустить его и сервис будет работать в свёрнутом режиме. Развернуть окно можно будет командой screen -x ffsync.

Настройка синхронизации в Firefox

В новой вкладке откройте страницу about:config, напечатав адрес в адресной строке. И найдите параметр services.sync.tokenServerURI. В значении этого параметра нужно будет указать адрес вашего сервера. Например, так:

services.sync.tokenServerURI: http://sync.example.com/token/1.0/sync/1.5

При этом, заменять здесь следует только http://sync.example.com/. Если сервис синхронизации у вас настроен на папку, типа http://sync.example.com/dir/, то этот путь и следует указывать совместно с token/1.0/sync/1.5.

Обновление Firefox sync server

Периодически сервис будет нуждаться в обновлении. А обновлять его можно, выполняя последовательно команды:

cd /path/to/syncserver git stash       # сохранить любые локальные в конфигурационный файл git pull        # получить последние обновления от github git stash pop   # заново применить локальные изменения из конфигурационного файла make build      # вытянуть любые обновлённые зависимости

UPD 30.05.2015: В качестве теста, попробовал установить firefox sync на разделе с файловой системой btrfs. Но всякий раз возникала проблема с базой в sqlite. На разделе с ext4 такой ошибки не наблюдал.

Рубрики
Блокнот

Postfix: отправка сообщений из очереди и её очистка

Команда для отправки всех сообщений из почтовой очереди: postsuper -r ALL.

Команда для удаления всех сообщений из очереди: postsuper -d ALL.

Рубрики
Блокнот

Prosody — Jabber/XMPP сервер для Debian

В репозиториях Debian Jessie присутствует приемлемая версия 0.9.7. Её мы и устанавливаем вместе с дополнением для работы с mysql:

# aptitude install prosody

Далее нужно решить, какую базу данных использовать: mysql или sqlite.

SQLite более компактна и нетребовательна к ресурсам. Она представляет собой файл на сервере, где и хранятся таблицы с информацией. Её легко скопировать, не требуется ничего, кроме библиотеки sqlite3. Такая база данных будет лучшем решением, если вы настраиваете jabber для себя (и десятка пользователей в придачу :).

# aptitude install lua-dbi-sqlite3

MySQL лучше подходит, когда на сервере планируется размещать много-много учётных записей пользователей и их постоянное добавление, удаление, редактирование и т.д. Для такой базы тоже нужен соответствующий компонент.

# aptitude install lua-dbi-mysql

Содержание статьи:

  • 1 Подготовка SSL сертификатов
  • 2 Создание базы данных MySQL
  • 3 Настройка Prosody
  • 4 Создание и удаление пользователей
  • 5 Сообщения об ошибках
  • 6 DNS записи для Jabber
  • 7 Правила для iptables
  • 8 Включение сжатия в Prosody
  • 9 Тестирование

Подготовка SSL сертификатов

Пользоваться самоподписанными сертификатами совсем не кошерно. :) К ним нет никакого доверия. Поэтому нужно получить бесплатный сертификат от StartSSL.com. По этому вопросу есть хорошая инструкция.

Допустим, сертификат вы получили. Теперь у вас есть файл сертификата ssl.crt и ключ ssl.key. Ключ нужно предварительно дешифровать. Конечно, можно воспользоваться и не дешифрованным, но придётся указать пароль в конфиге Prosody, выставить соответствующие права доступа и так далее…

# openssl rsa -in ssl.key -out ssl.key

Во время дешифровки нужно будет указать пароль ключа.

Кроме вашего сертификата и ключа, понадобится сертификат «Class 1 Intermediate Server CA». Скачиваем его:

# wget https://startssl.com/certs/sca.server1.crt

Объединяем в один файл (example.com записан в качестве примера, замените его на имя вашего домена):

# cat ssl.crt ssl.key sca.server1.crt > /etc/prosody/certs/example.com.pem

Сертификат будет сохранён в папке /etc/prosody/certs/.

Кроме этого, нужно создать ключ для протокола Диффи — Хеллмана. Он тоже будет использоваться в параметрах виртуального хоста, предоставляя возможность использования Forward Secrecy.

openssl dhparam -out /etc/prosody/certs/dh-2048.pem 2048

Установите права доступа, разрешающие только чтение сертификатов от имени пользователя prosody.

# chown prosody:prosody /etc/prosody/certs/*.pem # chmod 0400 /etc/prosody/certs/*.pem 

На этом подготовка сертификатов закончена.

Создание базы данных MySQL

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

Настройка Prosody

Процесс настраивания несложен. Всё достаточно хорошо документировано (хоть и на английском), а структура конфигурационных файлов проста.

Можно с лёгкостью создавать виртуальные хосты, прописывать им особые параметры и так далее. Почти аналогия с Apache и nginx. :)

Основные параметры конфигурационного файла /etc/prosody/prosody.cfg.lua, значения которых нам будет нужно отредактировать.

allow_registration = true;

Разрешает регистрацию пользователей при помощи клиентских программ. Pidgin, например. По-умолчанию — false. Не включайте, если вам не нужно разрешать регистрацию.

authentication = "internal_hashed"

Включает хеширование паролей пользователей. Значение по-умолчанию: internal_plain, что не совсем надёжно — хранить пароли в базе в открытом виде.

Указываем тип хранилища — база данных sql:

storage = "sql" 

Если вы выбрали в качестве хранилища sqlite, то раскомментируем строку:

sql = { driver = "SQLite3", database = "prosody.sqlite" }

Если же mysql:

sql = { driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" } 

Не забудьте указать ниже параметр sql_manage_tables = true, чтобы Prosody автоматически заполнил базу данных таблицами.

Значения prosody в параметрах database и username нужно заменить на имя базы данных и имя пользователя соответственно. Также нужно указать пароль для опции password, заменив фразу secret. Host оставляем без изменений, если сервер MySQL установлен на той же машине, что и Prosody.

Виртуальные хосты в Prosody

Следующим пунктом настройки Prosody является создание конфигурации для виртуальных хостов. Допустим, домен у нас один. Находим следующую строчку и заменяем пример example.com на имя вашего домена.

VirtualHost "example.com" 

Закомментируйте строку:

enabled = false 

Далее следуют настройки ssl для конкретного виртуального хоста. Нужно указать путь к сертификату и другие дополнительные опции.

Поскольку ранее мы экспортировали сертификат и ключ в один файл, то и путь нужно указать только к одному файлу.

Первые три строки — это пути к ключам/сертификатам. соответственно.

ssl = {   key = "/etc/prosody/certs/example.com.pem";   certificate = "/etc/prosody/certs/example.com.pem";   dhparam = "/etc/prosody/certs/dh-2048.pem";   options = { "no_sslv3", "no_sslv2", "no_ticket", "no_compression", "single_dh_use", "single_ecdh_use" };   ciphers = "ECDH:DH:!ADH:!AECDH:!SEED:!DES:!3DES:!RC4:!NULL"; }

Четвёртая строка отвечает за опции ssl и отключает ssl версии 2 и 3. Пятая указывает, какие шифры разрешаются к использованию.

Последние два параметра для виртуального хоста, требующие шифрование при подключении клиентов и серверов. Их нужно указывать после пункта ssl = {…}.

c2s_require_encryption = true s2s_require_encryption = true 

На этом настройка Prosody закончена.

Создание и удаление пользователей

Если вы не включили возможность самостоятельной регистрации пользователей при помощи клиента, то добавить новых пользователей можно через консоль простой командой: prosodyctl adduser name@example.com. При добавлении нужно будет дважды указать пароль.

Права администрирования также можно дать любому пользователю. Укажите логин нужного пользователя в параметре admins = { } конфигурационного файла. Например, так:

admins = { "user1@example.com", "user2@example.net" } 

Удаление пользовательского аккаунта производится командой: prosodyctl deluser name@example.com, где name@example.com нужно заменить на jabber ID существующего пользователя.

Сообщения об ошибках

Проверьте, есть ли в логе ошибок Prosody (/var/log/prosody/prosody.err) следующее сообщение:

certmanager  error SSL/TLS: Failed to load '/etc/prosody/certs/example.com.pem':  Reason: bad end line (for example.com) 

В этом случае нужно проверить файл сертификатов на наличие вот таких строк:

-----END CERTIFICATE----------BEGIN RSA PRIVATE KEY----- 

Это неправильно и нужно их разделить, чтобы они выглядели так:

-----END CERTIFICATE----- -----BEGIN RSA PRIVATE KEY----- 

DNS записи для Jabber

Для каждого домена нужно прописывать в днс соответствующие записи (хотя и не обязательно, если не требуется общение с пользователями другого домена).

_xmpp-client._tcp IN SRV 5 0 5222 xmpp.example.com. _xmpp-server._tcp IN SRV 5 0 5269 xmpp.example.com. 

Где 5 — это приоритет, 0 — вес, а 5222 и 5269 — порты для client-to-server и server-to-server типов связи соответственно.

Далее следует доменное имя, указывающее на сервер с установленным jabber-ом. Это может быть как тот же самый сервер, на котором запущен сайт, так и любой другой.

Правила для iptables

Если на вашем сервере по-умолчанию блокируются входящие подключения, следует создать правила iptables, разрешающие подключение к jabber-серверу по протоколу tcp для необходимых портов:

# iptables -A INPUT -p tcp --dport 5222 -j ACCEPT # iptables -A INPUT -p tcp --dport 5269 -j ACCEPT

Включение сжатия в Prosody

Иногда может понадобиться включить сжатие для экономии трафика клиента или сервера. Для этого установите пакет lua-zlib:

# aptitude install lua-zlib

Найдите в самом начале конфигурационного файла группу параметров modules_enabled и раскомментируйте строчку:

"compression"; -- Stream compression (Debian: requires lua-zlib module to work)

И установите уровень сжатия от 1 до 9 параметром, который нужно прописать после группы modules_enabled.

compression_level = 5

Тестирование

Правильность настройки шифрования можно проверить на сайте https://xmpp.net. В наличии тест как для соединений client-to-server, так и server-to-server.