UPD из 2018го: SVN не нужен :) Юзайте гит или меркуриал. И на свой сервер устанавливать тоже не особо нужно (ну разве что у вас серетный мультимилионный проект, но и тут не факт что нужно). Рекомендую использовать BitBucket, там можно хостить и приватные репозитории, и маленькими командами вместе работать.
Использовать системы контроля версий в работе это удобно и правильно. Вдаваться в плюсы не буду – если вы читаете эту заметку, то наверно уже решили установить SVN.
Собственно пошаговую настройку я и попытаюсь описать:доступ к svn будем получать через апач, так что он должен быть у вас установлен.
Итак, поехали.
Установит сам пакет svn и модуль для работы с апачем.
sudo apt-get install subversion libapache2-svn
Создадим наш первый репозиторий. Отмечу, что папка для репозиториев уже должна существовать.
svnadmin create /path/to/repos/project
я разместил свои в /var/svn/repos/. project – это название вашего репозитория.
У меня доступ к svn настроен по http, так что самое время перейти к настройке апача.
Создадим файлик с пользователями и паролями, которые смогут получить доступ к свну. У меня он лежит в /var/svn/passwd.conf
sudo htpasswd /var/svn/passwd.conf user_name
В качестве username указываем нужное имя пользователя, жмем энтер и вводим и подтверждаем пароль. После создания всех пользователей двигаемся дальше.
Для репозитория я создал отдельный поддомен, и для него создал следующий конфиг:
<VirtualHost *:80> ServerName svn.my-html.ru <location /> DAV svn SVNPath /var/svn/repos/project AuthType Basic AuthName "myhtml repository" AuthUserFile /var/svn/passwd.conf Require valid-user </location> </VirtualHost>
Вам достаточно заменить my-html на имя своего домена, project на название репозитория, SVNPath – на путь к репу, AuthUserFile – путь к файлику с паролями.
Установим права на доступ к репозиторию:
sudo chown -R www-data:www-data /path/to/repos
Первоначальная настройка закончена, рестартим апач
/etc/init.d/apache2 restart
Если вы все сделали верно, то при заходе на http://svn.ваш-домен.ru у вас выскочит окошко с запросом логина и пароля, введя которые вы увидите ваш пустой пока еще SVN.
Далее я предлагаю создать типовую структуру проекта. Ваше дерево проекта должно содержать три директории верхнего уровня с названиями branches
, tags
и trunk
. Вся ваша информация должна находиться в директории trunk
, а директории branches
и tags
должны быть пустыми. Зачем это нужно можно и нужно почитать здесь.
я создал такую структуру в /var/svn/new/. В папочку trunk закинул файлы своего проекта. Настало время сделать импорт проекта:
svn import /var/svn/new/ http://svn.вашдомен.ru -m "initial import"
На этом установку SVN можно считать законченной.
Отличное руководство. Скажите, а есть какие то графические средства для управления svn-сервером?
не знаю, не искал
У меня на сервере установлен апач + свн. Выделенный IP с привязанными к нему 2 доменами. Как сделать чтобы на свн заходило строго с определенного адреса? сейчас можно зайти прописав любой из 2 доменов, например http://www.sait.ru/svn или http://www.sait2.com/svn
Ну как вариант вынесите svn на поддомен
svn я вынесла на поддомен. но все равно если в адресной строке набрать привязанные к серверу доменые имена любые, то проблема осталась как выше. как запретить переход в svn с любого другого домена\поддомена.
либо убрать svn из папки с сайтами, либо в .htaccsess запретить доступ.
P.S. В настройке серверов я пока полный ноль практически, так что может стоит поискать решения или поспрашивать на профильных форумах…
сайты у меня установлены в /home/julika/www
а svn установлен в /var/svn
как в .htaccsess запретить?
Мозг включить
как включить мозг?
Это руководство напару с этим https://help.ubuntu.com/community/Subversion
дали мне представление об установке и огранизации свн. Отдельно — увы.
Зачем это нужно можно и нужно почитать здесь.
— ссылка битая
Спасибо, поправил