Подключение к удаленному репозиторию

Я создаю 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 или чего-либо еще)

  1. Установить апач
  2. Установить Subversion
  3. Установить 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 (и ее пароля)

Другие вопросы по тегам