Swagger

Swagger

При проектировании современных программных систем часто встает задача согласования и разработки интерфейсов для взаимодействия их компонентов друг с другом. В последнее десятилетие огромную популярность и развитие получили SPA и thick мобильные приложения взаимодействующие с сервером через API интерфейсы. Если раньше разработка интерактивного веб сайта происходила путем поэтапных правок кода серверной […]

Читать далее →

Простой бэкап на Яндекс.Диск с помощью cURL

У меня есть скрипт для резервного копирования сайта, который работает по расписанию и создаёт бэкап в виде нескольких tar-архивов в каталоге, скажем, /home/cube/backups. Задача — так же по расписанию заливать эти файлы на Яндекс.Диск. Почему именно Яндекс.диск? Он работает шустро (по крайней мере, в пределах России). Может работать по WebDAV. […]

Читать далее →

Шпаргалка по exim

Часто используемые команды при работе с exim4 Вся очередь: Общее количество писем в очереди Чем занят Замороженные письма Удалить замороженные Удалить все Статистика Статистика в лог Еще полезные команды для работы с почтой

Абстракции php

Чистый php, фреймворк и cms — это 3 уровня абстракции. Предположим, домохозяйка решила приготовить пирог — пошла в магазин, купила готовое тесто, испекла пирог. Временные и трудовые затраты минимальны. Вкусовые качества пирога — заурядные, сойдет для школьной столовой, но не более. Так вот, это CMS. Предположим, домохозяйке не нравится магазинное […]

Читать далее →

Мониторим Exim4 через Zabbix

Мониторим Exim4 через Zabbix

На нашем сервере стоит Vesta CP и в панели администратора есть графики загрузки почтовой очереди. Для автоматизации этого дела настроим Заббикс Имеем: настроенный и рабочий exim настроенный и рабочий zabbix 2.2 1) Создаем в папке /usr/lib/zabbix/externalscripts файл с именем zexim4.sh и следующим содержимым. В скрипте правим переменные main_log, tmp_log, stats, указывая свои пути:

[…]

Читать далее →

Калькулятор в панели Unity

Я часто пользуюсь дашбордом убунты как быстрым калкулятором — нажал клавишу Win, вбил числа, посмотрел результат. Просто и удобно. Но по умолчанию почему-то убунта вместо локальных расчетов отправляет запросы на свои сервера (Canonical), и там уже осуществляет калькуляцию. Да и вообще, много шлака из коробки в дашборде отображается. Рецепт такой: Открываем […]

Читать далее →

Скрипт проверки свободного места на яндекс диске для zabbix

У нас бекапы с корпоративного сервера сохраняются, в том числе, на яндекс диск. Мы там прикупили терабайт облака, и вот совсем недавно он уже начал забиваться. Пока написать автоматический «удалятор» старых дампов руки не доходят, набросал простой скрипт для проверки свободного места и уведомления заббиксом меня об этом. Подготавливаем токен […]

Читать далее →

Настройка fail2ban и Vesta CP для анализа apache

Объявился тут дудосер, который усердно прощупывал сайты на предмет ошибок, и в логах были замечены портянки подобного: [sourcecode language=»plain»] [Tue Apr 26 22:40:57 2016] [error] [client x.x.x.x] Directory index forbidden by Options directive: /home/test/example/public_html/system/, referer: -1 [Tue Apr 26 22:40:57 2016] [error] [client x.x.x.x] Directory index forbidden by Options directive: […]

Читать далее →

Прикрепление заказов от гостей к зарегистрированным аккаунтам OpenCart

Понадобилось прикрепить уже оформленные заказы, сделанные без авторизации и регистрации, к зарегистрировавшемуся в последствии покупателю. Сравнение производим по emailу из заказов от незареганых покупателей и емейлов зарегистрированных. Без излишеств: [sql] UPDATE oc_order o LEFT JOIN oc_customer c ON o.email = c.email SET o.customer_id = c.customer_id WHERE o.customer_id = 0 [/sql] […]

Читать далее →