Environment disclosure: Expression Engine v1.7.1; Linode vps; CentOS 5.6; upgrading an existing Expression Engine site (v1.6.6) in a staging environment (i.e. a second server). So .. I know the set up works somewhere else, although parts have broken getting from v1.6.6 to v1.7.1.
The challenge (for me) is getting Simple Commerce to work.
When Expression Engine was directed to ‘serve-up’ the Simple Commerce area, the original error displayed was:
Could not sign encrypted data: error:0906D06C:PEM routines:PEM_read_bio:no start line
My Simple Commerce certificate files were originally located beyond the scope of the ‘root’ of the site (the level/subdir where the index.php and ./system/ reside).
I had to RTFM and follow these instructions: Configure Simple Commerce. The instructions included getting into PayPal and generating their PayPal Certificate.
When I put these newly generated files onto the server, I updated the paths in Simple Commerce.
The solution to the “Could not sign ..” error was correctly generating the (a) public certificate; (b) private key; and (c) paypal certificate AND entering the path to these generated files on the my server. My error was simply copying these three files over from the other production server. Big mistake. .. problem solved ..
However ..
When I clicked on ‘Submit’ - I got another (different) error:
File Does Not Exist for ‘Public Certificate Path’. Make sure to use a full server path.
I created a subdir within the equivalent of ./system/, put that path in the different fields within Simple Commerce, and it took it.
The solution to this error is to place the three certificates (mentioned earlier) within the scope of the ./system/ directory. I’m sure there’s a way to let Expression Engine (v1.7.1 in this case) know of certificates outside of the Expression Engine based site directory .. I just don’t know how to do that today.
Now I have a new problem: When Expression Engine serves up the Simple Commerce part of the [staging] site, I see polar bears lost in a blizzard (nothing but whitespace). .. That’ll be another post I suppose ..