Привіт!
Мав цікавий досвід налатшування svn+apache+nginx.
Щодо звязки svn+apache - нічого нового, в інеті багато статей,
Головний зміст, проінсталювати apache та SVN модуль до нього:
Крок 1: SVN+APACHE.
Звязати це, використовуючи наступні доки:
http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.webdav.autoversioning
http://wiki.centos.org/HowTos/Subversion
yum install mod_dav_svn subversion
[root@lucifer ~] vim subversion.conf
# Make sure you uncomment the following if they are commented out LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so
# Add the following to allow a basic authentication and point Apache # to where the actual# repository resides.
DAV svn SVNPath /var/www/svn/repos AuthType Basic AuthName "Subversion repos" AuthUserFile /etc/svn_auth_conf Require valid-user
І от запрацює тоді переходимо до наступного:
Крок2. Nginx+APACHE+SVN:
Додаємо нову локацію для репозиторія:
Location /repo { auth_basic "Restricted";
# підключаемо авторизацію, викор. спільний файл Nginx та Apache.
auth_basic_user_file /etc/svn_auth_conf;
client_max_body_size 40m; error_page 405 = @app; try_files $uri @app; } location @app { proxy_pass http://127.0.0.1:8080; }
Приблизно оце і все, можливі неточності.
P.S.
Головне звернути увагу на:
* опцію розміщення самих репів, щоб воно відповідало дійстності.
* Іноді є проблема коли вказано webroot - вихід --закоментувати.
* Через Nginx - можна отримати "Error 405. method not allowed."
це якщо конфігурація локації у Nginx інша - вихід
--не кешувати директорію з свн репозиторіями.
* Проблеми, які зявляються підчас скачування великого репа:
це обмеження по обєму скачення в Nginx
Вихід: добвити в локацію Nginx,
client_max_body_size XXm;
Коментарі