Ne v kontakte Asocial programmer's blog

Переезд на новый движок и прочие вкусности

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

Новой платформой для блога стал Drupal 5.7, благодаря чему удалось реализовать массу приятных вещей. Собственно, выбор изначально был невелик: Wordpress или Drupal (5.7 или 6.2). В результате долгих терзаний я принял решение в пользу Drupal, поскольку тот намного легче поддается расширению и надстройке и, в добавок, значительно менее требователен к ресурсам.

Конечно, мой хостинг вполне позволяет поставить и Wordpress, но в купе с плохим кодом это заставило меня отказаться от WP, несмотря на его популярность.

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

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

Теперь о тех вкусностях, которые присутствуют в новом движке.

Первая и самая приятная для меня - теперь без глюков работает блоговый клиент. Этот пост я набираю уже в ScribeFire :)

Вторая - теперь сайт отдает в rss все, что можно, включая посты и комментарии.

И третья - теперь если вы имеете аккаунт на другом Drupal сайте, поддерживающем распределенную авторизацию, вы можете авторизоваться в моем блоге не прибегая к регистрации, пользуясь своим тамошним аккаунтом. И наоборот, любой зарегистрированный в моем блоге человек может авторизоваться на других Drupal сайтах, используя тутошний аккаунт.То есть, если у вас есть аккаунт MyName на Drupal.org, то здесь вы для авторизации должны указать логин myname@drupal.org и ваш пароль от аккаунта на Drupal.org. Была еще идея сделать поддержку OpenID, но она начала конфликтовать с капчей и задумку пришлось отложить до лучших времен…

Ну вот вроде бы и все, что хотел сказать :)

NB: прикрутить поддержку смайлов надо бы…

DMOZ изнутри или я - редактор.

На днях подавал заявку на то, чтобы стать там редактором, сегодня пришел ответ, да при том положительный :) В результате я получил на редактирование скромный русскоязычный раздел по форумам, как раз по моей специальности. Пол дня вчитывался в многочисленные правила и рекомендации, в результате я теперь более-менее представляю, как оно функционирует. Глядишь, через месяцок-другой освоюсь, попривыкну и расширю круг своих редакторских полномочий B)

Forum Matrix - сравниваем движки

Ползая по сети случайно вышел на преинтересный сайт: ForumMatrix.org, который позволяет сравнивать форумные движки по разным параметрам. Кроме того, они предоставляют простенький визард, позволяющий подобрать себе движок по потребностям. Потыкавшись некоторое время я выяснил, что наиболее функциональными являются MyBB, phpBB и SMF. При этом, к сожалению, мой любимый phpBB по их данным выигрывает лишь по количеству поддерживаемых баз данных. Правда, SMF я все же не рассматриваю для себя как альтернативу по причине крайне грязного кода и общей корявости. Как с этим у myBB я не знаю, но по скринам он больше похож на phpBB2… Еще одна поправка к данным таблиц - у phpBB весь недостающий функционал реализуется модами, созданными сообществом, так что хорошо обработанный phpBB3 по-прежнему можно считать лидером :) Вот ссылка на таблицу сравнения: http://www.forummatrix.org/compare/MyBB+phpBB+SMF

Чего я жду сейчас.

Собственно, жду я сейчас трех вещей:

  1. Окончания сессии, ибо учиться уже задолбало, отдыхать хочу. Благо. погода вроде наладилась.
  2. OpenSUSE 11.0. Давно уже пора обновить систему, а в 11 обещают много нового и интересного. А то уже совсем стремно на старье сидеть.
  3. FireFox3. Судя по всему, новое поколение любимого FF будет несколько менее жадным до ресурсов. что очень актуально для меня :)

У природы нет плохой погоды…

Мда, это только в Новосибирске такое может быть: на дворе 30 апреля, 9:37 утра по местному времени, а с неба валит снег как в январе. Единственное отличие - температкра 0 по Цельсию и лужи на асфальте… И такие кренделя последние три дня каждый день :( При чем, было же пару дней реально тепло - 25 градусов, солнце, легкий ветерок, дак нет, кончилось короткое сибирское лето. Определенно, нам грозит не глобальное потепление, а ледниковый период.

Добавлено позже. На фотке - вид из окна моей общаги, который можно было наблюдать сегодня около полудня :) Снег перестал валить только после захода солнца, в результате чего мне сегодня пришлось таскаться по делам, хлюпая по лужам и прячась от ветра… Будем надеяться, завтра погода смилостивится :)

dsc00558.jpg

Используем SVN в управлении сайтом. Часть первая: теоретические соображения.

В принципе, эта идея не нова, но почему-то мало применяется веб-мастерами. С другой стороны, использование SVN при управлении сайтом дает массу преимуществ.

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

Какие же применения этому инструменту могут найти веб-мастера? Да самые разные.

Первое: поддержка большого количества сайтов на одном движке.

Допустим, вы - крупный веб-мастер и на вашем обслуживании находятся с полтора десятков сайтов ваших клиентов. Чтобы не морочиться всякий раз, вы перевели всех своих клиентов на один и тот же движок (фирменная CMS, например ;) ) и теперь вам необходимо регулярно обновлять сайты клиентов. Фиксятся баги в движке, выпускаются патчи и каждый нужно установить на пятнадцать сайтов. Вееленькое занятие, что и говорить. Решение проблемы с помощью SVN напрашивается само собой: создается репозиторий, записываются в него файлы движка, создаются копии репозитория на сайтах клиентов и одна локальная копия на вашем компьютере. Теперь вы можете один раз внести изменения обновления в вашу локальную копию, записать из в репозиторий и с помощью нехитрой команды ‘svn update’, выполненной на серверах клиента, легко реплицировать их на все 15 сайтов, избежав ручного труда.

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

Второе: защита от взломов, легкий откат и резервное копирование.

Поместив файлы вашего сайта на хостинге под контроль версий, вы в случае взлома легко сможете обнаружить все имеющиеся левые файлы и изменения файлов движка, содержащие бекдоры. Для этот достаточно выполнить команду svn status и посмотреть список добавившихся/измененных файлов. Команда ‘svn diff [FILE]’ покажет вам изменения, сделанные в том или ином файле или, если не указывать [FILE] для всех файлов вцелом. Все бекдоры при этом, естественно, будут засвечены B)

Если злыдни-хакеры поудаляли кучу важных файлов, то можно легко откатить их бесчинства командой ‘svn revert’ (это если не были удалены целые дериктории) или ‘svn switch’ (для более тяжелых случаев). Самым железобетонным способом, пригодным даже в случае, когда удалены вообще все файлы, может послужить полное удаление остатков мусора и ‘svn checkout REPOSITORY_URL’

И, наконец, чтобы не сильно страдать при откатах из SVN, можно организовать автоматическое резервное копирование помещенного под SVN сайта при помощи команды ‘svn checkin’. Путем написания несложного скрипта, можно так же организовать и автоматическое резервное копирование базы данных. Прелесть таких бекапов по сравнению с обычными в том, что вы можете в любой момент извлечь бекап любой давности.

Во второй части я расскажу о некоторых способах практической реализации мыслей, изложенных в данной статье :idea:

Есть ли жизнь после удаления партиции?…

На днях обнаружил забавный факт: очередной раз переустанавливая систему на своем компе снес начисто партиции с линухом, в том числе и загрузочную, и при очередной перезагрузке не успел на биос тыкнуть, чтобы грузился с cdrom. А поскольку mbr я не перезаписывал, начал грузиться GRUB, стоявший у меня до этого в качестве загрузчика. Дак мало того, что он благополучно загрузился, порадовал меня красивой менюшкой (и это при том, что партиция, на которой был установлен grub и, в частности, лежала фоновая картинка для него, успешно отобразившаяся, была удалена 88|) и, подождав, как положено, восемь секунд, начал грузить Линух! Естественно, тот до конца не загрузился, но пару экранов сообщений, прежде чем начать ругаться, он выдал как обычно. :-/

Кто-то, конечно, скажет, что, мол, файлы-то после удаления партиции физически не затираются, вот оно и грузилось… Это, конечно, так, но ведь загрузчику надо как-то добраться до этих файлов?! При том, что файловая система-то убита. Забавный случай, вобщем.

1ps.ru - впечатления о сервисе.

Думаю, что не открою ни для кого Америки, если скажу, что один из начальных этапов раскрутки сайта - это “прогон по каталогам”, иными словами, массовая регистрация нового сайта в каталогах. Делается это в основном для повышения весомости сайта в глазах поисковиков и, в меньшей степени, привлечения дополнительных посетителей. Очевидно, что вручную зарегистрировать сайт хотя бы в паре сотен каталогов - очень большой и нудный труд. Для автоматизации этого труда создано множество программ (на мой взгляд, одна из лучших - AllSubmitter) и открыто сервисов. http://1ps.ru отностися к числу последних и именно о нем и пойдет речь.

Этот сервис предоставляет набор услуг по прогону сайта по каталогам, отличающихся разной степенью вашего участия. Самый дешевый тариф “Профи” всего за 60 рублей предоставит вам годичный доступ к интерфейсу сервиса. Вам необходимо будет самостоятельно заполнить анкету вашего сайта данными, которые будут отправлены в каталоги, и зарегистрировать ваш сайт в них. При этом специалисты сервиса заботливо сопроводили каждое поле анкеты комментариями о том, как правильно его заполнить, и даже человек далекий от SEO может легко разобраться.

И так, я зарегистрировался на 1ps.ru и оплатил тариф “Профи” для этого сайта. За пол часа заполнил все необходимые поля и приступил к следующему шагу - выбору каталогов для регистрации. Вот тут-то, имхо, товарищи из 1ps слегка схалтурили - интуитивно понятным интерфейс назвать нельзя. Методом тыка я пришел к следующему алгоритму:

  1. Выбираем отображение по 3500 каталогов на страницу и задаем, насколько тИЦнутые и ПиАрнутые каталоги нам нужны. Жмем enter и терпеливо дожидаемся загрузки страницы.
  2. В поле “ПОИСК рубрик по ключевым словам:” вводим ключевые слова, которые должны быть в названиях интересующих нас рубрик каталогов. Жмем “найти” и терпеливо ждем. Если браузер предложит нам прервать исполнение сценариев на странице под предлогом, что они зависли - не ведемся и отказываемся от подобных предложений.
  3. Наконец, браузер нам радостно сообщил, что поиск завершен. После этого мы проглядываем список каталогов и подправляем категории на более подходящие, если есть варианты и выбираем вручную для тех каталогов, в которых автоматика ничего не нашла.
  4. Жмем завершить. Все, теперь можно переходить к самой регистрации.

На этом шаге проблем с пониманием возникнуть не должно. Знай себе, дави кнопку “Отправить информацию в каталог” и наблюдай результаты. Единственный минус - не всегда кнопка “Отправить во все каталоги” срабатывает для всех каталогов. В чем проблема мне разбираться было лень, но факт имеет место.

Вот, собственно, и все. Общее впечатление - штука мощная, но слегка не доведенная до ума.

Ап яндекса - 29.03.2008 !

Поздравляю всех веб-мастеров с очередным обновлением выдачи Яндекса и желаю вашим сайтам хороших позиций :)

OpenVZ - первые впечатления.

Вот, наконец у меня в руках оказалась полностью рабочая виртуальная машина со свеженьким CentOS 5.1 на борту. Не долго думая, я приступил к осуществлению своего злобного плана - установке openVZ на него.

Надо сказать, что эта попытка уже вторя по счету - неделю назад, впечатлившись их LiveCD, я уже пытался запинать это чудо на моей рабочей машинке, но ядро упорно не хотело ставиться, ссылаясь на неудовлетворенные зависимости, собирать из сорцов мне было лень, и посему я решил ставить openVZ на наиболее родную ему систему - CentOS. Еще несколько дней ушло выкачивание и установку системы, настройки сети для Qemu и прочую рутину. В итоге, сегодня после обеда я взялся за исполнение задуманного и удача сопутствовала мне :)

Благодаря подробному руководству по установке и начальной настройке это не вызвало особых проблем. Ядро загрузилось с первой попытки, сервис vz возвестил о своем успешном запуске, а созданная на скорую руку VPS отозвалась на пинг :) Ляпота B)

Теперь в планах соорудить пару шаблончиков для VPS с базовым набором LAMP, а там - попробую набросать простейшую контрольную панель для VPS хостинга :roll: