Debian.pro

Блог для пользователей и администраторов Debian


Администрирование

Выцепляем ca-bundle для ssl-сертификата.

Частенько случается такое, что у вас на руках есть только сам сертификат и ключ. Ну там клиент прислал. Для корректной же настройки https нужен ещё и т.н. «CA Bundle» (или по-простому — цепочка сертификатов вплоть до корневого). Ещё чаще клиент не знает, что это за сертификат, откуда он его взял, а уж тем более ничего [...]

Наркомания: Запускаем bash-скрипт по http через nginx.

Не знаю, зачем это кому-то может понадобиться. Вообще это достаточно странная идея. С другой стороны, мне понадобилось пару раз (про это будет отдельная статья). Запустить можно любую команду. Из ограничений — запускается всё от того же пользователя, от которого работает nginx (по умолчанию www-data). Ну и вообще это странная идея. И делать мы будем через [...]

Cron/crontab и несуществующий пользователь.

Краткая мораль — «если удаляете пользователя из системы, проверьте, что от его имени ничего не запускается через cron». Вторая мораль — «ничего не запускайте от тех пользователей, которые приезжают из ldap/nis/whatever». Ларчик очень простой — если в /etc/crontab или одном из файлов /etc/cron.d/* прописан пользователь, которые не существует в системе, то cron игнорирует этот файл. [...]

Parallel? Gnu parallel!

Уже не раз мне эта утилита пригодилась. Я уже даже и не вспомню, зачем толком, но вы наверняка придумаете зачем. Во-первых, хочется оговориться, что есть утилита «просто parallel», а есть GNU parallel. Я в статье именно про GNU-тую пишу версию, потому что она умеет то, что подобного рода утилита уметь должна. А умееет она очень [...]

Самый быстрый и надежный способ удалить все файлы в каталоге — rsync

Наверняка все сталкивались с ситуацией, когда есть каталог с несколькими миллиардами файлов, место/inodes кончилось, всё не работает, в каталоге нет ничего важного (по крайней мере настолько важного, чтобы нельзя было удалить это ради того, чтобы сервер начал работать).. Жмем rm — arguments list too long. Или segfault. Или rm падает по памяти. А ещё веселее, [...]

Делаем файловый сервер из голого nginx. Webdav.

Иногда возникает необходимость заливать файлики на второй сервер и отдавать их оттуда же по http(s). Ну навскидку — отдельные серверы с картинками для вашего проекта. Или с архивами. Да с чем угодно, мне-то какая разница =) Поднимать ради этого ftp и городить работы с ftp в коде сайта? гм… SFTP… можно, но где взять разработчика, [...]

Приводим все урлы на сайте в lowercase (нижний регистр) с помощью nginx

Некоторые поисковики (не будем показывать пальцем в гугл) считают ссылки вида http://site.com/InDex и http://site.com/index разными ссылками. Из-за этого можно натыкать ссылок на InDex на других сайтах, гугл их поиндексирует и найдет дубликат страницы у вас на сайте. (/me почесал затылок). По крайней мере, мне так рассказывали. Меня же во всей этой истории заинтересовало, что эту [...]

Как я LXC хакал. Или история о том, как байпассить chroot и lxc.

Собственно, все вы знаете, что я на каждом столбе пишу о том, что выйти из чрута (или lxc, если не запретить загрузку модулей ядра) можно, и даже очень легко. Наверное, пришло время пруфов. Смысл в том, что если вы можете загружать произвольные модули ядра в основную систему (а будучи рутом в чруте — можете) — [...]

Лечим gluster после split-brain.

Жил-был у меня gluster-mirror из двух машин. Жил он хорошо и клево, до тех пор пока я не начал делать бэкапы на этих двух машинах в gluster. Выбиралась машина, которая делает бэкапы, через flock прямо на гластере. И вот случился split-brain (машины потерялись связанность), бэкап сделался на обоих машинах, часть файлов получилась разной (потому что [...]

Чистим диски на удаленном сервере.

Если кто учился в универе (особенно там, где учат чему-то вроде системного администрирования), то вы знаете, что цикл жизни информационной системы состоит из чего-то в духе «подготовка, разработка, развертывание, эксплуатация, окончание эксплуатации». Как там научно, я не помню, но в общих чертах не ошибся. Сервер — та же информационная система (набор программного, аппаратного обеспечения и [...]