Apache DAV-SVN (Linux): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 68: | Zeile 68: | ||
sudo mkdir /var/www/svn | sudo mkdir /var/www/svn | ||
sudo chown www-data:www-data /var/www/svn | sudo chown www-data:www-data /var/www/svn | ||
</pre> | |||
Port ''80'' auf ''443'' weiterleiten: | |||
<pre> | |||
sudo vi /etc/apache2/sites-available/svn.conf | |||
</pre> | </pre> | ||
<pre> | <pre> | ||
<VirtualHost *:80> | <VirtualHost *:80> | ||
ServerName svn. | ServerName svn.<domain> | ||
ServerAlias svn. | ServerAlias svn.<domain> | ||
Redirect / https://svn. | Redirect / https://svn.<domain> | ||
</VirtualHost> | </VirtualHost> | ||
</pre> | |||
<pre> | |||
sudo vi /etc/apache2/sites-available/svn-ssl.conf | |||
</pre> | </pre> | ||
<pre> | <pre> | ||
<virtualhost *:443> | <virtualhost *:443> | ||
ServerName svn. | ServerName svn.<domain> | ||
SSLEngine On | SSLEngine On | ||
| Zeile 98: | Zeile 108: | ||
</Location> | </Location> | ||
ErrorLog ${APACHE_LOG_DIR}/svn. | ErrorLog ${APACHE_LOG_DIR}/svn.<domain>-error.log | ||
CustomLog ${APACHE_LOG_DIR}/svn. | CustomLog ${APACHE_LOG_DIR}/svn.<domain>-access.log combined | ||
</virtualhost> | </virtualhost> | ||
</pre> | </pre> | ||
Version vom 18. August 2018, 17:51 Uhr
Installation
sudo a2enmod dav sudo a2enmod dav_svn sudo a2enmod dav_fs
Konfiguration
Die Datei dav_svn.conf bearbeiten
sudo vi /etc/apache2/mods-available/dav_svn.conf
und folgende Zeilen hinzufügen:
<Location /svn> DAV svn SVNParentPath /home/svn SVNListParentPath on AuthType Basic AuthName "Subversion repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user </Location>
Soll Lesezugriff ohne Passworteingabe erlaubt sein, dann die LimitExcept-Direktive hinzufügen:
<Location /svn>
...
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
...
</Location>
Passwort-Datenbank anlegen (falls die Datenbank noch nicht existiert, ist der Parameter -c erforderlich):
sudo htpasswd /etc/apache2/dav_svn.passwd <user name>
Zum Abschluss muss der Server neu gestartet werden:
sudo /etc/init.d/apache2 restart
Aufruf
per IP
http://<server ip>/svn/
per DNS
Verzeichnis für DavLockDB anlegen:
sudo mkdir /var/www/svn sudo chown www-data:www-data /var/www/svn
Port 80 auf 443 weiterleiten:
sudo vi /etc/apache2/sites-available/svn.conf
<VirtualHost *:80>
ServerName svn.<domain>
ServerAlias svn.<domain>
Redirect / https://svn.<domain>
</VirtualHost>
sudo vi /etc/apache2/sites-available/svn-ssl.conf
<virtualhost *:443>
ServerName svn.<domain>
SSLEngine On
SSLCertificateFile /etc/ssl/certs/svn.crt
SSLCertificateKeyFile /etc/ssl/private/apache.key
DavLockDB /var/www/svn/DavLock
<Location />
Dav svn
SVNParentPath /home/svn
SVNListParentPath on
AuthType Basic
AuthName "Subversion repository"
AuthUserFile "/etc/apache2/dav_svn.passwd"
Require valid-user
</Location>
ErrorLog ${APACHE_LOG_DIR}/svn.<domain>-error.log
CustomLog ${APACHE_LOG_DIR}/svn.<domain>-access.log combined
</virtualhost>
Links
https://httpd.apache.org/docs/2.4/mod/mod_dav.html
Probleme
The URI does not contain the name of a repository.
Wenn kein spezielles Repository ausgewählt wird, können mit der Option SVNListParentPath alle verfügbaren Reposities aufgelistet werden:
<Location /svn> ... SVNListParentPath on ... </Location>
Links
https://wiki.ubuntuusers.de/Archiv/Subversion/
Zurück zu Subversion