Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
|||||||||||||||||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
$ make install clean
Собираем python
Python нужен для работы Trac системы.
Проверяем, установлен ли уже питон:
$ pkg_info | grep python
Если ответ положительный, что более чем вероятно (в списке появится что-то типа: pythonХХ-х.х.х),
То просто пропускаем этот шаг, если же питон не установлен, то:
$ cd /usr/ports/lang/python25
$ make config
|
$ make install clean
Ставим subversion
Для версии 1.5.4_2
$ cd /usr/ports/devel/subversion
$ make config
|
$ cd ../py-subversion
$ make install clean
Установка trac
На момент установки в портах была версия 0.11.2
$ cd /usr/ports/www/trac
(все опции оставил по дефолту)
$ make install clean
Ставим mod_python
Для корректной работы Trac, нужна поддержка индейцем языка python.
$ cd /usr/ports/www/mod_python3
$ make install clean
Ставим mysql-python
Нужен для того, чтобы mysql научился понимать то,
что толкает ему питон, а в нашем случае это делает Trac :)
$ cd /usr/ports/databases/py-MySQLdb
$ make install clean
Итак, с установкой закончили.
Я не стал расписывать какая опция для каких целей указывалась,
Но ничего лишнего здесь нет, все они необходимы для нормальной функциональности :)
Если будет интересно что и для чего - можно поискать в гугле, или спросить в этой теме :)
Ну а пока - продолжим-с :)
Теперь всю эту громадину необходимо отконфигурировать...
Конфигурирование:
Конфигурируем Apache 2.2
$ edit /usr/local/etc/apache22/httpd.conf
Обычно, при сборке Subversion модули в конфиг добавляются сами,
если вдруг этого не произошло, то добавляем:
|
Добавляем подгрузку python_module:
|
Конфигурируем начальные параметры:
|
Находим первоначальный блок
|
и заменяем его на
|
Удаляем первоначальный блок управления сайтом,
который без коментов выглядит так:
|
Он нам не понадобится.
ну и наконец убираем комментарии со следующих строк:
|
Теперь самое главное - создаём свои "хосты" :)
Вообще - просто мне так удобнее,
когда репозиторий доступен не по domain.com/svn, а по svn.domain.com...
Поэтому я пошёл путём разбивки на виртуальные хосты.
Да и может позже пригодиться,
когда понадобиться прикрутить на одну машину более одного сайта :)
Итак:
$ edit /usr/local/etc/apache22/extra/httpd-vhosts.conf
Удаляем все приведённые там примеры хостов и создаём свои:
|
Создаём хост для нашего SVN`a
|
Теперь создаём блок для нашей "web морды" к SVN`у
|
Ну, думаю что Apache мы настроили :) Запускать его пока рановато, ибо будет много мата :)
Но зато уже отконфигурен и можно про него на время забыть :)
Конфигурируем mysql
Ну думаю, что конфигурацию mysql`а можно взять как-раз таки из статьи Лиса,
едиснтвенное - нам нужно создать свою базу и юзера для неё.
$ mysql -uroot -p
mysql> CREATE DATABASE trac DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> GRANT ALL PRIVILEGES ON trac.* TO trac@localhost IDENTIFIED BY 'указать_пароль';
Ну и всё собстно :)
Создаём все необходимые директории.
Ну для начала полистаем чуть выше и посмотрим, какие пути мы использовали.
Вот их все необходимо создать :)
А то ваш сервер вас такими словами обзывать будет :)
И так:
$ mkdir -p /usr/local/www/apache22/domain.com
$ mkdir -p /usr/local/www/apache22/svn
$ mkdir -p /usr/local/www/apache22/trac/proj
$ cd /usr/local/www/apache22/svn
$ mkdir myproject
Теперь выдаём права на директории:
$ chown -R www:www /usr/local/www
С правами всё)
Создаём репозиторий
$ svnadmin create /usr/local/www/apache22/svn/myproject
Теперь создаём фаил-базу с паролями для нашего репозитория.
$ htpasswd -cm /usr/local/www/apache22/svn/svn-passwd admin
|
Для добавления новых пользователей используйте команду:
$ htpasswd -m /usr/local/www/apache22/svn/svn-passwd user-name
Создаём фаил с привелегиями пользователей для репозитория.
$ edit /usr/local/www/apache22/svn/svn-access
|
Ну с этим думаю всё :)
Создаём trac проект
$ trac-admin /usr/local/www/apache22/trac/proj initenv
!!! Комментариями указаны опции, которые необходимо указывать !!!
|
Добавляем нашего админа:
$ trac-admin /usr/local/www/apache22/trac/proj permission add admin TRAC_ADMIN
После того, как репозиторий будет создан, можно отредактировать его фаил конфигов.
$ edit /usr/local/www/apache22/trac/proj/conf/trac.ini
редактировать можно по своему вкусу :)
Там в основном мелочные настройки,
основные мы уже сделали при создании проекта trac`a.
Ну вот в принципе и всё.
Проект полностью настроен.
Теперь запускаем:
$ echo 'apache22_enable="YES"' >> /etc/rc.conf
$ /usr/local/etc/rc.d/apache22 start
Если всё ок, то проверяем работает ли :)
$ ps axw | grep httpd
|
Если и у вас так же, то заходим по ссылке:
http://svn.domain.com/myproject
Сверху должно быть что-то типа
|
А внизу
|
если это так, то всё гут :)
теперь проверяем трак:
http://proj.domain.com
Если открылся трак и даже без мата, то значит всё вообще гут :)
Надеюсь что ничего не забыл.
Ну и конечно комментарии приветствуются :)
размещено: 2008-05-23,
последнее обновление: 2009-04-13,
автор: FenX
Wizard, 2008-05-20 в 23:51:16
Не рано ли собирать мускуль с тредами?
FenX, 2008-05-23 в 14:12:33
ммм... да, они тут в принципе не нужны :)
Просто с чем я собирал - не помню (давно было),
Поэтому взял параметры из статьи Лиса.
MicRO, 2008-05-24 в 22:54:41
Всё это дело собирается на порядок проще, если проэкт неособо большой mysql ваще мона не юзать лишние так сказать телодвижения... если есть trac зачем dav O_o
kam, 2008-05-24 в 23:04:39
хм... при сборке питона без THREADS
Trac упорно выдавал ошибку "Unsupported version control system "svn""
FenX, 2008-05-25 в 23:52:22
MicRO, ставил с mysql только потому, что он у меня стоял и до этого, нодо же его чем-то нагрузить))
Дав нужен для того, чтобы можно было с репозитория что-либо скачать svn клиентом.
В противном случае придётся поднимать демон svn-server,
А нафига это надо, если апач вполне сгодится?
kam, как ни странно, но у меня такая проблема возникла только тогда, когда я по глупости, решил собрать сначала svn, а уже потом питон.
Без тредов нормально работает.
FenX, 2008-05-29 в 18:41:08
Сорри, реально мой косяк :)
Спасибо за наводку, поправил.
Проверил свои конфиги, действительно, собирался питон с тредами...
Без них - не работает :(
WarWar, 2008-07-18 в 18:18:32
Ставилась версия 1.4.6_1
$ cd /usr/ports/devel/subversion
$ make config
[X] PYTHON Python bindings
в 1.5.0_3 такой опции уже нет :(
FenX, 2008-07-24 в 2:20:34
Поправил статью.
Для 1.5.0_3 необходимы новые манипуляции.
rooty, 2008-08-19 в 19:37:10
Во-первых, нет строки
BROKEN=     depends on apr-db42-1.3.2 and apr-1.3.2 which conflict with each other
Во-вторых,
[root@bu]:/usr/ports/devel/py-subversion# make config
===> Options unchanged
Соответственно после make install clean нечего не появляется, и я не могу добавить модуль для апача.
[root@bu]:/usr/ports/devel/py-subversion# svnserve --version
svnserve, version 1.5.1 (r32289)
compiled Aug 18 2008, 09:41:09
FenX, 2008-08-19 в 20:53:58
смотри внимательнее статью.
Данные действия предписывались для версии 1.5.0_3
Я бы не писал этого, если бы не собирал у себя.
Все действия были последовательно выполнены на моём сервере и только после этого задокументированы тут.
Как обстоят дела по сборке сейчас - не имею ни малейшего понятия.
FenX, 2008-08-19 в 20:55:44
Попробую на днях (как вернусь домой) посмотреть как собирается сейчас.
Тогда и отпишусь.
rooty, 2008-08-20 в 11:14:00
Ммм... соединил все с горем пополам... все работает... в принципе по статье, только немного иные шаги временами, и что-то редактировал еще Оо... ухх, голова не варит, спать спасть спать... FenX аригато )
FenX, 2008-08-20 в 11:29:32
Для текущей версии subversion в портах (1.5.1)
$ cd /usr/ports/devel/subversion
$ make config
Выбираем нужные опции
$ cd ../py-subversion
$ make install clean
статью обновлю чуть позже.
rooty, 2008-08-20 в 14:14:12
У меня не хотело компилитсо mod_python3 без THREADS в апаче...и еще там что-то было...
FenX, 2008-08-20 в 16:42:41
Я тоже заметил данный феномен при обновлении...
Старая версия компилилась и работала прикрасно.
Поэтому-то я до сих пор и не обновил статью...
Сейчас ищю все косяки, которые могут встрять с новыми версиями =\
vp, 2009-04-23 в 19:13:45
При работе с TortoiseSVN возникал вопрос с 301 redirect:
Repository moved permanently to "http://192.168.1.1/svn/test/"; please relocate
Решилось путём добавления в конфик апача в секцию <Location /path-to-svn> строчки:
BrowserMatch "TortoiseSVN" redirect-carefully
FenX, 2009-04-23 в 23:26:39
Я на форуме на эту тему уже отписывался.
разработчики SVN`а на эту тему рекомендуют
держать SVN репозиторий в отдельном пути,
от сайта.
или попросту не использовать директиву DocumentRoot.
У меня например черепаха работает и без этих извращений.
veles, 2010-12-27 в 17:57:02
При инсталяции:
$ cd ../py-subversion
$ make install clean
Была ошибка на патч помогло вот это :):
ln -s /usr/local/include/pth/pth.h /usr/local/include/python2.6/
ln -s /usr/local/include/pth/pthread.h/usr/local/include/python2.6/
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [18 шт.]