Frage

Ich habe einen Laptop Ubuntu laufen, Ich mag würde als ein Subversion-Server agieren. Sowohl für mich die Ferne für andere lokal und zu begehen. Was sind die Schritte erforderlich, um diese Funktion zu erhalten? Geben Sie bitte Schritte:

  • Get und konfiguriert Apache und notwendige Module (ich weiß es auch andere Möglichkeiten gibt, einen SVN-Server zu erstellen, aber ich würde es Apache-spezifische mag)
  • Konfigurieren Sie einen sicheren Weg, um den Server für den Zugriff (SSH / HTTPS)
  • Konfigurieren einer Reihe von autorisierten Benutzern (wie in, müssen sie zu begehen berechtigt, aber sind frei zu durchsuchen)
  • Überprüfen Sie die Einrichtung mit einer anfänglichen commit (ein „Hallo Welt“ von Sorten)

Diese Schritte können eine beliebige Mischung von Befehlszeile oder GUI-Anwendung Anweisungen beinhalten. Wenn Sie können, beachten Sie bitte, wo Anweisungen an eine bestimmte Verteilung spezifisch sind oder Version, und wo ein Benutzer die Wahl eines bestimmten Werkzeugs kann stattdessen verwendet werden (sagen wir, nano anstelle von vi ).

War es hilfreich?

Lösung

Schritte ich getroffen habe meinen Laptop ein Subversion-Server zu machen. Kredit muss gehen zu AlephZarro für seine Richtungen hier . Ich habe jetzt einen funktionierende SVN-Server (derzeit ist nur lokal getestet).

Spezifische Einstellung:     Kubuntu 8.04 Hardy Heron

Anforderungen dieser Anleitung folgen:

  • apt-get Paket-Manager-Programm
  • Texteditor (ich benutze kate)
  • sudo Zugriffsrechte

1: Installieren Sie Apache HTTP-Server und die erforderlichen Module:

sudo apt-get install libapache2-svn apache2

Folgende zusätzliche Pakete installiert werden:

apache2-mpm-worker apache2-utils apache2.2-common

2: Aktivieren Sie SSL

sudo a2enmod ssl
sudo kate /etc/apache2/ports.conf

Hinzufügen oder überprüfen, dass die folgenden in der Datei ist:

<IfModule mod_ssl.c>
    Listen 443
</IfModule>

3: Erzeugen 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 virtueller 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>

hinzufügen unter Serveradmin (auch in der Datei svnserver):

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM

5: Aktivieren Sie die Website:

sudo a2ensite svnserver
sudo /etc/init.d/apache2 restart

Warnungen zu überwinden:

sudo kate /etc/apache2/apache2.conf

Anzahl:

"ServerName $your_server_name"

6: Hinzufügen von Repository (n): Das folgende Setup übernimmt wir mehrere Repositories hosten möchten. Führen Sie dies für die Erstellung des ersten Repository:

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. Weitere Repositories: do Schritt 6 wieder (den Wert des REPOS zu ändern), den Schritt mkdir /var/svn Überspringen

7: Fügen Sie einen authentifizierten Benutzer

sudo htpasswd -c -m /etc/apache2/dav_svn.passwd $user_name

8: Aktivieren und Konfigurieren von WebDAV und SVN:

sudo kate /etc/apache2/mods-available/dav_svn.conf

oder hinzufügen uncomment:

<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 Apache-Server:

sudo /etc/init.d/apache2 restart

10: Validierung:

Feuert einen Browser:

http://localhost/svn/$REPOS
https://localhost/svn/$REPOS

erforderlich Sowohl einen Benutzernamen und ein Passwort. Ich denke, Auskommentierung:

<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: /"

Commit etwas:

svn import --username $user_name anyfile.txt https://localhost/svn/$REPOS/anyfile.txt -m “Testing”

das Zertifikat annehmen und Passwort eingeben. Lesen Sie, was Sie haben gerade begangen:

svn co --username $user_name https://localhost/svn/$REPOS

Nach diesen Schritten (vorausgesetzt, ich habe einen Fehler Kopieren / Einfügen nicht gemacht), hatte ich ein funktionierendes SVN-Repository auf meinem Laptop.

Andere Tipps

Danach brauchte ich (im Rahmen des Beispiels zitiert oben) ausführen

$ sudo chmod g + w /var/svn/$REPOS/db/rep-cache.db

$ sudo chown www-data: www-data /var/svn/$REPOS/db/rep-cache.db

Ansonsten gehalten Empfangen ich einen 409 Fehler, wenn lokale Änderungen zu begehen (Obwohl die Verpflichtungen Server-Seite wirksam waren, musste ich mit dem lokalen Updates folgen zu lassen)

Dieser Artikel scheint einen ziemlich guten Überblick über den gesamten Prozess zu geben. Ich würde empfehlen, die Anweisungen folgen, und dann einige spezifischere Fragen zu Problemen veröffentlichen Sie, die in diesen Reaktionen verknüpft habe ich und andere Leute in den Artikeln behandelt werden nicht encouter.

Wenn Sie verboten bekommen 403, wenn Sie den Webserver treffen es sein kann, weil Sie einen Hostnamen verwendet, das nicht das, was Sie in Ihrer Konfigurationsdatei angegeben ist (dh localhost oder 127.0.0.1). Versuchen Sie schlagen https: // whateveryousetasyourhostname statt ...

Bitte schreiben Sie einen einzigen Befehl an das Terminal.

, um das Terminal zu öffnen drücken Sie bitte Strg + Alt + T , und dann diesen Befehl eingeben:

$sudo apt-get install subversion

Für Apache:

sudo apt-get -yq install apache2

Für SSH:

sudo apt-get -yq install openssh-server

Für Subversion:

sudo apt-get -yq install subversion subversion-tools

Wenn Sie möchten, dass Sie diese in einem Befehl kombiniert werden wie:

sudo apt-get -yq install apache2 openssh-server subversion subversion-tools

Ich kann nicht mit dem Rest helfen ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top