msgbartop
Gossimer’s Premier Web Hosting and Domain Registration Knowledgebase.
msgbarbottom

12 Mar 10 How do I monitor my account for Data Transfer overages?

To monitor your data transfer limit you can use the Web Statistics for your website, which Gossimer provides you free of cost. The web statistics, or webstats, provide you detailed information about visits to your website, including the data transfer generated by them (bandwidth). These statistics are generated once a day, and are maintained on an hourly, weekly and monthly basis.

You can view your web stats at http://<yourdomainname>/webstats.

Alternatively, you can monitor your data transfer overages through your Website management interface. To do so, follow the steps mentioned below:

1. Login to your Control Panel and search for the domain name for which you have purchased this hosting package.

2. In the search results view, click on the domain name. This will take you to the order details view.

3. Click on Manage Web Hosting Service in the lower toolbar.

4. In the Website Management interface pop-up that follows, you will see Usage statistics for your website, which also includes the data transfer (in Mb/month).

Tags: , , , , , , , , , , , , , , ,

10 Mar 10 Customized Error Pages for your website

 

When a user attempts to connect to a Web site and an HTTP error occurs, a generic message is sent back to the client browser with a brief description of what happened during the attempt to establish a connection. For example, if a user attempts to connect to a page that no longer exists on the Web site, an HTTP error will be returned in the form of an HTML page that contains the statement The requested URL was not found on this server.

You can use the Custom Error Pages view to customize HTTP errors that are sent to clients when Web server errors occur. Following is a list of HTTP errors you can customise:

401 – Authorization Failed
The request requires user authentication, typically a Username/Password credential pair. If the request already included Authorization credentials, then the 401 response indicates that authorization has been refused for those credentials.

403 - Permission Denied/Forbidden
You tried to access a URL for which you don’t have permission.

404 – File / Resource Not Found
Your browser cannot locate the document corresponding to the URL you entered. An improperly typed URL is usually the cause.

406 - Resource Not Acceptable
It’s possible you have requested a page that contains files which your browser has indicated to the server that it cannot accept, e.g. a multimedia file that your browser cannot process. Your browser sends information about what files it can accept to the server (in the HTTP header) as part of a request. You might check the preferences settings of your browser to see if there are file types it is not accepting.

500 – Internal Error
The server encountered an unexpected condition which prevented it from fulfilling the request.


To customize the error messages, follow the procedure below:

1. Create your custom Error message and upload it to your website.

2. Login to your Control Panel and search for the domain name for which you have purchased this hosting package. Click here to read how >>

3. In the search results view, click on the domain name. This will take you to the order details view.

4. Click on Manage Web Hosting Service in the lower toolbar.

5. In the Website Management interface pop-up that follows,

 

go to Manage Website -> Custom Error Pages, if you have a Windows web hosting package

or

go to Manage Website -> Web Server Manager -> Custom Error Pages, if you have a Linux web hosting package

 

 

6. For the HTTP error that you wish to customize, you can

  • select the radio button adjacent to Local URL, and enter the path to the file that you have uploaded, or
     
  • select the radio button adjacent to Text/HTML Message, and fill in a suitable text/html message.

If for some reason you wish to disable custom error message for a particular error, select the radio button adjacent to Set To Default for that error.

7. Click on Submit to save the settings.

IMPORTANT 

In order to complete the action in case of Linux Hosting, the Web Server needs to be restarted. Random restarts affect other services running on the Server. In order to avoid this, the Server has been scheduled to restart at intervals of 20 minutes. Hence, the changes might take upto 20 minutes to be effective.

Tags: , , , , , , , ,

10 Mar 10 How can I Add/Edit my own HTML pages in the Supersite and PartnerSite?

In addition to the modifying the default HTML pages, you can as mentioned below:       

       

  1. Login to your SuperSite or PartnerSite Admin Area. Click here to learn how >> 
  2. Under the My Languages SuperSite/PartnerSite section, click on the Manage Site button besides the Language SuperSite/PartnerSite, where you wish to add/edit your HTML pages.
  3. Click on the Edit Content button. Then click on the Browse link besides the MyUploadedPages folder.

Adding your own HTML pages 

        

  1. Click on the Add your own HTML page button on the top right-hand corner of this page. 
  2. Here, enter a name for the file/page that you are adding, and add the HTML content of your page in the text-field provided. 
  3. Once you have entered the content, click on Save Changes button. The page will be uploaded to your site, can now be viewed from http://<your supersite url>/content.php?action=mypages&page=<page name> or http://<your partnersite url>/content.php?action=mypages&page=<page name>, as appropriate.
  4. After uploading your own HTML page, you would need to link it from some existing HTML page on your SuperSite/PartnerSite using the Advanced HTML editing mode.
  5.  

     

     

     

Editing HTML pages added by you 

        

  1. Click on the Edit link next to the HTML page you wish to modify. 
  2. Make changes to the original content of your file as desired.
  3. Click on Save Changes.
  4.  

     

     

     

IMPORTANT       

  1. An HTML page added by you will be specific to the Language SuperSite/PartnerSite under which it has been added. 
  2. If you have multiple Language SuperSites/PartnerSites and wish to display your HTML page in each Language SuperSite/PartnerSite, you need to add the page (with language specific content) under each Language SuperSite/PartnerSite.
  3. If a specific HTML page added by you (in a particular Language SuperSite/PartnerSite) is no longer required, the same can be deleted by clicking the Delete button next to that HTML page in individual Language SuperSite/PartnerSite. Even if you have added your own page in multiple Language SuperSites/PartnerSites with the same file name, deleting the page under a particular Language SuperSite/PartnerSite will not affect the page in the other Language SuperSites/PartnerSites.

 

Tags: , , , , , , , , , , , , ,

07 Mar 10 Should I use Active or Passive mode for FTP?

FTP exists primarily for the transfer of data between two end points. FTP differs from HTTP (Hyper Text Transfer Protocol, used for serving websites via web browsers) fundamentally as it is an application made up of two distinct TCP connections:

1. Control connection: This TCP-based connection is used to provide a communications channel for the delivery of commands and replies. This is effectively the mechanism that enables the user to tell the server which file is being requested, which directory it is in, and so forth.

2. Data connection: The second TCP-based connection is used for the actual transfer of user data. Once the Control connection has been used to exchange information on which file is required, the Data connection is used to transfer the file between the client and server.

Using these two communication connections, two distinct modes of operation determine in which direction the connections are established: Active mode and Passive mode.

FTP is a TCP based service exclusively. There is no UDP (User Datagram Protocol transports data as a connectionless protocol, using packet switching) component to FTP. FTP is an unusual service in that it utilizes two ports, a Data port and a Command port (also known as the Control port). Traditionally these are port 21 for the Command (Control) port and port 20 for the Data port. The confusion begins however, when we find that depending on the mode, the data port is not always on port 20.

Active FTP

In active mode FTP the FTP client software connects from a random unprivileged (unprivileged port is a port which is higher than 1023) port. Let’s say N is the FTP server’s command port, port 21.

Then, the client starts listening to port N+1 and sends the FTP command PORT N+1 to the FTP server. The server will then connect back to the client’s specified data port from its local data port, which is port 20.

Here in this mode of FTP, Gossimer doesn’t need to open any additional non-secure ports on our servers firewall and hence is secure from the server-side.

Passive FTP

In passive mode FTP, the FTP client initiates both connections to the server. When opening an FTP connection, the client opens two random unprivileged ports, lets say N and N+1. The first port contacts the server on port 21, but instead of then issuing a PORT command and allowing the server to connect back to its data port, the client will issue the PASV command. The result of this is that the server then opens a random unprivileged port lets say P and sends the PORT command back to the client. The client then initiates the connection from port N+1 to port P on the server to transfer data.

This method of FTP is insecure, as a random unprivileged port is opened on the Server. This is a potential security issue and it isn’t advisable to use the Passive mode of FTP.
 

IMPORTANT

All Gossimer Windows and Linux web servers support both Active as well as Passive modes.

 


All popular FTP software allow users to select the data connection mode (Active or Passive), when uploading/downloading data to a web server.

Reference:

Click here to read how to set data connection mode in CuteFTP >>
Click here to read how to set data connection mode in 3D-FTP >>
Click here to read how to set data connection mode in CoreFTP >>
Click here to read how to set data connection mode in SmartFTP >>
Click here to read how to set data connection mode in WS_FTP >>

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

06 Mar 10 How do I add sub-domains to my Linux Web Hosting package?

A sub-domain is a subdivision of a Domain Name. While Domain Names need to be Registered with a Registrar, sub-domains are not and an unlimited number of sub-domains can be created through Managed DNS service. For example, a sub-domain news.yourdomain.com can be created on the Domain Name yourdomain.com.

Gossimer allows you to create unlimited sub-domains with your Linux Web Hosting package, by adding a Star (*) Address (DNS) Record for your Domain Name through the Managed DNS Order (that is included for free with your Web Hosting package). When a visitor reaches http://<sub-domain>.yourdomain.com, he is served the content from http://yourdomain.com/sub-domain/. Let’s discuss this with a few examples:

  • If someone types http://news.yourdomain.com in the browser, then our web server will try to fetch the content from http://yourdomain.com/news/ 

    So you need to ensure that you have created a folder called news within your website and have an index file (within this folder).
     

  • If someone types http://news.yourdomain.com/php/ in the browser, then our web server will try to fetch the content from http://yourdomain.com/news/php/So you need to ensure that you have created a folder called news within your website and within that folder, a sub-folder called php with an index file (within php folder).
    IMPORTANT

    If someone typed http://news.yourdomain.com/php (without the trailing forward slash), he would receive a Page not found error.

     

  • If someone types news.yourdomain.com/weather-report.jpg/i/index.html> in the browser, then our web server will try to fetch the content from yourdomain.com/news/weather-report.jpg/i/index.html> So you need to ensure that you have created a folder called news and have weather-report.jpg (within this folder).

 

IMPORTANT

1. If you are using our Managed DNS Service, then we have already created the appropriate Star Record to allow sub-domains on your Web Hosting package to begin working, once you modify your Name Servers to ours. Click here to find information about which Name Servers to use for activating your sub-domain hosting >>

If you are not planning to use our Managed DNS Service, then you need to add a Star Record to allow sub-domains on your Web Hosting package to begin working. Click here to find information about what DNS Records to add on your own Name Servers for activating your sub-domain hosting >>

 

2. If you have created an Alias for your Web Hosting package and want sub-domains of each alias to also point just like your hosted Domain Name, then you need to create a Star DNS Record for each aliased Domain Name, to point to your hosted Domain Name.

Example:

Suppose you have a Linux Web Hosting package for yourdomain.com and also a sub-domain news.yourdomain.com. Then say, you decide to set an alias for this package as yourotherdomain.com. To accomplish this, all you need to do is create an Address Record (DNS) for yourotherdomain.com to point to the IP Address of yourdomain.com.

yourotherdomain.com IN A 86400 1.1.1.1 (assuming that this is the IP Address of yourdomain.com)

But say you want news.yourotherdomain.com to function as well, then you would instead need to create a Star Address Record (DNS) for yourotherdomain.com

*.yourotherdomain.com IN A 86400 1.1.1.1 (assuming that this is the IP Address of yourdomain.com)

The Managed DNS Service for yourotherdomain.com could either be purchased through Gossimer or with your current DNS Service Provider.

Reference:

Click here to know what a Domain Alias is >>
Click here to know how to add Domain Aliases to your Web Hosting package >>
Click here to know the IP Address of your Web Hosting package where your Aliased Domain Name needs to point >>

 

3. If someone types http://php.news.yourdomain.com in the browser, then our web server will try to fetch the content from http://yourdomain.com/php.news/

If you want http://php.news.yourdomain.com to forward to http://yourdomain.com/news/php/, then you would need to add an alias for yourdomain.com as news.yourdomain.com (assuming that the Star Address Record for yourdomain.com exists).

Reference:

Click here to know what a Domain Alias is >>
Click here to know how to add Domain Aliases to your Web Hosting package >>

 

 

Tags: , , , , , , , , ,

04 Mar 10 Installing 4images

 

Follow the below mentioned process to install the 4Images Power Tool on your website:

 

1. Login to your Control Panel and search for the domain name for which you have purchased a Linux hosting package. Click here to know how >>

2. In the search results view, click on the domain name. This will take you to the Order details view.

3. Click on the Manage Web Hosting Service button in the lower toolbar.

4. Go to Manage Website -> Power Tools. This will present you with a list of Power Tools offered.
 

IMPORTANT

If you have already installed the 4images Power Tool, then instead of the Install link, the Uninstall link would be visible. You may view the details of the existing installation by clicking on the View link under the Details column.

 

 

5. In order to install 4images, click on Install link under the Status column.

6. In order to install the 4images Power Tool you would need to simply input the following details -

 

 

i. Database Name – select the database from the drop-down list.
 

 

 

IMPORTANT

4images is a database-driven Power Tool. Hence, your hosting package needs to include at least one database. If a database is not included in your current hosting package, the following steps need to performed -

 

 

  1. You need to upgrade your package by adding a database. Click here to read how to upgrade your package >>

  2. You need to configure your database. Click here to read how to configure your database >>

 

ii. Database Username – select (one of) the Database User(s) whom you have associated with this database, from the drop-down list.
 

iii. Database User’s Password – provide the password of the Database User, you selected above.
 

 

 

IMPORTANT

 

The Database User’s Password you input above has to match the Password you entered while adding this User in the Database Manager interface. In the event that you can not recall this Database User’s Password, you need to reset the same before continuing. Click here to find instructions on how to reset the Password of a Database User >>
 

 

iv. Directory Name – you need to input a new sub-directory name where you want the 4images Power Tool to be installed on your website. This sub-directory will be directly under your web directory. You need to provide the directory name without any trailing forward-slash (/).
 

IMPORTANT

Confirm that you have sufficient Web Space and Database Space before continuing the 4images installation, by referring the information provided in the interface.

Should you not have enough Web and/or Database Space, you would need to upgrade your package. Click here to read how to upgrade your package >>
 

 

 

7. Click on the Install button to complete the 4images installation.

 

Besides the above information, you need to provide a few details about the 4images Administrator:

1. Admin Name – This is the name of the person who will be administering the 4images installation.

2. Password – This is the Administrator’s Password.

3. Confirm Password – Re-enter the Administrator’s Password to confirm the same.

4. Admin Email – Mention the Administrator’s Email Address where important notifications will be sent by the 4images Power tool.

Once 4Images is installed, you can click on the View link under the Details column, to view the details related to 4Images.
 

IMPORTANT

URL of the

URL of the

 

 

 

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

03 Mar 10 Installing Joomla!

 

Follow the below mentioned process to install the Joomla! Power Tool on your website:

 

1. Login to your Control Panel and search for the domain name for which you have purchased a Linux hosting package. Click here to know how >>

2. In the search results view, click on the domain name. This will take you to the Order details view.

3. Click on the Manage Web Hosting Service button in the lower toolbar.

4. Go to Manage Website -> Power Tools. This will present you with a list of Power Tools offered.
 

IMPORTANT

If you have already installed the Joomla! Power Tool, then instead of the Install link, the Uninstall link would be visible. You may view the details of the existing installation by clicking on the View link under the Details column.

 

 

5. In order to install Joomla!, click on Install link under the Status column.

6. In order to install the Joomla! Power Tool you would need to simply input the following details -

 

 

i. Database Name – select the database from the drop-down list.
 

 

 

IMPORTANT

Joomla! is a database-driven Power Tool. Hence, your hosting package needs to include at least one database. If a database is not included in your current hosting package, the following steps need to performed -

 

 

  1. You need to upgrade your package by adding a database. Click here to read how to upgrade your package >>

  2. You need to configure your database. Click here to read how to configure your database >>

 

ii. Database Username – select (one of) the Database User(s) whom you have associated with this database, from the drop-down list.
 

iii. Database User’s Password – provide the password of the Database User, you selected above.
 

 

 

IMPORTANT

 

The Database User’s Password you input above has to match the Password you entered while adding this User in the Database Manager interface. In the event that you can not recall this Database User’s Password, you need to reset the same before continuing. Click here to find instructions on how to reset the Password of a Database User >>
 

 

iv. Directory Name – you need to input a new sub-directory name where you want the Joomla! Power Tool to be installed on your website. This sub-directory will be directly under your web directory. You need to provide the directory name without any trailing forward-slash (/).
 

IMPORTANT

Confirm that you have sufficient Web Space and Database Space before continuing the Joomla! installation, by referring the information provided in the interface.

Should you not have enough Web and/or Database Space, you would need to upgrade your package. Click here to read how to upgrade your package >>
 

 

 

7. Click on the Install button to complete the Joomla! installation.

 

Besides the above information, you need to provide a few details about the Joomla! Administrator:

1. Admin Name – This is the name of the person who will be administering the Joomla! installation.

2. Password – This is the Administrator’s Password.

3. Confirm Password – Re-enter the Administrator’s Password to confirm the same.

4. Admin Email – Mention the Administrator’s Email Address where important notifications will be sent by the Joomla! Power tool.

Once Joomla! is installed, you can click on the View link under the Details column, to view the details related to Joomla!.
 

IMPORTANT

URL of the Joomla!

URL of the Joomla!

 

 

 

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

03 Mar 10 Publishing content using Dreamweaver


Follow the process mentioned below to publish content for your website using Dreamweaver:

1. Open Dreamweaver. Click on Site and choose Manage Sites.

md1 Publishing content using Dreamweaver

 

2. Click the New button and choose Site.

md2 Publishing content using Dreamweaver

 

3. Under the Advanced Tab, fill in the Site name and HTTP Address (your domain name). Click the Remote Info category.

md3 Publishing content using Dreamweaver

 

4. Set Access Type to FTP. The host is your domain name. Type web as the host directory. Also, type in your username and password and click OK at the bottom.

md4 Publishing content using Dreamweaver

 

5. Click Done in the Manage Sites Window.

md5 Publishing content using Dreamweaver

 

6. Now open your website and click Site and choose Put.

md6 Publishing content using Dreamweaver

7. Dreamweaver will upload your files to the server.

md7 Publishing content using Dreamweaver

 

 

Tags: , , , , , , ,

02 Mar 10 Common API Examples and Errors

Common API Examples

 

Title: registerDomain method under DomOrder class of Domains kit
Description: The registerDomain method accepts complex variable/parameters whose usage cannot be easily illustrated using HTML forms. Hence, this feature cannot emulated from within your Reseller Control Panel through the Settings -> API -> Emulate API Calls -> Domains API Kit Emulator interface.
Solution: An example of XML sent and received for this method is provided below for reference.
Example XML: XML Sent:

<?xml version=”1.0″ encoding=”UTF-8″?>
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:SOAP-ENC=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:si=”http://soapinterop.org/xsd” xmlns:impl=”com.logicboxes.foundation.sfnb.order.DomOrder” xmlns:apachesoap=”http://xml.apache.org/xml-soap”>
<SOAP-ENV:Body>
<impl:registerDomain>
<userName xsi:type=”xsd:string”>
xxxxx@zzz.com</userName>
<password xsi:type=”xsd:string”>xxxxx4</password>
<role xsi:type=”xsd:string”>reseller</role>
<langpref xsi:type=”xsd:string”>en</langpref>
<parentid xsi:type=”xsd:int”>1</parentid>
<addParamList xsi:type=”apachesoap:Vector”>
<item xsi:type=”apachesoap:Map”>
<item>
<key xsi:type=”xsd:string”>domainhash</key>
<value xsi:type=”apachesoap:Map”>
<item>
<key xsi:type=”xsd:string”>apitest.com</key>
<value xsi:type=”xsd:int”>1</value>
</item>
</value>
</item>
<item>
<key xsi:type=”xsd:string”>contacthash</key>
<value xsi:type=”apachesoap:Map”>
<item>
<key xsi:type=”xsd:string”>registrantcontactid</key>
<value xsi:type=”xsd:int”>123456</value>
</item>
<item>
<key xsi:type=”xsd:string”>admincontactid</key>
<value xsi:type=”xsd:int”>123456</value>
</item>
<item>
<key xsi:type=”xsd:string”>technicalcontactid</key>
<value xsi:type=”xsd:int”>123456</value>
</item>
<item>
<key xsi:type=”xsd:string”>billingcontactid</key>
<value xsi:type=”xsd:int”>123456</value>
</item>
</value>
</item>
</item>
</addParamList>
<nameServersList xsi:type=”apachesoap:Vector”>
<item xsi:type=”xsd:string”>
ns11.zzz.com</item>
<item xsi:type=”xsd:string”>
ns12.zzz.com</item>
<item xsi:type=”xsd:string”>
</item>
<item xsi:type=”xsd:string”>
</item>
</nameServersList>
<customerId xsi:type=”xsd:int”>123456</customerId>
<invoiceOption xsi:type=”xsd:string”>OnlyAdd</invoiceOption>
<enablePrivacyProtection xsi:type=”xsd:boolean”>false</enablePrivacyProtection>
<validate xsi:type=”xsd:boolean”>true</validate>
<extraInfo xsi:type=”apachesoap:Map”>
</extraInfo>
</impl:registerDomain>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
 

XML Received:

<?xml version=”1.0″ encoding=”UTF-8″?>
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
<soapenv:Body>
<ns1:registerDomainResponse soapenv:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:ns1=”com.logicboxes.foundation.sfnb.order.DomOrder”>
<ns2:Map href=_quot;#id0_quot; xmlns:ns2=”http://xml.apache.org/xml-soap”/>
</ns1:registerDomainResponse>
<multiRef id=”id0″ soapenc:root=”0″ soapenv:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/” xsi:type=”ns3:Map” xmlns:soapenc=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:ns3=”http://xml.apache.org/xml-soap”>
<item>
<key xsi:type=”xsd:string”>apitest.com</key>
<value href=_quot;#id1_quot;/_gt;
</item>
</multiRef>
<multiRef id=”id1″ soapenc:root=”0″ soapenv:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/” xsi:type=”ns4:Map” xmlns:ns4=”http://xml.apache.org/xml-soap” xmlns:soapenc=”http://schemas.xmlsoap.org/soap/encoding/”>
<item>
<key xsi:type=”xsd:string”>actiontypedesc</key>
<value xsi:type=_quot;xsd:string_quot;_gt;Registration of apitest.com for 1 years</value>
</item>
<item>
<key xsi:type=”xsd:string”>status</key>
<value xsi:type=”xsd:string”>Success</value>
</item>
<item>
<key xsi:type=”xsd:string”>entityid</key>
<value xsi:type=”xsd:string”>123456</value>
</item>
<item>
<key xsi:type=”xsd:string”>eaqid</key>
<value xsi:type=”xsd:string”>123456</value>
</item>
<item>
<key xsi:type=”xsd:string”>invoiceid</key>
<value xsi:type=”xsd:string”>123456</value>
</item>
<item>
<key xsi:type=”xsd:string”>actionstatus</key>
<value xsi:type=_quot;xsd:string_quot;_gt;PendingExecution_lt;/value_gt;
</item>
<item>
<key xsi:type=”xsd:string”>customercost</key>
<value xsi:type=”xsd:string”>00.00</value>
</item>
<item>
<key xsi:type=”xsd:string”>actiontype</key>
<value xsi:type=_quot;xsd:string_quot;_gt;AddNewDomain_lt;/value_gt;
</item>
<item>
<key xsi:type=”xsd:string”>description</key>
<value xsi:type=”xsd:string”>apitest.com</value>
</item>
<item>
<key xsi:type=”xsd:string”>actionstatusdesc</key>
<value xsi:type=_quot;xsd:string_quot;_gt;Order waiting to be executed.</value>
</item>
<item>
<key xsi:type=”xsd:string”>orderid</key>
<value xsi:type=”xsd:string”>123456</value>
</item>
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
 

 

Common API Errors and their Solution

 

Title: Sending Integers as numbers rather than as strings
Description: Due to the limitations of Java, we cannot accept integers (e.g. 1) as numbers in a hash, rather they must be sent to us as strings (i.e. “1″). This is a recurrent problem when using the PHP Kit since PHP puts in Integers as plain numbers (in a hash).
Solution: Ensure that you’re sending in numbers as strings
Example XML: XML Sent:

POST /anacreon/servlet/rpcrouter HTTP/1.0 User-Agent: NuSOAP/0.6.7 (1.7) Host: www.myorderbox.com Content-Type: text/xml; charset=ISO-8859-1 SOAPAction: “” Content-Length: 1543

<?xml version=”1.0″ encoding=”ISO-8859-1″?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:SOAP-ENC=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:si=”http://soapinterop.org/xsd” xmlns:impl=”com.logicboxes.foundation.sfnb.order.DomOrder” xmlns:apachesoap=”http://xml.apache.org/xml-soap”><SOAP-ENV:Body><impl:regis terDomain xmlns:impl=”com.logicboxes.foundation.sfnb.order.DomOrder”><userName xsi:type=”xsd:string”>xxxxx@zzz.com</userName><password xsi:type=”xsd:string”>xxxxx4</password><role xsi:type=”xsd:string”>reseller</role><langpref xsi:type=”xsd:string”>en</langpref><parentid xsi:type=”xsd:int”>1</parentid><domainHash xsi:type=”apachesoap:Map”><item><key xsi:type=”xsd:string”>fbc-elroy.com</key><value xsi:type=”xsd:int”>1</value></item></domainHash><ns xsi:type=”apachesoap:Vector”><item xsi:type=”xsd:string”>ns11.zzz.com</item><item xsi:type=”xsd:string”>ns12.zzz.com</item></ns><registrantContactId xsi:type=”xsd:int”>1548641</registrantContactId><adminContactId xsi:type=”xsd:int”>1548641</adminContactId><techContactId xsi:type=”xsd:int”>1548641</techContactId><billingContactId xsi:type=”xsd:int”>1548641</billingContactId><customerId xsi:type=”xsd:int”>321841</customerId><invoiceOption xsi:type=”xsd:string”>NoInvoice</invoiceOption></impl:registerDomain></SOAP- ENV:Body></SOAP-ENV:Envelope>
 

XML Received:

HTTP/1.0 500 Internal Server Error Server: Resin/3.0.s041002 Content-Type: text/xml; charset=utf-8 Date: Fri, 10 Jun 2005 16:40:04 GMT

<?xml version=”1.0″ encoding=”UTF-8″?> <soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Server.userException</faultcode> <faultstring>com.logicboxes.error.LogicBoxesException#~#com.logicboxes.util. Util#~#java.lang.Integer#~#error#~#</faultstring> <detail/> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope>

 

Title: Incorrect Parent ID
Description: An incorrect parent id is passed when trying to connect to the server
Solution: Pass the correct parent id. You might be passing the one for demo while connecting to the live environment, or vice-versa.
Example XML: Error Received:

Error Code: 2, SOAP raised an error.

Error Details:
com.logicboxes.error.AuthenticationException#~#com.logicboxes.foundation.sfnb.Authentication#~#You are not allowed to perform this action#~#warn#~#

 

Title: Maximum Number of Connections to the Registry Exceeded
Description: When too many users send commands to the same Registry using a particular Registrar’s connections, then an error would be displayed
Solution: This is a temporary issue and you need to simply try after sometime. Since the Registry provides each Registrar with a set number of connections, when these get exhausted an exception is thrown.
Example XML: Error Received:

01-jul-2005 16:43:31 org.apache.axis.client.Call invoke
INFO: Mapping Exception to AxisFault
AxisFault
faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultString:
com.logicboxes.rtk.RegistryException#~#com.logicboxes.rtk.AbstractFactory#~#Object Not Available for registrar_domorgrrp Pool#~#error#~#
faultActor: null
faultDetail:
stackTrace: AxisFault
faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultString:
com.logicboxes.rtk.RegistryException#~#com.logicboxes.rtk.AbstractFactory#~#Object Not Available for registrar_domorgrrp Pool#~#error#~#
faultActor: null
faultDetail:

 

Title: Error received when making https calls using the .NET API Kit
Description: You may receive an error when trying to make an https call using our .NET API Kit since your .NET API Client needs to set a system security property to allow the system to accept SSL certificates.
Solution: You need to add a class in your project (or the .NET Examples that we provide) having the following lines of code:
 

Imports System.Security.Cryptography.X509CertificatesPublic Class TrustAllCertificatePolicy
Implements System.Net.ICertificatePolicy
Public Sub New()
End Sub
Public Function CheckValidationResult(ByVal srvPoint As System.Net.ServicePoint, ByVal certificate As System.Security.Cryptography.X509Certificates.X509Certificate, ByVal request As System.Net.WebRequest, ByVal certificateProblem As Integer) As Boolean Implements System.Net.ICertificatePolicy.CheckValidationResult
Return True
End Function
End Class


The code will allow the system to accept all kinds of certificates whatsoever. If you want the system to accept only a specific certificate, then you need to modify the code of the function “CheckValidationResult” above accordingly.

Also the user needs to include the following line of code before making the any function call to the https URL:

System.Net.ServicePointManager.CertificatePolicy = New TrustAllCertificatePolicy

We would suggest that you include the above line in the NetAPI.vb class constructor.

After performing all the above steps, you would be able to make the https calls using the .NET API Kit without any error.

Example XML: Error Received

System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. —> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception)
at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
at System.Net.TlsStream.CallProcessAuthentication(Object state)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.ConnectStream.WriteHeaders(Boolean async)

 

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

01 Mar 10 Installing osCommerce

Follow the below mentioned process to install the osCommerce Power Tool on your website:

1. Login to your Control Panel and search for the domain name for which you have purchased a Linux hosting package. Click here to know how >>

2. In the search results view, click on the domain name. This will take you to the Order details view.

3. Click on the Manage Web Hosting Service button in the lower toolbar.

4. Go to Manage Website -> Power Tools. This will present you with a list of Power Tools offered.
 

IMPORTANT

If you have already installed the osCommerce Power Tool, then instead of the Install link, the Uninstall link would be visible. You may view the details of the existing installation by clicking on the View link under the Details column.

 

5. In order to install osCommerce, click on Install link under the Status column.

6. In order to install the osCommerce Power Tool you would need to simply input the following details -

i. Database Name – select the database from the drop-down list.
 

IMPORTANT

osCommerce is a database-driven Power Tool. Hence, your hosting package needs to include at least one database. If a database is not included in your current hosting package, the following steps need to performed -

  1. You need to upgrade your package by adding a database. Click here to read how to upgrade your package >>

  2. You need to configure your database. Click here to read how to configure your database >>

ii. Database Username – select (one of) the Database User(s) whom you have associated with this database, from the drop-down list.
 

iii. Database User’s Password – provide the password of the Database User, you selected above.
 

IMPORTANT

The Database User’s Password you input above has to match the Password you entered while adding this User in the Database Manager interface. In the event that you can not recall this Database User’s Password, you need to reset the same before continuing. Click here to find instructions on how to reset the Password of a Database User >>
 

iv. Directory Name – you need to input a new sub-directory name where you want the osCommerce Power Tool to be installed on your website. This sub-directory will be directly under your web directory. You need to provide the directory name without any trailing forward-slash (/).
 

IMPORTANT

Confirm that you have sufficient Web Space and Database Space before continuing the osCommerce installation, by referring the information provided in the interface.

Should you not have enough Web and/or Database Space, you would need to upgrade your package. Click here to read how to upgrade your package >>
 

7. Click on the Install button to complete the osCommerce installation.

 

Besides the above information, you need to provide a few details about the osCommerce Administrator:

1. Admin Name – This is the name of the person who will be administering the osCommerce installation.

2. Password – This is the Administrator’s Password.

3. Confirm Password – Re-enter the Administrator’s Password to confirm the same.

4. Admin Email – Mention the Administrator’s Email Address where important notifications will be sent by the osCommerce Power tool.

Once osCommerce is installed, you can click on the View link under the Details column, to view the details related to osCommerce.
 

IMPORTANT

URL of the

URL of the

 

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , ,

26 Feb 10 .NET API Kit and Integration Guide

Follow the instructions below to begin integration with the API using .NET.

Make sure you have read the General API Integration Instructions first. If you have already integrated the .NET API Kit at your end, read the Change Log first to know what has changed since.

Reference:

General API Integration Instructions >>
Change Log >>

Step 1. Download the API Kit
Click the link below to download the relevant API kits (updated on 6th March, 2008).

Option 1 – Setup Application

 

NET_Core_Setup_v3_10.zip
NET_Domains_Setup_v3_10.zip
NET_Hosting_Setup_v3_10.zip
NET_OtherProducts_Setup_v3_10.zip

 

Option 2 – Compressed ZIP File

NET_CoreExamples_v3_10.zip
NET_DomainsExamples_v3_10.zip
NET_HostingExamples_v3_10.zip
NET_OtherProductsExamples_v3_10.zip
 

 

Step 2. Download the API Documentation
The complete documentation of all classes and methods available in the API can be found in the Docs below. The Docs below are javadocs, but the function names and explanations remain the same for all the platforms and the documentation is self explanatory. We recommend you download the docs and read through them completely once before you integrate your application (updated on 6th March, 2008).

Core_Docs_v3_10.zip
Domains_Docs_v3_10.zip (updated on 1st April, 2008)
Hosting_Docs_v3_10.zip
OtherProducts_Docs_v3_10.zip
 

Step 3. Install the API Kit
There are two ways by which you may install the API Kit on your computer:

Option 1 – Setup Application
We recommend that you download, unzip and run the setup file. First, however, please be sure that you have administrator privileges to install applications on the computer. If you’re hosting your website with a third-party provider and do not have the rights to install applications, then you will not be able to use the setup application to install the kit. Therefore, you may manually install and use the required API files from our compressed ZIP file option (Refer to Option 2 below).

The setup application will perform the following tasks:

     

  1.  A .NET dll containing the kit, and the relevant documentation, will be placed inside your “Program Files” folder; by default, the path would be “C:Program Files”. Therefore, you should be able to find the DLL and the documentation corresponding to your kit. Please ensure that you have the .NET runtime installed before you attempt to use the API kit.

  2. Relevant shortcuts will be placed in your start menu.

  3.  If you have Microsoft Internet Information Server version 5.0 or greater (IIS) installed, the setup file will create a virtual directory named as OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples in your “Default Web Site”. The setup file allows you to give the virtual directory any name of your choice. This virtual directory contains a Visual Studio .NET project called OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples, which illustrates every function provided in the OrderBox API. You may run the examples by either by:

    • Opening it in Visual Studio.Net and pressing the F5 key, or

    • Visiting the url http://localhost/examples/ in your browser.

 


Option 2 – Compressed ZIP File
Download the zip file and extract the files to any temporary folder. The temporary folder will now contain the following subfolders:

     

  1. OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples – The folder contains the example files to illustrate every method in the kit.
     

  2. bin – This folder contains the actual kit DLL file. This is a .NET DLL, and requires the .NET runtime to be pre-installed, for use.

 


Installing the examples on your own computer:

     

  1. Create the Examples folder (OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples) inside the root of any website configured in IIS, on your computer. IIS contains a default website called “Default Web Site”, having it’s root folder set to “c:Inetpubwwwroot”. If you have a default installation of IIS, you would create a subfolder called “examples” inside that root folder. Please note that you may name the examples directory as you please, you are not restricted to the name OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples.
     

  2. Open the IIS management console by navigating to “Start > Programs > Administrative Tools > Internet Information Services”
     

  3. Now, we need to create an “Application Root” for the examples folder. This can be accomplished by opening the properties window for that directory and clicking on the “Create” button.

 

If you successfully completed the above steps, you may open your browser and point it to http://localhost/examples (if you gave your examples folder some other name, replace the last word of the URL with that name).
 

Step 4. Run the examples
Please note first that the ASP.NET examples are provided solely to help illustrate usage of the ASP.NET Kit. You may use the example files directly, or simply use them as a reference project while developing your application to interface with the OrderBox API.
 

IMPORTANT  

IIS 5.0 and the .NET runtime MUST be installed on your machine, BEFORE you run the kit setup file.

 

 


After you’ve installed the ASP.NET examples, open your browser, and point it to “http://localhost/your-examples-folder” (you may use the name given to the examples folder to replace “examples” in the preceding url). This shall open the ASP.NET examples webpage, which is divided into three frames:

  • The frame on the top allows you to mention the Service URL, your Reseller Username, your Password, ParentID, Language Preference, Role, Debug Mode to make API calls independent of the credentials provided in the APIConstants.vb file. This frame also provides you a checkbox to enable/disable the credentials of this frame. That is, if the checkbox is not selected the APIConstants.vb file credentials will be used to make the API call.
     

  • The lower left frame contains a list of links to pages that illustrate the use of each method in the API. When you click a link, it’s corresponding page is displayed in the right hand side frame. You may test the functions by putting in the call parameters in the page.
     

 

Step 5. Understanding Errors
Make sure you have read the General API Integration Instructions to obtain links to the error format and possible error documents. Reference:
General API Integration Instructions >>
 

Step 6. Writing your own code
The API classes exist within the namespace OrderBoxCoreLib , OrderBoxDomainsLib, OrderBoxHostingLib, OrderBoxOtherProductsLib. The class named “Properties”, contains static variables useful for debugging, and changing the SOAP End Point.

The following are valid end points for the OrderBox Demo Server:

  • HTTP DEMO SERVICE URL: “http://api.onlyfordemo.net/anacreon/servlet/APIv3-XML”

  • HTTPS DEMO SERVICE URL: “https://api.onlyfordemo.net/anacreon/servlet/APIv3-XML”

The following are valid end points for the OrderBox Live Server:

  • HTTP LIVE SERVICE URL: “http://www.myorderbox.com/anacreon/servlet/APIv3-XML”

  • HTTPS LIVE SERVICE URL: “https://www.myorderbox.com/anacreon/servlet/APIv3-XML”

Example: To test the examples, you must first create an account on the Demo server. To use the Customer webservices of the OrderBox API, instantiate the customer object as demonstrated below. If at any time the SOAP end point must be changed to some other url, you may simply put the new SOAP end point into this variable.

Properties.Url = “http://soap-end-point”;

The following code instantiates the Customer object. You may now use it’s methods to call various OrderBox API functions. These are SOAP calls, that will be made to the SOAP End Point specified by the Propeties.Url variable.

Customer oCustomer = new Customer ();

To illustrate the use of this object, we shall take the example of a method called getCustomerId. Examine the code snippet below. It uses an object of the Customer class to request the id of a specified username.

int result = 0; 

// First we make sure that our SOAP End Point is pointing to the correct resource.
Properties.Url = “
http://api.onlyfordemo.net/anacreon/servlet/APIv3-XML“;

// The examples use a class called Constants, containing static properties that hold your credentials. You may set these properties once, and later in the file simply pass them to the method calls as required. The values set below are simply examples, and must be replaced with your own credentials.
Constants.Username = “username@domain.com”; // Your username goes here.
Constants.Password = “your-password”; // Your password goes here.
Constants.Role = “reseller”; // Your role goes here.
Constants.LangPref = “en”; // Your language preference goes here.
Constants.ParentID = 1; // Your parent id goes here.

// Since we wish to view the soap request and response …
Properties.Debug = true;

// Next we instantiate an object of the Customer class.
Customer oCustomer = new Customer ();

// We then use this customer object to request the id for a specified username.
result = oCustomer.getCustomerId (ApiConstants.SERVICE_USERNAME,
ApiConstants.SERVICE_PASSWORD,
ApiConstants.SERVICE_ROLE,
ApiConstants.SERVICE_LANGPREF,
ApiConstants.SERVICE_PARENTID,
“username”);

// Now we display the soap request.
Console.WriteLine (Properties.getLastRequest); Console.WriteLine ();

// Then we display the soap response.
Console.WriteLine (Properties.getLastResponse); Console.WriteLine ();

// Lastly we display the result.
Console.WriteLine (result);

The above code accepts authentication details and a username, and returns an integer value, which is the id corresponding to the username passed. The last parameter of the getCustomerId method is the username for which we requested an id. This id was returned into the integer variable result.

Please note the first five parameters of this method call. They consist of the username, password, role, language preference, and parent id respectively, of the individual calling the method. For the examples, you may make a demo account on the demo server, and pass the username, password, role, language preference and parent id from your demo account to this method call. These are the first five parameters that are passed to every API call that is undertaken. Please make sure that you pass accurate details for these parameters. If you do not, your method call will be unsuccessful.

IMPORTANT 

In registering/managing any domain name on the demo server always use ns1.onlyfordemo.net and ns2.onlyfordemo.net as your nameservers. ANY OTHER Nameserver will result in an INVALID NAMESERVER error.

 

 

Step 7. Change the information to Live information when you are ready
When you have got the examples working correctly, you may set the value of Properties.Url to one of the live URL’s, and pass your own authentication details when making API calls.

 

 

 

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

24 Feb 10 Debugging Perl/CGI Scripts

Hosting servers are configured to store error logs for CGI/Perl scripts, encountered during the course of operation. By default, error messages are sent to STDERR.

Most HTTPD servers direct STDERR to the server’s error log, which stores information for all the websites hosted on a shared hosting environment. As this, this file cannot be accessed by individual website owners. You may wish to keep private error logs, distinct from the server’s error log, or  may wish to direct error messages to to a web browser.

This can be accomplished by coding your scripts accordingly during the development phase.

Sending error messages to a private log file

The carpout() function can be used to achieve this. Since carpout() is not exported by default, you must import it explicitly as -

use CGI::Carp qw(carpout);
 

The carpout() function requires one argument, which should be a reference to an open filehandle for writing errors. It should be called in a BEGIN block at the top of the CGI application so that compiler errors will be caught. Example:

BEGIN {
use CGI::Carp qw(carpout);
open(LOG, “>>/domains/domain.com/logs/cgi-error.log”) or
die(“Unable to open cgi-error.log: $!n”);
carpout(LOG);
}
 

carpout() does not handle file locking on the log for you at this point.

Sending error messages to a Web Browser

Fatal (die, confess) errors can be sent to a web browser by importing the special “fatalsToBrowser” subroutine:

use CGI::Carp qw(fatalsToBrowser);
die “Couldn’t open log file”;
 

Fatal errors will now be echoed to the browser as well as to the log file. CGI::Carp arranges to send a minimal HTTP header to the browser so that even errors that occur in the early compile phase will be seen. Nonfatal errors will still be directed to the log file only (unless redirected with carpout).

 

Sample Script

#!/usr/bin/perl -wT

# In the first line above, T causes Perl to check
# for “tainted” data, that is, data from outside the
# script (i.e. user input) that is going to be used
# to affect something else outside the script
# (i.e. writing to a log file)

# You can untaint data by parsing it for unwanted
# characters then saving it to another variable.

# If you are having trouble with a script, try removing
# the T switch to see if that is the problem.

# The w switch in the first line causes warnings about
# script syntax to be printed, if there are any.

# This script does 2 things:
#
#1. It directs fatal errors to the browser,
# so when the script is invoked via the Web,
# a meaningful error message is returned.
# This is useful when developing a script;
# but should be disabled when the script
# is made publicly available.
#
# 2. It will direct any error message the script
# generates to an error log that resides in
# the user’s home directory. The file must
# already exist and be “other” writeable.

# Notice that the following is enclosed in a BEGIN { }
# block that causes it to execute before the rest of
# the script is read.

# This block should be placed in the main script,
# as near the top as practical. Do not place it in
# subroutines or libraries. Always test
# subroutines thoroughly before placing them
# in libraries.

BEGIN {

# define an error log in YOUR home directory
# this is an example where the
# home directory is /domains/domain.com/

my $error_log = “/domains/domain.com/logs/cgi-error.log”;

# “my” in the line above makes the variable $error_log
# local so it only has meaning inside this block.
# See your text for more on variable scope.

# load the CGI::Carp module;
# fatalsToBrowser directs fatal errors to the browser
# carpout is for directing errors to the error log

use CGI::Carp qw(fatalsToBrowser carpout);

open (LOG,”>>$error_log”) ||
die “couldn’t open log file: $!”;
carpout(LOG);

# open(…) is used to open a file.
# >> means the new input will be appended what’s
# already in the file.

# LOG is a nickname (properly called a “file handle”)
# that is given to the file so it is easy to refer to
# it later, i.e. carpout(LOG) sends the error
# message to the file with the nickname LOG

# || means “or” (as in do this or that)
# die means stop executing the program. You can add
# a message in quotes after the die command.

# $! is a special variable that contains the current error info

}

# The following line will cause an error.
# It is a call to a sub-routine that does not exist.
# After you have tried this script and received the error message,
# comment out the following line so no error occurs
# and “Hello world!” is printed.

&non_existent_subroutine();

print <<EOT;
Content-type: text/htmlnn

<HTML>
<BODY>
Hello world!
EOT

print “</BODY></HTML>”;

Tags: , , , , , , , , , , , , , , , , , , ,

22 Feb 10 Sub-Domain Forwarding

How does Gossimer, LLC Sub-Domain Forwarding work?

Using the Sub-domain forwarding service, you can forward any visitor from http://subdomain.your-domain-name.com/ to http://destination-domain-name.com/subdomain/. The Sub-Domain Forwarding service can also be used in conjunction with URL Masking and Path Forwarding services.

For example, if Sub-Domain Forwarding is enabled, then:

  1. http://payments.your-domain-name.com will get successfully forwarded to http://destination-domain-name.com/payments/
     

  2. http://credit-card.payments.your-domain-name.com will get forwarded to http://destination-domain-name.com/payments/credit-card/
     

Enabling / Disabling Sub Domain Forwarding

You can enable / disable Sub-Domain Forwarding after you have bought Domain Forwarding for a particular Domain Name. You need to follow the steps mentioned below to activate the same:

  1. Login to your Control Panel and search for the domain name.
     

  2. Click on the Domain name in the search results to get to the Order Details view.
     

  3. Upon clicking on Manage Service, selecting the check box enables Sub-Domain Forwarding, while deselecting the same disables this feature.

Tags: , , , , , , , , , , , , , , , ,

22 Feb 10 Installing phpBB

Follow the below mentioned process to install the phpBB Power Tool on your website:

1. Login to your Control Panel and search for the domain name for which you have purchased a Linux hosting package. Click here to know how >>

2. In the search results view, click on the domain name. This will take you to the Order details view.

3. Click on the Manage Web Hosting Service button in the lower toolbar.

4. Go to Manage Website -> Power Tools. This will present you with a list of Power Tools offered.

IMPORTANT

If you have already installed the phpBB Power Tool, then instead of the Install link, the Uninstall link would be visible. You may view the details of the existing installation by clicking on the View link under the Details column.

5. In order to install phpBB, click on Install link under the Status column.

6. In order to install the phpBB Power Tool you would need to simply input the following details -

i. Database Name – select the database from the drop-down list.

  1. You need to upgrade your package by adding a database. Click here to read how to upgrade your package >>

  2. You need to configure your database. Click here to read how to configure your database >>

ii. Database Username – select (one of) the Database User(s) whom you have associated with this database, from the drop-down list.

iii. Database User’s Password – provide the password of the Database User, you selected above.

The Database User’s Password you input above has to match the Password you entered while adding this User in the Database Manager interface. In the event that you can not recall this Database User’s Password, you need to reset the same before continuing. Click here to find instructions on how to reset the Password of a Database User >>

iv. Directory Name – you need to input a new sub-directory name where you want the phpBB Power Tool to be installed on your website. This sub-directory will be directly under your web directory. You need to provide the directory name without any trailing forward-slash (/).

IMPORTANT

Confirm that you have sufficient Web Space and Database Space before continuing the phpBB installation, by referring the information provided in the interface.

Should you not have enough Web and/or Database Space, you would need to upgrade your package. Click here to read how to upgrade your package >>

IMPORTANT

IMPORTANT

phpBB is a database-driven Power Tool. Hence, your hosting package needs to include at least one database. If a database is not included in your current hosting package, the following steps need to performed -

7. Click on the Install button to complete the phpBB installation.

Besides the above information, you need to provide a few details about the phpBB Administrator:

1. Admin Name – This is the name of the person who will be administering the phpBB installation.

2. Password – This is the Administrator’s Password.

3. Confirm Password – Re-enter the Administrator’s Password to confirm the same.

4. Admin Email – Mention the Administrator’s Email Address where important notifications will be sent by the phpBB Power tool.

Once phpBB is installed, you can click on the View link under the Details column, to view the details related to phpBB.

IMPORTANT

URL of the

URL of the

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , ,

21 Feb 10 Direct Download Manager

The Direct Download Manager is another feature exclusive to the Gossimer Control Panel. It helps you save several hours of your valuable time by allowing you to download files to your web space directly from another server via a HTTP URL or FTP URL.

If you need to transfer large files to your web space that are already available on some other server, then you would typically have to download these files locally to your desktop and re-upload them. All of this could take up quite some time depending on the file size and your Internet connection speed. However, using the server-to-server transfer facility provided by the Direct Download Manager, you can utilize the server’s high speed connection to directly download large files. So, even if you are connected to the Internet via a dial-up connection, file transfers will occur at the very high speeds. 

This feature is most useful when you are transferring your Website data from your previous Web Hosting provider, as you could just zip up your whole website and instead of downloading it locally to your desktop, directly download it on the server and unzip it there. 

Using the Direct Download Manager
Follow the process mentioned below to download files using the direct download manager:

1. Login to your Control Panel and search for the domain name for which you have purchased this hosting package.

2. In the search results view, click on the domain name. This will take you to the order details view.

3. Click on Manage Web Hosting Service in the lower toolbar.

4. In the Website Management interface pop-up that follows, go to Manage Website -> Additional Tools -> Direct Download Manager.

5. Here, provide the following details

  • The remote URL – i.e., the location of the file that you wish to download
  • Destination – the directory to which you wish to send the downloaded file

6. Click on Download Now. This would download the file to the location you have specified.

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,