Mittwoch, 18. Juni 2014

Linux - Debian - Wheezy - Subversion Server mit Apache (SSL)

durchgeführt mit: Debian 7.5.0 x64, Apache 2.2.22, Subversion 1.6.17

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

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

3.Schritt: Subversion-Packages installieren
apt-get install subversion libapache2-svn 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 userC

...

8.Schritt: Erzeugen neuer Webfolder für SVN
einfügen der folgenden Codezeilen in: /etc/apache2/mods-available/dav_svn.conf
<Location /svn_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 /svn_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.key
-> im Zertifikatserstellungsdialog die gewünschten Infos eintragen

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

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 ssl
a2ensite ssl
a2enmod ssl

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

ändern von:
SSLCertificateFile /etc/apache2/apache.pem 
SSLCertificateKeyFile /etc/apache2/apache.key

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

Keine Kommentare: