Подключение к удаленному репозиторию
Я создаю SVN-репозиторий на общедоступном IP-сервере, чтобы некоторые разработчики, в том числе и я, могли получить к нему доступ из любого места, а не только из офиса. Мне было интересно, как мне получить URL-адрес для репозитория SVN, я знаю, что локальным является file:///svn_repos, но я никогда раньше не пытался сделать что-то подобное. Извините, если я выгляжу полным идиотом.
3 ответа
Загрузите и установите Subversion Edge на сервере:
http://www.collab.net/downloads/subversion
Это даст вам простой веб-интерфейс для управления вашим сервером и репозиториями. Ваши клиенты смогут получить доступ к вашим хранилищам через http или https.
Вы должны подключить свой сервер SVN с Apache, работающий на той же коробке.
Это может помочь вам http://subversion.apache.org/packages.html
Для Windows выполните следующие действия: https://www.inetsolution.com/blog/july-2007/how-to-setup-subversion-apache-websvn-on-windo (никогда не проверял, но, кажется, правильно)
Для Linux вам нужны apache, subversion и mod_dav_svn (установите его с помощью apt-get, yum или чего-либо еще)
- Установить апач
- Установить Subversion
- Установить mod_dav_svn
Тогда вы должны все настроить. В конфигурации Apache вы добавляете это:
<Location /svn>
DAV svn
SVNParentPath /var/www/svnrepo
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /etc/svn-auth-users
Require valid-user
SSLRequireSSL
</Location>
Вы создаете свой сертификат:
openssl req -new > YOUR_SERVER.certificate.csr
openssl rsa -in privkey.pem -out YOUR_SERVER.certificate.key
openssl x509 -in YOUR_SERVER.certificate.csr -out YOUR_SERVER.certificate.cert -req - signkey YOUR_SERVER.certificate.key -days 1024
mv YOUR_SERVER.certificate.cert /etc/pki/tls/certs/
mv YOUR_SERVER.certificate.key /etc/pki/tls/private/
vim /etc/httpd/conf.d/ssl.conf
Вы создаете своих пользователей:
htpasswd -cm /etc/svn-auth-users YOUR_USERNAME
Вы создаете и настраиваете свой сервер SVN:
cd /var/www
mkdir svn
cd svn
svnadmin create YOUR_PROJECT_NAME
chown -R apache.apache YOUR_PROJECT_NAME
chcon -h system_u:object_r:httpd_sys_content_t /var/www/svnrepo/YOUR_PROJECT_NAME
chcon -R -h apache:object_r:httpd_sys_content_t /var/www/svnrepo/YOUR_PROJECT_NAME/*
mkdir -p /var/svn_template/{trunk,branches,tags}
svn import -m 'Initial import' /var/svn_template/ https://localhost/svn/YOUR_PROJECT_NAME/
service httpd restart
Я сделал это на нескольких серверах Fedora, и это работает очень хорошо.
Затем вы можете получить доступ к своему серверу SVN по этому адресу: https: // YOUR_SERVER_ADDRESS / svn / YOUR_PROJECT_NAME / с помощью учетной записи YOUR_USERNAME (и ее пароля)