This might take longer than I thought: Making an iPhone unlock website

[Video transcript at the very bottom]

Glad to have you aboard! Did you bring a good book? ‘Cause I think this is going to take a little while. What was I thinking??? I had been bouncing back and forth on this tutorial thing for a long time because I knew that it would get pretty involved, especially once I started including video.

Good Intentions

I sat down and scribbled a little outline out regarding what it would take to see this through. My initial thoughts were, “Hey, how hard can this be? My site is up and running, just tell everyone how you did it!” Well, that would be easy if I was telling myself how I made this.

When trying to explain something, I like to do it in a way that will help everyone, including the least experienced. That takes time. So, to avoid boring too many people, I needed to find a happy medium.

With that in mind, I decided to target people like myself, the “tinkering type”. You know the kind, not exactly inexperienced, but knowing enough to do some damage.

You Were Going to do WHAT?!

The only thing that saved me here was being able to direct the “tinkerers” to certain resources to get them ready for the trip. Now, they’re all caught up and waiting for the “next steps” as mentioned in my latest video: “StockUnlocks Drupal 7 – How to Configure Ubercart: Encryption Key Directory Field – Mobile Unlock Website“.

At first, I was going to walk everyone through every single aspect of the custom code behind the site – again, “What was I thinking?!?”. Then, I thought, “Why not create a self-installing module and then explain its features rather than the code?”. Brilliant, right? Yeah, right.

Necessary Adjustments In Order To Succeed

Now, I’m frantically extracting the code from my site and learning how to pack it in to its own installable module. My future hope is to have an “official”, downloadable module directly available from the Drupal website, along with me hosting its own support website.

Don’t worry, for those interested, I can still give you the module directly (once it’s done!). It will just be more “official” once it’s “Drupal Approved” and available as a module from there.

Here’s the nice thing: I’m not just making this out of thin air. The fact that this website works will make the job a whole lot easier, but still requiring time and commitment.

So, what did you bring along to read in the meantime? Maybe something about Drupal ? I hope it’s a good read 😉


Video Transcript:

————————– Begin Transcript

Welcome to our second video in the series “How to make a mobile phone unlocking website”.

Once again, just like the first video, the second video really applies to anyone desiring to further configure their ubercart installation with Drupal.

Now that we have ubercart installed with all of the supporting modules, now it’s time to enable it.

After logging into the website with administrator privileges, we’ll just navigate over to our installed modules here by clicking on “modules” in the admin menu.

… and just search for ubercart. Again, our only focus right now is to enable this module in particular.

So we need to find the core or main module representing ubercart.

There it is: “ubercart – core”. We’ll just click on the check boxes in the “enabled” column for only the portions that have “REQUIRED” next to them, as we see here.

There are a multitude of options that come with the core ubercart module.

When you start to set up your own e-commerce environment, regarding your specific products and services, you can always come back here to enable the ubercart module options that you need.

Scrolling down to the “ubercart – core (OPTIONAL)” section, I’ve enabled: Payment, Product Attributes, Reports, and Roles

Continuing down to the “ubercart – extra” section, I’ve enabled: Cart Links and Ubercart Ajax Administration

Next, the “ubercart – payment” section, I’ve enabled: PayPal and Test gateway

Once again, other options may be enabled at this time, if you wish. In most cases, they shouldn’t get in the way of what we’re doing.

But, just to avoid any confusion, let’s just stay with the bare necessities for now.

You can always go back and explore other options at another time.

So when we get to the end here, let’s save the configuration and see what happens:

Ok, so we’re presented with this message: “Some required modules must be enabled”, along with a warning as you see here.

Well it’s obvious that I missed something along the way.

Basically, this screen is asking, “Would you like Drupal to enable those required modules for you? Or, would you like to cancel and go back to the previous screen and maybe enable them yourself?”

This is also followed with additional details, such as: “You must enable the Views module to install Roles.” and “You must enable the Credit card module to install Test gateway.”

We’ll take the easy way out and allow Drupal to enable those required modules and continue on with our process.

Clicking on “continue”, let’s see what happens next.

After a few moments, we’re returned back to the modules screen and the nice message, highlighted in green, lets us know that “The configuration options have been saved.” So, we’re ok for now.

Just for fun, let’s confirm that Drupal has indeed enabled our “Views” module like we said it would.

We’ll just search for “views” here and continue on down until we find the views module. … and, Ok, here’s a better way: There it is right in front of us: “Views (enabled)”.

The ubercart core module that depends on the views module already shows us that the views module is indeed enabled – great!

Let’s try the same thing for the credit card module by searching on “credit” here.

… and again, we see that this module has been enabled by Drupal as well. It shows up as enabled under the “ubercart – payment” module. All right!

So what’s next? Now that we have ubercart and its dependent modules installed, let’s go check out our store settings.

Flashing back to the previous video, you’ll see that “Store” was not an admin menu option, not until we successfully installed ubercart.

We just want to see if there’s anything left for us to do regarding our installation up to now.

Let’s enter the store.

Well, look at that: “One or more problems were detected with your Drupal installation. Check the status report for more information.”

Ok, let’s do that.

We notice that there is a link for us to follow, but we’ll just scroll down the page a little bit just to see what we can do from this screen.

Actions such as viewing and creating orders, viewing customers, and products. We can generate different kinds of reports and configure all kinds of settings depending on our needs.

However, before doing any of these things, there are just a couple of necessary items that need to be resolved.

And, look at this: At the bottom of the page we see “Store status”, right here. Displaying the problems with our Drupal installation.

Ok, it says, “Credit card encryption”. It says here that “You must review your credit card security settings and enable encryption before you can accept credit card payments.”

Also, next to “Store settings”, we see: “Store e-mail address has not been set. Please enter it here” and it provides a link for us to follow to make those adjustments for either issue.

But, instead of clicking those links, let’s go back up to the top of the page where we first saw that there were some problems with the installation.

And we’re going to click on “status report” here to see where that takes us.

Ok, here’s the Status report page, displaying the status of our entire Drupal installation as opposed to just the Store status only, like we saw on the previous page.

There’s that credit card encryption message and we will be sure to find the store settings email address message as well. And, there it is.

Let’s take care of this store email address issue, just because it seems to be the easiest of the two to resolve right now. Let’s go right to it by clicking on the link here.

And, hmm. There’s already an email address there. That’s the one I put in when initially installing Drupal. So, what’s the problem?

Maybe there’s something behind the “Store Address” tab? Let’s take a look.

No, that’s physical address information.

And all of these other tabs seem to either deal with currency or display settings.

Let’s go back to the “Basic information” tab again and take a closer look.

Like we said, there’s already and email address there. But, the “Store owner” field is blank. Could that have something to do with our problem?

There’s only one way to find out.

Let’s put something in there and see. I’m just going to call this “Unlocks etc.” and go ahead and save the configuration.

Ok, it saved with no errors. The only way to be sure is to go into our store and check our status report again. Here we go. Let’s just jump to the bottom of the page.

So, there it is! The “Store settings” is now checked green letting us know that all it needed was a name in the “Store owner” field. Great.

Ok, now for the “Credit card encryption” problem. We’re going to go ahead follow this link here to see what is further required.

This take us to the “Credit card settings” page. We’re going to go directly to the “Security settings” tab to see what we have to do.

Here’s the “Encryption key directory” field, which has an entry in it, which reads: “Not configured”. Well, let’s do something about that!

In the details here, there’s a link that we can follow regarding the encryption instructions. Let’s see where that takes us.

Well, of course, we land on a Drupal page regarding credit card data security.

Reading the details in this paragraph, it says, “First, you must configure the encryption settings for card data during checkout. To do this, you’ll need to fill in the file path textfield. Here you should specify a folder that is outside of your document root.”

It continues, “that is, not in your www or public underscore html directory” also, “You will need to grant permissions on the folder that allow Drupal to write to it.”

So, just be sure to read the rest of the details when you’re performing your changes.

Looking below that paragraph, we have an example of where this folder needs to be created. It shows us where Drupal was installed, here. And then it shows us where our new “keys” folder needs to be installed, relative to the Drupal installation, here.

Once we’ve created that folder, we’ll need to enter its name in the “Encryption key directory field” so that Drupal can create the credit card encryption key and put it there.

Let’s go take care of that now.

On our web server, we’re going to jump right over into our control panel or “cpanel” to access our file manager in order to create the necessary keys folder.

Once we’ve clicked on “File manager”, we want to select the “Home Directory” as the directory to open from the pop-up window – like this. Just to get a big picture view of our directory structure.

Ok, here we are at the home directory, which is outside of our “www” directory as seen here and as instructed earlier – the location where we need to create a new folder called “keys”.

We’ll go ahead and click on “New folder” and let’s give it the name “cckeys”, representing credit card keys.

Click the button “Create new folder” and there we have it: the “cckeys” folder.

Going back to our Drupal installation, we need to enter the name of our newly created folder in the “Encryption key directory field” to resolve our earlier problem.

We’ll jut go here and navigate back to our store, credit card settings and then the security settings tab and go ahead and enter the name of our new folder: “cckeys” here.

Let’s save the configuration and see what we get.

Ok, what does this mean? “You have specified an non-existent directory

Well, we just created it and named it properly.

Maybe it has something to do with including a “slash” of some sort?

Let’s take a look at our instructions again here.

Scroll down .. and it says here: “You will be able to specify … ok, “forward slash, keys”.

Yeah, my bad. Let’s go back and fix that.

Let’s put the forward slash right in there and save the configuration and … nothing’s changed.

It still says “non-existent directory”.

But, what’s the problem? We put the forward slash where it’s supposed to be like in our example.

Let’s see here … going back over to our cpanel .. we clearly see that our cckeys folder is in the root or outside of the www directory, right? ok.

But, look at this: the actual name of the folder that the cckeys folder is located in, is named: “forward slash home, forward slash the name of another directory.”

Well, let’s try that in the “Encryption key directory field”.

Going back to Drupal, we’ll just enter here: “forward slash home, forward slash the name of that other directory” and then “forward slash cckeys”.

Let’s save the configuration and … Success! There we go.

It says, “Credit card encryption key file generated. Card data will now be encrypted. The configuration options have been saved.”

Let’s just confirm everything by going back to our store to double check our messages.

Nothing in red at the top, good, and all green at the bottom. Very good.

Everything’s looking good to go right here, nice check marks indicating that we may now move on to our next steps in setting up our store.

But, first, let’s just take a look at all of the modules that we have installed up to now.

Navigating over to our Drupal installation on our web server, using the file manager in the cpanel, we go to “sites” … “all” … and then “modules” Clicking on the modules folder reveals everything that we’ve installed up to now.

Depending on how you’ve installed Drupal, the contents of the modules folder may be different from what you see displayed here.

In either case, these are the modules which I’ve installed and, going forward from here, this is the least that you will need installed, for now, as we get ready for our next steps.

————————– End Transcript

Scroll to Top