Build ProLinga-Web

Prerequisites

ProLinga-Web 0.0.2 has been built and tested on RedHat Fedora, Mandriva Linux, Ubuntu, Debian and openSUSE. The product should compile and run successfully on other GNU/Linux distributions as well as UNIX. GNU gcc/g++ >= 3.3 compilers/tools are required for a successful build.

Required 3rd party package(s) for a successful build:

  • libxml2. This product provides XML libraries.

  • libxslt. This product provides XSLT transformations.

  • ProLinga-Soap This product provides a SOAP/XML engine.

Optional 3rd party package(s) for a successful build:

  • FastCGI This product provides a high performance CGI channel.

  • ProLinga-Run This product provides a 4GL language interpreter and run-time environment.

General Download and Installation Instructions 3rd Party Products.

Assuming the directory /opt/builds will be used for 3rd party products, then in general the following steps need to be taken to download and extract a 3rd party product source archive.

  • Download source tar/gz archive to /opt/builds/[product] Example: place libxml2-x.x.x.tar.gz in /opt/builds/libxml2

  • Use 'gunzip' to unzip the archive

  • Use 'tar xvf [product.tar] to extract the archive. Example: tar xvf libxml2-x.x.x.tar.

  • A new sub directory will be created with the new version of the product. Example: /opt/builds/libxml2/libxml2-x.x.x This way several versions of the same products can be installed next to each other.

For product specific installation instructions see following sections.

Libxml2:

Product root dir: /opt/builds/libxml2

Current version: 2.6.31

Download: ftp://xmlsoft.org/libxml2/libxml2-2.6.31.tar.gz

Build Instructions:

cd /opt/builds/libxml2/libxml2-2.6.31
./configure --prefix=/opt/builds/libxml2/libxml2-2.6.31
make
make install

Libxslt:

Product root dir: /opt/builds/libxslt

Current version: 1.1.22

Download: ftp://xmlsoft.org/libxml2/libxslt-1.1.22.tar.gz

Build Instructions:

cd /opt/builds/libxslt/libxslt-1.1.22
./configure --prefix=/opt/builds/libxslt/libxslt-1.1.22
make
make install

ProLinga-Soap:

Product root dir: /opt/builds/prolinga

Current version: 0.0.1

Download: http://download.prolinga.org

Build Instructions:

cd /opt/builds/prolinga/prolinga-soap-0.0.1
./configure --prefix=/opt/builds/prolinga/prolinga-soap-0.0.1
make
make install

Note

See the ProLinga-Soap Project documentation for more installation information.

FastCGI:

There are two parts to this product:

  1. Web Server Module

  2. Application Library

To be able to use FastCGI, the Web Server needs to have access to a FastCGI module. At this stage only Apache Web Server on GNU/Linux has been tested and the following build instructions applies to that combination only (assuming a Apache binary distribution). For other combinations, please find the information on the homepage of FastCGI.

Web Server Module : mod_fastcgi.so

To find out if this Apache module is installed check if mod_fastcgi.so is in the directory /etc/httpd/modules. The httpd-development kit needs to be installed.

Product root dir: /opt/builds/fastcgi

Current version: 2.4.6 (Only works with Apache 1.3 and later)

Download: http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz

Build Instructions:

cd /opt/builds/fastcgi/mod_fastcgi-2.4.6
cp Makefile.AP2 Makefile
make top_dir=/usr/lib/httpd
make top_dir=/usr/lib/http install

Edit the file /etc/httpd/conf/httpd.conf and add the following line:

LoadModule fastcgi_module modules/mod_fastcgi.so

Set the following directive:

FastCgiIpcDir /tmp

Application Library (Development Kit)

Product root dir: /opt/builds/fastcgi

Current version: 2.4.0

Download: http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz

Build Instructions:

cd /opt/builds/fastcgi/fcgi-2.4.0
mkdir fcgi  (install in build dir triggers errors)
 ./configure --prefix=/opt/builds/fastcgi/fcgi-2.4.0/fcgi
make
make install

An alias has to be setup, so images etc. can be displayed:

Alias /[html_root_dir_name]/ "[installdir]/var/www/html/"

Example:

Alias /prolinga-web/ "/home/prolinga/prolinga-web/var/www/html/"

To be able to run prolingaweb from within a web browser, an Alias has to be setup on the (Apache) Web Server:

For traditional CGI:

ScriptAlias /[cgi_dir_name]/ "[installdir]/var/www/cgi-bin/"

Example:

ScriptAlias /prolinga-cgi/ "/home/prolinga/prolinga-web/var/www/cgi-bin/"

For FastCGI:

Add a similar section to httpd.conf

# FastCGI
<IfModule mod_fastcgi.c>

        Alias /[cgi_dir_name]/ "[installdir]/var/www/cgi-bin/"

        <Directory [installdir]/var/www/cgi-bin/>
                SetHandler fastcgi-script
                Options +ExecCGI
        </Directory>
</IfModule>

Example:

# FastCGI
<IfModule mod_fastcgi.c>

        Alias /prolinga-cgi/ "/home/prolinga/prolinga/prolinga-web/var/www/cgi-bin/"

        <Directory /home/prolinga/prolinga/prolinga-web/var/www/cgi-bin/>
                SetHandler fastcgi-script
                Options +ExecCGI
        </Directory>
</IfModule>

For Apache edit the file httpd.conf (most likely in /etc/httpd/conf) and restart the httpd daemon (/etc/rc.d/init.d/httpd restart).

ProLinga-Run:

Product root dir: /opt/builds/prolinga

Current version: 0.0.1

Download: http://download.prolinga.org

Build Instructions:

cd /opt/builds/prolinga/prolinga-run-0.0.1
./configure --prefix=/opt/builds/prolinga/prolinga-run-0.0.1
make
make install

Note

See the ProLinga-Run Project documentation for more installation information. This product is only required for a traditional access method (=library linkage), rather than the prefered Web Services access method.