12 заметок с тегом

настройка

Открытый почтовый релей

Внезапно обнаружил, что мой почтовый сервер стал полностью открытым. Если честно, то даже не помню когда вносил какие-то сколь значимые изменения в конфигурацию postfix. С какого перепуга произошло это событие — для меня пока что загадка. Единственное, что косвенно указывало на это — возросшая нагрузка на сервер. Но я «грешил» на другое. Команда mailq сегодня выдала очередь из более чем 100 тысяч сообщений на отправку. Пришлось убивать всю очередь, не искать же нормальные письма в такой куче. Изменил несколько параметров почтовика, вроде бы все более-менее пришло в норму, даже сервер стал отвечать побыстрей. Но тесты все равно выдают, что у меня открытый релей, поэтому завтра, если будет свободное время, придется сбрасывать конфигурацию postfix и dovecot на «заводскую» и настраивать всё заново. Благо, что есть рабочий корпоративный сервер и часть настроек можно перенести оттуда. Впрочем, настройка с нуля поможет освежить мою память в этом плане и, возможно, пересмотреть некоторые настройки безопасности.

Установка ejabberd на ALT Linux

Заметка, по большей части, для себя.

Решил поделиться своим опытом установки и настройки ejabberd. В процессе встречал много ошибок, которые можно было бы избежать, будь у меня опыт по работе с этим сервером. Но опыт что называется «нулевой».
Первым делом, конечно, установка:

# apt-get install ejabberd

Несмотря на то, что после установки появляется одноименная служба, воспользоваться ей мы пока не сможем. Угум-с... Поэтому начинаем с того, что создаем базу данных в MySQL и пользователя. SQL-скрипт находится по пути /usr/lib/erlang/lib/ejabberd-18.03/priv/sql/mysql.sql.
Теперь регистрируем пользователя:

# ejabberdctl start
WARNING: It is not recommended to run ejabberd as root
# ejabberdctl register admin example.com PaSsWoRd
# ejabberdctl stop

Ответы сервера будут немного отличаться, но основной вопрос возникает при виде строки «WARNING: It is not recommended to run ejabberd as root». Чтобы избавиться от этого предупреждения, нужно запускать ejabberd от имени другого пользователя. Это делает сервис, но он нам пока недоступен. Почти.
После запуска ejabberdctl в папке /var/lib/ejabberd создаются нужные подкаталоги и файлы баз Mnesia. Вот только права у них сейчас root, поэтому сервер не сможет с ними работать. Меняем владельца:

# chown -R ejabberd:ejabberd /var/lib/ejabberd

Не забываем про логи — там то же самое:

# chown -R ejabberd:ejabberd /var/log/ejabberd

Теперь нужно изменить файл конфигурации сервера под себя. Открываем /etc/ejabberd/ejabberd.yml и правим, как минимум, строчку hosts в начале файла. И учтите еще пару моментов.

  1. Если вы планируете дать возможность анонимным пользователям подключаться к вашему серверу в качестве клиентов, то лучше сразу настройте подраздел host_config в разделе AUTHENTICATION. Я лично потерял весь ростер, когда настроил его уже в процессе работы. Хрен знает почему так получилось, но повторов мне не хочется.
  2. Также лучше всего сразу настроить ejabberd на использованием базы MySQL и не использовать встроенную Mnesia. Связано это с ограничением Mnesia на размер БД. Если планируется использовать запись действий.

После всего этого можно пробовать запускать службу:

# systemctl start ejabberd

Итак, служба запустилась, сервер нас слушает.
Какие еще есть нюансы? Ну, например, использование сертификатов от Let’sEncrypt. Я перебрал множество вариантов их подключения, но сервер каждый раз продолжал ругаться или на их отсутствие, или на то, что они подписаны неизвестным CA, или что не может выстроить цепочку сертификатов, чтобы доверять им. Перед настройкой нам нужно провести небольшие подготовительные работы. А именно — экспортировать корневой сертификат DST Root CA X3 в pem-файл. После этого размещаем его, например, в папке сертификатов Let’sEncrypt /etc/letsencrypt и даем права на чтение всем. Подкаталогам live и archive даем права 0755. Самим сертификатам даем права 0644. Вроде бы ничего не забыл. Теперь приступаем к настройке ejabberd.
В разделе Certificates прописываем следующие параметры:

ca_file: "/etc/letsencrypt/DSTRootCAX3.pem"
certfiles:
  - "/etc/letsencrypt/live/kini24.ru/*.pem"

Первый указывает на корневой сертификат, второй — на папку с сертификатами на наш домен. Перезапускаем службу ejabberd и проверяем логи на ошибки. Если все нормально, то никаких сообщений по поводу сертификатов вы не увидите, кроме такой:

[error] <0.306.0>@ejabberd_pkix:validate:543 Failed to list directory /etc/ssl/certs: no such file or directory

Согласен с ejabberd, нет у меня такой папки. Ну и черт с ней! :-)
Все остальные параметры настраиваются достаточно просто, почитать можно здесь: https://docs.ejabberd.im/admin/configuration/. Вот тут всплыл другой нюанс, решение которого я искал достаточно долго. Дело в том, что в файле все регулируется отступами. Примерно так:

listen:
  -
    port: 5222
    ip: "::"
    module: ejabberd_c2s
    starttls: true
    starttls_required: true
    zlib: true

У первой строки отступа нет вообще, потому что она «главная». У второй (тире) в начале два пробела. У следующего параметра, port, уже 4 пробела. Иными словами, каждый параметр отделяется от своего «родителя» двумя пробелами.

Настройка Kyocera M2235dn

Сканирование по сети

Убил сегодня с утра почти полтора часа, чтобы понять почему МФУ не может подключиться к сетевой папке на компьютере, чтобы складывать туда сканированные документы. Вроде бы и параметры забил по инструкции., включая варианты, найденные в интернете, но все равно «Ошибка подключения». Сходил к юристам, посмотрел настройки у них (до этого кабинет был закрыт). Вернулся, вбил такие же — результат нулевой, доступа нет.
В общем, не буду томить, проблема оказалась в имени компьютера. Оно было в кириллице. Это сделал кто-то из предыдущих администраторов, а я не трогал. «Работает — не трогай!» Как только имя было изменено на латинское, все сразу заработало. И к папке подключается, и складывает документы в нее. Кофе только не варит, паршивец :-)
Ну, а далее просто себе заметка на будущее.
Имя хоста — имя компьютера или его IP-адрес. Без предваряющих двух обратных слэшей. ТОЛЬКО имя или IP.
Порт — стандартный 445 порт.
Папка — имя сетевой папки, начиная с одного обратного слэша. Например: \Scanned. Конечно, должен быть доступ на запись в папку.
Имя пользователя и пароль — должны быть обязательно. Если даже они не нужны для записи в папку, придется их создать.

 3 комментария    2   11 мес   kyocera   m2235dn   настройка   сеть   сканирование

WiFi на несколько этажей

Стоит задача установить интернет в гостинице на несколько этажей — с 3-го по 5-ый. Номеров много, кабели кидать не вариант — работы не на один месяц с учетом загруженности. Поэтому делаем обычный WiFi. Берем три роутера по средней цене, по одному на каждый этаж. Один ставим основным, к нему подведен кабель провайдера, остальные два работают как усилители. В пятницу проложили кабель от провайдера, подключили к основному роутеру. Остальную работу оставил на понедельник.
Вчера с утра еду в гостиницу, все настраиваю. Вроде бы все работает замечательно: интернет раздается на все три этажа, уровень сигнала хороший до конца коридора в обоих направлениях. Но я же не могу просто так все оставить, начинаю тестирование. Так как все роутеры фирмы Keenetic, то при настройке и тестировании сильно помогла программа My.Keenetic с Google Play. Отключаем питание основного роутера, имитируя ситуацию с отключением электричества. После окончания загрузки ждем несколько минут, чтобы «усилители» подхватили сеть. Хрен там плавал! Не видят они после такого происшествия основной роутер. Экспериментальным путем было выяснено, что достаточно перезагрузить один из двух «усилителей», чтобы восстановить всю сеть на всех этажах. Попутно выяснилось, что не получится сделать этакую «лестницу»: второй «усилитель» берет WiFi с основного роутера и используется для получения сигнала третьего. Все должны подключаться только к основному. Печально. Хотя, возможно, я что-то не так делал.
Выходов из текущей ситуации я вижу несколько (в порядке предпочтения):

  1. Обратиться в техническую поддержку производителя. Возможно, что там прояснится ситуация почему «усилители» не подхватывают сеть.
  2. Сделать самому или просто купить «умную» розетку, которой можно управлять удаленно. Не ездить же после каждого отключения света восстанавливать WiFi в гостинице.
  3. Самый простой и надежный, на первый взгляд. Переключаем роутеры в режим «точки доступа» и прокладываем кабель между ними. Но тут интересен вопрос о том как будут «дружить» между собой три беспроводных сети с одинаковым именем. Никогда не экспериментировал с этим.

Управление плеером VLC с пульта

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

Пульт Vieta
Вот такой вот симпатичный пульт

Я бы еще долго его «настраивал» по причине лени, но в прошедшую пятницу меня практически свалил с ног приступ хандроза. Нормально дышать я не мог — каждый вдох отдавался болью в груди, поэтому всякие физические нагрузки мне были противопоказаны. В субботу вспомнил про него и решил, что пора устроить себе постельный режим.

Переходим к настройке.
Lirc у меня на компьютере уже был установлен, дело было только за настройкой пульта. В процессе выяснилось множество деталей, пульт тоже оказался немного «капризным», поэтому пришлось немного отойти от стандартного пути настройки. В итоге все выглядело следующим образом.
Для начала записываем коды клавиш пульта. Мне пришлось форсировать raw-режим записи:

# irrecord -f --device=/dev/lirc0

Далее жмем Enter и немного ждем как просит программа. Вводим название пульта без пробелов, у меня это Vieta. Потом начинаем нажимать разные кнопки пульта с такой скоростью, чтобы появилась хотя бы одна точка и их было бы не больше 10. В результате irrecord определяет его параметры и затем начинается процесс ввода кнопок. Вводим название кнопки, затем, когда программа попросит, нажимаем саму кнопку. Названия лучше брать стандартные, узнать их можно выполнив следующую команду:

# irrecord -l

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

# irrecord -a Vieta.lircd.conf

В конце выполнения этой команды будет предложено ввести имя файла, в который будет сохранен результат. Вводим имя и продолжаем.
Получившийся в результате файл копируем в папку /etc/lirc/lircd.conf.d. «Плюсом» в этой папке является то, что туда можно скопировать множество файлов от разных пультов и все они будут использоваться lirc. Перезапускаем службу:

# service lircd restart

Половина работы сделана, осталось настроить VLC. Для этого нужно будет создать еще один файл, в который будут записаны действия, выполняемые в ответ на нажатие соответствующей кнопки. Этот файл один для множества программ, но меня пока что интересует только плеер. Формат у файла следующий:

begin
    button = KEY_PLAYPAUSE
    prog = vlc
    config = key-play-pause
end

Здесь KEY_PLAYPAUSE — это название кнопки из ранее созданного файла vieta.lircd.conf, vlc — название программы, а key-play-pause — действие в плеере. Список действий VLC можно посмотреть на вики проекта, но лучше использовать следующую команду:

vlc -H --advanced 2>&1 |sed -n '/--key/ {s/^\ *--//; s/^\(.*\) <[^>]*>\ *\(.*\)$/\2 -> \1/; h}; /^.*[^ ].*-> key/ p; /^ -> key/ { n; s/^[ \t\n]*//M; G; s/\n//; p}'

Далее, по документации к lirc нам нужно запустить программу irexec, которая и будет «нажимать» кнопки в системе в ответ на нажатие на пульте. Но, как оказалось в случае с VLC, нам она не нужна. Осталось только настроить сам плеер на удаленное управление. Запускаем его и идеи в настройки программы и в левом нижнем углу выбираем пункт «Все». Для начала включаем управление пультом

Подключение lirc в VLC
Подключение lirc в VLC

Затем указываем имя файла конфигурации. Он у меня называется .lircrc и лежит в домашнем каталоге. Чтобы он мне не мешался, я сделал его скрытым.

Путь к файлу lircrc
Указываем полный путь к файлу lircrc

Всё, сохраняем настройки и перезапускаем плеер. Теперь можно пробовать управлять VLC с пульта.
Сразу он у меня не заработал, пришлось проверять, что компьютер вообще принимает команды с пульта:

# irw

Если после нажатия кнопки на пульте на экране появляются коды кнопок и их названия, которые были введены в файл vieta.lircd.conf, то пульт и приемник работают нормально. У меня реакции не было никакой, но после выполнения команды

# mode2

все странным образом заработало.
Особо меня порадовала кнопка Language на пульте. На нее я повесил переключение звуковой дорожки. Например, в том же «Доктор Хауз» звуковых дорожек с русским переводом несколько, но нравится мне только один. С этой кнопкой не нужно заморачиваться каждый раз при переключении.
Да, весь процесс настройки немного муторный, нужно вводить много текста, но делается это один раз, поэтому придется потерпеть.
Еще одним «минусом» , с которым мне пришлось столкнутся — ИК-излучатель в моем пульте совсем чуть-чуть торчит из корпуса, вследствие чего угол, под которым можно управлять плеером, очень мал. Надо достаточно точно направлять пульт на приемник. Впрочем, это устранимо :-)
Кстати, счастливые обладатели телефона с ИК-передатчиком, могут использовать его для управления плеером или вообще компьютером. Да, я знаю, что есть множество других программ для управления компьютером, но почему бы не использовать и такой вариант?

P.S. Пока искал как lirc различает короткое и длинное нажатие на клавишу пульта, наткнулся на недокументированный (по крайней мере, на официальном сайте его описание я не нашел) параметр ignore_first_events, который позволяет реализовать реакцию на долгое нажатие кнопки. В ходе тестирования оказалось, что сначала идет реакция на короткое нажатие, затем, если кнопка не была отпущена, то выполняется действие, запрограммированное на долгое. Чтобы было понятней, покажу на примере. Например, в файле lircrc заданы следующие секции:

begin
    button = KEY_FORWARD
    prog = vlc
    config = key-jump+short
end

begin
    button = KEY_FORWARD
    prog = vlc
    config = key-jump+medium
    ignore_first_events = 10
end

Если зажать кнопку примерно на три секунды, то сначала выполнится первая секция — плеер переместится на 10 секунд вперед, затем, спустя 10 повторов от пульта, выполнится вторая секция — плеер перейдет на 60 секунд вперед. То есть, в сумме, плеер перейдет на 70 секунд вперед.

 Нет комментариев   2018   lirc   vlc   настройка   пульт   управление

Неудачное начало дня

На неделе договорились с товарищем, что я проведу техническое обслуживание в одной из аптек. Заодно я решил, что он будет первым кто протестируем мою новую систему заявок на техподдержку. Итак, он оставил там заявку, я получил уведомление, все нормально. Ехать я должен был в субботу утром.
Утро субботы началось как обычно. Телефон меня уведомил о наличии новой прошивки и предложил обновить ее. Ничуть не сомневаясь, как обычно, согласился. Все предыдущие обновления проходили без эксцессов. Но это был не тот случай... После обновления прошивки и перезагрузки телефон выдал сообщение «Приложение system не отвечает» и предложили либо закрыть его, либо подождать. Ни одна из кнопок на нажатия не реагировала. Перезагружаю телефон, жду. После загрузки он снова перезагрузился, что вызвало у меня некоторые подозрения. В итоге, после десятка перезагрузок он либо выдавал вышеуказанное сообщение, либо перезагружался, либо вообще не реагировал на любые действия. Потихоньку я начинал понимать, что придется делать сброс настроек, но очень не хотелось... Но выхода не было. Надеясь на то, что после сброса работа телефона восстановится, загрузился в recovery (поди еще разберись в китайских надписях!) и сбросил телефон до заводского состояния. После сброса пришлось, конечно, заново устанавливать все необходимые программы.
Потеряв на всех этих манипуляциях почти час времени, с опозданием поехал в аптеку — работать все равно надо. Проведя там полдня, в перерывах восстановил работу мессенджеров — благо, что их было всего трое. Контакты восстановились из резервной копии Google. А вот бэкап Xiaomi меня ничуть не порадовал — последний созданный бэкап датировался летом прошлого года. Спрашивается зачем я настраивал синхронизацию? Но чуть позже оказалось, что все смс-ки, фотографии и т. д. снова очутились у меня на телефоне. СМС-сообщения были самым, наверное, важным среди всего этого. Это меня порадовало, ибо были контакты еще не внесенные в адресную книгу, но которые можно было извлечь из смс-ок.
В итоге, настройку телефона закончил только сегодня. Самым утомительным оказалось организовать ярлыки на рабочем столе по папкам.

Serviio

Небольшой обзор DLNA-сервера

Чуть меньше недели назад я, при помощи докера, установил на свой домашний сервер Serviio. В отличие от других серверов подобного рода, которые я попробовал, этот показался мне самым интересным, несмотря на его недостатки. Впрочем, последнее — только мое мнение, кому-то эти недостатки покажутся преимуществами.
Сразу хочу упомянуть один достаточно важный момент. Первые 15 дней сервер работает в режиме полной функциональности. Если по истечении этого периода вы не установите лицензию, то программа автоматически перейдет в режим бесплатной версии, которая имеет некоторые ограничения. Почитать о различиях версий можно на этой странице. Стоимость лицензии на текущий момент составляет 25 долларов США. Или около 1500 российских рублей.
Первое, что мне бросилось в глаза — множество папок, так же как и у miniDLNA. Это очень опечалило потому, что из-за этого нюанса я и собирался менять сервер. Но, покопавшись в настройках, обнаружил, что отображение папок настраивается и можно просто убрать ненужные. Так я и поступил, оставив только самые востребованные.
В качестве папок, где хранятся файлы, которые вы потом будете воспроизводить на телевизоре или другом устройстве, можно указать любые. Но так как я использую докер, то их нужно дополнительно указывать в параметрах запуска контейнера и только затем подключать в настройках программы. Как обычно, поиск мультимедиа файлов несколько нагружает процессор, что, впрочем, длится достаточно недолго.
Не лишним будет упомянуть порты, которые могут вам понадобиться для просмотра или для управления сервером:

  1. 1900 — общий порт UPnP;
  2. 8895 — не совсем понял что за порт, но без него ни одно устройство не видит сервер.
  3. 23423 и 23523 — для управления сервером по HTTP и HTTPS протоколам соответственно.
  4. 23424 и 23524 — для просмотра мультимедиа по HTTP и HTTPS соответственно.

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

  1. ServiiGo. Программа для удаленного просмотра фильмов или прослушивания музыки. Увы, но для доступа к такой возможности требуется версия Pro сервера. Для использования требует порты 23424 и 23524.
  2. ServiiDroid. Эта программа позволяет вам:
  • просматривать текущее состояние сервера и изменять его;
  • вручную обновить данные библиотеки;
  • просмотреть или изменить настройки подключенных клиентов;
  • управлять папками, в которых нужно искать файлы, или онлайн-источниками;
  • и, наконец, изменять настройки самого сервера.
    Иными словами, эта программа позволяет вам полностью управлять настройками Serviio и, что не менее важно, она не требует для своей работы Pro-версии программы.

Кстати, заметил, что по протоколу HTTPS сервер отдает данные немного быстрее, чем по HTTP.
Из «минусов» могу отметить следующие пункты:

  1. Некоторую заторможенность в работе программы, что обусловлено использованием java.
  2. Не всегда корректно распределяет медиафайлы по категориям.
  3. Некорректно работает с кодировкой cp1251. То есть, с русским языком.

Второй пункт раздражает больше всего. Например, я скачал из интернета все сезоны «Звездного пути». Serviio просканировал все папки и отобразил мне две папки сериала вместо одной. В первой папке были три сезона по одной-две серии в каждом, во второй — все 7 сезонов и все серии. Думаю, что это связано с некорректной обработкой информации, извлеченной из этих файлов, но не править же каждый раз эту информацию (что, кстати, не помогает) после скачивания фильма.
Третий пункт... Думаю тут даже рассказывать нечего. Если информация в файле закодирована при помощи cp1251, то вместо нормального текста, на экране вы увидите «кракозябры». Лечится это перекодировкой в utf-8, то есть после скачивания, например, музыки, нужно сделать еще дополнительные движения.

 Нет комментариев   2018   docker   serviio   настройка   обзор

Установка Serviio

На домашнем сервере установлен Alt Linux, у которого свое видение в отношении сторонних программ. Того serviio в репозитории нет, а попытка установить его с сайта провалилась. Скорее всего, тут сыграло роль недостаточное знание мной линукса. Поэтому, в итоге, был выбран путь попроще, который я с начала не заметил. Речь идет об установке serviio в виде docker.
Для начала скачиваем образ на компьютер:

# docker pull lsiocommunity/serviio

Затем, в соответствии с документацией, запускаем, немного изменив параметры запуска под себя:

docker run -d --restart=always --name=serviio -v /mnt/sda/serviio/config:/config -v /mnt/sda/serviio/media:/media -v /mnt/sda/serviio/transcode:/transcode --net=host lsiocommunity/serviio

По пути /mnt/sda у меня находится второй жесткий диск, на котором располагается всякое «барахло».
Поначалу ни одно из устройств в сети не смогло увидеть serviio. Немного поэкспериментировав, понял, что все дело в том, не был открыт один из портов на сервере. В итоге, пришлось открыть порты 8895, 23423, 23424, 23523, 23524 и 1900. Serviio не видели именно из-за порта 8895.
Ну а дальше все было просто: заходим по адресу http://192.168.1.254:23423/console (где 192.168.1.254 — адрес моего сервера) и настраиваем сервер под свои нужды уже в графическом интерфейсе. Тестировал его работу на трех устройствах: ТВ Samsung UE43M5500AU, телефоне на базе Android и компьютере с установленными Alt Linux и VLC. Все три успешно подключились и смогли проиграть фильм с разрешением FullHD. Тормоза оказались только на телефоне, но с него, как говорится, «взятки гладки».

 Нет комментариев   2018   dlna   docker   linux   serviio   настройка   сервер

Добавляем mail.ru в Openfire

«Переклинило» меня на очередном эксперименте — подключаться к icq и mail.ru через транспорты своего jabber-сервера. Разницы для меня никакой, в то же время нужно заводить только одну учетную запись в клиенте. Плюс к этому вся история переписки будет храниться опять же на моем сервере.
Все оказалось и просто и сложно одновременно. Сложность заключалась в том, чтобы найти компонент для использования транспорта. Ссылка на компонент в популярной статье о подключении транспорта оказалась не рабочей, но нашлась на другом ресурсе. Благо, что человек выложил архив с нужными файлами на своем сайте. Настройка заняла буквально несколько минут.
Для начала распаковал архив в домашний каталог. Изменил конфигурацию под свой сервер:

[main]
name = xmpp.kini24.ru
password = пароль_для_регистрации_компонента_на_сервере
# -- optional --
admins = admin@kini24.ru
# -- defaults --
server = 127.0.0.1
disconame = Mail.ru IM
port = 5275
reconnect = on
probe = on
show_version = on
show_os = on
psyco = off
# -- http proxy for avatars (default is none) --
# http_proxy = http://localhost:3128
# -- PID file (default is none) --
# pidfile = /var/run/mrim.pid

[profile]
type = xml
dir = /var/spool/mrim

[logger]
logfile = /var/log/openfire/mrim.log
loglevel = info
# --- logger defaults ---
# timestamp = %%d/%%m/%%y-%%H:%%M:%%S
# xml_formatting = off

Затем открыл веб-интерфейс Openfire и в разделе Настройки сервера — Внешние устройства — Разрешено подключаться (да, вот такой дурацкий перевод) добавил поддомен и пароль для подключения компонента. Без этого при попытке запуска компонента я получал только кучу сообщений типа

31/10/17-10:30:21 Connecting to XMPP server
31/10/17-10:30:22 Connection to server lost

Затем запустил транспорт:

/usr/bin/python mrim.py -c mrim.conf

Вернулся в Openfire, открыл Сеансы — Компонент сеансов, где и увидел что транспорт подключился к серверу. Затем прошел регистрацию в своем клиенте Miranda NG и попробовал написать своему другу. Полученный от него ответ оказал, что все работает нормально. Перед этим пришлось, правда, ответить на кучу запросов авторизации.
Осталось только добавить запуск транспорта в автозагрузку и настройка полностью завершена.

Убираем название сервера Apache

Не совсем, конечно, правильный заголовок, но какой уж есть...
Собственно, сегодня я не планировал этим заниматься, просто так вышло. На сервере установлен Apache версии 2.4. При помощи двух параметров (ServerTokens Prod и ServerSignature Off) можно сократить название сервера до банального Apache. Но убрать само название сервера «нельзя». Для того, чтобы это сделать понадобится установить или включить дополнительный модуль mod_security. У меня он установлен не был, но был в репозитории. Раньше, кстати, когда был установлен Apache версии 2.2, его там не было, поэтому приходилось довольствоваться тем, что получилось. Итак, установил модуль, включил его и... поймал ошибку при запуске сервера. Что за ошибка было поначалу не совсем понятно, поскольку ее текст уходил за пределы экрана. Пришлось вывод команды перенаправить в файл, из которого уже стало понятно, что сервер не может найти файлы конфигурации в подкаталоге модуля. Посмотрев в папке, вообще не нашел таковых. Видимо, не очень-то они и нужны. Поэтому просто закомментировал эти строчки и еще раз перезапустил сервер. На этот раз все прошло штатно, он заработал. «Хорошо», подумал я и добавил в файл конфигурации модуля строку

SecServerSignature " "

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

Ранее Ctrl + ↓