Zero logo

The Uniform Server Zero XV

Welcome to The Uniform Server and this documentation, which is for the Zero series. The Uniform Server is a free and open source Windows Apache-MySQL-PHP-Perl server suite. The Uniform Server is an excellent system for both beginning webmasters and experienced developers. It is a full-power web-server suitable for production use, but small enough to carry on a USB memory stick, or even a camera's flash drive. Covered in this document is the pre-configured server (UniServer Zero 15_x_x_ZeroXV) and modules required to assemble your own bespoke server.

  UniServer Zero

Background

Uniform Zero takes a fresh look at Apache, MySQL, PHP and Perl portability. Uniform Server has been redesigned from the ground up; emphasis is given to reducing code size. This is achieved through a modular implementation using plugins. Install only the plugins you require; this avoids the dreaded bloat-ware scenario. Server control is provided by UniController, a Pascal application written and compiled using Lazarus.

For new users, creating a bespoke server can be daunting. To address this, UniServer Zero releases 15_x_x_ZeroXV are versions with pre-installed Zero XV modules (plugins), producing a standard WAMP (Windows, Apache, MySQL and PHP) server package. This package is fully portable, allowing you to run servers from a USB memory stick.

In the context of this documentation, portability is defined as an application that does not install data in the registry on a host PC. Generally, applications ported to Windows from a Unix environment are inherently portable; for example: Apache, MySQL, PHP and Perl. These require only a few minor tweaks to run in portable mode.

Applications can be run either as a standard program or as a service; Uniform Server Zero supports both methods. Running an application as a standard program requires that application to be manually restarted after powering-up a PC and logging in. This disadvantage is resolved by optionally placing an entry in the start-up menu to provide automatic restarting after logging in. Although not portable, it is a small concession for users that require this functionality. In contrast, applications that run as a service automatically start after powering-up a PC; this is the preferred method when running a production server. Again, this is not portable; remember to uninstall services before moving servers.

Similarly, editing the Windows hosts file is not a portable operation. That said, Uniform Server Zero provides support to manually and automatically add and delete entries in this file.

We strongly suggest that you check over the points on this page, as they provide important information that may help you avoid common problems. The following two sections (Installation - pre-configured server and Installation - bespoke server) will have you up and running in seconds. A more detailed step-by-step guide is provided on the Quick Start Guide page.

Installation - pre-configured server

Installing is a misnomer! Nothing is installed to your PCs registry. All files are extracted to their appropriate location within the UniServer folder structure. To install the pre-configured server, proceed as follows:

  • Download and save the latest server file (for example 15_x_x_ZeroXV.exe) to drive C:
  • The file is a self-extracting archive; double-click to run the extractor.
  • A new folder UniServerZ is created containing UniController.exe and support folders and files.
  • Start controller by double-clicking on file UniController.exe
  • Click Start Apache button. Indicator changes from red to green when server is running.
  • Click Start MySQL button. Indicator changes from red to green when server is running.
  • Display test page by clicking button View www or type http://localhost into your browser.

Note 1: Button states toggle to Stop Apache and Stop MySQL; click to stop servers.

Note 2: Installing your website: except for file .htaccess, delete the contents of folder UniServerZ\www and then copy your site to this folder. If your site uses a database, use phpMyAdmin to create it.

  UniServer Zero

Installation - bespoke server

Again, installing is a misnomer! Nothing is installed to your PCs registry. All files are extracted to their appropriate location within the UniServer folder structure. Unlike a pre-configured server, a bespoke server requires more work on your part. It is assembled from individual plugin modules as follows:

Controller

The Uniform Server Zero's base component is the controller application. Download and extract this base component first as follows:

Install controller:

  • Download and save the latest controller file (ZeroXV_unicontroller_x_x_x.exe) to either a new folder or top-level of a drive, for example C: drive.
  • The file is a self-extracting archive; double-click to run the extractor.
  • A new folder UniServerZ is created containing the controller application UniController.exe and support folders and files.
  • Download and save any plugins (modules) to folder UniServerZ. Again, these are self-extracting archives; double-click to run extractor. If prompted, allow overwrite.
  • The controller automatically detects installed plugins.

Utility option buttons (opt1-opt3) are initially unassigned. Although MySQL modules have been pre-assigned to these buttons, you can change their assignment and button text. However, it is recommended you keep the pre-assignments.

  UniServer Zero

Plugins

The Uniform Server Zero design is modular. Install only the plugins (modules) that you require. Each server requires a controller (covered above), which automatically detects installed plugins.

The extraction procedure is identical for all plugins and applies to both pre-configured and bespoke servers. Proceed as follows:

Install plugins:

  • If running, stop Apache and MySQL servers. Close UniController.
  • Download required plugin installation file. For example, ZeroXV_phpmyadmin_x_x_x.exe installs phpMyAdmin.
  • Save the downloaded file to folder UniServerZ.
  • Double-click on the above installation file. This runs the self extracting archive.
  • If prompted, allow overwriting of existing files.
  • If you wish, delete the installation file; it is no longer required.

Note: For full plugin details, refer to Plugins - Modules page.

Installation Restriction

There is one aspect that needs to be validated. This is especially true if you have been unable to start the servers.

Server Paths

The installation (extraction) defaults to creating "C:\UniServerZ". The documentation examples assume this default. You can install The Uniform Server Zero in nearly any location, with the exception that the path to folder UniServerZ must not contain spaces. Do not use "C:\Program Files", for example (which has other problems as well, such as restricted permissions and system restore inconsistencies). We recommend installing to the drive root, such as "C:\" or "D:\" for simplicity. Other locations, such as "C:\test1\appserver", work just as well.

Note: The space character restriction is generic and applies to other WAMP stacks as well. Many applications that will be hosted on the server do not tolerate spaces in paths. The system restore issue applies mainly to individual component installations.

If the current installation is on a faulty path, the situation can easily be resolved by just moving the UniServerZ directory to a proper location. You do not have to delete the directory and reinstall. For example, just move "D:\bad path\UniServerZ" to "D:\good_loc\UniServerZ".

Help

Two levels of help are provided: local help as instant pop-up message boxes and detailed help in this documentation, directly linked by the Documentation controller button.

Security

The security of your server is one of our primary concerns, and for that reason the default settings are oriented for production. We take this seriously and ask that if you believe that a setting is not right for production, you email us or post it in the forum. We will look into it and see if it should be changed.

In this light, before you can run the servers, several nag screens are presented. Initially, you can click No to each of these. See the Quick start guide for further details.

In order to allow access to your server by other users (Internet or Intranet), you must manually enable the required functions. See Apache dropdown menu option Access and Passwords for details.

Other Issues

This section covers the basics a new user should be aware of.

Note: Uniform Server 15_x_x_ZeroXV does not run on Windows XP or Windows Server 2003.

VS Libraries

Apache, PHP 7.*.* and PHP 8.*.* binaries are compiled with Visual Studio. Ensure you have installed the latest supported Microsoft Visual C++ Redistributable packages for Visual Studio.
This can be found at Microsoft Visual C++ Redistributable latest supported downloads.
Be sure to select the package appropriate for your OS and hardware (select: vc_redist.x64.exe, or vc_redist.x86.exe if using UniServer Zero XIV or older).
If you do not have the Visual Studio libraries, when you attempt to start the servers, you will get a runtime error popup.

MySQL Access

The MySQL server supports IPv4 and IPv6; localhost resolves to 127.0.0.1 and ::1 respectively. You can bypass the resolver by using an IP address; for example, you can force an IPv4 address by replacing localhost with 127.0.0.1.
During third party application installations (for example, MediaWiki and Wordpress), you are requested to enter a MySQL host name. Use IP address 127.0.0.1

Windows and UAC

The startup executables have been marked as requiring Administrator privilege. When you start these programs, you must authorize this access in order to continue.

Firewalls

When you initially start the servers, your firewall will sense the programs' requests for IP access, and (typically) will require your authorization to change the security. If you have a third-party firewall activated (Symantec, ZoneAlarm, etc.), be sure to set the port access as required since it may not display a message.

Skype

Apache and Skype both use standard port 80. If you have Skype running, it will clash with your local server. To prevent Apache and Skype clashing, you need to adjust the Skype settings as follows:

  • Log into your Skype
  • Go to Tools>Options>Advanced>Connect
  • Uncheck the box which says Use Port 80 and 443
  • Click Save

Where to next

Quick Start - This page provides a quick start guide
Site Map - Main site index


--oOo--