Resources logo   MOREnet logo
 Home >  Web Site Management > Application Server > Application Server Overview

PHP/Perl Application Server Overview

Important: MOREnet support for the PHP/Perl Application Server (AppServer) is for the server environment itself. If your organization is interested in having a web site enabled with an Application Server, please contact MOREnet at help@more.net or call either (800) 509-6673 or (573) 884-7200 for additional information. MOREnet does not support the applications you may install within the AppServer. If you need assistance with an application you have installed, MOREnet may be able to assist you on a case-by-case basis. This is dependent on staff time available and whether MOREnet staff have sufficient knowledge of the application in question to be able to assist. Any member-installed application assistance will be done on a consulting basis and hourly consulting fees will be charged.

Contents


Overview

MOREnet can enable kinetic Service hosted web sites to process PHP and Perl applications for the web. These web applications may utilize a MySQL database, send e-mail, and/or provide dynamic content to supplement your web site. Enabling PHP and Perl can be done either at the time a site is set up or at a later date. If done later, you will not need to alter or modify your existing web site; current contents will continue to function as they did before. Once enabled, simply begin adding additional content which utilizes PHP or Perl and/or modify existing content to take advantage of the new capabilities of your web site.

The Application Server (AppServer) works as an addition to your web site. To maintain efficiency and rapid delivery of content to your viewers, only web content which requires CGI resources are processed by the application server. Static HTML pages, graphics, and other content not requiring processing, are served directly from the front-end web server.

All of the processing takes place "behind the scenes" on the back-end AppServer. Which means your web content designers and PHP or Perl CGI programmers do not have to change the way they upload content to the web site. You do not need to alter or modify your existing methods of updating your web site.


PHP

The kinetic Service AppServer provides support for applications which are compatible with PHP version 5.2.10. In addition, a MySQL database is available for those PHP applications which can use a MySQL database.

Installation of most applications will consist of downloading the app from the authors web site, unzipping it, and then reading the applications' installation instructions. Once this is done, upload the unzipped application's files to your web site, and follow the applications' installation instructions. Commonly there is a configuration utility the instructions will tell you to run to complete your installation.


Perl

The kinetic Service AppServer provides support for applications which are compatible with Perl version 5.8.9. In addition, a MySQL database is available for those Perl applications which can use a MySQL database.

Installation of most applications will consist of downloading the app from their web site, unzipping it, and then reading the applications' installation instructions. Once this is done, upload the unzipped application's files to your web site, and follow the applications' installation instructions. Some times there is a configuration utility the instructions will tell you to run to complete your installation. However, typically the installation instructions will tell you to simply edit a particular file and change certain values as needed before uploading to your web site.

Perl scripts historically have been placed within the /cgi-bin/ directory. However, this is not a strict requirement with the kinetic Service Application Server. Your Perl scripts will work regardless of where they are placed within the directory structure of your web site. It is only a recommendation that Perl scripts be grouped together within a /cgi-bin/ directory so that they can be more easily managed and updated.


PHP and Perl Environment Information

If an application you are installing has specific requirements you need to check, or if you are developing your own PHP and/or Perl applications, you can find information on the environment using the following utilities:

  • http://your.web.site/phpinfo/info.php
  • http://your.web.site/perldiver/perldiver.cgi

Two additional utility applications are available for monitoring the performance of your applications. APC and MemCache are background utilities running within the back-end AppServer. APC caches and optimizes PHP code while applications are running to help reduce execution time. MemCache is a utility that helps to decrease your application's database load. You can find information on the performance of your applications usage of APC and MemCache using the following utilities:

  • http://your.web.site/phpinfo/apc.php
  • http://your.web.site/phpinfo/memcache.php

You will need your web site's Web Access Controller (WAC) accessname and password to access these utilities.


Application Data and Web Content Directories

Some applications may have need of a data directory in which to store files, session information, or temporary space for receiving uploads. Typically for such files it is preferred that they not be "web visible" (i.e.- viewable with a web browser). The AppServer provides a place for these types of files.

When using FTP to update your web site's content, you will find the application data directory within the directory for your kinetic service web site. This is at the same "level" as the site's ./logs, ./reports and ./www default directories. Within the application data directory you will find two additional directories:

  • /data/
  • /data/php_sessions/
  • /data/php_uploads/
These two directories are used specifically by PHP applications if and when they need to store session information or temporary uploaded files. When configuring PHP applications for your web site, you do not need to specifically define these directories for sessions and temporary uploads. PHP within the Application Server is already configured to use these directories.

Some PHP or Perl applications may need a place to store files other than session files or temporary uploaded files. If you do not want these files to be web browser viewable, you can use the ./data/ directory. In the configuration for such applications, the directory path to the ./data/ directory will be:

  • /export/web/data/

See Default Directories Within All Web Sites for more information regarding the default directories.


Some applications have a place in their configuration for defining the web content directory path. Normally this is referring to the directory path to the start of your site's web content area. You may also see this referred to as the "web content root". For applications running in the AppServer, this appears different than the path you will see via FTP. Within the AppServer, your applications see the start of your web site's web content area as being the following directory:

  • /export/web/www/

Additionally there are other applications which may need to know in their configuration what is frequently called the "application directory path". This is simply the web content directory path plus the directory path to where you installed the application. For example, if you created a directory called myapp and uploaded the application files to this directory, you would configure the application directory path as:

  • /export/web/www/myapp/


MySQL

The kinetic Service Application Server also provides access to MySQL version 5.0.51a. You will be provided with a MySQL account to use for accessing MySQL. When the application server is set up for your web site, the information your downloaded applications will need for their database configuration will be provided to you.

If you intend to design and write your own custom PHP or Perl applications, it is recommended that you consider downloading the free MySQL WorkBench from MySQL's web site. You can use MySQL WorkBench for designing and managing tables, as well as testing queries and development purposes. Additionally, if you will need it, consider downloading the MySQL ODBC Driver - Connector/ODBC - if you will be using Windows™ applications to connect from your desktop computer to the database. This is also available for free from MySQL. Note that none of these items are required to utilize your web site's database; they are however frequently helpful.
And did we mention that they are free?


Error Logging

All error messages which are passed back to the web server will be logged in the Apache error logs for your web site. Generally the error messages logged in this fashion are the type which cause the web visitor to see a "500:Internal Server Error" message displayed in their browser. Usually these are fatal type errors which completely prevent the application from running at all. To find your web site's error log when these errors occur, read the section on /logs in the Default Directories Within All Web Sites documentation for more information.

Other errors can result when the application is syntactically correct but contains logic errors in the programming. These errors typically result in the application running, but not delivering the correct results. These errors can be more difficult to track down as there is often no entry in the error log. Solving them usually depends on the programmer including appropriate code to detect and display messages when things go astray. Failure to connect to a database, failed SQL inserts or updates, and errors returned from SendMail - without program code to detect such problems - are some of the more common sources of applications running but not working correctly.


SFTP

With an AppServer enabled web site, select content providers can also use SFTP to maintain content. There are additional steps to enable usage of SFTP. The following MOREnet Knowledge Base entry details the steps necessary to use SFTP with your kinetic Service hosted web site AppServer:

How to: Configure an SFTP Client For Use With the kinetic Service

Before allowing content providers to use SFTP, be aware that those who use SFTP will have access to the entire web content area of your organization's web site. The web publishing permissions which are set for content providers in kinetic Manager, are not applied to SFTP users. If you need a more secure connection but also need to restrict publishing to the publishing permissions set in kinetic Manager, use FTPeS instead.

SFTP is also known as "secure FTP" or "secure shell FTP". SFTP is actually a secure shell connection to the AppServer which uses scp in a fashion that mimics FTP. Note that SFTP should not be confused with FTPS or FTPeS.


Shell Access and Crontabs

With an AppServer enabled web site, your site's webmaster can use an SSH client to securely access the shell command line of your site's AppServer. This functionality is for experienced webmasters with knowledge of the *nix command line shell environment. You will also be able to set and maintain crontab entries using SSH. There are additional steps to enable usage of SSH. The following MOREnet Knowledge Base entry details the steps necessary to use SSH with your kinetic Service hosted web site AppServer:

How to: Configure an SSH Client to Access a kinetic Service Hosted Web Site
(additional and optional)
How to: Set Up A Desktop To MySQL Encrypted Connection (From Start to Finish)


Support

MOREnet will provide support and information for the application hosting environment. MOREnet support covers the server-side aspects of the service and information regarding the environment in which your applications will run. This does not include trouble-shooting or modifying PHP or Perl applications which you install or were created by your content publishers or programmers.


Application Consulting

If you need assistance perfecting your web-based PHP or Perl applications created by your content publishers or programmers, or if you need to consult on how best to implement a new custom-designed web application, MOREnet can provide consulting assistance as requested. MOREnet application consulting is on a fee-for-service, hourly billed rate. MOREnet will first provide you with an evaluation and estimate of how much time the project or work will take.