Одна из вещей, которые периодически требуются в тестировании, особенно при тестировании различных API, — это генерация сочетаний различных параметров. Скажем, у нас есть несколько параметров, которые могут быть использованы при вызове RESTful сервиса, при этом любой параметр может присутствовать или отсутствовать. Казалось бы, можно использовать циклы для решения этой задачи, но, возможно, более удобным будет использование битовой маски. Давайте посмотрим, как.
Маска подсети: считаем на bash
Маска подсети — это набор битов, определяющий, какое количество битов используется для указания адреса подсети, а какое для указания адреса компьютера в этой подсети. Более привычно маску подсети видеть в десятичном виде, но на самом деле она представляется в бинарном виде. Если вы понимаете, как представляется адрес подсети и адрес компьютера в этой подсети, то можете легко определить по адресу компьютера и маске подсети адрес этой самой подсети и маску подсети в таком виде:
<адрес-подсети>/<количество-бит>. Читать далее
Postfix: добавляем сервер в белый список
Вопрос: как добавить почтовый сервер в белый список для получения почты от плохо настроенного почтового сервера или рассылки через провайдера массовых рассылок? Читать далее
Squid: Включение basic-аутентификации
Вопрос: Как включить basic-аутентификацию для прокси-сервера Squid, чтобы при подключении прокси-сервера в браузере запрашивался логин и пароль пользователя?
Ответ: Читать далее
Мониторинг даты продления доменного имени
Мониторинг даты продления доменного имени — действие, которое нельзя недооценить. Я уже писал о том, как мониторить, сколько дней осталось до продления SSL-сертификата, и теперь давайте разберемся с другой частой проблемой — неожиданным окончанием срока регистрации доменного имени. Казалось бы, все регистраторы на сегодняшний день заранее об этом напоминают (причем обычно несколько раз). Но проблема в том, что эти письма либо не читают, либо они как-то попадают в спам. В общем, не все в курсе, что у них заканчивается срок регистрации доменного имени. В результате сайт не работает, люди не понимают, почему, и тратят иногда много времени, чтобы понять, что происходит. Тем временем доменное имя пропадает из кэша DNS, и через пару дней (или даже раньше, зависит от разных факторов) посетители перестают попадать на сайт. Давайте посмотрим, как мониторить дату окончания регистрации доменного имени. Естественно, скриптом на bash. Читать далее
Проверка сертификата сервера из bash
Проверка сертификата сервера из bash может быть полезна для мониторинга, чтобы не пропустить дату продления сертификата. Такие проблемы как продление доменного имени и продление SSL-сертификата достаточно распространены, даже серьезные организации иногда забывают проплатить домен или купить новый сертификат. Поэтому хорошей практикой является мониторинг даты окончания действия сертификата и доменного имени. С доменным именем разберемся в другой раз, а пока давайте посмотрим, как написать скрипт, который не только покажет поля сертификата на удаленном сервере, но и скажет, сколько дней осталось до окончания сертификата. Читать далее
Приоритеты репозиториев apt и deb-multimedia.org
Приоритеты репозиториев apt позволяют исправить проблемы, похожие на ту, что описана здесь. В общих чертах суть проблемы выглядит так: из неофициального репозитория устанавливаются пакеты, версия которых считается более высокой, чем версия пакета из официального репозитория. Один из репозиториев, с которыми возникают такие проблемы, — deb-multimedia.org. Вот как можно решить проблемы с пакетами DMO, используя приоритеты репозиториев менеджера пакетов APT. Читать далее
Ошибка curl: (35) gnutls_handshake() failed
Вопрос: при использовании git или curl возникает такая ошибка:
curl: (35) gnutls_handshake() failed: Public key signature verification has failed.
Что с этим делать? Читать далее
Inotify в bash: ловим изменения файловой системы
Inotify — это подсистема ядра Linux, которая позволяет отслеживать изменения файловых систем. Использование этой подсистемы позволяет выполнять определенные действия в том случае если вы создали файл, что-то в него записали, открыли, закрыли, удалили и так далее. Использование этого механизма позволяет избавиться от необходимости вставлять в скрипты проверки с таймаутами при помощи команды sleep. Это упрощает логику скрипта, поскольку нам нужно просто ждать информацию об изменениях файловой системы, а при получении информации о том, что что-то изменилось, выполнить необходимые действия. Давайте рассмотрим пример скрипта, использующего inotify. Читать далее
WordPress: как правильно настроить
Как правильно настроить WordPress для его быстрой работы? WordPress — одна из наиболее популярных систем управления контентом (CMS), но, к сожалению, нужно уметь ее правильно настраивать, чтобы обеспечить максимальную скорость работы и минимальное время отклика. Это позволит в том числе сэкономить на стоимости хостинга. Казалось бы, ничего сложного. Берем сервер, ставим пакеты, скачиваем свежий WordPress, устанавливаем его, и всё. Но, на самом деле, всё не так просто. Для настройки сервера для быстрой и эффективной работы сайта на базе системы управления контентом WordPress потребуется следующее: Читать далее