Установка Subversion возможна как на отдельный компьютер, так и на сервер.
В данном примере обсуждается установка на сервер на базе Apache2.
1. Первым делом нужно установить следующие пакеты:
apache2, apache2-prefork, libapr1, libapr-util1, neon, subversion, subversion-server.
2. Активируем модули dav, dav_svn (под рутом)
a2enmod dav
a2enmod dav_svn
3. на сервере должен появиться файл с примерами настроек конфигурации Subversion.
По умолчанию этот файл не запустится, так как конфигурацию нужно настроить вручную.
В нем есть примеры настроек. Если веб-сервер Apache использует виртуальные хосты (Virtual Hosts),
то, если просто включить этот файл в общий файл конфигурации Apache, то будет предоставлен доступ к
системе управления версиями на всех виртуальных хостах. В большинстве случаев такого нужно избегать.
Для решения этого вопроса можно либо включить ссылку на файл конфигурации (Include /путь/к/файлу) или
добавить эти строки непосредственно в настройку виртуального хоста.
Я выбрал второй вариант, поскольку удобней сразу видеть настройки конкретного виртуального хоста
без "пробежки" по файловой системе.
Итак, предположим, что я хочу видеть по адресу svn.mydomain.com все свои проекты (репозитарии).
Вот пример конфигурации виртуального хоста:
Замечания:
- замените svn.mydomain.com на ваш домен
- не нужно добавлять DocumentRoot - могут быть конфликты
- по умолчанию в примере после установки стоит параметр - SVNParent. Корректно - SVNParentPath
- конфигурация настроена так, чтобы все могли видеть список проектов, но для проекта
- myproject система запросит логин и пароль
- если не указать SVNListParentPath on, вместо списка проектов, будет вываливаться:
Access forbidden!4. Дальнейшие настройки (под рутом)
You don't have permission to access the requested directory. There is either no index document or the directory is read-protected.
If you think this is a server error, please contact the webmaster.
Error 403
mkdir -p /srv/svn/myproject # создаем каталон для нашего проекта
mkdir /srv/svn/auth # папка для хранения файла пользователей
touch /srv/svn/auth/svn.mydomain.com.htpasswd # сам файл, в котором хранятся пользователи для доступа к SVN
chown root:www /srv/svn/auth/svn.mydomain.com.htpasswd # права доступа
chmod 640 /srv/svn/auth/svn.mydomain.com.htpasswd # права доступа
htpasswd2 /srv/svn/auth/svn.mydomain.com.htpasswd my_user # добавляем пользователя
rcapache2 restart # перезапуск Apache2
После удачного перезапуска по адресу http://svn.mydomain.com можно просмотреть наш репозитарий, который пока пустой
5. Настраиваем проект myproject (под рутом)
svnadmin create /srv/svn/repos/myproject
-- команда создаст структуру каталогов для этого проекта
(Если нужно удалить, просто удаляем с помощью команды rm )
chown -R wwwrun:www /srv/svn/repos/myproject/
-- права доступа
svn import /path/to/project/files http://svn.mydomain.com -m "initial import"
-- команда импортирует необходимую структуру файлов с Subversion
(Если не указать путь к /path/to/project/files, то будет импортироваться текущая директория)
6. Теперь можно на удаленных компьютерах делать checkout
svn checkout http://svn.mydomain.com
Все.
Некоторая информация была переведена с этого сайта
Более подробную информацию о Subversion можно прочитать/скачать тут.
На этом сайте можно найти и на русском, но кто знает английский, лучше на английском -
точнее и новее информация.
PS. Современные IDE типа NetBeans и Eclipse имеют модули для работы с SVN.
Для Eclipse я выбрал Subclipse. об установке можно прочитать по этой ссылке (с рисунками ;) )
3 комментария:
Спасибо за текст. Возникла именно такая задача. svn сервер в openSuSe11.
Пробую ваш подход.
1)
a2enmod dav
a2enmod dav_svn
успешно
2) на сервере должен появиться файл с примерами
где он должен появиться?
3) при рестарте апача выдаёт такое:
----------------------------
Module "dav_svn" is not installed, ignoring.
Check the APACHE_MODULES setting in /etc/sysconfig/apache2.
Syntax OK
Shutting down httpd2 (waiting for all children to terminate) done
Starting httpd2 (prefork)
----------------------------
Пожалуйста подскажите. Очень надо.
ugr@bk.ru icq:491-664-885
заранее благодарен.
судя по 'Module "dav_svn" is not installed' этот модуль не установлен.
Чтобы убедиться какие реально модули установлены необходимо запустить:
apache2ctl -M
Вот путь к файлу который создается по умолчанию:
etc/apache2/conf.d/subversion.conf
Добрый вечер!
Необыкновенно интересный сайт.
Много приколов...План, Мяу-Мяу, A-PVP, Мяу-Мяу, и т.д.
Жми на сайт:
[b]
http://gidra.wydalunamy.gq
[/b]
Отправить комментарий