Schritte, die ich unternommen habe, um meinen Laptop zu einem Subversion-Server zu machen. Der Kredit muss an AlephZarro gehen, um seine Anweisungen hier zu erhalten . Ich habe jetzt einen funktionierenden SVN-Server (der derzeit nur lokal getestet wurde).
Spezifisches Setup: Kubuntu 8.04 Hardy Heron
Anforderungen an diese Anleitung:
- apt-get Paketmanager-Programm
- Texteditor (ich benutze Kate)
- Sudo-Zugriffsrechte
1: Installieren Sie den Apache HTTP-Server und die erforderlichen Module:
sudo apt-get install libapache2-svn apache2
Die folgenden zusätzlichen Pakete werden installiert:
apache2-mpm-worker apache2-utils apache2.2-common
2: Aktivieren Sie SSL
sudo a2enmod ssl
sudo kate /etc/apache2/ports.conf
Fügen Sie Folgendes hinzu oder überprüfen Sie, ob die Datei Folgendes enthält:
<IfModule mod_ssl.c>
Listen 443
</IfModule>
3: Generieren Sie ein SSL-Zertifikat:
sudo apt-get install ssl-cert
sudo mkdir /etc/apache2/ssl
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
4: Erstellen Sie einen virtuellen Host
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/svnserver
sudo kate /etc/apache2/sites-available/svnserver
Ändern (in ports.conf):
"NameVirtualHost *" to "NameVirtualHost *:443"
und (in svnserver)
<VirtualHost *> to <VirtualHost *:443>
Fügen Sie unter ServerAdmin (auch in der Datei svnserver) Folgendes hinzu:
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM
5: Aktivieren Sie die Site:
sudo a2ensite svnserver
sudo /etc/init.d/apache2 restart
So überwinden Sie Warnungen:
sudo kate /etc/apache2/apache2.conf
Hinzufügen:
"ServerName $your_server_name"
6: Hinzufügen von Repositorys: Im folgenden Setup wird davon ausgegangen, dass mehrere Repositorys gehostet werden sollen. Führen Sie dies aus, um das erste Repository zu erstellen:
sudo mkdir /var/svn
REPOS=myFirstRepo
sudo svnadmin create /var/svn/$REPOS
sudo chown -R www-data:www-data /var/svn/$REPOS
sudo chmod -R g+ws /var/svn/$REPOS
6.a. Für weitere Repositorys: Führen Sie Schritt 6 erneut aus (Ändern des REPOS-Werts) und überspringen Sie den Schrittmkdir /var/svn
7: Fügen Sie einen authentifizierten Benutzer hinzu
sudo htpasswd -c -m /etc/apache2/dav_svn.passwd $user_name
8: Aktivieren und konfigurieren Sie WebDAV und SVN:
sudo kate /etc/apache2/mods-available/dav_svn.conf
Hinzufügen oder Kommentieren:
<Location /svn>
DAV svn
# for multiple repositories - see comments in file
SVNParentPath /var/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL
</Location>
9: Starten Sie den Apache-Server neu:
sudo /etc/init.d/apache2 restart
10: Validierung:
Browser gestartet:
http://localhost/svn/$REPOS
https://localhost/svn/$REPOS
Beide benötigten einen Benutzernamen und ein Passwort. Ich denke ohne Kommentar:
<LimitExcept GET PROPFIND OPTIONS REPORT>
</LimitExcept>
in /etc/apache2/mods-available/dav_svn.conf
, würde anonymes Surfen ermöglichen.
Der Browser zeigt "Revision 0: /"
Etwas begehen:
svn import --username $user_name anyfile.txt https://localhost/svn/$REPOS/anyfile.txt -m “Testing”
Akzeptieren Sie das Zertifikat und geben Sie das Passwort ein. Überprüfen Sie, was Sie gerade begangen haben:
svn co --username $user_name https://localhost/svn/$REPOS
Nach diesen Schritten (vorausgesetzt, ich habe keine Fehler beim Kopieren / Einfügen gemacht) hatte ich ein funktionierendes SVN-Repository auf meinem Laptop.