So i've been using subversion for years at my various jobs and have found itÂ indispensable. So i rightly thought, "how come i'm not just using this at home on my small projects and playground apps?"
It was time to fix this scenario and install SVN server on my home server (which is fine as it has a static internet IP and backup, so it's quite usable).
By far the simplest and most usable option i found for installing SVN server on windows isÂ VisualSVN Server
It was installed, and with its simple GUI, users created in groups and assigned to new repositories in under 5mins! It even has a secure apache rolled in for websvn that you can easily configure to a non-standard port.
There is really no excuse anymore for not giving yourself all the luxuries that SVN affords you.
So i am googling around looking for a free server monitoring solution to play with and come across this nifty (yet ugly) site:Â http://www.servermojo.com
Looks aside, it's got some pretty cool functionality such as: free!, can add unlimited sites, has a few monitoring methods (i chose http+keyword), has basic charts, will do email alerts, and even twitter alerts (which translates to free sms alerts via twitter!)
So you could potentially setup a few different pages like ping_apache.htm and ping_coldfusion.cfm both with just a single keyword in the file and then you could easily see if you had an alert on the ping_coldfusion and not the ping_apache that it was a jrun problem and not a server level.
Worth checking out at least, i'll post if i see any negative performance with it
When i went searching for info on generating CSRs (certificate signing requests) to get an SSL cert to use in apache+openSSL i was met with a sea of confusion, i think mostly surrounding the fact there wasn't a pre-compiled offical win32 binary of apache installer with openSSL baked in, requiring a lot of manual fudging.
After a bit of research the process is now really quite trivial:
Download the apache 2.2.9 with openSSL (mod_ssl) from apache
Now the regular command you'd use to generate a non-passphrase private key and CSR will not work the same in windows as it's looking for a config in a unix path /usr/ so you need to specify the full path to the openssl.cnf file (found in the apache conf dir)
Open up a cmd window and cd to your apache bin folder then enter the following (changing the url and company details):
openssl req -new -nodes -keyout www_mysite_com_au.key -out www_mysite_com_au.csr -subj "/C=AU/ST=New South Wales/L=Sydney/O=My Company/OU=IT/CN=www.mysite.com.au" -config "C:/Program Files/Apache Software Foundation/Apache2.2/conf/openssl.cnf"
This should leave two new files www_mysite_com_au.key and www_mysite_com_au.csr which you copy to your conf folder for referencing in your ssl configs as noted in the docs and ssl sample conf
To get your key signed, go to a certificate issuer and cut and paste the contents of the .csr file
This being my first attempt at setting up a leopard webserver i was getting a tad frustrated with apache and the SSL setup for one of the websites. Everytime I dropped in the site's config the server wouldn't start, giving a bad passphrase error in the console. Not being able to find an option for this in my SSL config I was going around in circles and getting scared that this would be a show-stopper for our new server, especially after reading so many forum posts saying that SSL in leopard was a nightmare requiring custom builds of apache and openSSL etc...
Salvation was found in the Server Admin tool... despite the fact that once you start manually editing the virtual host site files the lovely web config panel ceases to recognise any of your sites, there is a quite useful 'Certificates' button when you select the root node of your server.
I had already copied all the related cert files from the 10.4 server to /private/etc/certificates, so it was then a simple matter of choosing the import certificate option and figuring out which files to put in what box.
My files ended up being:
- certificate file (*.crt)
- private key file (*.key)
- certificate authority file (*.chcrt)
- private key passphrase (this was the thing that instantly fixed it for apache)
From here it worked like a dream! I hope this will save similar worry to some of you out there...
I've added an essential software list
to this blog that contains a list of software that i use daily in my web development and a second list of more general apps i can't live without. This is a great resource if you are new to a Mac dev environment and aren't sure what apps to use on OSX!
I plan on keeping this list up to date whenever i find any awesome new apps