Настройка 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] […]

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

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

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

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

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

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

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

К сожалению, из коробки ларавел не поддерживает конструкцию типа switch. Хочется написать так: [php] @switch($value) @case(1) <p>Первый вариант<p> @break @case(2) <p>Второй вариант<p> @break @default <p>Дефолтное значение<p> @break @endswitch [/php] ,но это работать не будет. Мы имеем возможность расширять функционал шаблонизатора Blade, и для того, чтобы вышеуказанная конструкция заработала, вставляем в […]

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

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

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

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

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

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

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

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

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

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

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

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

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

Пакетная смена владельцев папок vesta cp

После переноса целой кучи сайтов (84!) из бекапов панели ISP manager на панель Vesta CP получилось, что у большей части папок были выставлены некорректно владелец и группа. Как известно, в весте владелец и группа для файлов сайта идентичен логину аккаунта, поэтому нужно было массово сменить права. Получился вот такой сниппет, […]

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

Исключить папку из бекапа Vesta cp

Понадобилось на одном из серверов добавить в исключения подпапку public_html/cache, в ней генерились тонны кеш-файлов, не нужные в самом бекапе. На сайте весты есть упоминания вскользь о утилите v-update-user-backup-exclusions, но у меня она не завелась. Значит, будем настраивать руками. Открываем в папке /usr/local/vesta/bin файл v-backup-user, ищем комментарий # Define exclude arguments и после строки fargs+=(«./logs*») […]

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