PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Subversion über original Apache-Server von DS-107+



Toscman
21.02.2009, 20:43
Hi,

habe hier mittlerweile viel gelesen und versucht mich in einigen Dingen schlau zu machen. Hat auch meistens geklappt, nur mit diesem Problem komme ich nicht weiter.

Ich möchte mein SVN über WEB ansprechbar machen. Dazu muss ich die beiden Module mod_dav_svn.so und mod_authz_svn.so in die httpd.conf laden.

Dazu kommen wohl dann noch einige Einstellungen betreffend des Ortes meines SVN und so.

Hat jemand ne Wiki-ähnliche Beschreibung, wie ich das implementieren kann?

Zwei Dinge sind dabei wichtig. Ich möchte nicht einen zweiten Apache installieren und ich muss gestehen, dass ich von linux so gut wie keine Ahnung habe.
SVN und IKPG installation hab ich nach Wiki gemacht.

Also bitte, wenn jemand weiß wie es geht, dann machts für nen echtenn Noob, plz! ;-)

Gruß Toscman

Beatnukem
05.03.2009, 11:26
Also ich habe es nur mitnem zweiten apache geschafft, aber das war relativ einfach (habe mich auch erst gescheut nen zweiten apache zu installieren, geht aber echt einfach)

In meinem Beispiel liegt das Repository in '/volume1/svn/repository'

apache2 installieren

ipkg install apache

httpd.conf editieren (vi /opt/etc/apache2/httpd.conf)
da drin dann folgende Zeile eintragen (habe ich direkt vor die zeile DocumentRoot "/opt/share/www" eingetragen):

Include /opt/etc/apache2/conf.d/*.conf

außerdem noch den user unter welchem der apache läuft ändern (muss der selbe Nutzer sein, unter welchem der subversion Server läuft)

User svnUser
Group #-1

dann in dem Ordner /opt/etc/apache2/conf.d/ die datei mod_dav_svn.conf ändern:

<Location /svn>
DAV svn
SVNPath /volume1/svn/repository

AuthType Basic
AuthName "SVN"
AuthUserFile /volume1/svn/repository/access/access.passwd
Require valid-user
</Location>
Der Pfad <Location /svn> ist dann der Pfad über welchen du das Repository erreichst (in meinem Beispiel http://meineip/svn)
SVNPath ist der Pfad zu deinem Repository welches du über http erreichen willst)

jetzt musst Du nur noch Benutzer einpflegen:

htpasswd /volume1/svn/repository/access/access.passwd neuerusername
(musst natürlich vorher den ordner /volume1/svn/repository/access anlegen)

jetzt dem http-server neu starten

/opt/sbin/httpd -k restart
und sich hoffentlich freuen das es gefunzt hat :)

das ganze kannst du dann auch noch über ssl erreichbar machen, dazu kannst du dir den letzten eintrag im thread http://www.synology-forum.de/showthread.html?t=1632 angucken.

hoffe das hat etwas geholfen, greetz

Toscman
28.04.2009, 20:51
Sorry, das ich mich erst jetzt und so spät melde.
Bin gerade im Examen und habe nur sehr sporadisch Zeit. ;-)
Habe mich gerade mal wieder durchs forum geblättert und dabei auf deine Antwort gestossen. Hab mich dann dazu durchgerungen, den Apache2 zu installieren und das scheint auch gefunzt zu haben.
Allerdings hänge ich jetzt bei deinem Schritt:

dann in dem Ordner /opt/etc/apache2/conf.d/ die datei mod_dav_svn.conf ändern:

Das Problem, in dem Ordner sind keine Dateien. Kann ich die noch über ipkg nachinstallieren oder muss ich die Downloaden und da reinschieben. Überhaupt habe ich die Vermutung, dass dort nicht einmal ein Hauch von einem Modul gelagert ist.

ipkg hat Apache2 nach /opt/etc/apache2/ installiert und die httpd habe ich auch entsprechend ändern können.

Vielleicht weiss einer Rat.

Toscman

Beatnukem
29.04.2009, 12:12
Bin leider auch kein Linux-Guru, weiß auch net genau ob derApache diese Files mitinstalliert (ich dachte eigentlich das die "Standart-config-files" mitinstalliert werden, vlt hab ich mich auch vertan), aber Du kannst die Datei auch einfach selbst anlegen (vi /opt/etc/apache2/conf.d/mod_dav_svn.conf)

Inhalt der kompletten mod_dav_svn.conf:


LoadModule dav_svn_module libexec/mod_dav_svn.so
LoadModule authz_svn_module libexec/mod_authz_svn.so

<Location /svn>
DAV svn
SVNPath /volume1/svn/repository

AuthType Basic
AuthName "SVN"
AuthUserFile /volume1/svn/repository/access/access.passwd
Require valid-user
</Location>


Wichtig ist dass Du wie ich oben beschrieben habe die "Include /opt/etc/apache2/conf.d/*.conf" Zeile in der httpd.conf eingetragen hast.

Wenn Du dann den Apache neu startest siehst Du dann auch ob mod_dav_svn.so und mod_authz_svn.so geladen werden konnten (gibt ne Fehlermeldung falls nicht denk ich mal)

Hoffe das bringt Dich bissel weiter

xelarep
01.03.2010, 21:52
Hallo,

hab auch seit einiger Zeit Subversion auf meiner DS-107+ laufen. WebSVN und Zugriff per svn:// im lokalen Netz funzt wunderbar. Soweit OK.

Jetzt wollte ich mal mit http://www.usvn.info/ sowie Zugriff von extern per http experimentieren, und dabei über das alte Problem gestolpert, dass beim Standard (User-)Apachen die Module mod_dav_svn.so und mod_authz_svn.so ja nicht dabei sind, und deswegen die Lösung hier mit dem 2. Apachen diskutiert wird.

Gibt es hier eigentlich was Neues?

Der 2. Apache läuft ja wohl auf einem anderen Port? Oder woher weiss die DS welcher Apache wofür zuständig ist?

Ich scheue mich momentan noch etwas vor der Installation des 2. Apachen.

Kann man nicht einfach die beiden fehlenden Module aus den ipkg extrahieren und den "Originalapachen" damit versorgen?

~:-\

Alexander

jahlives
01.03.2010, 22:23
Der 2. Apache läuft ja wohl auf einem anderen Port? Oder woher weiss die DS welcher Apache wofür zuständig ist?

Ich scheue mich momentan noch etwas vor der Installation des 2. Apachen.

Kann man nicht einfach die beiden fehlenden Module aus den ipkg extrahieren und den "Originalapachen" damit versorgen?

Die DS muss nicht wissen welcher Apache wofür zuständig ist. Anhand des verwendeten Users ist ja festgelegt welcher Apache antworten soll. Das geht nur wenn der andere Apache auf einem anderen Port läuft (oder auf einer anderen IP, wenn du mehrere Netzwerkkarten hast)
Die Idee mit dem extrahieren der Module aus dem ipkg Paket könnte sogar funzen. Das müsste man mal testen

xelarep
01.03.2010, 22:44
Jetzt wird's ominös:

Habe gerade in http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/apache_2.2.14-1_arm.ipk mit 7zip gestöbert. Aber die beiden fehlenden .so sind da gar nicht drin? Werden die ggf. von SVN nachinstalliert? Oder hab ich in nem falschen Archiv geblättert?

Alexander

jahlives
01.03.2010, 22:48
Jetzt wird's ominös:

Habe gerade in http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/apache_2.2.14-1_arm.ipk mit 7zip gestöbert. Aber die beiden fehlenden .so sind da gar nicht drin? Werden die ggf. von SVN nachinstalliert? Oder hab ich in nem falschen Archiv geblättert?

Alexander
Ich habe die beiden Dateien auch nicht gefunden im ipkg Paket. Die beiden Module scheinen von ipkg svn zu kommen

xelarep
01.03.2010, 23:01
Hm, ich hab die beiden Kandidaten im ipk Archiv des SVNs gefunden und mal rüberkopiert. In meiner httpd.conf-user eingetragen und versucht den Apachen neu zu starten. Scheint nicht zu funktionieren:


diskstation> sh /usr/syno/etc.defaults/rc.d/S97apache-user.sh restart
/usr/syno/etc.defaults/rc.d/S97apache-user.sh: user httpd stopped
Start User Apache Server .....
httpd: Syntax error on line 480 of /usr/syno/apache/conf/httpd.conf: Cannot load /usr/syno/apache/modules/mod_dav_fs.so into server: /usr/syno/apache/modules/mod_dav_fs.so: undefined symbol: dav_hook_gather_propsets
/usr/syno/etc.defaults/rc.d/S97apache-user.sh: user httpd could not be started
diskstation>

Oder mach ich was grundlegendes falsch?

[Edit] Hab die Reiehnfolge mod_dav_fs.so und mod_dav.so geändert, dann startet der Apache. Allerdings kommt jetzt nur noich ne weisse Seite. Werde morgen mal weiter forschen

Alexander

jahlives
01.03.2010, 23:22
[Edit] Hab die Reiehnfolge mod_dav_fs.so und mod_dav.so geändert, dann startet der Apache. Allerdings kommt jetzt nur noich ne weisse Seite. Werde morgen mal weiter forschen

Alexander
Ja die weisse Seite habe ich auch gerade erhalten. Keine meiner Webseiten war erreichbar solange ich die Konfig nicht zurückgeändert habe :confused:

xelarep
01.03.2010, 23:30
Ja, schade. Sobald ich die beiden SVN Module lade bleiben die Seiten weiss. Die beiden DAV Module, die vorher schin da waren scheinen OK zu sein. Aber die beiden SVN Module aus dem svn .ipk harmonisieren wohl nicht mit dem User Apachen :-(

Alexander

jahlives
02.03.2010, 11:18
Ja, schade. Sobald ich die beiden SVN Module lade bleiben die Seiten weiss. Die beiden DAV Module, die vorher schin da waren scheinen OK zu sein. Aber die beiden SVN Module aus dem svn .ipk harmonisieren wohl nicht mit dem User Apachen :-(

Alexander
Der ipkg Apache ist 2.2.14 und der Default von Syno 2.2.13

Brian!
02.03.2010, 12:15
Also auf meiner DS209+ läuft SVN (auch über HTML) seit über einem halben Jahr sehr erfolgreich nativ auf dem DS Apache...

Ich meine mich erinnern zu können, die mod_dav vom DS Apache genommen zu haben und die mod_dav_fs eben von der SVN Installation. Auch mit SVN 1.6.9 läuft bisher noch alles.

Das muss jetzt aber für die DS-107+ nicht zwangsläufig heißen das es dort genauso funktionieren muss, da ja andere Prozessoren verbaut sind.

Grüße,
Brian

xelarep
02.03.2010, 16:48
Ich meine mich erinnern zu können, die mod_dav vom DS Apache genommen zu haben und die mod_dav_fs eben von der SVN Installation. Auch mit SVN 1.6.9 läuft bisher noch alles.
Ähm, "mod_dav" und "mod_dav_fs" sind ja schon da, es fehlen lediglich "mod_dav_svn" und "mod_authz_svn" auf meiner DS-107+.

Heisst das jetzt, dass die bei Dir schin da waren, oder dass du die anderne Modula auch getauscht hast?

Ich hab mal den Synology supporet angedrahtet, mal sehn ob die sich angesprochen fühlen - ist ja eigentlich kein Support Fall...

Andere Frage: gibt es irgendwo ein Archiv alter IPKG Versionen. Ich hab mal nach "apache_2.2.13-1_arm.ipk" gegoogelt aber nur 9 schlechte Treffer erhalten.

Wo kommen die Pakete eigentlich her?

Alexander

jahlives
02.03.2010, 19:36
Ähm, "mod_dav" und "mod_dav_fs" sind ja schon da, es fehlen lediglich "mod_dav_svn" und "mod_authz_svn" auf meiner DS-107+.

Bei mir waren mod_dav und mod_dav_fs bereits beim Syno Apache vorhanden. Die anderen zwei Module kommen von ipkg svn. Leider sehe ich nix anderes als eine weisse Seite. Habe auch schon probiert mod_dav und mod_dav_fs aus dem ipkg Apache zu holen. Gleiches Resultat, weisse Seite...

Brian!
02.03.2010, 21:29
So, hab jetzt nochmal nach geschaut, hatte da ein wenig durcheinander geworfen :(... naja, ist ja auch schon ein paar Monate her ;)...

Meine Konfiguration (wie gesagt, auf der DS209+) sieht wie folgt aus:



LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module /opt/libexec/mod_dav_svn.so
LoadModule authz_svn_module /opt/libexec/mod_authz_svn.so

Alias /svn "/[...]/svn/repos"
<Location /[...]/svn/>
DAV svn

# ParentPath: Several repositories may be hosted below
SVNParentPath /[...]/svn/repos

SVNListParentPath off

SVNPathAuthz on
AuthzSVNAccessFile /[...]/.htauthz

AuthType Digest
AuthName "Projects"
AuthDigestProvider file
AuthUserFile /[...]/.htdigest
Require valid-user
</Location>
#enable SVN specific logging
CustomLog /[...]/svn.log "%t %u %{SVN-ACTION}e" env=SVN-ACTION


"[...]" steht für die jeweiligen absoluten oder relativen Pfade.

Die Konfiguraiton liegt in einem externen File das am ende von der httpd.conf-user per include eingebuden wird.

Die Module mod_dav_svn.so und mod_authz_svn.so sind, wie man am Ordnerpfad sehen kann, die Original svn IPKG files.

Hoffe es hilft irgendwie. :)

jahlives
02.03.2010, 21:56
Ich habe es mal mit deiner Config (sinngemäss) probiert. Leider immer noch ne weisse Seite. Auch bei allen meinen übrigen Webseiten nur noch weiss. Könntest du bei dir mal schauen, welche Apache Version du genau hast?


/usr/syno/apache/bin/httpd -v

Brian!
03.03.2010, 10:37
Hmm... seltsam.

Also laut HTTP Header:

Apache/2.2.13 (Unix) mod_ssl/2.2.13 OpenSSL/0.9.8k PHP/5.2.10 DAV/2 SVN/1.6.9 mod_wsgi/3.1 Python/2.5.5

Und laut httpd -v:

Server version: Apache/2.2.13 (Unix)
Server built: Jan 24 2010 01:47:09

Der Server Built ist wegen der aktuellen Beta der 24. Januar,
mit der vorherigen Version (bis 844) lief aber auch immer alles.
(Sollte wohl mal meine Sig. ändern :rolleyes:)

xelarep
03.03.2010, 10:41
Hallo,

habe gerade Antwort von Synology bekommen. Helfen können Sie wie erwartet in diesem speziellen Fall leider nicht, haben das ganze aber als feature request aufgenommen.

Alexander

jahlives
03.03.2010, 10:44
@Brian
Dein Apache ist genau die gleiche Version wie bei mir auch (FW 0965). Allerdings ein späteres Build Date. Bei mir ist er aus dem November 2009

Brian!
03.03.2010, 12:14
Der Server Build ist wegen der aktuellen Beta der 24. Januar,
mit der vorherigen Version (bis 844) lief aber auch immer alles.
(Sollte wohl mal meine Sig. ändern :rolleyes:)

Also wie gesagt, der neuere Build liegt daran, dass ich die Beta mal angetestet hab. Davor lief es mit der FW844 aber auch einwandfrei. Könnte höchstens sein, dass bei dem speziellen Build der FW965 was anders ist, denke die Wahrscheinlichkeit ist aber gering, da xelarep ja die selben Probleme hat und, zumindest nach seiner Signatur zu urteilen, eine andere FW drauf hat (FW959).

xelarep
03.03.2010, 13:09
Korrekt. FW 959. Da ist der Apache noch 2.2.13-1 und nicht wie der ipkg apache 2.2.14-1.

xelarep

Brian!
03.03.2010, 15:12
Habt Ihr euch mal die Log's und HTTP Header vom Apache angeschaut, wenn nur weiße Seiten kamen?

Ich Persönliche habe neben den nativen Syno Log's noch u.A. eine access.log und eine error.log vom Apache, falls Ihr auch entsprechendes habt (oder eben ggf. ein Auszug aus den nativen Syno Log's) hilft vielleicht weiter den Fehler mehr einzugrenzen...

xelarep
04.03.2010, 09:38
So, hab mich gerade mal bei http://tech.groups.yahoo.com/group/nslu2-linux angemeldet und da mal frech gefragt wer das Apache Modul verbrochen hat. Irgendwer muss uns doch helfen können ;-)

xelarep

xelarep
02.05.2010, 18:13
Hallo,

nach dem Update auf 2.3 - 1157 hab ich's nochmal wie oben beschreiben probiert. Leider immer noch dasselbe Verhalten (weisse Seite egal was ich per user apachen aufrufe - sogar die Photostation :eek: )

Wo finde ich denn die logs, bzw. wie muss ich die aktivieren?

Gruß,
Alexander

Brian!
05.05.2010, 11:36
Wo finde ich denn die logs, bzw. wie muss ich die aktivieren?


Hallo xelarep,

das Synology Standard Log ist /var/log/messages, mit einem cat /var/log/messages kannst du es dir komplett anschauen, mit einem cat /var/log/messages | grep apache kannst du nach bestimmten Schlagwörtern filtern (hier nach dem Schlagwort "apache").

Falls du noch KEIN Upgrade auf Subversion 1.6.11 gemacht hast kannst du ja mal die Files aus dem angehängten Archiv probieren (/usr/syno/apache/modules/mod_dav_svn.so und /usr/syno/apache/modules/mod_authz_svn.so). Das sind Subversion Module die Synology extra gegen den Synology Apache (2.2.13) compiliert hat.

Bei dem Archiv musst du natürlich nach dem Runterladen die Dateiendung .pdf entfernen. ;)

Falls du in Versuchung geraten solltest das ganze Subversion Paket ausprobieren zu wollen kannst du das ganze Archiv auch nach / entpacken (also das die Files extrahiert unter /usr/local/... zu finden sind).

Hoffe das hilft vielleicht.

Grüße,
Brian

jahlives
05.05.2010, 12:28
das Synology Standard Log ist /var/log/messages, mit einem cat /var/log/messages kannst du es dir komplett anschauen, mit einem cat /var/log/messages | grep apache kannst du nach bestimmten Schlagwörtern filtern (hier nach dem Schlagwort "apache").

Damit aber der Apache auch etwas in die Logs schreibt, muss man dies in der jeweiligen httpd.conf-{user|sys} noch aktivieren. Es gibt dort zwei Direktiven, eine für das access_log und eine für das error_log. Per default loggt der Apache afaik nix in syslog

xelarep
18.08.2010, 18:34
Sodele, hab das heute endlich mal ausprobiert. Leider geht das immer noch nicht :confused:

Beim Versuch die Module zu laden bekomme ich folgende Fehlermeldung:


Start User Apache Server .....
httpd: Syntax error on line 474 of /usr/syno/apache/conf/httpd.conf: Syntax error on line 8 of /usr/syno/apache/conf/extra/mod_dav_svn.conf: Cannot load /usr/syno/apache/modules/mod_dav_svn.so into server: /usr/local/lib/libsvn_repos-1.so.0: ELF file version does not match current one
/usr/syno/etc.defaults/rc.d/S97apache-user.sh: user httpd could not be started

Der passende Eintrag in meiner mod_dav_svn.conf sieht so aus:

LoadModule dav_svn_module modules/mod_dav_svn.so

Die beiden .so Module habe ich in den modules ordner kopiert, die zuerst angemäkelten fehlenden libs aus dem Archiv nach /usr/local/bin bzw. /usr/local/lib

Was zum Geier möchte der Apache mit dem ELF-file? :eek:
Übersehe ich was?

Alexander

goetz
18.08.2010, 18:57
Hallo,
hast Du versucht die Dateien aus Brians Archiv zu nehmen? Das geht nicht, die sind für einen anderen Prozessor kompiliert. Kannst es ja mit dem aktuellen svn 1.6.12 ipkg probieren.


Gruß Götz

xelarep
18.08.2010, 20:25
N'Abend!

Hallo,
hast Du versucht die Dateien aus Brians Archiv zu nehmen? Das geht nicht, die sind für einen anderen Prozessor kompiliert.
:o Hoppla :o völlig übersehen :o


Kannst es ja mit dem aktuellen svn 1.6.12 ipkg probieren.

Danke für den Hinweis auf das Update :) Hab's gerade mal installiert.
Leider ändert das an meinem Problem aber nichts. Mein Problem ist ja nicht SVN, sondern der User Apache der DS-107+ dem ein paar entscheidende Module für SVN via http(s) fehlen. SVN über svn:// funktioniert prima. Aber halt nur in meinem lokalen Netz. Ich möchte von Extern auf meine Repos.
So wie ich das gesehen hab, installiert das ipkg-svn update diese Module nicht - oder doch? Wenn ja, wohin? :confused:

Gruß,
Alexander

goetz
18.08.2010, 20:37
Hallo,
aus der Packages.filelist (http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/Packages.filelist)

mod_dav_svn.so svn:arm:./opt/libexec/mod_dav_svn.so
mod_authz_svn.so svn:arm:./opt/libexec/mod_authz_svn.so

Gruß Götz

xelarep
18.08.2010, 20:56
Ich glaub ich lass es irgendwann :mad:
Ich hab's gerade geprüft - die beiden Module wurden aktualisiert. Also schwupps die beiden Modulpfade wieder umgebogen und den Apachen durchgestartet - aber leider wieder nur die weisse Seite :(

Alexander,
der für heute wieder bedient ist