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

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

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

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

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

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

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

Объявился тут дудосер, который усердно прощупывал сайты на предмет ошибок, и в логах были замечены портянки подобного:   Очевидно, что прощупывают на предмет sql-инъекций. Поскольку из коробки fail2ban в панели vesta cp не имеет включенных правил для блокировки подобных запросов, и погуглив рунет на предмет готовых велосипедов (и не найдя […]

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

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

Понадобилось прикрепить уже оформленные заказы, сделанные без авторизации и регистрации, к зарегистрировавшемуся в последствии покупателю. Сравнение производим по emailу из заказов от незареганых покупателей и емейлов зарегистрированных. Без излишеств: Для регулярного использования в последствии можно написать отдельный модуль, чтобы по кнопке в админке привязывал заказы к существующим аккаунтам основываясь на […]

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

Git push в приватный репозиторий на Bitbucket без пароля

Git push в приватный репозиторий на Bitbucket без пароля

Для того, чтобы каждый раз не вводить пароль от своей учетки при обращении к удаленному репозиторию в битбакете, можно настроить авторизацию по ключу. Для этого нужно иметь сгенерированный ключ: Далее заходим в свой аккаунт битбакета, в настройки профиля, и выбираем в разделе БЕЗОПАСНОСТЬ пункт SSH-ключи: В Открывшемся окне нажимаем Добавить […]

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

Конструкция switch в шаблонизаторе Blade для Laravel 5+

Конструкция switch в шаблонизаторе Blade для Laravel 5+

К сожалению, из коробки ларавел не поддерживает конструкцию типа switch. Хочется написать так: ,но это работать не будет. Мы имеем возможность расширять функционал шаблонизатора Blade, и для того, чтобы вышеуказанная конструкция заработала, вставляем в файл app/Providers/AppServiceProvider.php в метод boot() следующий код: Теперь мы можем в любых своих шаблонах blade применять […]

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

Персональный прокси-сервер своими руками на centos + squid

Персональный прокси-сервер своими руками на centos + squid

Для нужд smm-отдела понадобилось нам иметь несколько чистых московских прокси. Поскольку публичные и общедоступные не совсем подходили, а конкретные платные сейчас достаточно дороги, то решение с собственным прокси сервером напросилось само собой. Имеем — готовый сервер на centos 6.6, с рутом и одним айпи адресом. Покупаем у хостера айпишники (в […]

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

Узнать айпи адрес сайта со старого сервера имен

Узнать айпи адрес сайта со старого сервера имен

На днях переносили сайт клиента, и у него один из поддоменов указывал на отдельный айпишник со своим собственным сервером, на котором крутилась какая-то внутренняя ERP система. Весь прикол был в том, что у нас не было доступа к управлению зонами (они принадлежали предыдущему саппорту, который обслуживал сайт), и мы решили […]

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

Обернуть внешние ссылки в noindex и nofollow

Обернуть внешние ссылки в noindex и nofollow

Маленький сниппет на php для оборачивания всех внешних ссылок в noindex и добавления к ссылке атрибута rel=»nofollow» $regex — регулярное выражение для поиска ссылок, нужно заменить site\.ru на свой домен $replacement — на что будем заменять, можно оставить как есть $text — собственно сам текст (статьи, новости) в котором нужно […]

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