I run SVN on Apache on an old server to use for synchronizing my files. I have wanted to be able to sync outside of the house, but I was afraid to not have it over SSL. I looked at configuring SSL on Apache and I just didn't have the time. I was lucky to find a few minutes the other day. But, I kept getting hung up at the end when I tried to start the service automatically. So, here is what I did...
You can get these files from http://hunter.campbus.com/
- copy mod_ssl.so to C:\Program Files\Apache Group\Apache2\modules
- copy openssl.exe to C:\Program Files\Apache Group\Apache2\bin
- copy ssleay32.dll and libeay32.dll to c:\windows\system32
place this file in the conf directory (can be deleted later) http://tud.at/programm/openssl.cnf
from a command prompt in the apache bin directory
- openssl req -config ../conf/openssl.cnf -new -out my-server.csr
- openssl rsa -in privkey.pem -out my-server.key
- openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 1024
- del .rnd
- create ../conf/ssl
- copy my-server.cert and my-server.key to conf/ssl
You can get the ssl.conf file from http://raibledesigns.com/wiki/Wiki.jsp?page=ApacheSSL
- copy ssl.conf to conf
- Edit the httpd.conf and uncomment the line "LoadModule ssl_module modules/mod_ssl.so"
This is the part that left me confused for the better part of an hour...
- Run Regedit
- Browse to HKLM/System/CurrentControlSet/Services/Apache/Apache2/Parameters
- Open ConfigArgs
- It should have the following information in it...
-f
C:\Program Files\Apache Group\Apache2\conf\httpd.conf
-d
C:\Program Files\Apache Group\Apache2\.
-D
SSL
- You can validate by running the apache process from the command line, but always add the -D SSL.