Interland's Linux servers have all the tools you'll need to write and run your CGI applications.
The latest version of Perl, Perl 5.005, is installed along with a few selected and frequently requested modules from CPAN. Please note that PHP is not available on Feature Plan. The selected modules are the following:
libwww
cgi-lib
Data-ShowTable
Data-Dumper
DBI
Mysql/Msql modules
Mime Base64
LWP
HTML Parser
Additional modules may be added at any time as well. If you need to use a module, or a library that isn't listed here, in many cases, you can install what you need, without having to wait for our technical support department to evaluate, test, and install it. Upload any modules or libraries to your home directory. Add a line such as "push(@INC, "./");" to your Perl code. This will tell the Perl interpreter to search the current directory for any modules as well as the system wide directories. This is similar to using quotes in a C include statement, as opposed to "<>".
We have installed the Cybercash MCK 3 modules server wide, so if you need access to these modules, they are available by using the Perl "use" directive. The CyberCash C libraries are also available on all servers.
Our servers also have a C compiler, and interpreters for any shell script, TCL, Python, and more.
Occasionally, you will need some basic server information to make your script run right. Here are some common paths you will be asked.
Common Paths
Home Directory
/home/USERNAME
-or-
~/
Perl
/usr/bin/perl
PHP
/usr/local/bin/php
Send Mail
/usr/lib/sendmail
Date
/bin/date
cg-bin
/home/USERNAME/cgi-bin
-or-
~/cgi-bin
System temp directory
/tmp
Important: If your Linux account was provisioned after 4/18/00, the paths are slightly different.
On this date, we began building our new Linux accounts with RedHat Linux v.6.1 on larger servers. Because of this, we decided to put the users' directories within a larger dirctory that we defined by a single digit customer #. Now all default administrator usernames will have usr + 4 digits, the first of which is the cust#.
For example: let's look at usr4117. Here is what the numbers stand for:
usr4117: the 4 represents cust# directory (in this case it is cust4; if the username is usr3117, then the directory will be cust3)
usr4117: the 117 represents the last 3 digits of your IP address
So on the accounts that were provisioned after 4/18/00, the paths listed above will have to be modified to include this new "cust#" directory. For example:
path to root:
/home/cust4/usr4117/
path to html:
/home/cust4/usr4117/html/
path to cgi-bin:
/home/cust4/usr4117/cgi-bin/
This new directory structure will not affect your regular FTP paths, you will not have access to the cust# directory. These paths are for use in scripting.
Shell Paths:
sh - /bin/sh
bash - /bin/bash
ash - /bin/ash
zsh - /bin/zsh
csh - /bin/csh
ksh - /bin/ksh
tcsh - /bin/tcsh
Keep in mind that Interland uses the suEXEC wrapper for CGI execution. This feature causes your cgi-scripts to run under YOUR UID/GID. It also limits CPU, memory, and the number of processes you may run at any given time though the Web server. These limits are reasonable, and are mainly intended to keep a runaway script from bringing down a sever. If you have a problem and a script is not working, this may be the case.
The suEXEC wrapper also does basic security checks. These are done to make sure that CGI programs, and the directories in which they are located, are not writable by anyone other than you, have the UID/GID bits set, or are owned by root. Again, if your script still doesn't work, be sure that it, and the directory it resides in has a permissions setting of 755, and does not have a UID/GID bit set. A script will also fail if it is owned by a root user.
Apache module mod_rewrite has been installed to improve control over your site. You also have the ability to override all settings using a .htaccess file. Such settings include authorization for Web access, ErrorDocuments, and redirects. For more information, please see http://www.apache.org. We plan to incorporate mod_perl, and mod_php, after proper evaluation and testing.
One important note. We allow complete open CGI access to our servers. We do not review your code before we allow it to run on an Interland Web server. However, if your code interferes with other users, or significantly degrades the performance of the server we will stop it from running, notify you of the problem immediately, and suggest ways to improve its performance.
Suggested Links
http://www.htmlhelp.com
Web Design Group - An excellent source for CGI and Development issues.
http://www.perl.com/CPAN-local/doc/FAQs/FAQ/PerlFAQ.html
Perl.com - An excellent source information on Perl issues.
- Updated: March 13, 2001