@@ Personlig information & webbloggerier

Föregående | Startsidan | Arkivet | Epost | Följande

tisdag 13 september, 2005 12.56: Installation av Subversion server på en Mac OS X Server v 10.3

Installerade idag en Subversion server för att användas lokalt på tryckeriet. Maskinen, vår filhanterare, kör Mac OS X Server 10.3.

Installation


Först laddade jag ned den senaste versionen av Subversion från Martin Otts färdigbyggda paket, Subversion-1.2.3.pkg.zip, och installerade detta på servern.

För att kontrollera att Subversion är korrekt installerad kan du köra kommandot /usr/local/bin/svnserve --version, du bör då få ett resultat liknande:

svnserve, version 1.2.3 (r15833)
compiled Aug 29 2005, 10:50:03

Copyright (C) 2000-2005 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository back-end (FS) modules are available:

* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.


Inställning av kommandomiljön


Martins installationspaket placerar Subversion i mappen /usr/local/bin. För att enkelt kunna använda mig av Subversions olika kommandon när jag är inloggad på servern via SSH eller kör lokalt från terminalen direkt på maskinen, måste man lägga till denna mapp i sökvägen. Då jag använder mig av BASH som kommandoskal i Terminalen (det är standardskalet i Max OS X) så lägger jag till följande i filen .bashrc, som finns i admins hemmamapp:

PATH=$PATH':/usr/local/bin'
export PATH


Kontrollera genom att logga in med ett nytt terminalfönster och skriva set - bland allt skräp som listas skall man hitta en rad som börjar med PATH, den bör då se ut ungefär som PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin, skillnader kan förekomma beroende på vad som installerats tidigare på maskinen.

Om /usr/local/bin inte verkar vara med i PATH, kan det bero på att .bashrc inte körs vid inloggningen, något som i sin tur kan bero på att .bash_profile inte är korrekt inställd. Kontrollera att följande rad finns med i din .bash_profile:

source ~/.bashrc

Inställning av svnserve


Eftersom det bara är jag ensam som kommer att använda Subversion, i det lokala nätverket, beslutade jag mig för att använda mig av Subversions egen server; svnserve istället för den mer populära WebDAV/Apache-modulen.

Först skapar jag mappen svn-repositories i administratörskontots hemmapp (/Users/admin/svn-repositories). Denna mapp kommer att innehålla alla de olika repositories som vi kan tänkas ha behov av.

Sedan skapar jag ett test-repository med kommandot svnadmin create /Users/admin/svn-repositories/testrepos

Sedan måste repositoryt ställas in så att det går att komma åt över nätverket. Byt till repositoryts konfigurationsmapp, , och redigera filen svnserve.conf. Den bör se ut på följande sätt:

[general]
anon-access = read
auth-access = write
password-db = passwd


Detta innebär att man måste logga in för att kunna ändra i repositoryt, login- och lösenordslista återfinns i filen passwd, som det nu är dags att ändra i:

[users]
pihlan = testpass


Provkörning av svnserve


Nu är det dags att start svnserve med kommandot svnserve --daemon --root /Users/admin/svn-repositories/. Alternativet --root talar om för svnserve var den kan börja söka efter repositories.

Dags att förflytta sig till min vanliga arbetsmaskin.

Först kontrollerar jag att svnserve överhuvudtaget finns där: telnet filserver.local 3690, får resultatet:
Connected to filserver.local.
Escape character is '^]'.
( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline ) ) )


Dags att importera lite testdata: svn import . svn://filserver.local/testrepos -m "Initial import"

Kontrollera att allt fungerar som vanligt...

Automatisk start av svnserve


Nu skall vi se till att svnserve startar automatiskt om vi någon gång behöver starta om filservern. Efter att ha skummat Apples utvecklardokumentation angående startprocesser och daemoner så valde jag att implementera ett Startup Item (servern kör ju version 10.3 och jag kan därför inte använda mig av den nya, fina launchd).

System Startup Programming Topics: Creating a Startup Item

Jag börjar med att skapa mappen Subversion i /System/Library/StartupItems/ (på servern naturligtvis!). I denna mapp skapar jag sedan ett script med samma namn (Subversion):

#!/bin/sh
. /etc/rc.common

# Subversion version control

StartService()
{
echo "Starting Subversion server"
/usr/local/bin/svnserve --daemon --root /Users/admin/svn-repositories/
}

StopService()
{
echo "Stopping Subversion server"
killall svnserve
}

RestartService()
{
StopService
StartService
}

RunService "$1"


Denna fil flaggar jag som körbar med chmod +x Subversion.

Därefter skapar jag filen StartupParameters.plist:
{
Description = "Subversion server";
Provides = ("Subversion server");
Requires = ();
Messages =
{
start = "Starting Subversion server";
stop = "Stopping Subversion server";
};
}


Därmed skall det hela vara klart! För säkerhets skull kan den nya Startup Item provköras:
/sbin/SystemStarter restart "Subversion server"
Welcome to Macintosh.
Stopping Subversion server
Starting Subversion server
Startup complete.

Föregående | Startsidan | Arkivet | Epost | Följande

Kommentarer

Inga kommentarer inlagda

Lägg till kommentar

Tyvärr kan du inte lägga till kommentarer till notiser som är äldre än 4 veckor.

pihlan - Fredrik Pihlström bluddrar på