Fox Pages Server 2.1.0

What's new!

Pipelining

- Added support for pipelining (multiple requests)
Exists in the HTTP specification the possibility of the web browser to send multiple requests and the server must answer all requests in the same order.

Digital certificates

- New certstore field in SERVERS.DBF table. This field indicates the certificate location and accepts the following values:

1) "MY" if the certificate is installed in the personal certificates folder.
2) "CA" if the certificate is installed on the certification authority certificate folder.
3) "ROOT" if the certificate is installed in the root certification certificate folder.
4) Fill this field with the path and filename of the certificate file, so the certifed not need to be installed.

Important:
Windows separates each user certificates. Certificates MUST be installed according to the following rules:
- In development mode, it must be installed on the logged user account.
- In distribution mode, it must be installed in the SYSTEM account.

- The certificate MUST be in PFX format (Personal Information Exchange)

- The server must be configured to accept connections on port 443 (https) and must be done port redirections from port 80 (http).

Requirements

Microsoft Visual FoxPro 9.0

What is Fox Server Pages

Fox Server Pages is a Visual Foxpro multithreaded webserver.

Distribution

The Fox Pages Server is distributed in two modes: development and distribution.

Development Mode

Development mode requires Visual FoxPro installed. In this mode the server runs by default in singlethread for the development of new functions of the server or FXP pages.

Distribution Mode

Distribution mode requires only the runtime of Visual FoxPro installed. In this mode the server runs in multithreads providing extreme processing.

In both modes any error is logged to the file server\serverlog.txt for tracking errors.

Before you start

Fox Pages Server uses port 80 by default, so before starting the use is necessary to stop any service that is using port 80 (IIS, Apache, etc.) or change the port at the beginning of server.prg program, or corresponding field from the table server\data\servers.dbf

The Visual FoxPro debuguer only works in development mode, it is impossible to display any interface when the code is executed in a multithreaded DLL and any attempt can lead to an error or freezing the thread in use.

Before installing

Do not attempt the installation procedure in both development and distribution modes on the same computer. If this is necessary, run the install.bat file instead of instdev.bat. It will register the components and create the Windows service. Set the development mode to use a different port from the distribution mode.

Development mode is configured in the first lines of server.prg program.
Distribution mode is configured in the files found in the server\data folder.

If a port conflict exists the first to start will be used.

Installation in development mode

1) Download the file source.zip.
2) Unzip the file to the desired folder.
3) Run the file or install.bat instdev.bat as described above. (To install on Windows 10 you must use Command Prompt as Administrator)
4) Open the project fpserver.pjx
5) Run the program server.prg

Use the command SET STEP ON in any part of the server or FXP page development code to start debuguer Visual Fox Pro.

Installation in distribution mode

1) Download the file binaries.zip.
2) Unzip the file to the desired folder.
3) Run the install.bat file to register the components and start service. (To install on Windows 10 you must use Command Prompt as Administrator)

It is not recommended to leave the HTML files along with FXP compiled in the same folder on the server, they can be downloaded if the extension is changed in webbrowser.

Use

After starting the server use any browser typing the address http://localhost, if the port is changed, for example to 8080, type in http://localhost:8080

Catalyst Sockwrench

The component used for connections is the SocketWrench from Catalyst Development company (www.catalyst.com).
This component is distributed in a freeware version (6.0), and a commercial version (8.0). The only limitation of the free version is not have support for secure connections (SSL/TLS).

The development version (source code) is configured to use the freeware version, which is a limitation only if you need to use secure connections in the development environment or to create your own distributions. In this case you must purchase a license of the control.

The distribution version uses the comercial version to allow use of secure connections.

The configuration between free and commercial version is made if the file server\prgs\foxpages.h as follows:

// SocketWrench
#DEFINE USEFREEVERSION
// # DEFINE CSWSOCK8LICENSEKEY "INSERT YOUR RUNTIME LICENSE HERE"

Credits

Multithreading - VFP2C32T.FLL - Christian Ehlscheid

Compression - VFPCompression - Craig Boyd

Encryption - VFPEncryption - Craig Boyd

JSON Parser - Modified version of Craig Boyd library.

Sockets - Socketwrench - Catalyst Development

Last edited Apr 5, 2016 at 6:08 PM by crivelari, version 8