trac 150x150 Работа над большими проектами (svn & trac)
Очень часто, когда проект выходит за рамки нескольких файлов и работа над ним ведется более чем одним программистом, приходится применять систему контроля за версиями, чтобы все изменения, вносимые в проект, были видны каждому, кто над этим проектом трудится. И чтобы имелась возможность откатиться до нужного состояния. Процесс установки взят с Хабра.
Первым делом нужна машина под управлением *nix системы, у меня работает Ubuntu на локальной машине через виртуальную машину, есть еще и VDS, в которой тоже предоставлен root доступ, без которого не установишь систему контроля за версиями. Но обеих машинах был настроен стандартный набор LAMP, если у вас он еще не установлен, то вы можете прочитать как его установить тут.
А теперь по порядку.
1. Устанавливаем необходимые пакеты
apt-get install trac libapache2-mod-python libapache2-svn subversion python-subversion
2. Включаем модуль Python’а
a2enmod mod_python
Теперь настроим svn и trac.
Создаем группу пользователей, под которой будет работать svn:
groupadd svn
Добавляем пользователя, под которым работаем в Ubuntu (себя):
usermod -a -G svn свой_логин
Добавляем Апач в эту же группу:
usermod -a -G svn www-data
Создаем папку, где будут храниться будущие исходники:
mkdir /var/svn
Создаем хранилище:
svnadmin create /var/svn
Меняем права доступа и разрешаем запись и группе, и владельцу:
chown -R www-data:svn /var/svn
chmod -R g+ws /var/svn
Создаем пароль к хранилищу, который мы будем вводить, чтобы войти в репозиторий:
htpasswd -c -m /etc/apache2/svn.htpasswd имя_пользователя
Создаем правило для Апача для доступа к svn-хранилищу:
nano /etc/apache2/conf.d/svn
и записываем туда
<Location "/svn">
DAV svn
SVNPath /var/svn
AuthType Basic
AuthName "SVN Repo"
AuthUserFile /etc/apache2/svn.htpasswd
Require valid-user
</Location>
SVN установлен, осталось только перезагрузить Апач /etc/init.d/apache2 restart И можно заходить по адресу
http://localhost/svn
Перейдем к установке trac’а. Здесь тоже не будет ничего сложного
Создаем папку:
mkdir /var/trac
Создаем окружение для работы Trac’а с SVN:
trac-admin /var/trac initenv Там ответим на пару несложных вопросов, одним из которых будет с какой системой контроля версиями мы будем работать, отвечаем смело SVN
Меняем права доступа:
chown -R www-data:svn /var/trac
chmod -R g+ws /var/trac
Создаем пароль для Trac’а, при вводе которого Апач нас будет пускать в хранилище:
htpasswd -c -m /etc/apache2/trac.htpasswd имя_пользователя
Создадим правило для Апача для доступа к Trac’у:
nano /etc/apache2/conf.d/tracи допишем туда следующее
<LocationMatch "/trac/login">
AuthType Basic
AuthName "Projects"
AuthUserFile /etc/apache2/trac.htpasswd
Require valid-user
</LocationMatch>
<Location /trac>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/trac
PythonOption TracUriRoot /trac
</Location>
Trac установлен и увидеть его мы можем по адресу:
http://localhost/trac
Вот теперь намного проще будет создавать большие проекты и будет намного меньше путаницы.
Все популярные IDE позволяют работать с SVN, поэтому у вас не должно возникнуть проблем.