все о веб-программировании и веб-дизайне
Работа над большими проектами (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
и записываем туда1
2
3
4
5
6
7
8<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и допишем туда следующее1
2
3
4
5
6
7
8
9
10
11
12
13
14<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, поэтому у вас не должно возникнуть проблем.
| Print article | This entry was posted by Вредный on 04.03.2010 at 23:16, and is filed under Linux, php, программирование. Follow any responses to this post through RSS 2.0. Вы можете оставить комментарий или трэкбэк с вашего сайта. |