Androidov .NET - Блог робототехника

Веб технологии

Блог Ковшенина Константина

Trac SVN on WindowsЭхх, да, пришлось мне не легко.. Поставить всё это дело на винду, причем так, чтобы еще и работало. Даже не спрашивайте зачем на винду, просто нужно и всё. Работать будем с сборкой XAMPP Web Servers 2.5 (apachefriends.org). Надеюсь вы его уже установили, и проблем у вас не возникло.

Итак, качаем и устанавливаем Python 2.5. Я поставил в C:/Python25. Далее, нужно скачать следующие питоновские программы:

Дополнительные пакеты:

  • Pysqlite 2.4.0. - для работы с базой данных SQLite
  • Subversion - не путайте, это под питон
  • Clearsilver - это шаблонная система

Надеюсь всё получилось. Так, дальше, качаем CollabNet Subversion Server+Client (Win32) и устанавливаем. При установке я указал D:\SVN.

Теперь, чтобы у вас из командной строки работали команды svn, svnadmin, trac-admin и т.д., вам нужно добавить директории этих исполняемых файлов в переменную среды %PATH%. Надеюсь вам не секрет как это делается:

> echo %PATH% // посмотреть текущие директории
> path = %PATH%;C:\Python25 // добавить к переменной директорию C:\Python25

В общем CollabNet Subversion, вроде как, сам добавляет свои директории в эту переменную, ну а с trac’ом придется в ручную.

Ну вроде бы всё.. Создаём репозиторий:

D:/SVN> svnadmin create repo

В директории появится привычный репозиторий repo со своим конфигом, всё как положено.

Далее, конфигурация Apache - (C:/xampp/apache/conf/httpd.conf), нужно добавить следующие строчки:

LoadModule dav_svn_module modules/mod_dav_svn.so
 
<Location /svn>
    DAV svn
    SVNParentPath "D:\SVN"
    AuthType Basic
    AuthName "repo"
    AuthUserFile "D:\SVN\repo\conf\htpasswd"
    Require valid-user
    ErrorDocument 404 default
</Location>

В D:\SVN\repo\conf\ я создал файл htpasswd с паролями доступа. Надеюсь вы умеете такие создавать и ими пользоваться. Кстати, в /xampp/apache/bin/ есть htpasswd.exe, который тоже кстати неплохо было бы добавить в переменную %PATH%, или скопировать в system32.

Дальше, настраиваем trac. Надеюсь команда trac-admin у вас уже работает, и в D:\SVN\repo вы уже создали среду с названием trac. В его директории /conf/ есть конфигурационный ini файл. Там доступно расписаны все настройки. Главное не ошибиться с директорией к репозиторию. Она указвается относительно. У меня стоит: ../

Ну и наконец, через командную строку запускаем:

tracd -s -p 8000 D:\SVN\repo\trac

Открываем браузер и заходим на http://localhost:8000/… Вуала! Работает? Причем с удалённых компьютеров тоже работать будет, так что советую завести логины и расставить права. Это достаточно легко. Ну во-первых в trac.ini припишите:

[components]
webadmin.* = enabled

В командной строке напишите:

python trac-digest.py -u username -p password >> c:\digest.txt

Файл trac-digest.py находится в C:\Python25\Scripts, а python.exe (для особых..) в C:\Python25. username и password естественно заменить своими какими-нибудь значениями. Файл digest.txt затем помещаем в D:\SVN\repo\trac\auth.txt и в следующий раз вызываем tracd.exe следующим образом. Затем через командную строку зайдите в свою trac среду утилитой trac-admin и добавьте пользователя с правами TRAC_ADMIN (permission add username TRAC_ADMIN):

tracd -s -p 8000 --auth=trac,D:\SVN\repo\trac\auth.txt,trac D:\SVN\repo\trac

Жмите на Login. Кнопка Admin должна быть доступна после авторизации. Ну а по адресу http://localhost/svn (когда включен апач, естественно..) доступен ваш репозиторий, еще и защищен. Можно так же настроить это на виртуальном хосте, например svn.localhost :) даже модно, я бы сказал…

Конец ;)

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • 1 отзыв
  • В рубриках: разное
  • AJAX авторизация

    AJAX авторизацияПо просьбам читателей приведу самый примитивный пример авторизации с помощью AJAX. Почему примитивный? Потому что, если у вас нет навыков написания хорошего, защищенного скрипта авторизации на php+mysql, то этот пример не для вас. Зацикливаться на самой авторизации я не буду, ведь все мы знаем, что пользователей нужно хранить в базе данных с их зашифрованными паролями и IP адресами последнего входа…? У меня всё гораздо проще - users.txt файл в корне с синтаксисом: “пользователь = пароль” в несколько строк.

    А шифрование и прочие навороты оставляю за вами :)
    Читать полностью »

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Отзывов (7)
  • В рубриках: ajax, javascript, php
  • Обзор бесплатных PHP редакторов (IDE)

    Ну начнем с самого популярного…

    Notepad++

    Подсветка синтаксиса для языков PHP, HTML, XML, C, C++ и многих других. Лично мне этот редактор не очень нравится… Точнее совсем не нравится. Уж слишком он простой и более 15-ти минут за ним посидеть не удалось. Скачать Notepad++ можно с официального сайта: Notepad++.

    Komodo Edit

    Построен на платформе Mozilla. Поддерживает большой ряд языков и много утилит для работы с веб документами (просмотр DOM, построение регулярных выражений и т.д.). Достаточно удобен в обращении. Скачать Komodo Edit можно с официального сайта: ActiveState.

    Context Editor

    Очель маленький (1,5 мб) редакор. Поддерживает подсветку синтаксиса для PHP и нескольких других языков. Слишком прост. Официальный сайт: Context Editor.

    Eclipse PDT

    Мощный редактор. Работает на платформе Eclipse, дистрибутив около 60 мб. Неплохой вариант, особенно если пишете не только на PHP. Официальный сайт: Eclipse PDT.

    PHP Designer 2007 - Personal

    Отличный вариант, но к сожалению не работает с кодировкой UTF-8. В 2008 версии данного редактора всё налажено, но он уже не бесплатный, даже для личного использования. Официальный сайт: MP Software.

    Ну и наконец мой любимый:

    Netbeans IDE

    А конкретнее Early Access for PHP. Понравился больше всех остальных. Работает на платформе Java. Дистрибутив 20 мб. Подсветка синтаксиса. Мощные утилиты для отладки. Хорошая работа с Subversion и CVS. Официальный сайт: Netbeans IDE.

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

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Отзывов (6)
  • В рубриках: php
  • PHP: Создание ZIP архивов на лету

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

    Класс createZip обеспечивает полноценную работу с формированием нового ZIP архива, с возможностью его выдачи на лету или сохранения на диск. Покажу несколько простых приёмов.

    Ну, во-первый нужно объявить объект данного класса:

    $createZip = new createZip;

    Добавим в корень архива текстовый файл:

    $fileContents = "Hello world!";
    $createZip->addFile($fileContents, "textfile.txt");

    Создадим новую директорию:

    $createZip->addDirectory("images/");

    Ну а теперь допустим у нас есть картинка image.png в директории где выполняется данный скрипт. Загрузим эту картинку в директорию images нашего архива:

    $fileContents = file_get_contents("image.png");
    $createZip->addFile($fileContents, "images/image.png");

    Сохраняем архив на диск и выдаём посетителю ссылку:

    $filename = "archive.zip";
    $fd = fopen($filename, "wb");
    $out = fwrite($fd, $createZip->getZippedfile());
    fclose($fd);
     
    echo "Скачать архив: <a href=\"$filename\">$filename</a>";

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

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • 1 отзыв
  • В рубриках: php
  • Yahoo UI: Rich Text Editor

    Yahoo UI Rich Text EditorНедавно пришлось написать небольшую админ панель для простого редактирования статических HTML файлов. Долго листал так называемые WYSIWYG (what you see is what you get) javascript редакторы. Из платных не понравилось ничего, а вот из бесплатных остановился на одном хорошем варианте - YUI Rich Text Editor от компании Yahoo!

    Посмотреть это чудо в действии можно на официальном сайте: YUI Rich Text Editor

    Для того, чтобы установить данный редактор у себя на сайте, требуется всего лишь включить несколько скриптов и каскадных стилей от Yahoo:

    Читать полностью »

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Отзывов (11)
  • В рубриках: css, разное
  • Подробнее о Google Chrome

    На английском, но всё же… Сами разработчики рассказывают о Google Chrome.

    YouTube Preview Image
    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Отзывов (2)
  • В рубриках: разное
  • WordPress и русские метки. Часть 2

    В ответ себе же на предыдущий пост о метках в WordPress (Wordpress и метки на русском) нашел неплохое решение. Плагины:

    • RusToLat
      Транслитерация русских символов URL в английские.
    • А так же Simple Tags
      Simple Tags : Extended Tagging for WordPress. Autocompletion, Suggested Tags, Tag Cloud Widgets, Related Posts, Mass edit tags

    Пользуюсь данными плагинами на другом блоге, вроде всё гладко. Но всё же, я уже привык к меткам на английском, и думаю это в какой-то мере лучше (может и не совсем для SEO), т.к. бесит метка Яндекс ссылающаяся на yandeks вместо yandex.

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Отзывов (2)
  • В рубриках: разное
  • Яндекс: найдется всё

    Закурить не найдется? ;)

    YouTube Preview Image
    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Оставить отзыв
  • В рубриках: yandex
  • Google Chrome

    Google ChromeМноге популярные веб-сайты, сегодня являются не просто набором веб-страниц, а так называемыми веб-приложениями, где люди общаются, выкладывают видео, играют в игры он-лайн и т.д.. Таких возможностей небыло при появлении первых браузеров, потому и функционал в них заложен в “старом стиле”.

    Концепция браузера нового поколения, Google Chrome включает следующие пункты:

    • Стабильность
      Зависание браузеров стало критичным, например при написании важного письма, работой с документами (в режиме он-лайн).
    • Быстродействие
      Ждать пока загрузится одна страница - это одно, а ждать пока выполнится код Javascript с AJAX запросом и получением данных - совсем другое
    • Безопасность
      Ваша личная информация в сети интернет должна быть полностью конфидецниальной.
    • Чистая, простая, эффективная работа
      Нечто среднее между “слишком много” и “слишком мало” наворотов.
    • OpenSource (открытый исходный код)
      Всегда открыт для нового функционала и идей от любых пользователей (будь-то простой человек, сообщив о возможной идеи, или профессиональный разработчик, воплотив идею в жизнь).

    Специалисты Google разработали новую технологию самого быстрого исполнения кода Javascript, который исполняется в фоновом режиме (т.е. работа самого браузера при этом, не приостанавливается). Так же, каждая вкладка в Google Chrome работает отдельно, в собственной среде. То есть, если у вас одно веб-приложение вдруг вызвало критическую ошибку, то вы можете закрыть его вкладку, не теряя свою работу в других вкладках.

    Дизайнеры Google Chrome так же постарались сделать своё приложение максимально удобным, при этом минимальным. То есть весь функционал Google Chrome скрыт до тех пор, пока у пользователя не появится в нем необходимость.

    Загрузить Google Chrome
    Видео-материалы Google Chrome под катом.

    Читать полностью »

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Оставить отзыв
  • В рубриках: google
  • Закрытие Skypecasts

    SkypeУжастная новость - 1 сентября прикрыли проект Skypecasting. А это значит что таким крупным проектам как Free-lance.ru придется искать другие методы проведения конференций, например TeamSpeak или PalTalk.

    До конца не известно почему прикрыли скайп касты, но слухи ходят, что это из-за войны в Северной Осетии, т.к. в конце августа каждый день создавались сотни конференций на эту тему, где люди видимо обсуждали то, что не пренадлежало обсуждению. Другие считают, что проект небыл выгодным, т.к. кастов стало слишком много и серверы Skype помирали от нагрузки (если заметили то в последние несколько дней, особенно вечером, разговаривать одновременно в касте могло не больше 2-3 участников).

    У меня было несколько хороших планов проведения Skype конференций различных тематик, но теперь всё рухнуло.. Ну что ж, будем искать альтернативы.

    skypecasts.skype.com

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Отзывов (3)
  • В рубриках: разное