Archive for the ‘ Web ’ Category

ADBlock — Коллекционирую рукописные правила (:

Ох и напрягает меня реклама, без ADBlock в Интернете уже выжить невозможно. Сразу после установки годного браузера Iceweasel (aka Firefox in Debian) и некоторого необходимого тюнинга руки тянутся к инсталу плагина ADBlock Plus. Но из коробки режет он далеко не всю рекламу, приходится чуток допиливать кастомные правила.
По-быстрому написал парочку блоков для web-мусора что попался на глаза:

!!! Block Counters
*.list.ru/*
*.rambler.ru/*
*.yadro.ru/*
!!! Block Yandex Direct
##div[id^="yandex"]

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

CentOS 6.6 — Puppet Dashboard Install

В одной из предыдущих статей я описал процесс установки и настройки Puppet Server (он же Puppetmaster). Сейчас же хочу написать небольшую заметку по установке и настройке Puppet Dashboard — это весьма приятное дополнение к Puppet. Представляет из себя WEB-консоль для мониторинга применения манифестов и визуализации конфигурации вцелом.
Устанавливать буду на том же сервере где настраивал Puppetmaster. Поехали?
Читать полностью

Перестраиваем apache22 + mod_php5 -> nginx + apache22 + mod_php5

На одном из серверов понадобилось добавить чуть больше гибкости web-серверу. Система FreeBSD, web-сервер настроен по олдскульной классике: Apache22 -> mod_php5 -> MySQL. Поскольку ковырять старичка апача особо желания нет, решил просто «накрыть» его nginx-ом и докрутить в нем все свои хотелки (GeoIP, bandwidth limit, различные варианты отдачи в зависимости и User Agent и тд.) Тоесть нужна вот такая схема: Nginx -> Apache22 -> mod_php5 -> MySQL
Основная задача — свести к минимуму Downtime.
Итак, поехали … Читать полностью

Debian GNU Linux — Установка/миграция eGroupWare

Итак, у меня новая задача — перенести программу eGroupWare со старого сервера на новый. Тем кому нужно заинсталить с нуля — тоже статья пригодится … хоть и ничего сложного в этом нет 🙂
Старая версия 1.8.003 установлена на Debian, база в mysql
Новая версия доступная в репозитарии 1.8.005, ее и будем подымать на новом сервере. Hostname нового сервера — cr.mycom.loc

Делается миграция очень просто:
1. На новом сервере устанавливаем с нуля самую новую версию mysql-server и EGW
2. На старом сервере делаем дамб базы данных и переносим его на новый сервер
3. На новом сервере восстанавливаем базу с дампа в «рабочую базу» свежеустановленного EGW
4. На новом сервере делаем Upgrade EGW (Через WEB интерфейс)
5. При желании, немного оптимизации

Поехали …. Читать полностью

Joomla 1.7.3 Upgrade to 1.7.5: Error Undefined property: stdClass::$category_note

Сломался у меня на днях один сайтик, ну точнее не совсем у меня и не совсем сломался … ну то детали. Какеры постарались, мать их! Ну Joomla была лохматой версии 1.7.3 и как она досих пор прожила без присмотра — для меня загадка. Но речь не об том. Почистив гору всякого контрафактного файла и восстановив доступ к админке, я решил Jooml-у обновить. Решил что минорного обновления до версии 1.7.5 в моем случае будет более чем достаточно. Несмотря на минорность в пакете обновления зашла приличная пачка различных security исправлений … чего мне и требовалось. Обновить данную CMS дело несложное, даже для полного нуба в Joomla как я, это особого труда не составило. Но после обновления вылезла неожиданная беда! На некоторых страницах вместо текста появились вот такие ошибки:

Notice: Undefined property: stdClass::$category_note in /home/www/templates/jblank/html/com_content/article/basic.php on line 6

И еще вот такие: Читать полностью

Roundcube 0.9.5 Upgrade to 1.0.3 — «DB Schema: NOT OK»

Тот кто сталкивался с обновлением Roundcube наверняка знает что обновить его это тот еще гемор 🙂 Вот и в этот раз я столкнулся с трудностями обновления с версии 0.9.5 до 1.0.3. То что конфиги разные и имеют разный формат — это ложка дегтя … ну да ладно. А вот обновления БД всегда были «поребриком» о который спотыкается каждый 🙂 Короче, наткнулся на такую вот ошибку: «DB Schema: NOT OK»
В инсталлере есть кнопочка «Update» которая якобы должна решить эту проблему, вот же она:

Roundcube - Upgrade SQL DB
но какую бы версию я не выбирал — ничего Читать полностью

OpenCart install — Error «Could not connect to the database …»

Итак, повидал я всякого в web движках, но тут такое ….
Попросили поставить OpenCart — та делов то, подумал я. И вот в процессе установки нарываюсь на такую вот обшибку
Could not connect to the database please make sure the database server, username and password is correct!
OpenCART -Install ERROR Cant connect to database
Оказалось движку ненравится спецсимвол в пароле, это я уже эмпирическим путем определил, когда создал другую базу, другого пользователя и перепробовал несколько вариантов паролей 🙂
ППЦ!

Уязвимость в Word Press позволяющая скачать admin-ajax.php

Итак, поглядел слегка в логи своего блога и обнаружил интересные строчки:

178.73.212.6 - /wp-admin/admin-ajax.php?action=revslider_show_image&img=../wp-config.php
178.73.212.6 - /wp-admin/admin-ajax.php?action=revslider_show_image&img=../wp-config.php

Попробовал зайти туда сам с браузера, выдали белую страничку с одним единственным символом «0», но каково же было мое удивление когда часть произвольно найденных на просторах инета блогов на WP на запрос в духе:

http://wpblog.com/wp-admin/admin-ajax.php?action=revslider_show_image&img=../wp-config.php

выдает для скачивания файлик admin-ajax.php в plaintext!!! Напомню что там кроме всякой фигни содержатся и данные по подключению к базе MySQL, как то название базы, логин, пароль! Я просто офигел! Проверьте свои блоги! Я проверил блоги моих друзей-знакомых — уязвимость не нашел. Гдето выдает «0», гдето видел «-1». Вобщем АХТУНГ!!!
Читать полностью

FreeBSD — Настройка Nginx + PHP-FPM в chroot

Давно у меня в голове засела идея избавиться от apache2 на своих серверах. Зачем нужен этот древний тяжеленный мамонт? Ради модуля php? Ну так все хостинги давно уже обкатали режим php-fpm -это когда специфически собранный PHP работает сам по себе как сервис для компиляции php файликов. Стабильность и функциональность данного варианта работы PHP отличная! Остается статика, всякие картинки, стили, java-скрипты …. тут среди попсовых решений Nginx впереди планеты всей! Таким образом получаем простенькую систему из PHP-FPM + Nginx способную заменить Apache2 + mod_php + PHP. К тому же для большей безопасности и гибкости в настройке PHP-FPM поддерживает pools — это значит что PHP под каждый отдельный web-ресурс можно сконфигурить отдельно, к примеру сайту #1 дать 64MB RAM, а сайту #5 — 2048MB и тд, а любые превышения лимитов одним пулом не будут влиять на работу других. Для большей безопасности каждый пул можно разместить в его личном chroot-окружении, что на уровне FS изолирует все пулы друг от друга. Сладко??? Тогда в бой!
Установка PHP с флагом FPM:
Устанавливаем порт /usr/ports/lang/php5 с опцией PHP-FPM. При необходимости устанавливаем /usr/ports/lang/php5-extensions
Установка nginx:
Также из портов устанавливаем nginx, у меня он собран с такими опциями:

HTTP=on: Enable HTTP module
HTTP_ADDITION=on: Enable http_addition module
HTTP_CACHE=on: Enable http_cache module
HTTP_GZIP_STATIC=on: Enable http_gzip_static module
HTTP_GUNZIP_FILTER=on: Enable http_gunzip_filter module
HTTP_IMAGE_FILTER=on: Enable http_image_filter module
HTTP_PERL=on: Enable http_perl module
HTTP_REALIP=on: Enable http_realip module
HTTP_REWRITE=on: Enable http_rewrite module
HTTP_STATUS=on: Enable http_stub_status module
WWW=on: Enable html sample files

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

Joomla — Сброс пароля админа «по быстрому»!

Есть сайт на Joomla, доступ к ней забыт 150 лет назад, вот попросили в нем покопаться, обновить и проверить все ли в порядке 🙂 Туманная задача, но для начала надо бы хоть в админку попасть. Это оказалось не так сложно, имея доступ к SQL базе, можно вот такими двумя командами sql получить админский доступ в консоль Joomla:

mysql> INSERT INTO `pref_users` (`name`, `username`, `password`, `params`) VALUES ('Administrator2', 'newadmin', 'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '');
Query OK, 1 ROW affected (0.00 sec)

mysql> INSERT INTO `pref_user_usergroup_map` (`user_id`,`group_id`) VALUES (LAST_INSERT_ID(),'8');
Query OK, 1 ROW affected (0.00 sec)

mysql> quit

Теперь у нас в Joomla появился пользователь newadmin с паролем secret.
Читать полностью