Как с помощью с помощью UNIX (AIX) создавать блоги


Знаете ли вы, что развитие UNIX® идет рука об руку с развитием блогов? Стандартные Web-инструменты и редакторы текста UNIX помогут создавать блоги быстро и просто. В этой статье дается ряд советов, которые помогут вести сетевые дневники с помощью средств UNIX.

UNIX® (AIX) и сетевые дневники, или блоги, имеют много общего. Помимо того, что UNIX — "родная" среда большинства Web-серверов и среда, которую предпочитает множество разработчиков Web, она может быть также идеальной средой для ведения блогов благодаря своей мощной поддержке Web и эффективным текстовым редакторам. Воспользуйтесь инструментами командной строки и другими преимуществами UNIX, чтобы лучше вести свой блог с помощью следующих советов.

Постоянно обновляйте содержимое блога

Важнейшее правило ведения блога — заниматься им как можно больше. Главная идея состоит в том, чтобы блог больше напоминал бегущую строку или даже мультипликацию на экране телевизора, чем фрагмент гравюры, найденный в ходе археологических раскопок. Он должен постоянно развиваться и его читатель должен при каждом посещении обнаруживать что-то новое. Когда дело доходит до web-сайтов, то можно с уверенностью сказать, что посетители не только их читают, но и следят за их содержимым — переходят по ссылкам, вновь загружаются и возвращаются. Чтобы достичь успеха необходимо учитывать эту особенность.

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

Этот совет связан со всеми остальными, которые даются в этой статье, потому что они показывают, как система UNIX способна помочь обновлять блог быстрее и лучше. Для этого нужно знать, какие материалы блога пользуются наибольшей популярностью, а также иметь представление о его читателях. Необходимо добиться, чтобы текст загружался быстро и эффективно, а также автоматизировать обновления блога. Здесь кратко описаны некоторые основанные на UNIX методы управления содержанием блога, которые, возможно, работают намного лучше, чем привычные читателю этой статьи инструменты.

Просматривайте журналы блога

Журналы — это настоящий источник жизненной силы блога. Они сообщают, кто и что смотрит, в каком количестве и как часто. Если блог важен для его создателя, то следует просматривать журналы по крайней мере раз в день. Это дает возможность увидеть, кто является читателем блога, какое именно содержание читают чаще всего и когда . Не стоит пренебрегать этой возможностью?

Для извлечения из журнала полезных сведений можно использовать средства командной строки, но существуют и специальные средства UNIX (AIX) для автоматического анализа журналов в самых популярных форматах, в том числе тех, которые использует Web-сервер Apache. Одно из таких средств — популярная команда analog с открытым исходным кодом.

Реагировать на то, что популярно

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

 									$ analog -A www.20060901 | lynx -stdin 			

Результат выполнения этой команды приведен в примере 1.

Пример 1. Результат работы команды analog

 										 			Web Server Statistics for BigBlog 			Program started at Mon-25-Sep-2006 14:46.                         			Analyzed requests from Fri-01-Sep-2006 00:01 to Fri-01-Sep-2006 23:59 (1.00 days). 			____________________________________________________________________________ 			General Summary 			(Go To: Top: General Summary) 			This report contains overall statistics. 			Successful requests: 3,400               			Average successful requests per day: 3,403 			Successful requests for pages: 2,015 			Average successful requests for pages per day: 2,016 			Failed requests: 3 			Redirected requests: 963 			Distinct files requested: 101 			Distinct hosts served: 950 			Data transferred: 65.338 megabytes 			Average data transferred per day: 65.429 megabytes 			____________________________________________________________________________ 			This analysis was produced by analog 6.0. 			Running time: Less than 1 second.          			(Go To: Top: General Summary)      			

Стоит обратить особое внимание на отчет о поиске по словам Search Word Report, показывающий самые популярные слова в запросах и сколько раз они запрашивались, а также на отчет по каталогам Directory Report, который показывает самые популярные каталоги на сайте. (Всегда полезно знать, какие архивные записи блога интересны читателям на текущий момент). Наконец, отчет по запросам Request Report показывает самые востребованные файлы на сайте. Логотип блога и любая графика, которая часто появляется повсюду на сайте, непременно окажутся вверху списка, но глядя на остальные файлы (такие как файлы .html) можно выяснить, какие страницы или архивные записи блога наиболее популярны у ваших читателей.

Могут возникать пики активности чтения блога в течение дня или более долгого периода, на которые следует своевременно реагировать. Также следует выявлять и долгосрочные тенденции. Ежедневные журналы легко сохранять в архивном каталоге — их надо просто объединить в один файл и передать analog, чтобы он их обработал. Эту процедуру надо делать еженедельно, ежемесячно и даже ежегодно, чтобы отслеживать тенденции. Для распаковки и объединения любых сжатых журналов следует использовать команду zcat (gzcat в некоторых системах). Например, чтобы получить полный отчет по всем дневникам за сентябрь 2006 года, надо ввести команду:

 									$ zcat www.200609* | analog - | lynx -stdin 			

Как узнать, кто читает блог

Полезно выяснить, откуда приходят читатели — с каких доменов и IP-адресов, из каких стран. Чтобы находить хосты и информацию о них в сетевых дневниках, можно использовать несколько инструментов командной строки, позволяющих быстро получать отчет по каждому имени хоста. Например, если журнал ведется в формате Apache, то IP-адреса, с которых приходят запросы, займут первую позицию в каждой строке:

 									$ for i in `cut -d " " -f1 www.200609* | sort -u`; { host $i; } 			

Если дневник сжат, то сначала его надо распаковать командой zcat. А если ежедневный журнал доступен в файле access.log, то используя тот же метод, можно выяснить, просматривал ли сайт коллега с сайта badblog.example.com:

 									$ for i in `cut -d " " -f1 access.log | sort -u | head`;  			> { host $i; } | fgrep badblog.example.com 			

Можно определить общее число уникальных доменов, с которых посещали вашу папку /blog, используя данные из сжатых журналов в папке web/logs/:

 									$ zcat web/logs/* | fgrep "/blog" | cut -d " " -f1 | sort -u | wc -l 			

Как выяснить, откуда приходят читатели

Если с какого-то сайта приходит много читателей, то это означает, что там есть ссылки на блог, т.е. на этом сайте факт нужно учесть. Стоит обратить внимание на сайты Referrer, где есть URL, которые содержат ссылки на блог и появляются в заголовках. Эти URL сохраняются в журналах блога, и эти данные можно извлечь командой analog. Команда analog с ключом +f дает список содержащих на блок ссылки страниц в Referrer Report, как показано в примере 2.

Пример 2. Фрагмент страницы Referrer Report

 										 			Web Server Statistics for BigBlog 			Referrer Report 			(Go To: Top: General Summary: Monthly Report: Daily Summary: Hourly Summary: Domain 			Report: Organization Report: Referrer Report: Search Word Report: Operating System  			Report: Status Code Report: File Size Report: File Type Report: Directory Report:  			Request Report) 			This report lists the referrers (where people followed links from, or pages which 			included this site's images).                                                     			Listing referring URLs with at least 20 requests, sorted by the number of requests. 			reqs: URL 			----: --- 			814: http://www-128.ibm.com/developerworks/ 			359: http://www.google.com/search 			114: http://badblog.example.com/ 			102: http://badblog.example.com/2006/09/01/ 			81: http://www.google.co.uk/search              			530: [not listed: 485 URLs] 			________________________________________________________________________________ 			

Необязательно применять специальные пакеты составления отчетов — список referrer можно получить с помощью командной строки. В журналах Apache сайты со ссылками на блог указаны в двойных кавычках, и эти URL идут после IP-адреса, даты, времени и фактического запроса (также в двойных кавычках). Используйте awk, чтобы извлечь из этих данных только referrer; при двойной кавычке как разделителе они будут на четвертой позиции в каждой строке. Так как Apache записывает дефис (прочерк) в этом поле в тех случаях, когда отсутствует содержащий ссылку URL, то следует использовать grep с опцией -v, чтобы исключить такие строки. После этого нужно отсортировать результаты команды по популярности отдельных referrer:

 									$ awk ' BEGIN { FS="""}; {print $4}' log.daily|grep -v "^-$"|sort|uniq -c|sort -r 			

Правильно установить размер графических элементов

Атрибуты HEIGHT и WIDTH в тэгах Hypertext Markup Language (HTML) <img> весьма важны, поскольку устанавливают измерения рисунка. Когда они заданы, большинство браузеров автоматически выделяют место для рисунка в окне загрузки страницы еще до загрузки рисунков. Без указания этих параметров в тэгах нужно дожидаться полной загрузки рисунков, чтобы появилась возможность показать окружающий их текст.

Поэтому, при вставке изображения в блог следует указывать атрибуты этих изображений в соответствующих тэгах <img>, особенно когда на одной странице много рисунков, так как это весьма ускорит ее загрузку. Посетители смогут начать чтение как только страница начнет загружаться, и им не придется ждать загрузки всех рисунков.

Но каждый раз точно определять высоту (HEIGHT) и ширину (WIDTH) изображения, а затем включать эти значения в тэг <img> — это крайне утомительная процедура. К счастью, существует инструмент, который автоматически выполнит все эти действия за вас. Утилита imgsizer читает любые .html файлы и проверяет все изображения, на которые дается ссылка в этих файлах, определяет их высоту и ширину, а затем записывает эти значения в соответствующие тэги <img> в данных файлах:

 									$ imgsizer index.html 			

Это очень просто — не надо загружать никаких изображений или производить с ними какие-то манипуляции. После того, как imgsizer добавит эти тэги, страница станет загружаться намного быстрее. Немногие блоггеры используют этот простой способ, но это именно то, что ценят читатели блога.

Автоматизируйте обновления

Очень редко блоггеры готовят свой блог прямо на онлайновой странице — обычно это делается на локальной копии этой страницы, где сначала делаются наброски новых записей, а затем они редактируются. Затем, когда блоггер готов создать новый файл index.html, он загружает его на сервер, осуществляющий хостинг блога.

Этот процесс может занимать от 30 секунд до минуты и требует напряженного внимания, так как требуется открыть соединение File Transfer Protocol (FTP), ввести пароль, перейти к локальному корневому каталогу блога, перейти к корневому каталогу блога на сервере, загрузить файл и выйти из системы (см. пример 3).

При выполнении всего этого процесса весьма велика вероятность возникновения ошибки. У хорошего блоггера, который обновляет свой блог несколько раз в день, на эти процессы загрузки обновлений уходит не менее пяти минут в день, т.е. более 30 часов в год!

Пример 3. Обновление корневой страницы дневника вручную

 										 			develbox$ ftp bigblog.example.com 			Connected to bigblog.example.com. 			220 bigblog.example.com NcFTPd Server (licensed copy) ready. 			Name (bigblog.example.com:joe): joe_blogger 			331 User joe_blogger okay, need password. 			Password: secret 			230 You are user #1 of 2 simultaneous users allowed. 			230 Logged in. 			Remote system type is UNIX. 			Using binary mode to transfer files. 			ftp> lcd ~/blog 			Local directory now /home/joe/blog 			ftp> cd public_html 			250 "/usr/www/users/joe_blogger" is new cwd. 			ftp> put index.html 			local: index.html remote: index.html 			200 PORT command successful. 			150 Opening BINARY mode data connection. 			226 Transfer completed. 			ftp> bye 			221 Goodbye. 			develbox$ 			

Лучше осуществлять все эти операции автоматически с помощью языка Expect, который был создан для интерактивного создания скриптов. Для блоггеров, которые обычно обновляют свой сайт вручную через FTP, этот язык предоставляет наилучшие возможности для создания скрипта, позволяющего делать обновление автоматически. В примере 4 приведен такой сценарий, автоматизирующий сессию, показанную в примере 3.

Пример 4. Программа на языке Expect, автоматизирующая обновления сетевого дневника

 										 			#!/usr/bin/expect 			# update a weblog index page 			# puts ~/blog/index.html in remote ~/public_html/ 			exp_version -exit 5.0 			if $argc!=0 { 			send_user "usage: bloggitn" 			exit 			} 			set timeout 60 			log_user 0 			spawn ftp bigblog.example.com 			expect "Name*:" 			send "joe_bloggerr" 			expect "Password:" 			send "secretr" 			expect "ftp>" 			send "lcd ~/blog/r" 			expect "ftp>" 			send "cd public_html/r" 			expect "ftp>" 			send "put index.htmlr" 			expect "226*ftp>" 			send "byer" 			send_user "blogged it.n" 			close 			

Теперь, когда обновление готово, поместить его на сервер становится гораздо проще:

 									$ bloggit 			blogged it. 			$ 			

Применение системы управления содержанием (CMS)

Когда дело связано с разработкой и выпуском новых продуктов, оказывается, что пользователи UNIX имеют склонность к творческой работе. Но, тем не менее, они весьма ленивый народ и не любят заново изобретать телефон, если уже существует хоть что-то работающее, ведь слишком много других, новых идей еще ждут своего воплощения в жизнь.

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

CMS — это одно из самых удобных приложений для ведения сетевых дневников. Он предоставляет немало крайне полезных возможностей для блоггинга, которые не так просто самостоятельно запрограммировать, в том числе сортировку по категориям; архивирование по дате, по категории и по медиа-типу; легкое создание учетных записей; шаблоны страниц и форматирование; обычные или анимированные изображения и темы; доступность контента в разных форматах и по разным каналам (таким, как RSS).

Существует слишком много версий CMS и не стоит пытаться даже просто перечислить их все — ныне используются целые сотни, и некоторые из них подробно описаны в других статьях developerWorks . Но стоит все-таки указать самые лучшие и популярные CMS с открытым кодом, которые при этом хорошо работают на UNIX (AIX) и могут быть настроены для развития и ведения сетевого дневника. Они перечислены в таблице 1, но существуют и многие другие, так что выбрать конкретное решение нужно исходя из потребностей создателя блога.

Таблица 1. Популярные CMS для UNIX (AIX) с открытым кодом

CMS Description
Blosxom Blosxom — это основанная на Perl система для публикации сетевых дневников, позволяющая подключать дополнительные программные модули (плагины) и предоставляющая возможность создавать виртуальные папки.
Drupal Drupal — это модульная CMS для создания дневников с комментариями и trackback’ами.
Textpattern Textpattern — это система управления документами, в которой обращается особое внимание на качество отображения шрифтов Web-страницы; в этой системе используется PHP V4.3 и MySQL V3.23 или более поздние версии этих продуктов.
WordPress Один из особенно популярных CMS-пакетов с открытым кодом для публикации дневников под UNIX.

Заключение

Среда UNIX действительно прекрасно подходит для ведения блогов. Удобная для работы с сетью инфраструктура, мощные инструменты командной строки — все это и многое другое позволит сделать ведение сетевых дневников проще и интереснее. В этой статье были показаны некоторые способы использования UNIX для улучшения блогов.

по материалам www.ibm.com/deweloperworks

Оставьте комментарий