Subversion über WEB-Server ansprechbar machen

Status
Für weitere Antworten geschlossen.

flooo

Benutzer
Mitglied seit
05. Feb 2008
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
hi,

ps -ef | grep /opt/sbin/httpd gibt folgendes aus

> ps -l | grep /opt/sbin/httpd
1210 root 5152 S /opt/sbin/httpd -k restart
1442 nobody 5320 S /opt/sbin/httpd -k restart
1443 nobody 5372 S /opt/sbin/httpd -k restart
1444 nobody 5372 S /opt/sbin/httpd -k restart
1445 nobody 5372 S /opt/sbin/httpd -k restart
1446 nobody 5372 S /opt/sbin/httpd -k restart
1447 nobody 5372 S /opt/sbin/httpd -k restart
1449 nobody 5372 S /opt/sbin/httpd -k restart
1451 nobody 5372 S /opt/sbin/httpd -k restart
1452 nobody 5372 S /opt/sbin/httpd -k restart
1454 nobody 5372 S /opt/sbin/httpd -k restart
1455 nobody 5372 S /opt/sbin/httpd -k restart
1456 nobody 5372 S /opt/sbin/httpd -k restart
1457 nobody 5372 S /opt/sbin/httpd -k restart
1458 nobody 5372 S /opt/sbin/httpd -k restart
1459 nobody 5372 S /opt/sbin/httpd -k restart
1460 nobody 5372 S /opt/sbin/httpd -k restart
1461 nobody 5372 S /opt/sbin/httpd -k restart
1462 nobody 5372 S /opt/sbin/httpd -k restart
1463 nobody 5372 S /opt/sbin/httpd -k restart
1464 nobody 5372 S /opt/sbin/httpd -k restart
1465 nobody 5372 S /opt/sbin/httpd -k restart
1466 nobody 5372 S /opt/sbin/httpd -k restart
1467 nobody 5372 S /opt/sbin/httpd -k restart
1468 nobody 5372 S /opt/sbin/httpd -k restart
1469 nobody 5372 S /opt/sbin/httpd -k restart
1470 nobody 5372 S /opt/sbin/httpd -k restart
1471 nobody 5372 S /opt/sbin/httpd -k restart
1472 nobody 5372 S /opt/sbin/httpd -k restart
1473 nobody 5372 S /opt/sbin/httpd -k restart
1474 nobody 5372 S /opt/sbin/httpd -k restart
1475 nobody 5372 S /opt/sbin/httpd -k restart
1476 nobody 5372 S /opt/sbin/httpd -k restart
1477 nobody 5372 S /opt/sbin/httpd -k restart
1478 nobody 5372 S /opt/sbin/httpd -k restart
1479 nobody 5372 S /opt/sbin/httpd -k restart
1480 nobody 5372 S /opt/sbin/httpd -k restart
1481 nobody 5372 S /opt/sbin/httpd -k restart
1482 nobody 5372 S /opt/sbin/httpd -k restart
1483 nobody 5372 S /opt/sbin/httpd -k restart
1484 nobody 5372 S /opt/sbin/httpd -k restart
1485 nobody 5372 S /opt/sbin/httpd -k restart
1486 nobody 5372 S /opt/sbin/httpd -k restart
1487 nobody 5372 S /opt/sbin/httpd -k restart
1488 nobody 5372 S /opt/sbin/httpd -k restart
1489 nobody 5372 S /opt/sbin/httpd -k restart
1490 nobody 5372 S /opt/sbin/httpd -k restart
1491 nobody 5372 S /opt/sbin/httpd -k restart
1492 nobody 5372 S /opt/sbin/httpd -k restart
1493 nobody 5372 S /opt/sbin/httpd -k restart
1494 nobody 5372 S /opt/sbin/httpd -k restart
1495 nobody 5372 S /opt/sbin/httpd -k restart
1496 nobody 5372 S /opt/sbin/httpd -k restart
1497 nobody 5372 S /opt/sbin/httpd -k restart
1498 nobody 5372 S /opt/sbin/httpd -k restart
1499 nobody 5372 S /opt/sbin/httpd -k restart
1500 nobody 5372 S /opt/sbin/httpd -k restart
1501 nobody 5372 S /opt/sbin/httpd -k restart
1502 nobody 5372 S /opt/sbin/httpd -k restart
1503 nobody 5372 S /opt/sbin/httpd -k restart
1504 nobody 5372 S /opt/sbin/httpd -k restart
1505 nobody 5372 S /opt/sbin/httpd -k restart
1506 nobody 5372 S /opt/sbin/httpd -k restart
1507 nobody 5372 S /opt/sbin/httpd -k restart
1508 nobody 5372 S /opt/sbin/httpd -k restart
1509 nobody 5372 S /opt/sbin/httpd -k restart
1510 nobody 5372 S /opt/sbin/httpd -k restart
1511 nobody 5372 S /opt/sbin/httpd -k restart
1512 nobody 5372 S /opt/sbin/httpd -k restart
1513 nobody 5372 S /opt/sbin/httpd -k restart
1514 nobody 5372 S /opt/sbin/httpd -k restart
1515 nobody 5372 S /opt/sbin/httpd -k restart
1516 nobody 5372 S /opt/sbin/httpd -k restart
1517 nobody 5372 S /opt/sbin/httpd -k restart
1518 nobody 5372 S /opt/sbin/httpd -k restart
1519 nobody 5372 S /opt/sbin/httpd -k restart
1520 nobody 5372 S /opt/sbin/httpd -k restart
1521 nobody 5372 S /opt/sbin/httpd -k restart
1522 nobody 5372 S /opt/sbin/httpd -k restart
1523 nobody 5372 S /opt/sbin/httpd -k restart
1524 nobody 5372 S /opt/sbin/httpd -k restart
1525 nobody 5372 S /opt/sbin/httpd -k restart
1526 nobody 5372 S /opt/sbin/httpd -k restart
1527 nobody 5372 S /opt/sbin/httpd -k restart
1528 nobody 5372 S /opt/sbin/httpd -k restart
1529 nobody 5372 S /opt/sbin/httpd -k restart
1533 root 340 S grep /opt/sbin/httpd

ich hab den Ordner svn/repository mit deinem angegebenen chown-Befehl dem user nobody zugeordnet, dieser steht auch in der httpd.conf

aber einloggen kann ich mich immer noch nicht, fragt mich erst nach Passwort von root und dann nochmal nach nem user und nem passwort

ick weiß nicht weiter
Grüße
Flooo
 

SLCoolJ

Benutzer
Mitglied seit
04. Apr 2008
Beiträge
26
Punkte für Reaktionen
0
Punkte
0
Passe noch mal in der Datei
/volume1/opt/etc/apache2/httpd.conf
die Pfade zu den Logdateien an.

/var/apache2/log/error_log in
/opt/var/apache2/log/error_log

und

/var/apache2/log/access_log in
/opt/var/apache2/log/access_log


Dann den Apache neustarten, auf das SVN gehen und die Ausgaben der beiden Dateien hier posten:

Rich (BBCode):
cat /opt/var/apache2/log/access_log | tail -15
cat /opt/var/apache2/log/error_log | tail -15
 

flooo

Benutzer
Mitglied seit
05. Feb 2008
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
da sind sie
 

Anhänge

  • error_log.txt
    7,3 KB · Aufrufe: 2
  • access_log.txt
    6,2 KB · Aufrufe: 1

SLCoolJ

Benutzer
Mitglied seit
04. Apr 2008
Beiträge
26
Punkte für Reaktionen
0
Punkte
0
Schick mal bitte den Stand aller Configs noch mit

- httpd.conf
- svn.conf

Ich muss mir mal nen Überblick verschaffen.
 

flooo

Benutzer
Mitglied seit
05. Feb 2008
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Danke für die Hilfe:

hier die Konfigurationsdateien.
Die Datei-Struktur ist die selbe geblieben. Ich habe jetzt in der httpd.conf als User den im DiskStationManger angelegten User 'svnowner' angelegt.

ls -la /volume1 erzeugt u.a.
drwxrwxrwx 6 root root 4096 Nov 7 22:04 svn

ls -la /volume1/svn u.a.
drwxrwxrwx 2 admin users 4096 Nov 7 22:28 access
drwxrwxrwx 2 admin users 4096 Nov 7 22:04 backup
drwxrwxrwx 2 admin users 4096 Nov 7 22:04 html
drwxr-xr-x 6 svnowner users 4096 Nov 7 20:45 repository

ls -la /volume1/svn/access
-rwxrwxrwx 1 root root 42 Nov 9 20:42 access.passwd

Wenn du noch was brauchst, immer fragen. Bin dir sehr dankbar für die Mühe.
Grüße
Florian
 

Anhänge

  • httpd.conf.txt
    16,3 KB · Aufrufe: 4
  • mod_dav_svn.conf.txt
    633 Bytes · Aufrufe: 4
  • svn.conf.txt
    1.022 Bytes · Aufrufe: 4

SLCoolJ

Benutzer
Mitglied seit
04. Apr 2008
Beiträge
26
Punkte für Reaktionen
0
Punkte
0
N'abend,

es sieht alles gut aus.

Den ff. Eintrag in svn.conf musst du aber noch auskommentieren
Rich (BBCode):
SVNParentPath /volume1/svn/repository

Vielleicht kam das auf den ersten Seiten dieses Threads nicht so raus. Der Ordner /svn/repos (aus meinem Beispiel) ist der "Oberordner", der wiederum alle Repositories beinhaltet. Diese Konstellation wird über den SVNParentPath bekannt gemacht. Bei dir ist das anders. Dein Oberordner ist auch gleichzeitig das Repository. Wenn du den o.g. Eintrag auskommentierst, dann müsste es gehen.

Grüße
Stefan
 

flooo

Benutzer
Mitglied seit
05. Feb 2008
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Es klappt nicht. Bekomme immer noch die Aufforderung zur Passwort-Abfrage: erst root dann 'authorisation realm', aber mit den Benutzer aus access.passwd kommt ich nicht rein. Was mich wundert: ich habe in der svn.conf den Wert AuthName geändert, aber er nimmt immer noch Authorisation realm statt Autorisierung wie eingetragen, wird aber nicht nach gefragt, keine Ahnung woher er das dann nimmt.
Noch Ideen?
Grüße
Florian

PS:
Wenn ich ein falsches Passwort eingeben, dann kommt folgendes zurück
svn: OPTIONS of 'http://192.168.178.25:8000/repos': authorization failed (http://192.168.178.25:8000)
wenn ich ein richtiges eingebe kommt dies
svn: Server sent unexpected return value (500 Internal Server Error) in response to OPTIONS request for 'http://192.168.178.25:8000/repos'
 
Zuletzt bearbeitet:

SLCoolJ

Benutzer
Mitglied seit
04. Apr 2008
Beiträge
26
Punkte für Reaktionen
0
Punkte
0
hmm... komisch...

Und es gehören auch alle Ordne, Unterordner und Dateien dem svnowner im Pfad /volume1/svn/repository ?

Das muss doch so langsam mal gehen... :confused:
 

flooo

Benutzer
Mitglied seit
05. Feb 2008
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
so, hab nochmal von null angefangen, apache runter und wieder rauf und nochmal die files kontrolliert
hatte zwei inhaltlich fast identische conf-dateien: mod_dav_svn.conf und svn.conf
hab die mod_dav_svn.conf umbenannt, so dass sie nicht mehr geladen wird
alles in allem, glaube mit den Pfaden war noch was falsch, aber es klappt jetzt sowohl über telnet als auch tortoise mit
http://192.168.178.25:8000/repos
was nicht klappt ist mit ssl und auch nicht mit svn+ssh
bei ssh fragt er zwar nach nem passwort aber er nimmt meines nicht, was mach ich da noch falsch?
danke für die Hilfe bisher. hänge nochmal die conf-dateien an
würde mich noch über Hilfe bzgl. ssl und ssh freuen
Grüße
Florian
 

Anhänge

  • svn.conf.txt
    1,1 KB · Aufrufe: 12
  • httpd.conf.txt
    16,3 KB · Aufrufe: 16

SLCoolJ

Benutzer
Mitglied seit
04. Apr 2008
Beiträge
26
Punkte für Reaktionen
0
Punkte
0
N'abend,

erstmal Glückwunsch. Dieser Thread mit deinem Leidensweg hilft bestimmt dem einen oder anderen Forumsteilnehmer :)

Wenn ich mir die Konfigs so ansehe, dann denke ich, dass das Zünglein an der Wage das
Rich (BBCode):
SVNPath
war. Das hatten wir ja vorher nicht drin, Wir hatten nur SVNParentPath auskommentiert. Sollte man vielleicht noch mal im svn-book nachschlagen.

Mit svn+ssh kann ich dir nicht helfen, da ich das noch nicht gemacht habe. Ich habe bei mir SVN über https im Einsatz und das reicht mir.

svn über https "q'n'd":
  • Zertifikate mittels openssl generieren (--> Google)
  • In httpd.conf das "Include etc/apache2/extra/httpd-ssl.conf" auskommentieren
  • httpd-ssl.conf anpassen (meist reichen da die Pfade zu den Zertifikaten)
  • In svn.conf: "SSLRequireSSL" auskommentieren

Die elegante Variante wäre alles in einen vhost zu verpacken. Das können wir ja machen, wenn du alles prinzipiell am Laufen hast.

Grüße
Stefan
 

Beatnukem

Benutzer
Mitglied seit
16. Mrz 2008
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Also Leute ihr seid einfach spitze!
Hab mich gestern mal drangesetzt und dank euch funzt jetzt mein SVN auch über https :)

um dein q'n'd ein bissel zu erweitern (auch wenn im Grunde wirklich alles drinsteht):

1. Zertifikate erstellen (ich habe meine in den Ordner /opt/etc/apache2 abgelegt)

Private Key:
Rich (BBCode):
openssl genrsa -out server.key 1024

Certificate Signing Request (CSR) anlegen (hier wird man beim erstellen ein paar Dinge abgefragt, optionale angaben wie das Passwort kann man mit '.' überspringen)
Rich (BBCode):
openssl req -new -key server.key -out server.csr

Mit folgendem Befehl kann man noch prüfen ob die angaben im CSR ok sind
Rich (BBCode):
openssl req -noout -text -in server.csr

Und als letztes hab ich mir noch ein Self-signed Certificate erstellt
Rich (BBCode):
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Dann in der httpd.conf das "Include etc/apache2/extra/httpd-ssl.conf" auskommentiert, und in der httpd-ssl.conf den Listenport geändert, weil auf 443 schon der standart http-server der DS läuft:
Rich (BBCode):
Listen 8800
<VirtualHost _default_:8800>
Die Pfade zum Key bzw. Cert musste ich nicht ändern, weil die Pfade standartmäßig /opt/etc/apache2/server.key und /opt/etc/apache2/server.crt sind.

Dann noch in der svn.conf (bei mir ists die mod_dav_svn.conf) "SSLRequireSSL" auskommentieren.

httpd -k restart, und siehe da es funktioniert :D

vielen dank nochmal an euch!

greetz
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
...auch nicht mit svn+ssh
bei ssh fragt er zwar nach nem passwort aber er nimmt meines nicht, was mach ich da noch falsch?
Per Default sollte svn sich auch via ssh verwenden lassen. Dazu wird aber ein Private/Public Key benötigt. Der Public key kommt dann im Homeverzeichnis des Users mit dem du dich anmelden willst in das versteckte Verzeichnis .ssh und dort in die Datei authorized_keys
Wenn du die keys mit einem Tool wie z.B. puttygen erstellst, dann darfst du nicht vergessen den Public Key VOR dem Eintragen in die authorized_keys in das OpenSSH Key Format zu konvertieren.
Ein Eintrag in der Datei könnte so ausschauen
Code:
ssh-rsa KEY COMMENT
erst wird der Typ des Schlüssels angegeben, dann kommt der Schlüssel selber (letzendlich der Inhalt von cat public_key_file) und dann noch ein Kommentar. Wichtig sind die Rechte auf dem versteckten Verzeichnis .ssh. Nur der Eigentümer darf zugreifen. Der Ordner muss dem jeweiligen User gehören.
Wenn das alles erledigt ist, dann kannst du mit Putty mal einen Testlauf starten:
1) Im Putty Tool Peagant den privaten Schlüssel laden
2) Im Putty Client selber eine ssh Verbindung erstellen
3) Als Verbindung mal root@IP_DER_DS mit Protokoll ssh verwenden
Wenn alles gut gegangen ist solltest du ohne weiteres Zutun als root angemeldet werden.
Bevor du dich jetzt aber an svn+ssh heranmachst sei gewarnt: Ich habe es trotz korrekter Konfig nie geschafft svn via ssh zu verwenden. Kommt immer die Fehlermeldung (Connection closed unexpectedly). Wenn du dich aber trotzdem daran machen willst, dann schau dir mal die Doc von turtoise an. Dort stehen die Schritte zum Einrichten von svn+ssh ziemlich genau beschrieben, obwohl es bei mir wie gesagt nicht klappen will.
Ein wichtiger Tipp noch zum Schluss:
Beim Anlegen des privaten Schlüssel NIEMALS ein gültiges Login PW verwenden
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat