Thursday, February 24, 2011

HOWTO - Apache2 + Subversion + SSL

We wanted to install Subversion which can be accessed using HTTP protocol while searching on google, we got to nice article at

http://www.debuntu.org/2006/05/20/54-how-to-subversion-svn-with-apache2-and-dav

Here are details...


I needed install Apache2 + Subversion and i have searching for info, etc. and now i'm decide to create this tutorial, i hope you like!

Here we go:

INSTALL APACHE2

To install apache2 run that command:
Code:

sudo apt-get install apache2

(if you want also install php and mysql just follow this Link)

After you will install subversion:
Code:

sudo apt-get install subversion

(in that moment doens't exist the pre-buil binary of the last version (1.2.1), but when it's out you can simple upgrade )

To use svn with apache you need install libapache2-svn:
Code:

sudo apt-get install libapache2-svn

Now is better restart apache :
Code:

sudo /etc/init.d/apache2 restart

If you don't want SSL go to the last instructions (dav_svn.conf configurations, and users accounts).

Run:
Code:

a2enmod ssl

Add "Listen 443" to /etc/apache2/ports.conf:
Code:

sudo gedit /etc/apache2/ports.conf

Run:
Code:

apache2-ssl-certificate

Create a new SSL configuration file:
Code:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/myown-ssl

Edit myown-ssl file:
Code:

sudo gedit /etc/apache2/sites-available/myown-ssl

Change:
Code:

NameVirtualHost *

to
Code:

NameVirtualHost *:443

and
Code:



to
Code:



Add before
:
Code:

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM

Run:
Code:

a2ensite myown-ssl

Restart Apache:
Code:

sudo /etc/init.d/apache2 restart

Last instruction:

Edit dav_svn configuration file and follow the instructions:
Code:

sudo gedit /etc/apache2/mods-available/dav_svn.conf

Restart apache:
Code:

sudo /etc/init.d/apache2 restart

Create SVN folder:
Code:

sudo svnadmin create /srv/svn
sudo chown -R www-data:www-data /srv/svn
sudo chmod -R g+ws /srv/svn

Create the users account file:
Code:

sudo htpasswd2 -c /etc/apache2/dav_svn.passwd svnuser

(after asks for a password)

Test SVN:
Code:

svn import .bashrc https://localhost/svn/testfile -mlogentry

That is all!!!


For the SSL instructions i have follow this Tutorial.
About how using SVN see the official SVN book here or visit the official website (Link).

Any error, please report! (and not only in the istructions but also in the english...)

No comments: