Понадобилось как-то прикрутить fail2ban к веб-форме авторизации в ISPmanager.
Готовых решений не нашел (были несколько вариантов, но для старых версий панелей, в которых иначе логируются попытки авторизации), пришлось ковыряться самому.
Понадобилось как-то прикрутить fail2ban к веб-форме авторизации в ISPmanager.
Готовых решений не нашел (были несколько вариантов, но для старых версий панелей, в которых иначе логируются попытки авторизации), пришлось ковыряться самому.
Несколько раз сталкивался с необходимостью удалить огроменное количество файлов в каталоге, при этом ни rm, ни find не помогали (например, Maildir, который не чистился годами, или mod-tmp каталог ISPmanager’а).
Выручил, внезапно, perl:
cd /путь/к/целевому/каталогу/ perl -e 'for(<*>){((stat)[9]<(unlink))}'
Возникла необходимость прикрутить приложение на Node.js к Django-проекту, над которым сейчас работаю. Сам проект работает через gunicorn + nginx. Открывать в мир порт, который будет слушать Node.js неохота, да и не хочу чтобы на любом виртуалхосте он был доступен, поэтому решил прикрутить его (Node.js) к nginx’у. Ну и создать для него (Node.js) юнит в systemd, чтоб запускть-перезапускать.
Сам юнит:
sudo nano /etc/systemd/system/node_имя_вхоста.service
[Unit] Description=node_имя_вхоста.js -- Node JS App for имя_вхоста After=network.target [Service] Environment=NODE_PORT=номер_порта Type=simple User=имя_пользователя ExecStart=/usr/bin/node /путь/к/nodejs/приложению/имя_приложения.js Restart=on-failure [Install] WantedBy=multi-user.target
Возникла необходимость собирать статистику посещений одного из django-проектиков. Так как когда-то, давным-давно, имел кое-какой опыт работы с awstats, его же и решил прикрутить. Ранее, правда, работал с apache2, а тут nginx. Можно, конечно, поставить apache2, чтоб слушал какой-нибудь 8080-порт, или типа того. Но зачем?
Порывшись в интернетах нашел несколько гайдов по прикручиванию, но ни один не подошел/не заработал в силу разных причин. Потому приведу здесь компиляцию всего найденого.
Очередной pacman -Syyu на этот раз прошел не столь незаметно как прежде. Отвалились все django-проектики, которые работают с postgresql. Причина проста — несовместимость формата БД версии 9.6 (стояла прежде) с версией 10.0-1 (которая стала после обновления), о чем радостно сообщил journalctl -xe:
ноя 27 11:35:44 archlinux systemd[1]: Starting PostgreSQL database server... -- Subject: Начинается запуск юнита postgresql.service -- Defined-By: systemd -- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Начат процесс запуска юнита postgresql.service. ноя 27 11:35:44 archlinux postgres[17505]: An old version of the database format was found. ноя 27 11:35:44 archlinux postgres[17505]: You need to dump and reload before using PostgreSQL 9.6. ноя 27 11:35:44 archlinux postgres[17505]: See http://www.postgresql.org/docs/9.6/static/upgrading.html ноя 27 11:35:44 archlinux sudo[17502]: pam_unix(sudo:session): session closed for user root ноя 27 11:35:44 archlinux systemd[1]: postgresql.service: Control process exited, code=exited status=1 ноя 27 11:35:44 archlinux systemd[1]: postgresql.service: Failed with result 'exit-code'. ноя 27 11:35:44 archlinux systemd[1]: Failed to start PostgreSQL database server. -- Subject: Ошибка юнита postgresql.service -- Defined-By: systemd -- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Произошел сбой юнита postgresql.service. -- -- Результат: RESULT.
Для экспериментов и наведения порядка в коде проекта пришлось поднять его копию в песочнице. Отличия, правда, некоторые имеются: не apache2 в ней, но nginx, и не MySQL/MariaDB, но PostgreSQL.
С первым отличием справляться долго не пришлось. Поднял очередной virtualenv, да почти копипастой с других проектов в песочнице создал два конфига (один для nginx, второй для gunicorn).
А вот перенести БД не так просто и быстро. Вернее, и просто, и быстро, если уже опыт имеется. А мне раньше не приходилось.
Когда надо заиметь доступ в локальную сеть извне, скажем, с сети другого провайдера, например, на помощь приходит OpenVPN. Установка нехитрая и много времени не займет.
Недавно довелось сливать прошивку с одной не шибко новой железки. К сожалению, ни одним из поисковиков в интернете такую же прошивку, чтоб не мучиться, не нашел.
RS-232 кабелем подсоединился к железке и начал подбирать нужный baud rate (прошивка, как и загрузчик, к слову, не оригинальные, которые идут в поставке).
Привезли маршрутизатор Cisco 2811 и дали указание залить более новый IOS. Ок, сделаем. Поднял на ноутбуке (стоит xubuntu 11.04) tftp-сервер:
sudo apt-get install tftpd-hpa
Потом привел /etc/default/tftpd-hpa в такой вид:
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS="10.0.1.195:69" TFTP_OPTIONS="-p -v -v -v -c -s"
Дальше перезапустил tftpd:
sudo /etc/init.d/tftpd-hpa restart