Zero logo

Quick Start Guide

The Uniform Server’s default configuration is set to allow only local access; users on your network or the Internet cannot access your server. This allows you to develop and view your website locally in a secure environment.
This guide shows you how to install and run the servers as standard programs. When run as standard programs, nothing is installed to the Windows registry. The servers are therefore fully portable.

Pre-configured server

If you are using Uniform Server Zero with pre-installed ZeroModules, install 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 associated folders and files.
  • That completes installation; jump to Installing your Website or Test pages.

Alternatively, if you are installing a bespoke server, follow the next three Install sections and proceed to Installing your Website or Test pages.

  UniServer Zero

Install - UniController

The Uniform Server Zeros base component is the controller application. Download and extract this base component first.

  • Download and save the latest controller file (ZeroXV_unicontroller_x_x_x.exe) to drive C:
  • The file is a self-extracting archive; double-click to run the extractor.
  • The installation (extraction) defaults to creating folder C:\UniServerZ, with the folder structure as shown on the right.
  • Once extracted, add plugins as required (see next section for details).
  US Folder structure

Server Paths

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 installs.

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\UniServer to D:\good_loc\UniServerZ.

General note:

UniController on its own allows you to send test e-mails using the email utility msmtp. This utility provides support for PHP plugins, allowing the PHP mail function to send emails.

In addition, the controller provides a menu option to edit or view the UniServer PAC file. Creating an Apache Vhost automatically adds an entry to this file. Entries in the PAC file resolve domain names to local host, allowing testing without the need for a DNS entry or writing an entry in the Windows hosts file.

The controller also provides a menu option to edit or view the Windows hosts file. Creating an Apache Vhost automatically adds an entry to this file if that user option is enabled (enabled by default). Entries in the hosts file resolve domain names to local host, allowing testing without the need for a DNS entry.

Greyed out controller menu options and buttons indicate that option is unavailable until either the appropriate plugin is installed or the servers (Apache and MySQL) are running.

  UniServer Zero

Install - Plugins

The Uniform Server Zero is designed for portability; emphasis is given to reducing code size. The Uniform Server Zero achieves this through a modular implementation. Install only plugins you require; these are listed on the plugins page. Plugins avoid the dreaded bloat-ware scenario.

Installing a plugin

  • Close running servers and close UniController.
  • Download and save required plugin file (ZeroXV_moduleName_x_x_x.exe) to folder UniServerZ.
  • Execute the downloaded file (ZeroXV_moduleName_x_x_x.exe). Once extracted, the plugin is ready to run.
  • If you wish, delete the installation file.

After extraction, plugins have additional documentation in the form of a ZeroXV_moduleName_x_x_x_read_me.txt file located in folder UniServerZ.

Install WAMP components

The following provides a complete guide for installing a WAMP (Windows Apache MySQL and PHP) 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 a WAMP server, proceed as follows:

  1. Download and save the latest controller file (ZeroXV_unicontroller_x_x_x.exe) to drive C:
  2. The file is a self-extracting archive; double-click to run the extractor.
  3. A new folder C:\UniServerZ is created containing the controller application UniController.exe and associated folders and files.
  4. Download the following plugins and save to folder UniServerZ:
       ◦ ZeroXV_apache_x_x_x.exe - Apache server
       ◦ ZeroXV_mysql_x_x_x.exe - MySQL server
       ◦ ZeroXV_php_x_x_x.exe - PHP (Use PHP modules from the Default list)
       ◦ ZeroXV_phpmyadmin_x_x_x.exe - Admin for MySQL server
  5. For each of the above installation files, double-click to run the extractor.
  6. If prompted, allow overwriting of existing files.
  7. If you wish, delete the installation files; they are no longer required.

Note: Each plugin contains a read-me file providing any additional instructions; this is located in folder UniServerZ.

Clean module install

Initial installation:
First time installation of modules requires nothing special; proceed as above.

Already installed modules:
For modules that have already been installed, first delete the corresponding module folder and then proceed as above.

Modules name and folder to delete are listed on the right.

Module Folder
ZeroXV_apache_x_x_x.exe UniServerZ\core\apache2
ZeroXV_mariadb_x_x_x.exe UniServerZ\core\mysql
ZeroXV_mysql_x_x_x.exe UniServerZ\core\mysql
ZeroXV_php_7_4_x.exe UniServerZ\core\php74
ZeroXV_php_8_0_x.exe UniServerZ\core\php80
ZeroXV_php_8_1_x.exe UniServerZ\core\php81
ZeroXV_php_8_2_x.exe UniServerZ\core\php82
ZeroXV_php_8_x_x.exe UniServerZ\core\php8x
ZeroXV_phpmyadmin_x_x_x.exe UniServerZ\home\us_opt1
ZeroXV_adminer_x_x_x.exe UniServerZ\home\us_opt2
ZeroXV_strawberry_perl_x_x_x.exe UniServerZ\home\perl

Installing your Website or Test pages

General note:
The instructions that follow assume you have installed the above WAMP server or a pre-configured server.

Server root folder:

  • Web pages are served from folder UniServerZ\www (B), which is commonly referred to as the server root folder.
  • Simply copy your Website into this root folder.

The root folder www already contains a very simple web-site consisting of a single page named index.php, including its associated folders (css and images). Its purpose is to provide a test page, allowing you to confirm that the server is functioning properly.

  US Folder structure

Before installing your Website, you can delete the index.php file as well as css and images folders.
Don't delete the .htaccess and favicon.ico files. They have the following purposes:

  • .htaccess - This file is part of the server security and should not be deleted.
  • favicon.ico - This is a small image file displayed in a browser next to a Web page name.
    You can replace this with your own file, but use the name favicon.ico so browsers will display it properly.

Note: Having a favicon image is not a requirement, but modern browsers attempt to load this image by default. If your server does not contain one, an error is logged in Apache's log file.

Note 1: Unix installations use a root folder named htdocs. When using an application installation guide that refers to htdocs, use folder www instead.
Note 2: The file structure is not static. For example, running Vhost creates the new folder UniServerZ\vhosts, containing Vhost root folders.

Server Control

The UniServerZ folder contains file UniController.exe, which opens The Uniform Server's control application for running the servers as a standard program.

Run servers as a Program

UniController runs the servers as a standard program. When using UniController, nothing is installed to your operating system's registry. This is ideal for a development server, especially when running from a USB memory stick, since you do not have to perform anything special to stop or remove the servers.

Run UniController:

The Uniform Server's folder structure is shown on the right.

  • Navigate to the folder UniServerZ (A).
       ◦ Locate the file UniController.exe and double-click;
         this starts the controller application UniController.
  • Before UniController is displayed, the Set new MySQL root password pop-up is displayed.
       ◦ You may click Cancel and set the password later.
  US Zero folder structure

Run Servers:

UniController is shown on the right.

  • Click Start Apache button (A). Starts the Apache server.
  • Click Start MySQL button (B). Starts the MySQL server.
       ◦ If challenged by your firewall, allow access.
       ◦ Buttons toggle state displaying Stop Apache and Stop MySQL.
       ◦ Indicators i1 and i2 change from red to green, indicating servers are running.
  • Browser opens, displaying ref, splash and test pages.
  • Greyed buttons are enabled accordingly.

Note 1: Be aware that the splash page is not the index.php file in www.
Note 2: Browser is either your default browser or the portable browser (plugin required).

  UniController 1

General note:

There are various start-up conditions. If you receive an Unable to connect message and are provided an option from your browser to try again, wait until all disk activity completes and click the Try again button. Alternatively, wait a reasonable time to view the initial splash page, and enter the following into your browser: http://localhost/us_splash/index.php

If you do not have the Visual Studio libraries, when you attempt to start the servers, you will get a runtime error popup. See VS Libraries to resolve this.

Stop the Servers


UniController is shown on the right.

  • Click Stop Apache button (A). Stops the Apache server.
  • Click Stop MySQL button (B). Stops the MySQL server.
       ◦ Buttons toggle state displaying Start Apache and Start MySQL.
       ◦ Indicators i1 and i2 change from green to red, indicating servers have stopped.
  • Active buttons are disabled (greyed) accordingly.

Note 1: Stopping the MySQL server attempts to perform a clean shutdown. If this fails, user is provided the option to forcibly kill the server.
Note 2: Closing UniController does not change servers' state. When restarting UniController, the current server state is picked up and displayed.

  UniController 2

Set new MySQL root password

When UniController is started, although you can skip setting a new MySQL root password, it is highly recommended that you set it at the first opportunity.
Well, this is the first opportunity; the pop-up allows you to change the current root password!

  • The Set new MySQL root password menu opens (see image on right).
  • Enter a new password (A).
  • Click the OK button (B).

You can click the Cancel button and set the password later.

  Set root user MySQL password

Note: You can re-open this menu from UniController as follows:

Click MySQL > Change MySQL root password

Root folder www - Test

The root folder www contains a very simple web-site consisting of a single page named index.php and associated folders (css and images).

Clicking UniController button View www displays this page, confirming that Apache is serving pages from this folder.

View pages

The default server name is localhost. Use this to access pages as follows:

Index Pages

To access index pages (such as index.htm, index.html, index.php), type the following into your browser:



Specific pages

Display a specific page by appending its name to the server name. For example, if your test page is named test.php, then type the following into your browser:


Note: The Apache server automatically searches for index pages and displays the first one it finds. If it cannot find an index page, a directory listing is displayed instead.

Where to next

How to put the servers on-line - Open up your server for public or intranet access and optionally restrict access using a name and password.