5.0-Nano: Introduction

From The Uniform Server Wiki
Jump to: navigation, search

 

Uniform Server 5-Nano

Overview

Uniform Server has undergone a major architecture change; to a certain extent this is transparent. The focus has been on ease of use and maximum flexibly while still retaining a small footprint. A fundamental change has been the removal of Perl which was used for server control, and now is replaced with PHP CLI. The advantage is that both Apanel and server-control now share a common language, as well as a common set of PHP functions. Batch files no longer perform any control functionality. They are used mainly to run PHP scripts and provide pop-up information windows.

Control architecture

The control architecture has been rebuilt from the ground up; it now uses a mix of dynamic absolute paths and relative paths. Most significantly, a virtual drive is no longer required for portability. Installation as services no longer requires a server relocation and conversion. Uniform Server now runs in either mode, as a standard program or a service or a mix of either, directly in the folder it is extracted to. This folder in its entirety can be relocated and servers run from there, for example, a USB memory stick.

The net result is a more consistent architecture, allowing independent control of each server. UniTray has had a chequered past, originally offered as a plugin, and now integrated into this version of Uniform Server. It’s a dual menu tray icon; left and right mouse buttons select either of two menus, allowing the servers to be run in either in standard program mode or as a service, respectively. For convenience, common menu options are duplicated in both menus.

Apanel

Apanel has been enhanced but it retains its ease of use and ability to fine-tune the servers. It dynamically tracks user options selected and presents menu options appropriate to that selection. For example, if you choose not to run the MySQL server, all associated menu options are hidden.

Installation

After unpacking Uniform Server to a folder, you can run the servers either as standard programs or run as services straight out of the box. That’s the real power of this new architecture; just click and go. You can move the server tree to a new location (another folder, hard drive or USB memory stick) and again you are ready to run.

Hidden

Hidden behind the scenes is more flexibility. You can choose what to run and what to display at start-up. The defaults assume you wish to run or close both servers at the same time, both in standard program mode and in service mode.

In reality, you can select a mix that best suits your requirement. The options are selectable in a single control file.

Summary of features

  • Integrated SSL support
  • Automated self-signed Certificate and Key generation
  • Name/password access to secure server
  • Server status - Includes diagnostics
  • Server status - IP address as seen from Internet
  • Server status - Accessibility check from Internet
  • MySQL Password recovery
  • Main components upgraded
  • Server Control - Uses PHP scripts. No longer uses Perl
 
  • Integrated portable Cron
  • Integrated DtDNS IP Updater
  • Run from any location (does not require a virtual drive)
  • Run as standard program or as a service
  • Alternative batch file control.
  • Run multi-servers on same PC
  • Integrated UniTray
  • Apanel updated.
  • Perl Mini or Full plugin

Uniform Server releases

For reference, here are the Uniform Server stable releases and their main components. Note that earlier versions are likely to have significant security issues, and should not be used for production installations.

  Uniform Server 3.2a  
Apache 2.0.54
MySQL 4.1.12a
PHP 5.0.4
 
phpMyAdmin 2.6.3-rc1
ActivePerl 5.8.7.813
 
  Uniform Server 3.3  
Apache 2.0.55
MySQL 5.0.17
PHP & Extensions 5.1.1
phpMyBackupPro 1.7.1
phpMyAdmin 2.6.4-pl4
ActivePerl 5.8.7.815
 
  Uniform Server 3.5 Apollo  
Apache 2.0.59
MySQL 5.0.37
PHP Version 5.2.3
phpMyBackupPro v.2.1
phpMyAdmin 2.10.2
ActivePerl 5.8.8.820
eAccelerator 0.9.5.1
  Uniform Server 4.0 Mona  
Apache 2.2.11
MySQL 5.1.30-community
PHP 5.2.8
phpMyAdmin 3.0.1.1
ActivePerl 5,10,0,1003
eAccelerator 0.9.5.3
SSL pre-installed (ssl_098j)
  Uniform Server 4.1 Mona  
Apache 2.2.11
MySQL 5.1.33-community
PHP 5.2.9-1
phpMyAdmin 3.1.3.1
ActivePerl 5,10,0,1004
eAccelerator 30953_5.2.9.1
SSL pre-installed (ssl_098k)
  Uniform Server 4.2 Mona  
Apache 2.2.11
MySQL 5.1.34-community
PHP 5.2.9-2
phpMyAdmin 3.1.3.1
ActivePerl 5,10,0,1004
eAccelerator 30953_5.2.9.2
SSL pre-installed (ssl_098k)
  Uniform Server 4.3 Mona  
Apache 2.2.11
MySQL 5.1.35-community
PHP 5.2.10
phpMyAdmin 3.2.0
ActivePerl 5,10,0,1004
eAccelerator 30953_5.2.10
SSL pre-installed (ssl_098k)
  Uniform Server 4.4-Mona  
Apache 2.2.13
MySQL 5.1.38-community
PHP 5.3.0
phpMyAdmin 3.2.2-rc1
ActivePerl 5,10,0,1004
eAccelerator 0.9.6-rc1
SSL pre-installed (ssl_098k)
  Uniform Server 4.5-Mona  
Apache 2.2.14
MySQL 5.1.41-community
PHP 5.3.1
phpMyAdmin 3.2.4
ActivePerl 5,10,0,1004
 
eAccelerator 0.9.6-rc1
SSL pre-installed (ssl_098l)
  Uniform Server 4.5a-Mona  
Apache 2.2.14
MySQL 5.1.41-community
PHP 5.2.12
phpMyAdmin 3.2.4
ActivePerl 5,10,0,1004
 
eAccelerator 0.9.6-rc1
SSL pre-installed (ssl_098k)
  Uniform Server 5.0-Nano  
Apache 2.2.13
MySQL 5.1.38-community
PHP 5.2.10
phpMyAdmin 3.2.2-rc1
ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006
eAccelerator 30953_5.2.10
SSL pre-installed (ssl_098k)
  Uniform Server 5.1-Nano  
Apache 2.2.13
MySQL 5.1.38-community
PHP 5.3.0
phpMyAdmin 3.2.2-rc1
ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006
eAccelerator 0.9.6-rc1
SSL pre-installed (ssl_098k)
  Uniform Server 5.2-Nano  
Apache 2.2.14
MySQL 5.1.39-community
PHP 5.2.11
phpMyAdmin 3.2.2
ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006
eAccelerator 0.9.6-rc1
SSL pre-installed (ssl_098k)
 
  Uniform Server 5.3-Nano  
Apache 2.2.14
MySQL 5.1.39-community
PHP 5.3.0
phpMyAdmin 3.2.2
ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006
eAccelerator 0.9.6-rc1
SSL pre-installed (ssl_098k)
 
  Uniform Server 5.4-Nano  
Apache 2.2.14
MySQL 5.1.41-community
PHP 5.3.1
phpMyAdmin 3.2.3
ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006
eAccelerator 0.9.6-rc1
SSL pre-installed (ssl_098k)
UTF-8 Compatible
  Uniform Server 5.5-Nano  
Apache 2.2.14
MySQL 5.1.41-community
PHP 5.3.1
phpMyAdmin 3.2.4
ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006
eAccelerator 0.9.6-rc1
SSL pre-installed (ssl_098l)
UTF-8 Compatible

 

 

  Uniform Server 5.5a-Nano  
Apache 2.2.14
MySQL 5.1.41-community
PHP 5.2.12
phpMyAdmin 3.2.4
ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006
eAccelerator 0.9.6-rc1
SSL pre-installed (ssl_098k)
UTF-8 Compatible
  Uniform Server 5.6a-Nano  
Apache 2.2.14
MySQL 5.1.44-community
PHP 5.2.13
phpMyAdmin 3.2.5
ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006
eAccelerator 1.0-dev
SSL pre-installed (ssl_098l)
UTF-8 Compatible
  Uniform Server 5.6b-Nano  
Apache 2.2.15
MySQL 5.1.44-community
PHP 5.2.13
phpMyAdmin 3.3.0
ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006
eAccelerator 1.0-dev
SSL pre-installed (ssl_098l)
UTF-8 Compatible
  Uniform Server 5.6-Nano  
Apache 2.2.15
MySQL 5.1.44-community
PHP 5.3.2
phpMyAdmin 3.3.0
ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006
eAccelerator 1.0-dev
SSL pre-installed (ssl_098l)
UTF-8 Compatible
  Uniform Server 5.6.1-Nano  
Apache 2.2.15
MySQL 5.1.45-community
PHP 5.3.2
phpMyAdmin 3.3.1
ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006
eAccelerator 1.0-dev
SSL pre-installed (ssl_098l)
UTF-8 Compatible
  Uniform Server 5.6.3-Nano  
Apache 2.2.15
MySQL 5.1.45-community
PHP 5.3.2
phpMyAdmin 3.3.2
ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006
eAccelerator 1.0-dev
SSL pre-installed (ssl_098l)
UTF-8 Compatible
  Uniform Server 5.6.4-Nano  
Apache 2.2.15
MySQL 5.1.46-community
PHP 5.3.2
phpMyAdmin 3.3.2
ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006
eAccelerator 1.0-dev
SSL pre-installed (ssl_098l)
UTF-8 Compatible
  Uniform Server 5.6.5-Nano  
Apache 2.2.15
MySQL 5.1.46-community
PHP 5.3.2
phpMyAdmin 3.3.3
ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006
eAccelerator 1.0-dev
SSL pre-installed (ssl_098l)
UTF-8 Compatible

Note: 5.6.2-Nano was a security update (bug fix)


V5-Nano Folder Structure Overview

The following provides a quick overview of 5-Nano's main server areas.

A) Top-Level
Server control:

  • Start.exe - Starts UniTray
  • help.bat - Unitray menu information

C) CGI Scripts
Place all your CGI scripts in this folder

  • Perl Scripts - .pl

D) Secure Web Root Folder

  • Place all site/pages to be encrypted
    in this folder.
  • Uses Open SSL 098k

F) Server programs

  • Destination for Perl plugins
    Either mini or full Perl

H) Web Root Folder

  • Place all other site/pages in this folder.
    This is the Standard Web-Server folder

Structure nano 1.gif

B) Alternative control:

  • Batch file start/stop service or program
  • Batch file UniTray start/stop
  • Start_2.exe - Start UniTray without pop-up

E) UniServer control scripts

  • key_cert_gen - Scripts to generate new server certificate and key
  • main - Scripts to run servers either as a standard program or service.
  • move_servers - Script to change server ports rename executables and service
  • perl - Scripts to change shebang and convert to Unix format
  • php_dev_production - Switch php.ini to either development or production
  • restore_mysql_password - Script to restore MySQL back to root
  • tray_menu - UniTray program, configuration file and tray images

G) Local Folder

  • Apache Server, configuration and logfiles.
    Location of server certificate and key.
  • MySQL Server, configuration file and databases.
  • PHP interpreter and configuration file.


UniTray - Quick start servers

At first sight both menus give the impression Uniform Server is complex to run. However majority of menu items are for connivance allowing you to select and run additional features should you want to use them.

The first two menu items control both servers; that’s all you need to start and stop the servers.

The third menu item allowing you to control individual servers offers finer control.

LEFT MENU
Run servers as a standard program
COMMENT
Quick Start guide
RIGHT MENU
Run servers as a service

UniTray left.gif

Run Servers as standard Program

  • Start UniTray: In folder UniServer double click on Start.exe tray icon created.
  • L3) Check servers are runnable: Left or Right click tray icon > click Server Status.
    All ports must be free to use.
  • L1) Start Uniform Server. Left click tray icon > click Start UniServer
  • L2) Stop Uniform Server. Left click tray icon > click Stop UniServer
  • L4) Close UniTray. Left or Right click tray icon > click Exit


Run Servers as a Service

  • Start UniTray: In folder UniServer double click on Start.exe tray icon created.
  • R3) Check servers are runnable: Left or Right click tray icon > click Server Status.
    All ports must be free to use.
  • R1) Start Uniform Server. Right click tray icon > click Install and Run all Services
  • R2) Stop Uniform Server. Right click tray icon > click Stop and Remove All Services
  • R4) Close UniTray. Left or Right click tray icon > click Exit

Note: Double click on tray icon to open Apanel in default browser.

UniTray right.gif

Server Status - Diagnostics

Server Status provides a mixed bag of information:

  • Before starting servers checks to see if ports are in use which would prevent the servers starting
  • Displays what ports servers are configured for.
  • Displays what servers are running and in what mode (standard program or service)
  • With servers running displays IP address as seen from the Internet.
  • Checks servers are accessible from the Internet, uses the above IP address


Apanel

Apanel allows you to fine-tune the servers hence reduces the need to go in and edit the server configuration files manually. It has been enhanced with the folowing additional features:

Apanel new features:

  • Auto tracking of user selected server control options.

Note:

The MySQL password should always be set using Apanel. Setting it with phpMyAdmin results in MySQL lockout. If this happens, you can use the MySQL password recovery feature to resolve the problem.

Alternative control

Esoteric batch files no longer exist; the ones you will find in folder alternative control have been reduced to a bare minimum. These now call PHP scripts that perform the real work.


Running multi-Servers on same PC

Uniform Server's architecture has always supported running multi-servers; 5-Nano makes this task easier.

Although the Mona series had this capability it was difficult to distinguish which one was running. This has been addressed by using numbered tray icons for each server (UniTray) started.


Related Information

How to install some popular applications

Please note all these applications can be installed and run from a USB memory stick. Some require a small amount of editing to removed hard coded paths.
Packages that require Cron jobs are catered for by portable-cron this requires three additional files.

Package   Installed Size  
Drupal 6.15   45.7 MB - Run from a USB memory stick - Requires Portable cron
Joomla 1.5.15   64.5 MB - Run from a USB memory stick
MediaWiki 1.15.1   80.6 MB - Run from a USB memory stick (Do not run on PHP 5.3.1)
Moodle Moodle 1.9.7+   104 MB - Run from a USB memory stick - Requires Portable cron
WordPress 2.9   47.7 MB - Run from a USB memory stick
Xoops 2.4.2   61.0 MB - Run from a USB memory stick

Note: For each of the above packages there is a corresponding plugin downloadable from SourceForge.
These plugins are specific to Uniform Server 5.5-Nano including 5.5a-Nano and will not run on other versions.
Download details are provided on each page.


Plugins

The following lists plugins avaiable for Uniform Server Nano series:

Plugin Name Description Compatability
V5.0_mini_perl Installs Perl core program with a collection of commonly used Perl modules. Plugin Options:
  • V5.0_mini_perl - ActivePerl 5.10.1.1005
  • V5.1_mini_perl - ActivePerl 5.10.1.1006
  • V5.2_mini_perl - ActivePerl 5.10.1.1007
All
V5.0_full_perl Installs Perl core program and full set of Perl modules. Plugin Options:
  • V5.0_full_perl - ActivePerl 5.10.1.1005
  • V5.1_full_perl - ActivePerl 5.10.1.1006
  • V5.2_full_perl - ActivePerl 5.10.1.1007
All
V5.0_AWStats_2.0 AWStats is a free powerful and fully featured tool that displays advanced server statistics graphically.

This plugin requires PERL to be installed use either Mini or Full Perl plugins see above..

All
V5.0_AWStats_1.0 AWStats is a free powerful and fully featured tool that displays advanced server statistics graphically.

For completeness this plugin includes V5.0_mini_perl.

All
Webalizer English Webalizer is a fast application that analyzes server statistics from Apache’s access log file.

Analysis results are converted into standard WebPages with data presented in both text and graphical format.

All
Webalizer Multi Languages Webalizer is a fast application that analyzes server statistics from Apache’s access log file.

Analysis results are converted into standard WebPages with data presented in both text and graphical format.

All
USV5_FileZillaFTPd Adds FileZilla Server to 5-Nano series. Runs as a standard program or as a service. Core portable-FileFillaFTPd can be used independently of UniServer. V5.0-V5.4
V55_FileZillaFTPd Adds FileZilla Server to 5.5-Nano. Runs as a standard program or as a service. Core portable-FileFillaFTPd can be used independently of UniServer. Includes language files for UniTray V5.5 V5.5a V5.6 V5.6b
V55_UniServer_CA This plugin is slightly unusual it starts off as a Uniform Server plugin where you can install a CA and server certificate including a server key to the Apache server. After completion the entire plugin is transferred to a USB memory stick enhancing security by removing the CA’s key from your PC V5.5 V5.5a V5.6 V5.6b
V55UniServer_USB This plugin integrates portable Firefox into Uniform Server 5.5-Nano’s architecture. This allows Uniform Server to be run independently of the host PC. To achieve this it uses Portable Firefox and a PAC file. (PAC file prevents issues with Vista and W7 "hosts" file). V5.5 V5.5a
V56UniServer_USB This plugin integrates portable Firefox into Uniform Server 5.6-Nano’s architecture. This allows Uniform Server to be run independently of the host PC. To achieve this it uses Portable Firefox and a PAC file. (PAC file prevents issues with Vista and W7 "hosts" file). V5.6 V5.6b
V56_ZCON This plugin is an alternative controller for Uniform Server 5.6-Nano. It incorporates features from UniTray and Apanel with a user interface similar to UniController. V5.6 V5.6b
V5.0_Zend_Optimizer

V5.1_Zend_Optimizer

Some application encode PHP scripts using Zend Guard to run these scripts on Uniform Server

requires the installation of Zend Optimizer. This plugin provides a quick way to install Zend Optimizer on Uniform Server Nano. Tobe released

?


Security related information

The following topics and tutorials show how to harness the power of SSL built into Uniform Server.

Password protect folders/files plus ssl

Authentication

Covers Apache’s basic authentication, viable over the Internet when secured using SSL. The techniques shown eliminate the need for additional programming and remove the requirement to have mod-rewrite enabled. A full-blown secure server is not required! Double logins are eliminated.

Run your own CA (Certificate Authority)

UniServer CA Introduction.

A complete tutorial how to use UniServer,s CA plugin to create root CA and server certificate for the Apache server. Also covers personal certificates for accessing secure areas of the server.

CAcert

CAcert A complete tutorial on how to obtain a free signed server certificate from CAcert certificate authority.


Other Topic Links

DtDNS Introduction

- Shows how to obtain an account at DtDNS for users with a dynamic IP address

PHP CLI Introduction

- Short code snippets for running PHP CLI scripts.

PHP cURL Introduction

- Short code snippets as used in Server Status diagnostics and DtDNS updater PHP CLI

USB self-contained server

- How to avoid the hosts file. Uses V4.0-Mona (V4.1-Mona), Firefox and PAC


Summary

The Uniform Server 5-Nano is a significant upgrade although the main architecture has changed along with the main components and many new features added control remains simple. Just a few mouse clicks will have the servers running either as a standard program or service. Scratch the surface a little and you will find a wealth of flexibility allowing you to tailored the servers. Dig deeper and you have access to a set of common PHP function allowing you to redesign server control should you wish.

How to Install and run 5-Nano