Перейти к тексту

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

Профиль создается, когда вы в первый раз заходите в developerWorks. Выберите данные в своем профиле (имя, страна/регион, компания) которые будут общедоступными и будут отображаться, когда вы публикуете какую-либо информацию. Вы можете изменить данные вашего ИБМ аккаунта в любое время.

Вся введенная информация защищена.

  • Закрыть [x]

При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

Вся введенная информация защищена.

  • Закрыть [x]

Советы по UNIX: Как с помощью UNIX создавать блоги

Преимущества UNIX для ведения блогов

Михаэль Штутц, писатель, консультант
Михаэль Штутц (Michael Stutz) - автор книги The Linux Cookbook, которую он создал и набрал на компьютере с использованием только программного обеспечения с открытым исходным кодом. Его интересы в работе включают также цифровую публикацию и будущее его книги. Он использует различные версии операционной системы UNIX вот уже 20 лет. Вы можете написать ему на адрес stutz@dsl.org.

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

Больше статей из этой серии

Дата:  17.09.2008
Уровень сложности:  средний
Активность:  10283 просмотров
Комментарии:  


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

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

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

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

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

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

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

Для извлечения из журнала полезных сведений можно использовать средства командной строки, но существуют и специальные средства UNIX для автоматического анализа журналов в самых популярных форматах, в том числе тех, которые использует 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 часов в год! Это огромная куча времени, которую можно использовать гораздо лучше, например, совершенствовать навыки разработчика с помощью статей developerWorks.


Пример 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: bloggit\n"
	exit
}

set timeout 60
log_user 0
spawn ftp bigblog.example.com
expect "Name*:"
send "joe_blogger\r"
expect "Password:"
send "secret\r"
expect "ftp>"
send "lcd ~/blog/\r"
expect "ftp>"
send "cd public_html/\r"
expect "ftp>"
send "put index.html\r"
expect "226*ftp>"
send "bye\r"
send_user "blogged it.\n"
close

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

$ bloggit
blogged it.
$

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

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

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

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

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


Таблица 1. Популярные CMS для UNIX с открытым кодом
CMSDescription
BlosxomBlosxom - это основанная на Perl система для публикации сетевых дневников, позволяющая подключать дополнительные программные модули (плагины) и предоставляющая возможность создавать виртуальные папки.
DrupalDrupal - это модульная CMS для создания дневников с комментариями и trackback'ами.
TextpatternTextpattern - это система управления документами, в которой обращается особое внимание на качество отображения шрифтов Web-страницы; в этой системе используется PHP V4.3 и MySQL V3.23 или более поздние версии этих продуктов.
WordPressОдин из особенно популярных CMS-пакетов с открытым кодом для публикации дневников под UNIX.

Заключение

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


Ресурсы

Научиться

  • Оригинал этой статьи (EN).

  • "Как начать работу с открытым продуктом CMS" (EN) (developerWorks, август 2005): эта серия статей объясняет, как применять CMS с открытым исходным кодом вместе с Apache Tomcat и Jakarta Slide.

  • "Domino blogging: Domino Blog" (EN) (developerWorks, сентябрь 2004): здесь можно узнать, как вести сетевой дневник с помощью Domino Blog.

  • "Planet Blog" (EN) (developerWorks, январь 2004): в этой статье Эд Дамбилл (Edd Dumbill) показывает, как можно агрегировать RSS-каналы блога.

  • Technology bookstore: в электронном книжном магазине можно найти книги по блоггингу и другим темам.(EN)

  • AIX and UNIX: в разделе developerWorks AIX и UNIX размещена различная информация по разным аспектам администрирования систем AIX, которая поможет повысить квалификацию в области UNIX.

  • Новые пользователи AIX и UNIX: страничка для новичков AIX и UNIX.

  • developerWorks technical events and webcasts: будьте в курсе последних технических событий и Webcast-конференций сообщества developerWorks. (EN)

  • Podcasts: оставайтесь на связи с техническими экспертами IBM.(EN)

Получить продукты и технологии

  • Analog: скачайте бесплатно инструмент для анализа сетевых дневников.(EN)

  • imgsizer tool: скачайте бесплатную копию инструмента. (EN)

  • Скачайте бесплатно различные CMS, о которых рассказывается в этой статье, в том числе:(EN)
  • Язык программирования Expect: скачайте бесплатно Expect с главного сайта этого языка.(EN)

  • IBM trial software: создайте ваш следующий проект с помощью программного обеспечения IBM, доступного для загрузки прямо со страницы сообщества developerWorks.(EN)

Обсудить

Об авторе

Михаэль Штутц (Michael Stutz) - автор книги The Linux Cookbook, которую он создал и набрал на компьютере с использованием только программного обеспечения с открытым исходным кодом. Его интересы в работе включают также цифровую публикацию и будущее его книги. Он использует различные версии операционной системы UNIX вот уже 20 лет. Вы можете написать ему на адрес stutz@dsl.org.

Помощь по сообщениям о нарушениях

Сообщение о нарушениях

Спасибо. Эта запись была помечена для модератора.


Помощь по сообщениям о нарушениях

Сообщение о нарушениях

Сообщение о нарушении не было отправлено. Попробуйте, пожалуйста, позже.


developerWorks: вход


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


При первом входе в developerWorks для Вас будет создан профиль. Выберите информацию отображаемую в Вашем профиле — скрыть или отобразить поля можно в любой момент.

Выберите ваше отображаемое имя

При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

(Должно содержать от 3 до 31 символа.)


Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Оценить эту статью

Комментарии

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=AIX и UNIX
ArticleID=339138
ArticleTitle=Советы по UNIX: Как с помощью UNIX создавать блоги
publish-date=09172008
author1-email=stutz@dsl.org
author1-email-cc=