Sonntag, 9. März 2008

Linux - Debian - Etch - Subversion mit Apache2

1.Schritt: SSH-Packages installieren
apt-get update
apt-get install ssh

2.Schritt: Apache2-Packages installieren
apt-get install apache2

3.Schritt: Subversion-Packages installieren
apt-get update
apt-get install subversion
apt-get install libapache2-svn
apt-get install subversion-tools

4.Schritt: Erstellen der SVN-Repositories
mkdir /home/svn
mkdir /home/svn/repositories

svnadmin create --fs-type fsfs /home/svn/repositories/myproject1
svnadmin create --fs-type fsfs /home/svn/repositories/myproject2
...

5.Schritt: Benutzerrechte der Repositories anpassen
chown -R www-data:www-data /home/svn/*
chmod -R 770 /home/svn/*

6.Schritt: Sicherstellen, dass svn unter apache bereits läuft
a2enmod dav
a2enmod dav_svn

7.Schritt: SVN-Benutzer erstellen
htpasswd -c /etc/apache2/svn_myproject1.passwd usera
--> ACHTUNG!!! -c löscht das passwd-file, falls bereits vorhanden
...also nur beim ersten mal verwenden!
htpasswd /etc/apache2/svn_myproject1.passwd userb

htpasswd -c /etc/apache2/svn_myproject2.passwd usera
--> ACHTUNG!!! -c löscht das passwd-file, falls bereits vorhanden...also nur beim ersten mal verwenden!
htpasswd /etc/apache2/svn_myproject2.passwd userd

...

8.Schritt: Erzeugen neuer Webfolder für SVN
einfügen der folgenden Codezeilen in: /etc/apache2/mods-available/dav_svn.conf
<Location /myproject1>
DAV svn
SVNPath /home/svn/repositories/myproject1
AuthType Basic
AuthName "Subversion Repository Project1"
AuthUserFile /etc/apache2/svn_myproject1.passwd
Require valid-user
# SSLRequireSSL <-- kann bei bedarf einkommentiert werden wenn SSL installiert ist </Location>

<Location /myproject2>
DAV svn
SVNPath /home/svn/repositories/myproject2
AuthType Basic
AuthName "Subversion Repository Project2"
AuthUserFile /etc/apache2/svn_myproject2.passwd
Require valid-user
# SSLRequireSSL <-- kann bei bedarf einkommentiert werden wenn SSL installiert ist </Location>

9.Schritt: Apache neu starten
/etc/init.d/apache2 restart
testen unter http:///myproject1

10. SSL hinzufügen
apt-get install openssl ssl-cert

11. Zertifikat generieren
openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
-> im Zertifikatserstellungsdialog die gewünschten Infos eintragen

12. Berechtigungen für Zertifikat ändern
chmod 600 /etc/apache2/apache.pem

13. SSL in der config aktivieren
editieren von /etc/apache2/mods-available/dav_svn.conf und einkommentieren von:
SSLRequireSSL

14.Schritt: neue Seite für SSL hinzufügen
cd /etc/apache2/sites-available/
cp default ssl
a2ensite ssl
a2enmod ssl

editieren von /etc/apache2/sites-available/ssl

ändern auf:
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/apache2/apache.pem
...
</VirtualHost>

15.Schritt: Apache neustarten
/etc/init.d/apache2 restart
testen unter https:///myproject1_site

Keine Kommentare: