Настройка SVN + TRAC Centos

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

1. Установим и настроим SVN.

Изначально считаем, что у вас уже установленны apache, MySql.
yum httpd mysql-server //Впрочем, никогда не поздно сделать


Представим, что проект, который вы хотите вести через SVN расположенн по адресу /home/feeddigest/

1.1. Установим SVN:
yum install subversion


1.2. Создадим пользователя svn с группой svn:
groupadd svn
useradd -d /home/svn -m -s /bin/nologin -g svn svn


1.3. Создадим папку для будущего репозитория: /home/svn/repository:

mkdir -p /home/svn/repository

1.4. Инициируем репозиторий:
svnadmin create /home/svn/repository/


Заодно проверим, инициализировался ли репозиторий.

root@smbdy-desktop:/home# ls /home/svn/repository/
    conf  db  format  hooks  locks  README.txt


1.5. Установим поддержку SVN для apache:

yum install mod_dav_svn.x86_64


1.6. Настроим apache для работы с svn:

Следующие строки необходимо вставить в любую секцию виртуальных хостов в конфигурационном файле /etc/httpd/conf/httpd.conf (Я добавлял в секцию , это позволит зайти в SVN по адресу http://localhost/svn/ )


 #вместо переноса строки
    DAV svn
    SVNPath /home/svn/repository/
    AuthType Basic
    AuthName "Simple SVN"
    AuthUserFile /home/svn/passwd
     Require valid-user 
      #вместо переноса строки
      Require valid-user
     #вместо переноса строки
     #вместо переноса строки


1.7 Выполним команду:
htpasswd -c /home/svn/passwd svn

У вас будет спрашивать пароль - введите тот же пароль, который ввели при создании пользователя svn .Это позволит вам создать пароль для аутентификации в svn. Проверим, зайдя по адресу http://localhost/svn. Если все хорошо - то вы увидите:

svn - Revision 0:


2. Импорт данных
Давайте теперь добавим в репозиторий данные сайта best_site, лежащего у нас в папке /home/feeddigest/:

 svn import /home/feeddigest file:///home/svn/repository/ -m "repo ini"


По адресу http://localhost/svn произошли изменения, теперь там есть наши файлы.

2.1. Бекап.

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

cp -r /home/feeddigest/ /home/feeddigest1/


После, пороверив наличие файлов нашего сайта в папке /home/feeddigest1/, удалим папку /home/feeddigest/

2.2. Проверка репозитория + работа с ним.

Получим файлы из репозитория, чтоб можно было работать с ними.
svn checkout file:///home/svn/repository /home/feeddigest


3. После того, как у нас заработал SVN можно настроить Trac.

Выполним команду

yum  install trac mod_python mysql-python


3.1. В MySQL, создадим БД с именем trac.
Создадим пользователя trac, зададим его пароль(далее буду обозначать этот пароль пароль_trac_mysql), и дадим ему все возможные права в области БД trac.

3.2. Создадим папку для файлов trac

mkdir /home/trac


3.3. Инициируем trac

trac-admin /home/trac initenv


В качестве имени проекта введем feeddigest

Строку инициализации БД (Database connection string) введем

mysql://trac:пароль_trac_mysql@localhost:3306/trac


Тип репозитория введем svn
Путь к репозиторию введем /home/repo/best_site

3.4 Конфигурируем apache

     #вместо переноса строки
            AuthType Basic
            AuthName "TracER"
            AuthUserFile /home/trac/passwd
            Require valid-user
     #вместо переноса строки
     #вместо переноса строки
            SetHandler mod_python
            PythonInterpreter main_interpreter
            PythonHandler trac.web.modpython_frontend
            PythonOption TracEnv /home/trac
            PythonOption TracUriRoot /trac
     #вместо переноса строки


3.5. Теперь сделаем файл /home/trac/passwd,
который позволит аутентифицироватся в trac.
htpasswd -c /home/trac/passwd svn


Зайдите по адресу http://localhost/trac для проверки.

Теперь у вас есть Trac и SVN.

Cheerz!




Вас также может заинтересовать:

Настройка локали в консоли в CentOS.
Установка и настройка ProxyChains на Centos 5.5
Для CentOS 5.6 доступны обновления, выпущенные для RHEL 5.7 (Centos 5.7 ?)
Релиз Linux-дистрибутива CentOS 5.6 (centos upgrade)
03.05.2010 Первоначальная настройка Gentoo
Настройка виртуальных пользователей и SSL в vsftpd