Apache DAV-SVN (Linux): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Links) |
|||
(20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Installation == | |||
<pre> | |||
sudo a2enmod dav | |||
sudo a2enmod dav_svn | |||
sudo a2enmod dav_fs | |||
</pre> | |||
== Konfiguration == | |||
Die Datei ''dav_svn.conf'' bearbeiten | |||
<pre> | |||
sudo vi /etc/apache2/mods-available/dav_svn.conf | |||
</pre> | |||
und folgende Zeilen hinzufügen: | |||
<pre> | |||
<Location /svn> | |||
DAV svn | |||
SVNParentPath /home/svn | |||
SVNListParentPath on | |||
AuthType Basic | |||
AuthName "Subversion repository" | |||
AuthUserFile /etc/apache2/dav_svn.passwd | |||
Require valid-user | |||
</Location> | |||
</pre> | |||
Soll Lesezugriff ohne Passworteingabe erlaubt sein, dann die ''LimitExcept''-Direktive hinzufügen: | |||
<pre> | |||
<Location /svn> | |||
... | |||
<LimitExcept GET PROPFIND OPTIONS REPORT> | |||
Require valid-user | |||
</LimitExcept> | |||
... | |||
</Location> | |||
</pre> | |||
Passwort-Datenbank anlegen (falls die Datenbank noch nicht existiert, ist der Parameter ''-c'' erforderlich): | |||
<pre> | |||
sudo htpasswd /etc/apache2/dav_svn.passwd <user name> | |||
</pre> | |||
Zum Abschluss muss der Server neu gestartet werden: | |||
<pre> | |||
sudo /etc/init.d/apache2 restart | |||
</pre> | |||
== Aufruf == | |||
=== per IP === | |||
<pre> | |||
http://<server ip>/svn/ | |||
</pre> | |||
=== per DNS === | |||
Verzeichnis für ''DavLockDB'' anlegen: | |||
<pre> | |||
sudo mkdir /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> | |||
<VirtualHost *:80> | |||
ServerName svn.<domain> | |||
ServerAlias svn.<domain> | |||
Redirect / https://svn.<domain> | |||
</VirtualHost> | |||
</pre> | |||
<pre> | |||
sudo vi /etc/apache2/sites-available/svn-ssl.conf | |||
</pre> | |||
<pre> | |||
<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> | |||
</pre> | |||
==== Links ==== | |||
[https://httpd.apache.org/docs/2.4/mod/mod_dav.html 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: | |||
<pre> | |||
<Location /svn> | |||
... | |||
SVNListParentPath on | |||
... | |||
</Location> | |||
</pre> | |||
== Links == | == Links == | ||
Zeile 4: | Zeile 136: | ||
Zurück zu [[ | Zurück zu [[Apache DAV-SVN (unterschiedliche Versionen)#Ubuntu Versionen|Apache DAV-SVN]] |
Aktuelle Version vom 20. August 2020, 23:21 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 Apache DAV-SVN