Рубрика «Настройка Linux» - 87

Однажды в нашем небольшом офисе понадобилось настроить систему учёта трафика под linux. Бегло просмотрев готовые решения, я решил использовать что-то попроще. Погуглив, мне понравился подход использовать самописный скрипт, который бы конвертировал статистику netflow в squid-совместимый лог, который затем можно анализировать чем угодно. Готовый скрипт, гуляющий по гуглу, я использовать не стал, т.к. он использует ipcad, которой отсутствует в debian и ubuntu. Написал свой вариант, использующий любой netflow сенсор и flow-tools в качестве коллектора. Скрипт постепенно усложнялся и, в итоге, вырос в небольшую систему учёта трафика. Архив этого удовольствия весит около 50кб, при этом:

  • устанавливается с помощью deb для дистрибутивов, основанных на debian или с помощью собственного инсталлятора для остальных
  • умеет считать интернет-трафик на маршрутизаторе во всем ip v4 протоколам и портам
  • умеет ограничивать доступ не прописанным пользователям
  • вместо голой статистики ip-адресов netflow умеет детализировать отчёты с помощью dig и squid
  • умеет выборочно блокировать трафик
  • имеет веб-интерфейс для управления пользователями и группами пользователей
  • настраивается немногим сложнее lightsquid, который использует в работе
  • не использует промежуточный лог access.log, собственный парсер конвертирует статистику netflow напрямую в отчёт lightsquid

Считаем сетевой трафик с помощью netflow и lightsquid - 1
Читать полностью »

В соседнем топике от bondbig'a прозвучал вопрос: «Расскажите лучше, как самому запилить две версии php на одном сервере (5.3 и 5.5, например).» И я попробую на него ответить на примере suphp, не останавливаясь на деталях, а описав только общую концепцию.

suphp это модуль для apache, который вызывается вместо mod_php и изначально был насчитан на запуск apache от разных пользователей. Это придумано для того, что бы злоумышленник взломав 1 сайт не получил доступ ко всем сайтам на сервере (ведь по умолчанию apache работает от одного пользователя для всех сайтов на сервере). Но его можно приспособить и под наши задачи.

Я не буду сравнивать suphp с mtm-itk, скажу лишь что компания, в которой я работаю применяет suphp на серверах виртуального хостинга (да, я работаю в хостинг провайдере), применяет успешно и жалоб на этот модуль на моей памяти никогда не было.
Читать полностью »

Каждый раз, когда неофит открывает для себя возможности баша и решает про это написать, он обязательно всем рассказывает про удобный метод «повторить команду» с использованием "!!".

Типа так:

$ touch /test
touch: cannot touch ‘/test’: Permission denied
$ sudo !!
sudo touch /test

Типа, хэппи-энд.

Я никогда такого не использовал, но не задумывался, «почему». Просто мне не нравилась эта идея.

А сейчас я придумал простой контрпример, который у любого хорошего человека отобъёт любое желание играться с восклицательным знаком в любой форме.

echo NO ROOT PLEASE
 echo do it with sudo
sudo !!

(просто скопипастите это пример в шелл)
Читать полностью »

IPv6, miredo, dynamic DNS AAAA - 1

Захотелось странного — чтоб мои IPv6-enabled (miredo) хосты еще и динамически обновляемую DNS запись имели. Поизучав вопрос выяснил, что многие распространённые dyndns сервисы или не предоставляют возможность регистрации AAAA (IPv6 эквивалент записи типа A для IPv4), или не предоставляют её бесплатно, или имеют мутные настройки динамического обновления неизвестного уровня безопасности (или вовсе http/plaintext). Перепробовал с десяток сервисов и решил остановиться на freedns.afraid.org
Плюсы:

  • Человеко-понятная админка (без всяких «купить AAAA за $0 USD»)
  • Бесплатно дают AAAA
  • Безопасное (https) обновление
  • URL-based обновление (не приходится испытывать сомнений о конфиге для агентов типа ddclient)

Читать полностью »

Дано: существующий кластер CEPH 0.87. Задача: обеспечить мониторинг. Задача № 2: Написать инструкцию (попроще).

Я погуглил и нашел Calamari. Покопал дальше и нашел несколько статей на английском по сборке и установке. Попробовал поставить, наступил на несколько «граблей». В результате пришел к написанию этой статьи.
Отмечу, что пакеты, собранные в результате, вряд ли полностью соответствует debian-policy по сборке deb-пакетов. Обеспечить мониторинг важнее.
Читать полностью »

Приветствую!

Для своего продукта я сделал инсталлятор на чистый VPS с CentOS 6.x и оперативной памятью 512MB+. Это такой VPS, который можно приобрести у DigitalOcean.com за $5 в месяц. Но инсталлятор получился довольно универсальный, и его можно форкнуть с гитхаба, чтобы исключить ненужные вам компоненты.

В качестве панели управления была выбрана VestaCP, о которой я раньше и не слышал, так как несколько лет слепо пользуюсь cPanel/WHM, в последнее время вместе с CloudLinux. Но это платная панель, и CloudLinux тоже платный, и последнее дело просить у пользователей еще за что-то платить, кроме как за продукт.

Читать полностью »

В статье об онлайн-курсе «Введение в Linux» на образовательной платформе Stepic мы обещали рассказать о технической реализации нового типа интерактивных задач, который был впервые применен в этом курсе. Этот тип задач позволяет создавать на лету виртуальные серверы с Linux для работы через веб-терминал прямо в окне браузера. Автоматическая проверяющая система следит за корректностью выполнения заданий.

Пример задания из курса:

OpenStack, Docker и веб-терминал, или как мы делаем интерактивные упражнения для обучения Linux - 1
В этой статье я хочу рассказать о проекте, который лег в основу нового типа заданий на Stepic. Я также расскажу о том, из каких компонентов состоит система, и как они взаимодействуют между собой, как и где создаются удаленные сервера, как работает веб-терминал и автоматическая проверяющая система.
Читать полностью »

Доброго времени суток, хабрачитатели!

Появился у меня уже относительно давно роутер, ASUS RT-N10U. Всем он мне нравился, и захотелось мне с ним поиграться. Прошил его dd-wrt-шкой, понастраивал там все, как мне хотелось. И решил поднять на нем веб-сервер, так как имел полтора десятка книг в HTML-е и планшет, с которого их достаточно удобно читать (как оказалось в последствии). И тут я столкнулся с не очень приятной штукой. Заливать книжки на роутер в общем-то не сложно: закинул по ftp, переместил куда надо — и все тут. А вот добираться до них из браузера потом своеобразно.

Сначала у меня был index.html (с ссылками на все, что там у меня есть), который я честно правил руками. Поначалу мне этого хватало, но потом, когда книжки начали добавляться интенсивнее, решил, что надо что-то менять в жизни. Ставить PHP на роутер или кучу добра для кросскомпиляции на десктоп, из-за одной веб-страницы мне не хотелось, и я решил написать CGI-ку shell-скриптом.
Читать полностью »

Самый простой deploy приложения на Ruby on Rails - 1

Полгода назад я написал пост Deploy приложения на RoR 4 с помощью Capistrano 3. Прошло время, я получил много положительных отзывов, но были и отрицательные. Из них можно было понять следующее:

  • Инструкция слишком сложная для новичка
  • Очень много всего приходится делать «руками»

Я подумал и написал gem 'capistrano3-ubuntu-server-config', который полностью настраивает Ваш «чистый» Ubuntu сервер. Всё, что Вам нужно сделать руками — создать нового пользователя и дать ему права visudo (причем давать ему права на passwordless sudo ему не надо). Он может:

  • Настроить SSH (Добавить настройки 'PermitRootLogin no', 'UseDNS no', 'AllowUsers username')
  • Создать и настроить swap (размер запрашивается)
  • Сделать
    sudo apt-get update

    и

    sudo apt-get upgrade

  • Установить из исходников и настроить как чистый Nginx, так и с модулем Pagespeed
  • Установить PostgreSQL из репозитория, затем создать суперпользователя БД (имя пользователя и пароль запрашиваются)
  • Установить из исходников и настроить Redis
  • Установить RVM с последней версией Ruby и gem'ами Rails, Bundler
  • Скопировать Ваш приватный ssh ключ (например для доступа к приватному git репозиторию) с локальной машины на сервер и добавить его в ~/.ssh/config
  • Установить imagemagick из репозитория (Необходим для Paperclip, постоянно его забываю ставить)
  • Установить любые дополнительные пакеты из репозитория (Запрашивает какие именно)

Можно запустить конфигурационный wizard, который узнает, что именно из вышеперечисленного необходимо сделать и заранее спросит все настройки, чтобы можно было потом пойти попить кофе, а можно запустить отдельные таски. Данный gem будет полезен не только Rails разработчикам, а всем, кто использует Capistrano для деплоя.

Эта статья раскроет следующие темы:

Читать полностью »

image
Краткое HowTo о том, как жить, если у тебя ноутбук, а экранов стало не хватать.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js