JLBN – Setup HTTPS SSL on WAMP
Hypertext Transfer Protocol over Secure Socket Layer or HTTPS is a URI scheme used to indicate a secure HTTP connection. It is syntactically identical to the http:// scheme normally used for accessing resources using HTTP. Using an https: URL indicates that HTTP is to be used, but with a different default TCP port (443) and an additional encryption/authentication layer between the HTTP and TCP. This system was designed by Netscape Communications Corporation to provide authentication and encrypted communication and is widely used on the World Wide Web for security-sensitive communication such as payment transactions and corporate information systems.
In this tutor guide for WAMP, we will show you how to create a self-signed HTTPS SSL certificate; then, how to implement this self-signed certificate into WAMP; then, obtain a FREE Trusted HTTPS SSL Certificate to replace the self-signed one.
I had follow till step 41 – http://guides.jlbn.net/setssl/setssl15.html
After i uncomment the 2nd line.My Apache service will automatically stop, and it cannot start already even i click to start again. It can only be start again when i undo step 41. Can help me into this? Thanks in advance.
How do i redirect from http to https ?
Cata, you need to setup in .htaccess file and there are too many ways to do it, we can’t post example here
I removed everything, but index.php from the root (www). Then I restarted wampserver. Thie is the info taken from the bottom of the apache error.log and the access.log.
apache_error.log:
————————
[Wed Mar 18 03:57:15 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 04:27:23 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 04:57:43 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 05:27:50 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 05:58:10 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 06:28:30 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 06:58:50 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 07:29:10 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 07:59:56 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 08:30:04 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 09:00:10 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 09:30:43 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 10:01:03 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 10:31:46 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 11:02:09 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 11:32:42 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 12:03:02 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 12:33:49 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 13:04:47 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 13:35:07 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 13:53:29 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/favicon.ico
[Wed Mar 18 13:53:36 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/favicon.ico
[Wed Mar 18 14:05:27 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 14:35:50 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 15:05:54 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 15:37:21 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 16:07:25 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 16:37:46 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 17:08:06 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 17:38:13 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 18:08:45 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 18:39:32 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 19:00:04 2009] [notice] Parent: Received shutdown signal — Shutting down the server.
[Wed Mar 18 19:00:04 2009] [notice] Child 5292: Exit event signaled. Child process is ending.
[Wed Mar 18 19:00:05 2009] [notice] Child 5292: Released the start mutex
[Wed Mar 18 19:00:06 2009] [notice] Child 5292: Waiting for 250 worker threads to exit.
[Wed Mar 18 19:00:06 2009] [notice] Child 5292: All worker threads have exited.
[Wed Mar 18 19:00:07 2009] [notice] Child 5292: Child process is exiting
[Wed Mar 18 19:00:08 2009] [notice] Parent: Child process exited successfully.
access.log:
—————
127.0.0.1 – – [18/Mar/2009:17:52:01 -0700] “GET / HTTP/1.1” 200 4269
127.0.0.1 – – [18/Mar/2009:17:52:01 -0700] “GET /index.php?img=gifLogo HTTP/1.1” 200 5172
127.0.0.1 – – [18/Mar/2009:17:52:01 -0700] “GET /index.php?img=pngWrench HTTP/1.1” 200 741
127.0.0.1 – – [18/Mar/2009:17:52:01 -0700] “GET /index.php?img=pngFolderGo HTTP/1.1” 200 694
127.0.0.1 – – [18/Mar/2009:17:52:02 -0700] “GET /index.php?img=pngFolder HTTP/1.1” 200 850
127.0.0.1 – – [18/Mar/2009:17:52:02 -0700] “GET /index.php?img=pngPlugin HTTP/1.1” 200 548
127.0.0.1 – – [18/Mar/2009:17:52:04 -0700] “GET /index.php?img=favicon HTTP/1.1” 200 13262
127.0.0.1 – – [18/Mar/2009:18:08:45 -0700] “GET /announce?info_hash=%80%da%ff%d5%fe%fa%9e~%c0%f15w%fa%87%26%2cT%c7V%da&peer_id=-UT1820-z8%a4%2c%ec%03%ce%a0%9b%15Y%1a&port=43962&uploaded=39518208&downloaded=355991552&left=535363584&corrupt=0&key=DF26FC39&numwant=200&compact=1&no_peer_id=1 HTTP/1.1” 404 206
127.0.0.1 – – [18/Mar/2009:18:39:32 -0700] “GET /announce?info_hash=%80%da%ff%d5%fe%fa%9e~%c0%f15w%fa%87%26%2cT%c7V%da&peer_id=-UT1820-z8%a4%2c%ec%03%ce%a0%9b%15Y%1a&port=43962&uploaded=39518208&downloaded=356515840&left=534986752&corrupt=0&key=DF26FC39&numwant=200&compact=1&no_peer_id=1 HTTP/1.1” 404 206
that’s it! Still the server will not start. Can’t figure out what the ssl problem was now either, since the server won’t start!
Thanks for your help in this though!
from you log, your server stall because ssl can not start, so if you don’t have any website or database yet, try to uninstall and reinstall wamp and try ssl again
Also, since yesterday the server will not start! The tray icon turns yellow but I can’t get any page to load.
WebX, since you’re testing some other app as well, it’s harder to figure out what went wrong, so can you temporary move out everything in www folder except index.php file, remove or rename all log files, shut down and restart wamp, then post your log files again?
>> BN // Mar 19, 2009 at 10:07 am
>>
>> WebX, do you have anything in ssl log created >> in step 24-27?
This is all I have from apache_error:
———————————————
[Wed Mar 18 00:10:19 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 02:54:39 2009] [warn] pid file C:/wamp/bin/apache/apache2.2.6/logs/httpd.pid overwritten — Unclean shutdown of previous Apache run?
[Wed Mar 18 02:54:39 2009] [notice] Apache/2.2.6 (Win32) PHP/5.2.5 configured — resuming normal operations
[Wed Mar 18 02:54:39 2009] [notice] Server built: Sep 5 2007 08:58:56
[Wed Mar 18 02:54:39 2009] [notice] Parent: Created child process 5292
[Wed Mar 18 02:54:39 2009] [notice] Child 5292: Child process is running
[Wed Mar 18 02:54:39 2009] [notice] Child 5292: Acquired the start mutex.
[Wed Mar 18 02:54:39 2009] [notice] Child 5292: Starting 250 worker threads.
[Wed Mar 18 02:54:39 2009] [notice] Child 5292: Starting thread to listen on port 80.
[Wed Mar 18 02:56:35 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 03:01:59 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/jpuppet/components/com_virtuemart/shop_image/ps_image/modules.gif, referer: http://localhost/jpuppet/administrator/index.php?pshop_mode=admin&page=store.export_list&option=com_virtuemart
[Wed Mar 18 03:25:02 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/jpuppet/components/com_virtuemart/shop_image/ps_image/product_code.png, referer: http://localhost/jpuppet/administrator/index.php
[Wed Mar 18 03:25:23 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/jpuppet/components/com_virtuemart/shop_image/ps_image/product_code.png, referer: http://localhost/jpuppet/administrator/index.php?pshop_mode=admin&page=product.product_product_type_list&product_id=7&return_args=&option=com_virtuemart
apache_error log:
——————–
[Wed Mar 18 17:38:13 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 18:08:45 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 18:39:32 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/announce
[Wed Mar 18 19:00:04 2009] [notice] Parent: Received shutdown signal — Shutting down the server.
[Wed Mar 18 19:00:04 2009] [notice] Child 5292: Exit event signaled. Child process is ending.
[Wed Mar 18 19:00:05 2009] [notice] Child 5292: Released the start mutex
[Wed Mar 18 19:00:06 2009] [notice] Child 5292: Waiting for 250 worker threads to exit.
[Wed Mar 18 19:00:06 2009] [notice] Child 5292: All worker threads have exited.
[Wed Mar 18 19:00:07 2009] [notice] Child 5292: Child process is exiting
[Wed Mar 18 19:00:08 2009] [notice] Parent: Child process exited successfully.
*************************************
apache access log:
————————
127.0.0.1 – – [18/Mar/2009:17:52:01 -0700] “GET / HTTP/1.1” 200 4269
127.0.0.1 – – [18/Mar/2009:17:52:01 -0700] “GET /index.php?img=gifLogo HTTP/1.1” 200 5172
127.0.0.1 – – [18/Mar/2009:17:52:01 -0700] “GET /index.php?img=pngWrench HTTP/1.1” 200 741
127.0.0.1 – – [18/Mar/2009:17:52:01 -0700] “GET /index.php?img=pngFolderGo HTTP/1.1” 200 694
127.0.0.1 – – [18/Mar/2009:17:52:02 -0700] “GET /index.php?img=pngFolder HTTP/1.1” 200 850
127.0.0.1 – – [18/Mar/2009:17:52:02 -0700] “GET /index.php?img=pngPlugin HTTP/1.1” 200 548
127.0.0.1 – – [18/Mar/2009:17:52:04 -0700] “GET /index.php?img=favicon HTTP/1.1” 200 13262
127.0.0.1 – – [18/Mar/2009:18:08:45 -0700] “GET /announce?info_hash=%80%da%ff%d5%fe%fa%9e~%c0%f15w%fa%87%26%2cT%c7V%da&peer_id=-UT1820-z8%a4%2c%ec%03%ce%a0%9b%15Y%1a&port=43962&uploaded=39518208&downloaded=355991552&left=535363584&corrupt=0&key=DF26FC39&numwant=200&compact=1&no_peer_id=1 HTTP/1.1” 404 206
127.0.0.1 – – [18/Mar/2009:18:39:32 -0700] “GET /announce?info_hash=%80%da%ff%d5%fe%fa%9e~%c0%f15w%fa%87%26%2cT%c7V%da&peer_id=-UT1820-z8%a4%2c%ec%03%ce%a0%9b%15Y%1a&port=43962&uploaded=39518208&downloaded=356515840&left=534986752&corrupt=0&key=DF26FC39&numwant=200&compact=1&no_peer_id=1 HTTP/1.1” 404 206
WebX, do you have anything in ssl log created in step 24-27?
JL SAID:
“WebX, post the last 10 lines of your error log and access log here”
Which error log and access log? There are several. In which folder would I find the specific logs of which you are referring?
I followed the procedure to the letter and even double checked the code, but when I click on the wamp trayicon and attempt to start the php_openssl extension I get the message:
“Could not execute menu item (internal error) [Exception] Could not perform service action: The service has not been started”
Can you help me to figute out what the problem could be?
WebX, post the last 10 lines of your error log and access log here
I can’t type any pass phrase in the command window in step http://guides.jlbn.net/setssl/ssl4.html why is that so…
Faardeen, when enter pass phrase, it will not show, so make sure you type it just 1 time and no repeat π
I tried this with WAMP Server v2.0 and when I run the first command I get:
D:\wamp\bin\apache\Apache2.2.11\bin>openssl genrsa -aes256 -out pass.key 2048
WARNING: can’t open config file: d:/test/opeenssl098i/openssl.cnf
Loading ‘screen’ into random state – done
Generating RSA private key, 2048 bit long modulus
……………….+++
……………………………+++
e is 65537 (0x10001)
Enter pass phrase for pass.key:
Verifying – Enter pass phrase for pass.key:
Verify failure
User interface error
2312:error:0906906F:PEM routines:PEM_ASN1_write_bio:read key:.\crypto\pem\pem_li
b.c:331:
Not sure why it’s referencing D:/test/…
Help!
MacroDaveW, since our server already run on ssl, we didn’t try the latest release yet; anyway, have you ever setup ssl before?
Kaleem ,
I am having the same problem as you. Everything went well until I tried to turn on the Open SSL connection. It system tray icon immediately turned yellow and I haven’t been able to get the server to start.
Thank you for the step-by-step on setting this up. The only problem that I am having is when I go to https://…… I am getting a certificate trust issue. I do not have this problem on the computer running wamp, but I get this problem when accessing from other computers on my home network….any suggestions. I can not install the certificate either on the other computers on my home network…no option to.
since you follow our guide, you created a self signed certificate which is not trusted and need to be allowed in all browsers the first time it runs as shown in our guide from step 49 to 52 π
Thanks for the detailed approach that certainly had helped. However, when I tried enabling php openSSL extension, wamp server doesn’t start. Wondering if I’ve miss something, I then tried to uncheck the openSSL extension and I get an error indicating an internal error that the service hasn’t started.
Any suggestions please?
Thanks,
Kaleem
In what step you had that problem? Please, be more specific π
i tried getting my ssl to work and now my server will not start i followed the directions i even went over it again. i still cant figure out what i did wrong. any answer on this
At Step 3 I got that message:
C:\wamp\bin\apache\apache2.2.8\bin>openssl genrsa -aes256 -out pass.key 2048
Loading ‘screen’ into random state – done
Generating RSA private key, 2048 bit long modulus
………………………….+++
…+++
unable to write ‘random state’
e is 65537 (0x10001)
How can I resolve that problem ?
Thx
@ David
it seems your ram exhausts when trying to generate 2048 bit long, so try with smaller number such as 1024 or even 512
@ joe b
in what step you got that error? if not sure, post the last 20 lines of your error log here
I would like to make a pdf of this tutorial and publish it for the Zen Cart community, giving you full credit of course.
I will write the pdf first for my own usage, because it is difficult to follow instructions in web format and type at the same time.
You can of course publish it here too.
Thanks.
Merry Christmas and Very Happy New Year!
Thanks for your (prompt!) answer.
Kind regards!
Vesso
[quote]
I guess you have your reasons to use so many pagesβ¦
[/quote]
There are too many guide out there and people still have problem to get SSL running and that’s reason why we’d like to provide detail step-by-step guide so even people don’t know anything about coding still can follow π
[quote]
However, would you suggest the way to change httpd.conf in a way to use http for the /wwwroot/ directory and https for wwwroot/subdir/?
[/quote]
Use .htaccess with rewrite rules to re-direct requests to associated web pages π
Thanks for your really wonderful guide!!!
—————————————————-
I followed it strictly and got the right result.
I guess you have your reasons to use so many pages… π
However, would you suggest the way to change httpd.conf in a way to use http for the /wwwroot/ directory and https for wwwroot/subdir/?
finally, managed time to finish instruction guide for ssl/https and only need a little more time to put them together on web pages and will be posted soon π