Subversion per HTTP / HTTPS: Unterschied zwischen den Versionen
Zeile 24: | Zeile 24: | ||
Der SVN-Dienst, dier in der Anleitung http://forum.synology.com/wiki/index.php/Step-by-step_guide_to_installing_Subversion eingerichtet wurde, kann damit auch wieder entfernt werden, da der Webserver unabhängig davon auf die Repositories zugreift. | Der SVN-Dienst, dier in der Anleitung http://forum.synology.com/wiki/index.php/Step-by-step_guide_to_installing_Subversion eingerichtet wurde, kann damit auch wieder entfernt werden, da der Webserver unabhängig davon auf die Repositories zugreift. | ||
+ | |||
+ | ==Anlegen neuer Repositories== | ||
+ | Um ein neues Repository anzulegen muss man sich auf der DS als svnowner anmelden. Dazu entweder direkt über | ||
+ | ssh svnowner@diskstation | ||
+ | oder per root Anmelden und anschließend | ||
+ | su svnowner | ||
+ | |||
+ | Anschließend kann man ein neues Repository anlegen: | ||
+ | svnadmin create test | ||
+ | |||
+ | Achtung: wenn man nicht als svnowner angemeldet ist, muss man das erstellte Verzeichnis samt unterverzeichnis diesem User zuweisen: | ||
+ | chown -R svnowner:users /volume1/svn/name_des_repos | ||
+ | |||
+ | ==Anlegen neuer Projekte== | ||
+ | Es gibt unterschiedliche Meinungen, ob jedes Projekt auch gleich ein eigenes Repository benötigt. Generell ist es nicht nötig, da man durch Verzeichnisse sowieso noch eine Trennung erreichen kann. Kommt evtl. auch auf das Sicherheitsbedürfnis an. Es hat sich bewährt, den Inhalt des Projekt-Verzeichnisses nicht direkt unterhalb eines Verzeichnisses im Repository zu importieren. Da man später mit branches zu tun bekommen könnte, erstellt man den Hauptzweig als Unterordner des Projektnamens im Repository. Dieser Ordner heißt dann trunk. | ||
+ | |||
+ | |||
+ | Beispiel für das Anlegen eines Projekts in ein bestehendes Repository: | ||
+ | svn import <projekt_verzeichnis> https://diskstation/svn/repository/projekt_name/trunk --message="initial import" | ||
+ | |||
+ | Entsprechend checkt man nicht auf Projektnamen ebene aus, sondern eins tiefer auf trunk: | ||
+ | svn checkout https://diskstation/svn/repository/projekt_name/trunk lokale_bezeichnung | ||
+ | lokale_bezeichnung kann beliebig gewählt werden, sinnvollerweise natürlich gleich dem projekt_name. |
Version vom 7. Juni 2010, 15:24 Uhr
Ausführliche Anleitung siehe: http://forum.synology.com/wiki/index.php/Enable_HTTP_and_HTTPS_access_for_Subversion
Kleine Anmerkung:
Wer die Anleitung http://forum.synology.com/wiki/index.php/Step-by-step_guide_to_installing_Subversion zum Einrichten eines Subversion Dienstes auf der Synology DiskStation befolgt hat, hat einen User svnowner (o.ä.) für den Subversion Admin angelegt.
Der Webserver muss auf das Verzeichnis /volume1/svn lesend und schreibend zugreifen. Standard-User des Webservers ist nobody, sodass keine Schreibrechte für /volume1/svn gegeben sind. Um nun den Webserver, der ja in diesem Fall nur als WebDAV Server für Subversion konfiguriert ist, Zugriff auf das Verzeichnis zu gewähren, lässt man den Webserver unter dem Benutzer svnowner laufen. Dazu folgende Datei editieren:
/volume1/opt/etc/apache2/httpd.conf
Darin die Zeile mit User und Group anpassen, z.B.:
# User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # User nobody Group nobody
in
User svnowner Group users
Nun läuft der Webserver mit den Rechten des Users svnowner. Somit kann er schreibend und lesend auf das Verzeichnis /volume1/svn zugreifen und die darin enthaltenen Repositories verwalten.
Der SVN-Dienst, dier in der Anleitung http://forum.synology.com/wiki/index.php/Step-by-step_guide_to_installing_Subversion eingerichtet wurde, kann damit auch wieder entfernt werden, da der Webserver unabhängig davon auf die Repositories zugreift.
Anlegen neuer Repositories
Um ein neues Repository anzulegen muss man sich auf der DS als svnowner anmelden. Dazu entweder direkt über
ssh svnowner@diskstation
oder per root Anmelden und anschließend
su svnowner
Anschließend kann man ein neues Repository anlegen:
svnadmin create test
Achtung: wenn man nicht als svnowner angemeldet ist, muss man das erstellte Verzeichnis samt unterverzeichnis diesem User zuweisen:
chown -R svnowner:users /volume1/svn/name_des_repos
Anlegen neuer Projekte
Es gibt unterschiedliche Meinungen, ob jedes Projekt auch gleich ein eigenes Repository benötigt. Generell ist es nicht nötig, da man durch Verzeichnisse sowieso noch eine Trennung erreichen kann. Kommt evtl. auch auf das Sicherheitsbedürfnis an. Es hat sich bewährt, den Inhalt des Projekt-Verzeichnisses nicht direkt unterhalb eines Verzeichnisses im Repository zu importieren. Da man später mit branches zu tun bekommen könnte, erstellt man den Hauptzweig als Unterordner des Projektnamens im Repository. Dieser Ordner heißt dann trunk.
Beispiel für das Anlegen eines Projekts in ein bestehendes Repository:
svn import <projekt_verzeichnis> https://diskstation/svn/repository/projekt_name/trunk --message="initial import"
Entsprechend checkt man nicht auf Projektnamen ebene aus, sondern eins tiefer auf trunk:
svn checkout https://diskstation/svn/repository/projekt_name/trunk lokale_bezeichnung
lokale_bezeichnung kann beliebig gewählt werden, sinnvollerweise natürlich gleich dem projekt_name.