Архив категории «Linux»

Автоматический перезапуск Apache

Веб-разработчики прекрасно знают, что после внесения изменений в конфигурационный файл сервера Apache или после смены настроек PHP (если он установлен как модуль), необходимо перезапускать веб-сервер. То есть каждый раз, когда вы вносите изменения в файл httpd.conf или php.ini вам необходимо рестартовать Apache. Часто бывает так, что в разгар работы, просто забываешь это сделать и начинаешь искать ошибку не там. Следующий способ позволит навсегда избавится от этой проблемы.

Многие знают утилиту под названием Cron — она выполняет различные команды, когда приходит указанное время. Аналогичная ей утилита Incron выполняет различные действия, когда происходят какие-либо события в файловой системе. В данном случае мы будем перезапускать веб-сервер, если был изменён один какой-либо из конфигурационных файлов.

Но сперва нам необходимо установить утилиту. Пользователи дистрибутива Fedora могут сделать это командой yum install incron. После установки нам надо запустить сервис и сконфигурировать его так, чтобы он стартовал при запуске системы. В этом нам помогут команды service и chkconfig:

# service incrond start
Starting incrond: [ OK ]
# chkconfig incrond on

Далее, аналогично с использованием crontab, создаём задания для incron:

# incrontab -e

Мой список правил выглядит так (имя файла или директории за которой следим, событие, действие):

/etc/httpd/ IN_CLOSE_WRITE /sbin/service httpd restart
/etc/php.ini IN_MODIFY /sbin/service httpd restart

Полный список событий, котоорые отслеживает incron можно узнать командой incrontab -t

IN_ACCESS,IN_MODIFY,IN_ATTRIB,IN_CLOSE_WRITE,
IN_CLOSE_NOWRITE,IN_OPEN,IN_MOVED_FROM,
IN_MOVED_TO,IN_CREATE,IN_DELETE,IN_DELETE_SELF,
IN_CLOSE,IN_MOVE,IN_ONESHOT,IN_ALL_EVENTS,
IN_DONT_FOLLOW,IN_ONLYDIR,IN_MOVE_SELF

Большинство из названий этих событий понятно и так, дополнительные комментарии можно найти в файле /usr/include/linux/inotify.h (поставляется вместе с пакетом kernel-headers)

Каждому сайту — по своему браузеру. Интеграция веб-приложений в десктоп

Все больше и больше инструментов, считавшихся доселе неотъемлемой частью настольных компьютеров, уходят в веб. Сейчас уже ни для кого не секрет, что в интернете можно полноценно работать с электронной почтой, выполнять повседневные задачи офиса. Этот уход в веб, помимо простой демонстрации возросших технологических возможностей, принес так же качественные изменения путем упрощения совместной работы над данными, что, в свою очередь, дало рождение термину «Enterprise 2.0»

Кажется, что может быть проще! Теперь для работы достаточно лишь открыть окно и набрать адрес. Но, все-таки, какими бы возможностями ни обладали современные браузеры, они мало приспособлены к работе с веб-приложениями. Это и не удивительно, ведь основная задача браузеров – это серфинг по сайтам. А веб-приложения явно выходят за рамки этой модели. Вспомните хотя бы возмущения специалистов по юзабилити относительно того, что использование концепции AJAX ломает основы пользовательского поведения с браузером (кнопка «Назад», добавление в «Закладки», и т. п.).

Но, к счастью, мир не стоит на месте. Растущая популярность браузера Firefox, темпы разработок и внедрения решения на базе движка Gecko привели к тому, что в начале появился проект XULRunner, а затем, на его базе, приложение WebRunner, о котором и пойдет речь.

Continue reading ‘Каждому сайту — по своему браузеру. Интеграция веб-приложений в десктоп’

Workrave. Первая неделя: полёт нормальный

В понедельник 10 сентября в блоге Lifehacker появилась моя заметка о программе Workrave. Это программа, которая помогает избежать появления заболеваний, вызванных длительным повторяющимся напряжением, например кистевого туннельного синдрома.

С того момента прошла одна рабочая неделя — пять дней использования программы Workrave. Пришло время поделиться впечатлениями от использования.

Во-первых, мне сразу же пришлось увеличить интервал между микро-перерывами. Три минуты, на мой взгляд, это слишком мало, и постоянные перерывы в работе мешают концентрироваться на рабочих задачах. А в остальном, я очень доволен. Мало того, что программа выполняет свою основную функцию по заботе о здоровье, так она ещё и помогает планировать и расставлять приоритеты для решаемых в данный момент задач — “крупную задачу начну после перерыва, а до перерыва успею закончить с мелкой”.

Берегите себя и будьте здоровы!

Собираем RPM не под root’ом

Многим, кому приходилось собирать src.rpm, не нравится тот факт, что сборку необходимо производить обладая root’овыми правами. Хесус Родригез (Jesus Rodriguez) делится небольшой магией в файле $HOME/.rpmmacros на страницах Red Hat Magazine.

Всё, что необходимо сделать, это выполнить следующие команды:

mkdir -p $HOME/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
echo "%home %(echo $HOME)" >> $HOME/.rpmmacros
echo "%_topdir %{home}/rpmbuild" >> $HOME/.rpmmacros

Теперь при инсталляции src.rpm всё будет устанавливаться в $HOME/rpmbuild/, а не в /usr/src/redhat/.

Вот и всё!

Вышла Fedora 7

Fedora 7

Play Ogg

Play Ogg

Фонд Свободного Программного Обеспечения (Free Software Foundation) объявило о запуске кампании по популяризации формата Ogg Vorbis — Play Ogg. Данный формат является альтернативой проприетарному формату MP3 и превосходит его с точки зрения норм права (Ogg Vorbis не использует патентованых технологий и распространяется по открытой лицензии), а так же технологически.

Линус Торвальдс ответил на патентные обвинения Microsoft

Линус Торвальдс ответил на патентные обвинения Microsoft

Лингва-франка…

Новый Pidgin просто прекрасен!

Gaim переименовывается в Pidgin

Руководство проекта Gaim подписало соглашение о торговых марках с коропорацией AOL — владельцем интернет-пейджера AIM. Для предотвращения дальнейших юридических споров, которые ведутся чуть ли не с самого запуска проекта Gaim, было принято решение изменить название проекта. Теперь он будет называться Pidgin.

readdir() и файловые системы

В процессе работы надо одним из проектов я выяснил следующее: readdir() возвращает имена файлов в том порядке, в котором эти файлы хранятся в файловой системе. Так, например, на тестовом сервере (Ubuntu) файлы возвращались в алфавитном порядке, а на production-сервере (Red Hat Enterprise Linux) — нет. А мне необходимо было именно производить действия с файлами исходя из того, что они читаются в алфавитном порядке. Для решения этой задачи пришлось задействовать дополнительный массив:

<?php
$dir = "/tmp";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
    $files[] = $filename;
}
sort($files);
?>

В PHP 5 то же самое можно проделать при помощи функции scandir().

Linux Kernal in a Nutshell в открытом доступе

Linux Kernal in a Nutshell

Изменения в дистрибутиве Fedora 7

Начиная с седьмой версии в дистрибутиве Fedora не будет больше разделения на Core и Extras — будет просто Fedora. Ориентировочный выход новой версии назначен на 26 апреля.

Священная война

Война браузеров — 2007!

XNeur — Punto Switcher для Linux

Данная программа является автоматическим переключателем клавиатуры.
Т.е. при наборе текста, если он набирается на неверном языке, xneur автоматически (или по запросу) переключит язык на нужный.

Принцип работы у программы аналогичен Punto Switcher.

Xneur изначально разрабатывался и тестировался под Linux. Позже была реализована корректная работа в FreeBSD.

Сайт программы — http://www.xneur.ru/

KeePassX. Кроссплатформенный менеджер паролей

Что сейчас самое важное для человека в современном информационном обществе? Правильно — логин, а там где логин, там всегда и пароль. Несколько почтовых ящиков, регистрации во всяких сервисах — все эти фликеры, мои круги, одноклассники, блоги, живые журналы, май спейсы, линкед ины и ласт эфэмы; разные плтёжные системы — пайпалы, веб мани и яндекс деньги; всевозможные рекламные сети — адсенсы и адвордсы, бегуны и яндекс директы, текстлинкадсы, пэхэпэмайадсы и ротабаннеры, наконец… и много чего…

Сколько сервисов — столько и аккаунтов (или ещё больше, если один забыл и зарегистрировался ещё раз). Следовательно, встаёт вопрос удержания в памяти огромного количества логинов и паролей. Конечно, можно использовать для всех аккаунтов одинаковый логин и одинаковый пароль, но согласитесь, что это не совсем хорошая практика.

Для себя я нашёл решение данной проблемы. И имя этому решению KeePassX — кроссплатформенный менеджер паролей.

Программа позволяет хранить все логины и пароли для различных аккаунтов, группировать аккаунты, а так же генерировать пароли для новых аккаунтов.

На мой взгляд, незаменимая программа в современных информационных условиях.