https on wamp

Upload: ram-prabhu

Post on 04-Apr-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Https on Wamp

    1/5

    How to setup HTTPS [SSL] on WAMP

    Tuesday, 20 July 2010 15:07

    How to setup HTTPS SSL on WAMP

    Recently I had to run a website with several https links under local server for testing and I had to

    configure the Open SSL server that comes with WAMP server. I'm sure it would be helpful for

    you as well.

    1. First thing first, we need to create that self-signed SSL certificate, so go to DOScommand prompt (Start menu -> Run -> cmd).

    2. ext, we need to navigate to the directory that contains the openssl executive file which islocated in folder C:\wamp\bin\apache\apache2.2.14\bin by default. In order to go there,

    we need to type the command as follows.

    Code:

    cd\wamp\bin\apache\apache2.2.14\bin

    1. After press Enter, your prompt should change as followsCode:

    c:\wamp\bin\apache\apache2.2.14\bin>

    From there, we begin to create the self-signed SSL certificate and the first command youhave to type is as follows.

    Code:

    openssl genrsa -aes256 -out pass.key 2048

    1. After press Enter and wait a little while, it should ask you for a pass phrase. Just type inanything but make sure you have to remember that for later use. Of course, it will ask you

    to verify the pass phrase.

    You may type test for testing.

    2. Now, we will create the key for our server. In this tutor guide for HTTPS SSL onWAMP, we will use our domain test, but you should use your domain or design name

    instead.

    Code:

    openssl rsa -in pass.key -out test.key

  • 7/31/2019 Https on Wamp

    2/5

    1. Next, it will ask you to enter the pass phrase that you have created before. Wait a littlewhile for it to write the key for your server.

    2. Now is the time to type in the command to create our self-signed SSL certificate; sincethis command is quite long, you will see it takes more than one line, so make sure not to

    press the Enter key until you finish the whole command.

    Code:

    openssl req -new -x509 -nodes -sha1 -key test.key -out test.crt -days 999 -config

    C:\wamp\bin\apache\apache2.2.14\conf\openssl.cnf

    1. After press Enter, it will ask you to input 2 letters that presents your country. You canenter LK, US, IN, JP, etc... that represents your country. Next you have to input your

    State or Province, City, Organization Name, Organization Unit Name, Common Nameand Email address.

    2. Guess what, you just got yourself a self-signed SSL certificate. Now, open folderc:\wamp\bin\apache\apache2.2.14\conf and create a new folder "ssl" (without quotes).

    3. Then, from folder c:\wamp\bin\apache\apache2.2.14\bin , copy 2 files key and crt to sslfolder. (test.key, test.crt)

    4. Create another folder named as "logs" inside c:\wamp\bin\apache\apache2.2.14\conf\ssl .We save all HTTPS transaction and error logs in this folder.

    5. After that, go to folder c:\wamp\bin\apache\apache2.2.14\conf\extra to open file httpd-ssl.conf.

    6. Find this line:Code:

    SSLSessionCache "shmcb:C:/Program Files/Apache Software

    Foundation/Apache2.2/logs/ssl_scache(512000)"Replace with:

    Code:

    SSLSessionCache "shmcb:C:/wamp/bin/Apache/apache2.2.14/conf/ssl/logs/ssl_scache(512000)"

    1. Next find this line:Code:

    SSLCertificateFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/server.crt"Remember to substitute expertcore with your domain to replace with:

  • 7/31/2019 Https on Wamp

    3/5

    Code:

    SSLCertificateFile "C:/wamp/bin/Apache/apache2.2.14/conf/ssl/test.crt"

    1. Then find:Code:

    SSLCertificateKeyFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/server.key"Again, substitute expertcore with your domain to replace:

    Code:

    SSLCertificateKeyFile "C:/wamp/bin/Apache/apache2.2.14/conf/ssl/test.key"

    1. Then find:Code:

    SSLMutex "file:C:/Program Files/Apache Software Foundation/Apache2.2/conf/ssl/logs/ssl_mutex"Replace with:

    Code:

    SSLMutex default

    1. In Virtual Host, find these lines:Code:

    # General setup for the virtual hostDocumentRoot "C:/Program Files/Apache Software

    Foundation/Apache2.2/htdocs"ServerName localhost:443

    ServerAdmin admin@localhostErrorLog "C:/Program Files/Apache Software

    Foundation/Apache2.2/logs/error_log"TransferLog "C:/Program Files/Apache Software

    Foundation/Apache2.2/logs/access_log"

    HTTPS SSL is the secure transaction which is good for sensitive informations such as

    Credit card numbers, membership accounts... however, it might slow down your serverperformances if everything go through it; thus, we suggest that you only set it to the

    specific directory that you want to use for SSL, and in this example, we use folder ssl:

    Code:

    # General setup for the virtual hostDocumentRoot "C:/wamp/www/ssl"

  • 7/31/2019 Https on Wamp

    4/5

    ServerName test:443ServerAdmin admin@localhost

    ErrorLog "C:/wamp/bin/Apache/apache2.2.14/conf/ssl/logs/ssl_error.log"TransferLog

    "C:/wamp/bin/Apache/apache2.2.14/conf/ssl/logs/ssl_access.log"

    1. Then find:Code:

    SSLOptions +StdEnvVars

    Modify to become as below:

    Code:

    SSLOptions +StdEnvVarsOptions Indexes FollowSymLinks MultiViews

    AllowOverride AllOrder allow,denyallow from all

    1. Then find:Code:

    CustomLog "C:/Program Files/Apache Software Foundation/Apache2.2/logs/ssl_request_log" \"%t %h

    %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"And change it as below:

    Code:

    CustomLog "C:/wamp/logs/ssl_request.log" \"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

    1. Next, open file httpd.conf in folder c:\wamp\bin\apache\apache2.2.14\conf and find theselines:

    Code:

    # Secure (SSL/TLS) connections#Include conf/extra/httpd-ssl.conf

    Uncomment the second line, and make sure there is no blank space in front of second line

    and in the end of first line or your wamp will not run:

    Code:

  • 7/31/2019 Https on Wamp

    5/5

    # Secure (SSL/TLS) connectionsInclude conf/extra/httpd-ssl.conf

    1. After save and close all files, left click on WAMP tray icon and navigate to Apachemodules and scroll down until you get ssl_module; then, left click on it to enable SSL on

    WAMP.

    2. Next, navigate to PHP extensions and scroll down until you get php_openssl; then, leftclick on it to enable open_ssl on WAMP.

    3. Left click on the WAMP tray icon and click on Restart all services.4. After that, open folder C:\wamp\bin\apache\apache2.2.11\bin and copy 2 files

    libeay32.dll and ssleay32.dll and paste them in folder C:\Windows\System32.

    5. Now is the time to test our HTTPS SSL on WAMP, so open your desire text editor andcreate a simple webpage index.html which is then saved in folder C:\wamp\www\ssl as

    follows:

    Code:

    test SSL successful

    1. Now is the time to run the created test file; open your desire browser and input theaddress bar as below, remember to replace test with your domain or design name:

    Code:

    https://test....

    1. Oops, error... If using Firefox, you can left click on the line "Or you can add anexception...". Again, left click on the button "Add Exception".

    2. On the popup windows, left click on the button "Get Certificate".3. You have to left click on the button "Confirm Security Exception".4. The moment of success that show up the red line in your browser.

    SSL successful