My client has a Godaddy deluxe shared linux account. The ssl was also purchased through godaddy.

The ubercart instructions say to create a folder outside root so the module can create an encryption key file, however via ftp I am given access to only the "html" directory. (http://www.ubercart.org/docs/user/2731/credit_card_settings#security)

Any godaddy users out that can point me in the right direction to create a folder outside root? Any help is greatly appreciated.

Comments

seanpclark’s picture

FYI, the only solution I've found is to create a directory in the root and protect files in that directory using htaccess:
http://www.ubercart.org/forum/support/5296/where_place_download_director...
and
http://www.ubercart.org/forum/support/5605/need_help_credit_card_setting

If this is sufficient then it solves my problem...

GDHosting’s picture

Using a deluxe or unlimited hosting account, when you setup the alias you'll be able to put a directory outside the alias document root. Take a look at this article for more instructions: http://help.godaddy.com/article/4067

peacezoneboy’s picture

Hell there,
I tried to follow Ubercart's guideline "...specify a folder that is outside of your document root (i.e. not in your www or public_html directory) where the module can create a key file to encrypt credit card data."

Since I can't directly create a directory outside my root, just to test my ecommerce site out, I let the module create a key file under sites/default/files (which is not recommended in live mode). It's working just fine.

Then, in order to make private data such as credit card encryption keys non-web-accessible, I followed Godaddy's written instructions on how to create a false domain and set it as primary and then add the actual domain. I set the path to point to a subfolder (containing my drupal installation) within my root directory.

But when I checked my site, I get the homepage w/ some elements missing and none of the links work including login and menu. All I get is Internal Server Error.

Worse, I can't even log in as an administrator to my drupal site.

Is there something else I need to do to configure my site settings to make it work?

I've looked everywhere but didn't find anything regarding setting changes that need to be done after the above changes in domains. My site's been down for two days now and I really need it up n running ASAP.
Please help. Any help would be greatly appreciated.

juroon’s picture

hairybrew, here are my notes about this:

If you have anything above the most basic level godaddy.com server, you can just use a spare domain to point at your godaddy root directory, by setting it as the primary domain in your godaddy hosting manager. Then use godaddy tools to point your domain directly at your Drupal root. Their cheapest option doesn't give you the tool for managing domains that way, however. So if you want your Drupal installed in a subdirectory, you have to find a way to boost your domain up to the installation directory.

Why do that? I do it because I find it much easier to update Drupal versions by creating a new directory for the upgrade installation, and copying the site and files directories into it, then renaming the directories. If you also back up your database, this gives you a completely reversible upgrade in case of problems.

I have this URL in my notes here: http://drupal.org/node/135206

To boost the domain I edit things near the end of my godaddy root level .htaccess file to look like this:

#RewriteCond %{REQUEST_URI} "/folder1/" [OR]
#RewriteCond %{REQUEST_URI} "/folder2/"
RewriteRule (.*) [directory]/$1 [L]

Where [directory] is the name of my drupal installation directory

Then I set the base url in my drupal sites/[domain name]/settings.ini to look like this:

$base_url = 'http://www.[domain name]'; // NO trailing slash!

No need to do that for domains that are pointing directly at the correct directory - only necessary if redirecting.

Also, you'll almost certainly need to increase your php memory settings. I tried doing this every which way, editing the php.ini and .htaccess all sorts of ways according to various instructions and nothing worked.

What finally worked was editing the settings.php file for each drupal site. This has the downside that it only works for the particular site on a multi-site installation, so you have to do it for each site, but at last a solution that worked! I added the following line at the end of the "PHP settings" section:

ini_set('memory_limit', '50M');

According to Godaddy support 50M is their limit, so higher numbers won't yield better results.

seanpclark’s picture

Thanks for the help!

favrik’s picture

What worked for me (instead of setting up a fake domain like they have on their help/support site http://help.godaddy.com/article/4067), was to try to create the directory below the web root via a php script.

So far it's working as expected. :)

peacezoneboy’s picture

Hi, Could you please describe to me how to do that? I'm not used to command line scripts.
Appreciate it very much. Thanks.

My previous post:
In order to make private data such as credit card encryption keys non-web-accessible, I followed Godaddy's written instructions on how to create a false domain and set it as primary and then add the actual domain. I set the path to point to a subfolder (containing my drupal installation) within my root directory.

But when I checked my site, I get the homepage w/ some elements missing and none of the links work including login and menu. All I get is Internal Server Error.

Worse, I can't even log in as an administrator to my drupal site.

Is there something else I need to do to configure my site settings to make it work?

I've looked everywhere but didn't find anything regarding setting changes that need to be done after the above changes in domains. My site's been down for two days now and I really need it up n running ASAP.
Please help. Any help would be greatly appreciated.

favrik’s picture

Better late than never?

I just created a PHP script with the following:

<?php

$return = mkdir('../keys', 0770);

var_dump($return);

Then uploaded it to the website and ran it by just going to its URL. After that, I deleted it.

chrisNtampa’s picture

Nice job favrik. I gave my self some feed back on the process. Do as favrik says. Create this php file, copy to godaddy, run by loading in browser, then delete as it's no longer necessary. You can run this twice to verify the directory was created.

<html>
<head>
</head>
<body>
<h2>Create the Key Directory</h2>
<?php
$dirName = "../keys";

if (!file_exists($dirName))
{
	mkdir($dirName, 0770);
	print "<p>The directory <strong>$dirName</strong> has been created.</p>";
}
else
{
	print "<p>The directory already exists.</p>";
}
?>
</body>
</html>
megancn’s picture

So this may be a dumb question, but if I were to use this technique to create a folder above the root for storing something other than keys for ubercart (I'd like to store private files here so they're not accessible through a directly-entered URL), would I be able to backup this directory when I backup my site?