FAQ


Match word(s).

Home : Customer Support Center : FAQ Index

CGI Scripts and Databases

  • Can I use the Ultimate Bulletin Board (UBB) forum on my site?
  • How do I setup Hit Counters, Guestbooks, etc?
  • How do I create a mySQL User and grant them permission to a certain database?
  • Why Does My CGI script give me a Permission Denied Error?
  • How do I move around in Telnet. What are some UNIX commands?
  • How do I use formmail?
  • I am unable To Delete CGI Related Files...
  • What permissions should I use?
  • What version of Perl are you running?
  • What is CGI?
  • What is the exact physical path to your root directory on the webserver?
  • How do I manually backup my database via ssh/telnet?
  • Why doesn't my CGI work?
  • What are the basics of installing scripts?
  • What is the path to ...?
  • What is PHP?
  • How can I troubleshoot an "Internal Server Error"?
  • Can you help me troubleshoot my script?
  • Where do I put scripts?
  • Do you allow CGI to run on your servers?
  • How do I use mySQL to create & maintain databases, tables, etc?
  • Where can I learn how to use it?
  • How to I create a MySQL Database?
  • Why am I getting a 403 Forbidden Error?
  • I keep getting a 500 Internal Server Error. Why?
  • How do I set permissions with WS_FTP?
  • What version of mySQL are you currently running?
  • How do I manually backup my db via phpmyadmin?
  • What version of PHP are you running?
  • Where can I put my CGI scripts?


    Can I use the Ultimate Bulletin Board (UBB) forum on my site?
    No. We only accept PHP-base forum boards like phpBB, VBulletin, etc. Any flat-file database forum like Ultimate Bulletin Board is not permitted on our server due to their extensive hog on the CPU/memory.

    How do I setup Hit Counters, Guestbooks, etc?
    We have a collection of CGI scripts that are already pre-installed on your hosting account. Some of these CGI scripts include: A hit counter, web clock, Guestbook, FormMail, Search Site and more! You can find these scripts within your control panel. To access them click "Scripts & DB -> Pre-Installed CGI Scripts"

    How do I create a mySQL User and grant them permission to a certain database?
    In Telnet/Shell type: "mysql"

    This will load the mysql command line. Next type:

    GRANT ALL PRIVILEGES ON [database].* TO [username]@[domain] IDENTIFIED BY '[password]';

    (where "[database]" is the database you created earlier, [username] is the mysql username you want, [domain] is the domain you'll be connecting from (usually 'localhost') and [password] is the password you'd like to use. Be sure it's enclosed in 's.

    For example:
    GRANT ALL PRIVILEGES ON mydatabase.* TO bob@localhost IDENTIFIED BY 'fruitfly';

    Why Does My CGI script give me a Permission Denied Error?
    CGI scripts need to be set executable. You need to change the mode, or permissions, of your programs with your FTP program, and make them 755, or rwxr-xr-x.

    Note: A lot of scripts out there will tell you need to make them 775 or even 777. This is not good! It means anyone on the server can write to your script, and since its executable and executes as you, it could delete all your files!

    How do I move around in Telnet. What are some UNIX commands?
    Click here for a list of commonly used UNIX commands.

    How do I use formmail?
    Formmail is a very easy to use form processor, simply place the following on any page after entering your domain. You can change this code to fit your specific needs.







    Be sure to replace yourdomain.com, with your real domain name.

    I am unable To Delete CGI Related Files...
    If you have any files or folders that were created by a cgi script running on your account, you will be unable to modify or delete these files because they were created by the user 'nobody' (the webservers itself). To get these files deleted please send in a ticket and include your login/password for the first 2 and last 4 digits of your credit card number for confirmation.

    What permissions should I use?
    All scripts as well as the directories that contain them, should be set CHMOD 755.

    What version of Perl are you running?
    We run the latest/most stable version of Perl. The path to perl is: /usr/bin/perl

    What is CGI?
    CGI, Common Gateway Interface, includes programs that run on the server to enhance the quality and functionality of a web site.

    What is the exact physical path to your root directory on the webserver?
    The path to your root directory is:
    /home/username/

    Obviously, substitute "username" with the login you were assigned when you first received your account details. Also, keep in mind that when you configure your CGI, that your /public_html is included in your path. For instance, if you have a guestbook.pl script in your /cgi-bin, the exact physical path to that file is:
    /home/username/public_html/cgi-bin/guestbook.pl

    How do I manually backup my database via ssh/telnet?
    Read this .

    Why doesn't my CGI work?
    Make sure when you upload the CGI file DO NOT upload in binary mode, instead use ASCII mode. Uploading in binary will cause the server not to recognize the scripts as executables. Most FTP clients will upload .pl or .cgi files in binary mode by default so you will need to change this. You will need to upload the scripts into your cgi-bin directory for security reasons, however they will execute from anywhere within your account.

    The last step is to set the file permissions. This is otherwise known as chmoding and can be done from most FTP clients. Make sure you CHMOD your scripts to "755" otherwise you will get errors. For specifics on chmoding you can refer to our "file permissions" help section.

    What are the basics of installing scripts?
    1) Be sure the file permissions are set correctly on the cgi that you are trying to run start with 755.

    2) Always upload and download a cgi in ASCII transfer mode.

    What is the path to ...?
    The paths to some commonly used programs for CGI scripts, mySQL and others are:

    Perl: /usr/bin/perl
    Perl 5: /usr/bin/perl5.00503
    Sendmail: /usr/sbin/sendmail
    Date: /bin/date
    PHP: /usr/bin/php
    mySQL: /usr/bin/mysql

    Document Root: /home/username/
    WWW Directory: /home/username/public_html/
    CGI Directory: /home/username/public_html/cgi-bin/

    What is PHP?
    The folks over at PHP.net say it best... "PHP is a server-side, cross-platform, HTML embedded scripting language." In other words, PHP is a programming language, similar to HTML, but is parsed by the server, rather than the browser. It is often used with databases to build sites with dynamic content.

    How can I troubleshoot an "Internal Server Error"?
    Log in to your account with SSH and test your script. To do this, go into the directory in which your script is located, then execute the script.

    simply type "/usr/bin/perl myscript.pl"

    Can you help me troubleshoot my script?
    Our support team would be more than happy to help you with any problem you encounter. However, we will only provide free support for our system and services. We will help you with basic problems associated with getting scripts running, but if you need help with third-party software, contact the authors of that software.

    Where do I put scripts?
    You may place your scripts in any directory you'd like within the "www" directory, but you will stay better organized if you place them in the subdirectory named "cgi-bin".

    Do you allow CGI to run on your servers?
    We do allow running of cgi scripts on the servers, however they must conform to our acceptable usage policy. If we deem that a script is using an excessive amount of server resources, it will be disabled.

    How do I use mySQL to create & maintain databases, tables, etc?
    Please read our mySQL guide.

    Where can I learn how to use it?
    The creators of PHP also provide an excellent tutorial on how to use it at http://www.php.net/tut.php. There are plenty of other resources out there, as well.

    How to I create a MySQL Database?
    To create a mysql database, log into your control panel and select the 'MySQL Databases' link. Enter in the name of the database you want to create and submit it.

    Once you have created a database you must create a database user and then grant that user access to the database you created. This is all done through the same mysql manager page.

    Once you have a mysql database and username you can manage it via your shell account, or via phpMyAdmin which is located in your control panel.

    Make sure you are using the correct login/password and database name as listed on the mysql manager as they will not be exactly the same as the name you entered in when you created the database.

    Why am I getting a 403 Forbidden Error?
    A 403 Forbidden error occurs when the web server finds itself with insufficient permissions to run your script.

    Make sure you have given the script proper permissions. In SSH, this is accomplished with:
    chmod 755 scriptname.cgi

    If you are uploading via FTP, your FTP client probably has some facility for setting file permissions. You want to make sure that all choices (user, group, and other) have execute permission.

    I keep getting a 500 Internal Server Error. Why?
    There are many different possibilities. If you have a problem, misconfiguration, or syntax error in you script, you will probably be able to find it by checking your error logs which can be found in your your control panel under "Statistics -> Show Error Logs".
    Although this is generally caused by a problem within the script, many times it is caused by incorrect file permissions either on the script itself, or another file or directory used by the script.
    You should also verify the that the script paths are set correctly.

    You should verify that the first line of your script is the path to Perl, and that it is correct. It should be set to:
    /usr/bin/perl
    OR
    /usr/local/bin/perl

    You should also verify that the scripts were uploaded in the correct mode (ASCII or Binary - check the readme for the scripts to see any special instructions. Normally it is ASCII).

    Another problem could be permissions of the file or directory. Your script permissions should be 755, or rwxr-xr-x. Do Not make your CGI scripts 777 (or rwxrwxrwx). This would make them editable by other customers on the same server. In fact, if you script contains password information to connect to a mySQL database, you should make them 700 (rwx------) so no one else would even be able to read them. The same thing applies to directories where the scripts reside.

    How do I set permissions with WS_FTP?
    Just highlight the file you want to set, and right-click on it. A menu will pop up, then select CHMOD.

    What version of mySQL are you currently running?
    We always run the latest version of the mysql server.

    How do I manually backup my db via phpmyadmin?
    Read this .

    What version of PHP are you running?
    We always run the latest stable release of PHP with cache. By utilizing a Cache Engine your scripts will run up to 300% faster.

    Where can I put my CGI scripts?
    CGI scripts are executable from anywhere within your "public_html" directory, or from within the cgi-bin directory in your home directory. If you use Microsoft FrontPage, it is recommended that you put them within your cgi-bin directory so FrontPage will not change your permission settings on these files.




  • Duplication without permission prohibited.


    Script provided by SmartCGIs.com