Skip to main content
siarp.de

## You are here

# Mein erstes echtes bash-Skript!

4. June 2006 - 13:15 — Tilman

...erstellt ein Repository und liegt unter /root/tilman/create_repository.sh. Nächstes Ziel: Subversion hook script für automatisiertes Update, damit die Webentwicklung so richtig losgehen kann.

#!/bin/sh
# Erstellt ein Repository unterhalb von /home/svn-repos,
# traegt es in die httpd.conf ein und startet Apache neu
#
# Optionen: -n um den Eintrag in die httpd.conf und den Apache-Neustart
# abzuschalten
# Parameter: Pfad des neuen Repository (unterhalb von /home/svn-repos/)
if [ $# -eq 2 ]
then
if [ $1 == "-n" ]
then
# Slashes am Anfang und Ende der Pfadangabe entfernen
repos=${2%\/}
repos=${repos#\/}
updateconf=false
else
echo "usage: create_repository [-n] repository_path"
exit 1
fi
else
if [ $# -eq 1 ]
then
# Slashes am Anfang und Ende der Pfadangabe entfernen
repos=${1%\/}
repos=${repos#\/}
updateconf=true
else
echo "usage: create_repository [-n] repository_path"
exit 2
fi
fi
mkdir /home/svn-repos/$repos
svnadmin create /home/svn-repos/$repos
chown -R svn.svn /home/svn-repos/$repos
chmod -R ug+w /home/svn-repos/$repos
chmod ug+s /home/svn-repos/$repos /home/svn-repos/$repos/*
# in httpd.conf eintragen und Apache neu starten
if [ $updateconf = true ]
then
echo "
<Location /svn/$repos>
DAV svn
SVNPath /home/svn-repos/$repos
SVNIndexXSLT \"/subversion-xslt/svnindex.xsl\"
AuthType Basic
AuthName \"siarp.de repository\"
AuthUserFile /home/svn-repos/svn-auth-file
Require user martin tilman
SSLRequireSSL
</Location>
" >> /usr/local/apache2/conf/httpd.conf
/usr/local/apache2/bin/apachectl restart
fi

## Comments

4. June 2006 - 20:30 — Martin

### 0.2?

`/usr/local/apache2/bin/apachectl restart`

Was macht denn `chmod ug+s /home/svn-repos/$repos /home/svn-repos/$repos/*` und warum geht das nicht rekursiv?

4. June 2006 - 20:35 — Tilman

### Schnelle Antwort

Also eigentlich habe ich diese drei Zeilen mit den Rechten aus einer c't und benutze sie immer, ohne sie zu hinterfragen...