This document has been created to provide helpful answers to Frequently Asked Questions about our services and features. If you have a question that is not answered here, feel free to let us know in our forums, or submit the question through our support system, and we’ll gladly add it to this page.

Available Documentation

General Site Management

Database Management

Scripting Support

Hosting Subaccounts

Miscellaneous Information

General Site Management

01. How do I access the control panel for my account?

You can only access this control panel system if you are directly hosted by Sites that are sub-hosted by our members cannot log in to this system.

02. I don’t have a control panel or I need help with something that can’t be done via the control panel. How can I request help?

If you have control panel access, you may use the “Trouble Ticket” interface from the home page to invoke the support system. This way, your account will be tied to the ticket and we’ll be able to more easily help you. You may also feel free to contact any of our technical support staff directly.

If you do not have control panel access, you may request account features as listed in the hosting guidelines or technical support by sending an email to [email protected] describing your request in detail or by contacting us via email or IM.

03. I would like to have PHP-Nuke, Invision Board, or some other script installed for me. What scripts will you install?

We will gladly install several different scripts for you ranging from forum and portal software to guestbooks and galleries. Visit our Script Installation Request Form to request something for your site.

04. I need shell access! Why isn’t it available?

You don’t need shell access. As our terms state, you’re not allowed to run servers or processes that remain in memory all the time. This is the primary use for shell access.

There are also security issues with granting shell access. Granting access via telnet is inherently flawed because your password is sent in clear text. While the SSH alternative offers you due security, it opens up the added risk that the server will be impacted by an intentional or mistaken action by a user with shell access.

FTP contains the same flaw that telnet does with respect to your password. You can use SFTP if you are concerned about this.

If you need to extract or create tar or zip archives on the server, we suggest you use WebShell. WebShell provides a mechanism for extracting and creating archives reasonably easily.

If you need to run a process on a regular basis from the command line, we recommend that you instead use the Crontab feature of your account. This will allow you to schedule a command to be run with a certain frequency, such as a script to regenerate a search database or run a backup.

If you wish to run an IRC bouncer or other chat related service, don’t. These services are not allowed and will be terminated on sight.

05. What is SFTP? Why should I use it?

Much like telnet, FTP has an inherent security flaw. Your username and password are transmitted in plain text over the Internet when you log in. SFTP or Secure FTP uses a special SSH component to support FTP under full encryption. In addition to encrypting your login information, all of the data you transfer is as well.

To use SFTP you need a special client that supports talking to and authenticating with an SSH server and launching the SFTP subsystem. You can download one of the following products for full SFTP support:

Database Management

01. How do I create a MySQL database for my site?

If you have access to the control panel system, you can do this yourself. If you do not have access to the control panel, please submit a support request with the desired database name, username and password you would like to use. The database will be created for you and you will be given full access to manage it.

Users with control panel access can create a database as follows:

  1. Log into your control panel.
  2. Click on the “MySQL Server” link on the main page.
  3. Click the “Add” icon next to the text “Add database.”
  4. Enter the desired database name and an optional description, then click “Next.”
  5. If you have an existing database user, you may select one on the right side of the next page. Otherwise, enter your desired username and password on the left side to create a new user.
  6. In either case, be sure to select “dba” as the “User role” to ensure that you are able to manage the database correctly.
  7. Click the “Add User” or “Grant” button depending on which form you are completing.
  8. If the control panel indicates the operation was successful, click “Finish” to return to the “MySQL Server” listing for your account.

02. What is the database hostname for MySQL?

The database hostname for MySQL must be entered as You cannot use a value of localhost because the databases are stored on an external server.

03. How do I access phpMyAdmin? What does it do?

phpMyAdmin is a management tool for MySQL databases. You can use it to directly edit any MySQL databases you have created through the control panel or requested through our support system. You may also use it to create an “SQL dump” of a particular database for backup purposes.

You can log into phpMyAdmin with the same username and password you would normally use in your scripts to allow them to access the database. phpMyAdmin is located here:

04. Why am I getting errors creating tables or rows in my database?

In order to manipulate your database’s tables, you must give configure a database user with “dba” access. If you merely want to change the contents of the tables, you must grant at least “read/write” access. If the database was created for you by staff, “dba” access is always granted by default. If you created the database yourself, please follow these steps to verify the “dba” or “read/write” access to your database:

  1. Log into your control panel.
  2. Click on the “MySQL Server” link on the main page.
  3. Click on the “Edit” button next to the database that you want to examine.
  4. Note the list of users. There must be at least one user in order to access the database at all.
  5. Click the “Edit” button next to the user which you want to verify.

If the user has “read” rights, only select will be checked. If this is not the case, check the select option and click “Submit” to grant “read” access to the user.

If the user has “read/write” rights, updateselectinsert, and delete priviledges will be checked. If this is not the case, enable those four options and click “Submit” to grant “read/write” access to the user.

If the user has “dba” rights, all boxes should be checked. If this is not the case, check all the boxes and click “Submit” to grant “dba” access to the user.

If you have verified the priviledges are correct for your database, double check all database settings within your script. If all else fails, submit a support request describing the problem, and someone will give you a hand.

Scripting Support

01. What are the path and version of Perl on the server?

Perl version 5.8.0 is installed on our web server. If your script needs to know where Perl is located, use the following path:


Normally the first line of a CGI script must contain this path. In most cases, the line should appear like this:


02. My script requires a special Perl module that isn’t on the server. How can I get it installed?

Perl modules are installed on demand. If the Perl module you need is not available, simply submit a support request with a list of which specific Perl modules you need installed, and we’ll add them to the server as soon as possible.

03. A PHP script is giving me an error about open_basedir restrictions. How can I fix this?

open_basedir restrictions prevent malicious access with PHP to points on the server that are not contained within your own site. This is an important security measure that we cannot simply turn off.

By default, you are given access to the following directories: /tmp/var/tmp, and the directory at the top level of your site.

If you need your entire account path to be opened to PHP scripts, or you have a legitimate reason to need access to files from another site, please submit a support request and we’ll add a new open_basedir rule to allow your scripts to function correctly.

04. Why are PHP scripts prompting me to download them or displaying as plain text?

Note: This problem occured when H-Sphere enables PHP by default for a new domain, but fails to automatically apply the setting. H-Sphere 2.3.1 Patch 8 fixed the issue and it should no longer occur in newly created sites. These directions are obsoleted by the fix, however it remains possible that some sites already created have never had their settings applied.

Either PHP is disabled or you did not apply the initial settings after creating a new domain or subdomain.

To fix this, log into H-Sphere and click “Web Options,” then click on the domain or subdomain where PHP is not working. Scroll down and make sure that PHP is listed as “ON.” If it isn’t, click the “OFF” icon to enable it. Finally, scroll back to the top and click the link labeled “Apply” to activate the changes.

It may take up to 5 minutes for the settings to take effect on the site.

05. My PHP scripts can’t get any data from form submissions and query strings. What’s wrong and how do I fix my scripts?

This occurs because we have our PHP installations configured with the “register globals” option disabled. Register globals allows form fields and other data to be available as global variables, such as the following:

In this case, with register globals enabled, $utensil would get the value “fork” and $action would get the value “go”

Unfortunately, register globals gives malicious visitors a means to find backdoors in your code by overriding variables that shouldn’t be collected from forms and query strings. A discussion of the security implications of this can be found here.

Instead of using $action to reference the value of “go”, with register globals turned off, you need to use special arrays to access this data:

  • $_REQUEST[action] will contain a set of data submitted by either the POST form method (hidden from view when a form is submitted), or the GET form method (which appears at the end of a URL, like in the one shown above.
  • $_POST[action] will contain a set of data submitted by only the POST form method.
  • $_GET[action] will contain a set of data submitted by only the GET form method.
  • $_COOKIE, $_ENV, $_SERVER, $_SESSION, and $_FILES are available with similar functionality.

A full explanation of what these all mean is available in this PHP documentation.

The main thing you will have to change however, is that for any place where you previously wanted to get the form data for a field called “action”, instead of using $action in your script, you need to use $_REQUEST[action] instead. This will accomplish the same thing as before, except with register globals off there is no longer any chance that someone could trick your script into doing something it shouldn’t do by clobbering your variables.

Full technical support will be provided if you need help understanding the implications of register globals being set to off, or if you need help converting one of your scripts. Please submit a support request and one of our staff will be glad to assist you.

06. What is the path to sendmail?

The sendmail application is at the following location on all web servers:


Hosting Subaccounts

01. How do I create a new domain or subdomain with FTP access?

To create a new domain or subdomain you must be on the domain plan:

  1. Log into H-Sphere.
  2. Click on Domains.
  3. If you are adding an new domain, scroll to the bottom and click the “Add” button next to “Add New Domain.” If you are adding a subdomain, select the domain to attach it to and then click the “Add” button next to “Sub Domains.”
  4. Enter the domain name in the “Transfer a domain you already have” section and click “Submit,” or enter the subdomain in the “SubDomain Name” box and click “Create Subdomain.”
  5. Click the “Home” link.
  6. Click “FTP Manager.”
  7. Click on the “Add” button next to “FTP sub-accounts.”
  8. Enter the desired login (username) and password.
  9. Important! Enter the relative home directory as the path relative to your main FTP account. This means that if you set up a domain name, enter the path as “/” If you set up a subdomain, enter it as “/”
  10. Click “Submit”

The domain or subdomain will now be listed in the email configuration area as well as in many of the other options pages available in the control panel. You can activate features and select options much in the same way you would for your primary domain.

02. How do I create a directory on my domain with a separate FTP account?

If you don’t have a control panel but want to give someone else authorized access to a particular subdirectory of your account, you can submit a support request and we will gladly create the subaccount for you.

Users with control panel access can do the following:

  1. Log into H-Sphere.
  2. Click “FTP Manager.”
  3. Click on the “Add” button next to “FTP sub-accounts.”
  4. Enter the desired login (username) and password.
  5. Important! Enter the relative home directory that you would like the new user to have access to as a path relative to your main FTP account. For example, if you wish to grant a user access to “” you would enter the relative path as “/”
  6. Click “Submit”

If the directory doesn’t already exist, it will be created for you. The new FTP account will be granted access only to the given subdirectory of your site, but will have full access to any files contained there. Your main account and any other accounts with access to higher level directories will also be granted full access to the subdirectory.

03. I created an FTP subaccount for a subdomain, but the files I upload do not appear on the web. What’s wrong?

The most common reason for this is that you entered the FTP subaccount information incorrectly when you created the FTP user. Make sure that you set the FTP user’s relative home directory to a path relative to your main FTP account. Many people mistakenly enter the full server path here.

For example, if you want to give someone access to the site “” in your account, make certain the directory is set to “/”

To correct the home directory of an FTP account, you will have to delete and recreate the account.

Miscellaneous Information

01. How do I change a file’s permissions (chmod)?

Permissions are set using the ftp command:

site chmod xxx

xxx represents the numeric value of the file permissions you wish to set. Many FTP programs provide an interface for this. The technique varies from program to program, so consult your client’s documentation for further information.

The numeric value of the permission is a three digit number. The first digit represents the permission for the owner of the file, the second represents the permission for the user group that the file belongs to, and the third digit is world, or everyone else. Each number is a sum of three possible permissions, read, write, and execute. Read is worth 4, write is worth 2, and execute is worth 1. The highest possible sum is 7, which represents full access.

For example, 777 is full read, write, and execute for the user, group, and everyone else. 755 is full access for the user, but only read and execute for others.

We recommend that all scripts be set to 755, data files be set to 766, and normal documents be set to 644. Directories must include the execute permission for world, or their contents will not be accessible to scripts or through your web site. Normally, we suggest 755 or 777 for directories, however 711 or 733 will prevent scripts and users from listing the contents of a particular directory.

02. What do the various web site error codes mean?

HTTP has a number of server error codes that help identify problems. Most indicate fairly trivial and simple errors, but some can indicate much more complex problems. Most error codes are very vague in meaning, and generally don’t providing much information, so here are some descriptions of some of the more common error codes you’ll come across:

  • 400 Bad Request – This error means your browser sent a request to the web server that didn’t make any sense. This usually indicates that a link’s URL is incorrect and points to a location that can’t possibly exist on a server. The URL may contain non-standard symbols or characters, or the path might be illogical.
  • 401 Authorization Required – You’ll receive this error if you fail to submit a correct username and password for a protected resource on a web site. This only occurs for the type of login prompts that pop up a separate dialog requesting your password. These will occur when you enter the wrong login information for a protected directory you have configured via WebShell 3, which is accessible through your control panel.
  • 403 Forbidden – This error comes up when you try to access a file that doesn’t have the proper permissions to be viewed. It will also occur if you attempt to list the contents of a directory without directory indexing enabled. Files must be set to world readable, and scripts and directories are required to be world executable. Click here for additional information on file permissions.
  • 404 Not Found – It’s fairly clear what this error means. You get this error when you ask the server for a file that doesn’t exist. This is almost always the fault of a mistake in a URL, but it can sometimes be caused by a server configuration error. If you suspect that a 404 error is occuring incorrectly, submit a support request and let us know.
  • 405 Method Not Allowed – This error is not as common as the others, but it does appear from time to time. It means that the wrong type of request was sent for the thing you are requesting from the server. Each object, such as a web page or a script, can accept certain types of requests. Browsers usually use the “POST” request when submitting form data, and the “GET” request at all other times. Most of the time, the error is caused by an incorrect HTML form. For example, you can use the “POST” method of submitting forms to a PHP script, but it is not allowed to be used if the form submits to a normal HTML page because such files are not capable of processing the data format.
  • 500 Internal Server Error – This error message is vague and can mean many things. It will occur if the directory contains an invalid .htaccess file, or when running a script that has some kind of error. If you have logging enabled for your site, check the error log for posible messages from the failing script. This error may also occur if the permissions for a running script are not set to 755. If you’re unable to resolve a 500 error, submit a support request and we’ll be glad to help you figure it out.

These are the most common error codes you will encounter when dealing with web sites. There are actually over 20 different possible codes, however most of them are rare and can only occur under special conditions, so they are not really worth mentioning. For example, code 402 is “Payment Required.” There are no documented uses of this error code anywhere, even though it is part of the specification. The HTTP specification indicates it is reserved for future use.