Хостинг с которым я работаю. Так что это даже как-бы не реклама

Хостинг unihost.com плюс домен бесплатно
Пользовательский поиск

Понравилось? Поделитесь с знакомыми и друзьями!

Мой переход с MySQL на MariaDB в Debian GNU\Linux

MariaDB Logo

Приветствую, читатель!

Сейчас я расскажу как я легко и быстро перешел с MySQL на MariaDB. Если у вас стоял MySQL то MariaDB подхватит его базы, но на всякий случай лучше все-таки сделайте бекап.
В общих чертах все ну очень просто.

Как я ставил Nginx+php-fpm на Debian GNU\Linux вместо Apache2

Привет, читатель!

Pre

Сейчас я опишу процесс как я устанавливал и настраивал связку Nginx+PHP-fpm для использования вместо Apache2 который стоял у меня до того. Естественно ставил я все это на локалхосте, на котором и занимаюсь веб-девом. Процесс не тривиальный и достаточно прост. Более полный мануал на который я ориентировался в описан статье Nginx+php-fpm+perl под Debian Squeeze. У меня же несколько короче и с некоторыми изменениями, в виду того что большую часть настроек майтейнеры пакетов и так уже взяли на себя.

eSubscribes версия 0.99a

Приветствую читатель!

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

eSubscribes для CMS/CMF Drupal 7

eSubscribes - модуль подписки на новые материала сайта/модуль подписки на новости сайта.

Что нового

  1. Поправлено меню. Теперь в админ. части Конфигурации вы можете видеть блок eSubscribes и видеть ссылки на нужные части модуля.
  2. Можно темизировать html-шаблон для отправки на email-ы в подпапке дефолтной темы, достаточно создать папку в папке с темой с названием esubscribes и в ней файлик template.html. По сути это тот же обычный html файл в котором нужно просто вывести два тега {subject} и {body}, соответственно тема и тело письма. Так же тот же файл можно скопировать из папки с модулем. Если в папке с темой нет нужного файла, используется файл в папке с темой.
  3. Очень полезная плюшка - настройка инстанса для SwiftMailer, теперь вы в конфигурации модуля можете спокойно настроить использовать вам для отправки функцию PHP mail(), или же использовать SMTP, или команду для локального MTA. Здесь же можно указать использовать SSL, авторизованный доступ к SMTP, ограничения на отправку количества писем в минуту и ограничение на количество переданных байт в минуту.
  4. Поправлена отправка по событию, теперь при наступлении события(добавление/обновление) статьи отправляется шаблонизированное письмо, использующее файлы из п.2. Так же теперь на добавленный материал в письме отправляется ссылка на конкретный материал.
  5. Поправлено удаление рассылки.
  6. Добавлена тестовая отправка на указанный email. Сделано оно для того чтобы вам было проще тестировать работает ли нужный инстанс(PHP Mail(), Sendmail,..) и проверки темизации шаблона.

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

Ссылка на скачивание внутри.

Новая версия eSubscribes - модуля подписки/рассылки email новостей/статей

Привет, читатель!

Pre

Вот в некоторой степени готова новая версия модуля eSubscribes. Не буду лукавить, баги наверняка присутствуют. Найдете, пишите, поправлю. Но, сильно изменилась структура модуля и есть приличные нововведения, ради которых стоит выпустить пока модуль хотя бы как есть, чтобы не тянуть еще месяц с его отладкой.

eSubscribes

eSubscribes - модуль подписки на новые материала сайта/модуль подписки на новости сайта.

Скачать модуль можно по ссылке: Ссылка.

Что было сделано:

  • Поправлены несколько багов, включая баг с подпиской/отпиской через блок с счетчиком подписавшихся.
  • Рефакторинг структуры модуля. Модуль разбит на файлы по функциональности
  • Новая возможность. Создание рассылки, выбор материалов для отправления в рассылке. Отправка самой рассылки подписавшимся.

Остальное под катом.

Mod-tmp для сессий, или количество свободных нод на диске исчерпалось

low disk space

Привет, читатель моего блога или случайно зашедший!

Иногда бывает такая ситуация, когда папка хранящая сессии заполняется что казалось бы невообразимо большим количество нод на диске исчерпывается и команда du -ih показывает следующую картину:

~# df -ih
Файловая система Iнодов IИспользовано IСвободно IИспользовано% Cмонтировано в
/dev/md1           5,9M          5,7M      141K            98% /home

Печально выглядит, правда? Для начала освободим место на диске. Так как команда rm -R /path/mod-tmp/* вам не поможет скорее всего, так как само количество в 5М сайтов нагрузит команду так что ее выполнения придется ждать весьма не скоро, если она вообще не выпадет с ошибкой. Так вот

Подключаемся к WiFi(WPA2) через консоль в Debian Linux

WiFi

Привет уважаемый читатель!

Надоели в последнее время мне проблемы с wicd и wifi-radar для подключения к Wi-Fi в Linux, и я решил что пора бы подключаться через консоль, минуя все эти надстройки в виде программ для подключения. На самом деле все оказалось еще проще чем я предполагал. И сейчас я покажу как это делается. А тем кому пока не надоело подключатся через программы стоит добавить эту заметку в Избранное, в дальнейшем пригодиться.

Подключаемся к роутеру/точке доступа

Итак, предполагаем что подключение происходит с шифрованием WPA2, так как сейчас это самое популярное и наиболее безопасное решение, чем к примеру устаревший WPA.

Drupal 7: пишем собственный модуль подписки на рассылку по Email!

Здравствуй, дорогой читатель!

В этой статье я покажу тебе как создать простой и эффективный модуль подписки на рассылку по Email для CMS Drupal 7, но в принципе все тоже в большей степени можно будет использовать и для других CMS, или даже просто как часть кода собственного проекта с небольшим изменением! Все будет просто и легко для понимания! Не сложный код и комментарии к нему. Ранее я написал статью, которая содержит большую часть присутствующего здесь кода, но... Эта статья полнее и содержит приятные плюшки. Для желающих посмотреть различия - смотреть тут.
Более того, дорогой читатель, в этой же статье ты увидишь еще несколько ссылок на другие статьи, в которых восполнишь или закрепишь часть пробелов в знаниях, а может быть просто увидишь еще одну точку зрения на написание модулей, что тоже не будет лишним! Ведь каждая прочтенная статья расширяет кругозор!

Сам модуль скачать можно по ссылке: eSubscribes
Более свежую версию модуля и описание изменений в его работе смотрите в статье Новая версия eSubscribes - модуля подписки/рассылки email новостей/статей.
Может быть когда-нибудь выложу на Drupal.org, но это будет немного позже.

Итак...

Почему я начал писать этот модуль?

Потому что ни один модуль для Drupal 7 рассылки по email не показался мне удобным, слишком много настроек не понятно для чего, нам же нужен просто удобный модуль, который позволяет:

  1. Подписаться на добавления материалов на сайте
  2. Отписаться с добавления материалов на сайте
  3. Отправлять рассылку при добавлении новых материалов на сайте
  4. Вывести блок подписки/отписки в нужном нам месте

Все. Более того, в следующей статье плюшек будет намного больше! И сам материал я постараюсь сделать на столько доступным к пониманию, чтобы прочитать его было легко и приятно, ну а пользу, дорогой читатель, ты оценишь сам для себя.
Приятного чтения, дорогой читатель!

Zen-kernel или Дзен-ядро для Debian GNU\Linux

Привет, дорогой читатель!

В этот раз я кратко расскажу тебе о замечательной пропатченной сборке ядра, под названием Zen Kernel!

Zen Kernel

Вот поставил вместе с официальными Linux ядрами из дистрибутива так же пропатченое проектом Zen Kernel ядро. Памяти стало кушать меньше и отзывчивость стала больше! Есть ради чего ставить! Ставить ядро нынче легко, не то что в былые седые годы... Хотя я их тоже не застал! Все очень просто, и все так же просто как и с установкой ядра из официального источника, такого как дистрибутив или kernel.org!

Что из себя представляет Zen Kernel?

Zen Kernel - набор патчей на официальное ядро Linux, которые вносит изменения для получения лучшей отзывчивости и производительности системы. Автоматически Zen Kernel получает исходные коды официального ядра через Git и синхронизирует патчи с ним. Так что получаем свежее ядро с патчами от Zen Kernel.
Zen Kernel использует комбинацию нескольких проектов, обновляет код через git-репозиторий, а также имеет несколько специфичных для Zen вещей, стремящихся удовлетворить большинство потребностей пользователей, реализовав их в одном ядре. Некоторые возможности патча: drm-next, wireless-testing, выбор планировщиков CPU (CFS/BFS), BFQ-планировщик ввода-вывода, aufs, unionfs, reiser4, tuxonice, PHC и многие другие вещи, которые замечательно подойдут для оптимизации настольных систем или ноутбуков. Всё это доступно в виде одного патча к ванильному ядру.(с) nixp.ru

Как ставить?

Качай архив с ядром, на текущий момент это версия 3.6.10 и ставишь по стандартному Debian-мануалу.
Скачать Zen-kernel
А вот и сам Debian-мануал, в котором нам нужно всего пару пунктов.
Мануал по установке

Поставили! Теперь можно наслаждаться производительностью!

Ошибка: Установка после сборки в Debian Sid ванильного ядра версии 3.6.8

Не буду описывать весь процесс установки, это первый вариант по мануалу находящемуся Здесь. Скачал я исходники ядра версии 3.6.8, собрал deb пакеты headers и image, но headers не установился выдав ошибку во время установки:

Распаковывается замена для пакета linux-headers-3.6.8-goreotuma …
Настраивается пакет linux-headers-3.6.8-goreotuma (3.6.8-goreotuma-10.00.Custom) …
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.6.8-goreotuma /boot/vmlinuz-3.6.8-goreotuma
dkms.conf: Error! No 'BUILT_MODULE_NAME' directive specified for record #0.
Error! Bad conf file.
File:
does not represent a valid dkms.conf file.

Кратким и вполне закономерным решением оказалось удаление dkms на момент установки хедеров и установки dkms после обратно. Все стало и все настроено.

Kohana 3 framework: роутинг(routing) из базы данных mysql

Привет, дорогой читатель!

И вот он снова я. А снова я расскажу тебе о том как быстро и просто сделать динамический роутинг для фреймворка Kohana 3! Немного пошаманив и написав каких-нибудь пару десятков строк кода мы впихнем весь роутинг коханы в базу MySQL, а при желании и в любую другую! Для чего? Ну хотя бы для того чтобы постоянно не дергать bootstrap.php для добавления путей! А если у нас еще и CMS или что-то в этом роде, модульное, сделанное на базе Kohana 3, то динамически изменяемый роутинг нам сильно пригодиться!

Содержание

  • Что мы будем делать?
  • Для чего это нужно?
  • Еще один SQL коннект при загрузке каждой страницы, дополнительная нагрузка на сайт...
  • А сможем ли мы использовать ту же гибкость как и в файлах?
  • Идеально ли такое решение для использования?
  • Схема таблице в базе данных
  • Добавляем первый роут в базу данных MySQL
  • Добавляем код-обработчик роутинга загружаемого из базы данных MySQL
  • Итог

Что мы будем делать?

В этой статье мы научим Kohana 3 framework считывать данные о роутинге из базы данных. В нашем случае это будет MySQL, но не думаю что портировать на другие СуБД представит хоть какую-то сложность.

Для чего это нужно?

Если у Вас сайт предполагает наличие динамически подключаемых модулей или быстрой перезаписи роутинга на лету, не меняя содержимого файлов, то работа с базой данных необходима.

Еще один SQL коннект при загрузке каждой страницы, дополнительная нагрузка на сайт...

При правильном подходе нет. У нас не будет частого обращения к MySQL с нашего сайта. Мы не будем делать выборки при запросе пользователем каждой страницы. Вместо этого мы сделаем выборку всех значений роутинга и закешируем на нужное нам достаточно большое время, к примеру 60 секунд или больше. За эти 60 секунд к базе мы обратимся единожды. На все время жизни кеша данные будут получаться из кеша, что может быть нам еще выгоднее, к примеру если кеш храниться в памяти, а не на жестком диске. Производительность только увеличиться. Более того мы закешируем весь роутинг. Не менее важно то что мы в нашем случае сможем использовать как базу данных , так и файловое содержимое роутинга в файле bootstrap.php, например для критически важных моментов сайта, чтобы при отключении базы мы могли ссылаться на страницу, к примеру "Сайт находиться на техническом обслуживании."

А сможем ли мы использовать ту же гибкость как и в файлах?

Легко. Мы просто сделаем подстановку значений из базы в стандартный для нас синтаксис. Сможем так же использовать регулярные выражения. Более того, используя базу данных мы указываем хранить уникальные значения для имени роутинга и самого регулярного выражения роутинга, таким образом ограждая себя от ошибки из-за невнимательности - добавление роутов с одинаковыми именами или же одинаковыми регулярными выражениями, указывающими на одинаковый путь обработки.

Идеально ли такое решение для использования?

Нет идеальных решений. Это только технический пример, как использовать Kohana 3 framework и при этом брать данные о роутинге из базы данных MySQL. Наверняка есть что улучшать.

Vim: плагин интеграции с Git

Предисловие

Последних несколько месяцев использую Vim как IDE. Материалов по расширяемости в ру-язычном инете хватает. А вот с интеграцией его с системой контроля версий практически нету. Так как использую Git, про интеграцию Vim+Git и напишу маленькую заметку.

Для чего это?

Действительно, по началу задаешься вопросом "Для чего? Ведь все тоже легко сделать через консоль.". Можно, но на то он и vim чтобы используя его как можно меньше переключаться куда-то и делать что-то.

Drupal 7: Пишем собственный модуль рассылки по email при добавлении материалов на сайт используя SwiftMailer

Статья была обновлена, добавлены зависимости, блоки вывода подписки и архив с самим модулем. Смотреть здесь

Содержание

  • Предисловие
  • Что будем использовать?
  • Что такое подписка на рассылку новостей?
  • Прошлые статьи по написанию модулей для Drupal 7
  • Файловая структура модуля
  • Содержимое файлов ( c комментариями)
  • esubscribes.info
  • esubscribes.install
  • esubscribes.module
  • Итог

Предисловие

Озадачился я поиском модуля подписки по email при добавлениях материалов сайт. Так вот, хотелось чего-то простого, рабочего и не напряжного. Но увы, найти чего-то подпадающего под все эти критерии не удалось. Но что нам стоит самим написать такой модуль? Заранее извиняюсь за грамматику английского... Хотя возможно не только английского :-D

Что будем использовать?

- Стандартные средства drupal 7(меню, action, создание формы)
- Библиотеку работы с почтой SwiftMailer

Что такое подписка на рассылку новостей?

В нашем случае это страница, зайдя на которую и введя свой email человек может подписаться на отправку на email новостей о добавлении материалов на сайте.

SystemD: Journal - новая система журналирования/логирования событий/происшествий

Привет, дорогой читатель!

Надеюсь ты уже познакомился с системой запуска служб SystemD! Нет? Ну тогда об ней и ее плюшках ты сможешь узнать здесь. Ну а если ты уже знаешь о ней, то пойдем дальше и посмотрим уже пошумевшую в рунете систему логирования Journal которая теперь идет в комплекте с SystemD! Возможно что в будущем эта система и станет основной для мира Nix!

Содержание

  • Прошлые статьи цикла.
  • Описание.
  • journald.conf

Прошлые статьи цикла.

В этой статье мы пойдем дальше за кулисы новой системы управления процессами. Заглянем в систему журналирования/логирования. Данная система пришла на замену многим разношерстным службам/демонам логирования событий. Были как более удобные, так и менее. Предполагается что вы уже ознакомились с SystemD по моим предшествующим статьям или из других источников.

Описание

systemd-journald - системная служба, обеспечивающая сбор и сохранения логов. Она создает и поддерживает структурированные, индексированные журналы, на основе регистрируемой информации, полученной от ядра, от пользовательских процессов через вызов Libc syslog, от потоков STDOUT/STDERR системных служб через собственный API. Она будет неявно собирать многочисленные мета-данные полей для каждого сообщения журнала.

В основном вся собираемая в журнал информация текстовая, но так же можно включать бинарные данные. Все сохраняемые обьекты могут быть размером до 2^64-1 байт.

По умолчанию логи лежат в /run/log/journal/. Так как /run/ временная директория, то при перезагрузке все данные будут потеряны. Чтобы данные сохранялись постоянно нужно создать /var/log/journal/ где systemd-journald и будет сохранять данные.

Systemd-journald будет направлять все полученные сообщения журнала в AF_UNIX сокет SOCK_DGRAM /run/systemd/journal/syslog(если она существует), которые могут быть использованы демонани журналирования UNIX для обработки данных в дальнейшем.

Google Page Rank - таблица значений, или что же все-таки значат заветные циферки?

Таблица PR

Следующая таблица показывает примерную зависимость PR вашей страницы от PR и количества ссылающихся на нее других страниц, а также равноценность разного количества страниц с разным PR. Подразумевается не более 10 внешних ссылок на каждой странице.
Pagerank
Так, например, чтобы получить PR 7, нужно хотя бы 3 ссылки с PR8 или полтысячи ссылок с PR5.

Не забывайте, что PR ссылающихся страниц - это коэффициент, который не напрямую влияет на позиции сайта в поисковой системе. Не меньше, чем PR, на положение вашего сайта влияет текст ссылок (анкор), количество внешних ссылок на ссылающихся страницах, меньшее значение играет содержание ваших страниц. Все эти факторы (а также, некоторые другие, например, возраст сайта) нужно учитывать для того, чтобы попасть в топ-10 по сложному запросу.


Взято тут.

Страницы

Subscribe to Nelex.in.ua RSS