Setting up HTTPS in Apache with Linux

I have recently setup a HTTP server using Apache.

This was my first install of Apache, so I am very new to it.

What I would now like to do is setup HTTPS for my server.
Unfortunately, the official Apache 2.2 manual doesn't cover setting up HTTPS, and using Google search engine I have found tutorials using modified versions of Apache, which are no use for me as I chosen to use the official release.

I am hoping someone can tutor me on how to achieve serving HTTPS with Apache 2.2.19.

I ask the tutor gives instructions that are only relevant to setting up HTTPS.
I have found allot of tutorials give examples, then go on to say 'well this can also be done by doing da da da.. but this can be covered in another tutorial.'. That just confuses the hell out of me.
After achieving HTTPS, I will be all ears for recommendations and other topics related (or not related) to HTTPS.

If the tutor will be showing reference code, I ask that the reference code be from a default file apart of official Apache 2.2.xx release only. This will eliminate inconsistency.

Some information that might be of help to the tutor:
I am using the Ubuntu 10.04.1 LTS distribution of GNU/Linux and Apache 2.2.19. I serve two virtual hosts.
I have been using GNU/Linux for a year, understand the fundamentals of IP and have ran a HTTP server under Windows for years.

In a nut shell, here are the activities.

  1. Make and install the apache with --enable-ssl
  2. Edit the httpd-ssl.conf with certificate details
    [ You can either create a self signed certificate or get a certificate from Verisign/Thwarte etc]
    You have to make the certificate chain with .pem format files and include the path in https-ssl.conf
  3. Make sure the Include conf/extra/httpd-ssl.conf is uncommented in the httpd.conf
  4. Make sure the following Block is uncommented

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

Hi Dennis,

Thanks heaps for your information!

I understand instruction 1 & 3, but the rest do not make sense to me.
Could you explain instruction 2 & 4 in more detail?

2: What certificate?
4: I don't know which file that block resides in.