Unicentre - Uniform Server User Guide
Unicentre - Uniform Server User Guide
5.0-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers |
Perl | UniTray | Security and passwords | Known Issues | Support
Contents
1 Overview
1.2 Apanel
1.3 Installation
1.4 Hidden
2 Summary of features
9 Related Information
9.2 Plugins
10.3 CAcert
12 Summary
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 for
server control now replaced with PHP CLI. Advantages are both Apanel and server-
control now share a common language along with a common set of PHP functions.
1
2
Batch files no longer perform any control functionality they are used in the main to run
PHP scripts and provide pop-up information windows.
Control architecture
Control architecture has been rebuilt from the ground up; it now uses a mix of dynamic
absolute paths and relative paths. Significance of this, for portability a virtual drive is
no longer required. Service installation 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 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.
Net result is a more consistent architecture allowing independent control of each server.
UniTray has had a chequered past, originally offered as a plugin now integrated into
this version of Uniform Server. It’s a dual menu (tray icon), left and right mouse
buttons selects 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
Although Apanel has been enhanced 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
associate menu options are hidden.
Installation
After unpacking Uniform Server to any folder you can run the servers either as a
standard program or run as a service straight out of the box. That’s the real power of
this new architecture just click and go. Move the server to a new location for example
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 either in standard program mode or in service mode.
2
3
In reality you can select a mix that best suites your requirement, options are selectable
in a single control file.
Summary of features
Server status - IP address as seen from Internet Alternative batch file control.
Server Control - Uses PHP scripts. No longer Perl Mini or Full plugin
uses Perl
For reference, I have shown the current Uniform Server stable releases and their main
components.
Uniform Server 3.2a Uniform Server 3.3 Uniform Server 3.5 Apollo Uniform Server 4.0 Mona
Apache 2.0.54 Apache 2.0.55 Apache 2.0.59 Apache 2.2.11
MySQL 4.1.12a MySQL 5.0.17 MySQL 5.0.37 MySQL 5.1.30-community
PHP 5.0.4 PHP & Extensions 5.1.1 PHP Version 5.2.3 PHP 5.2.8
phpMyBackupPro 1.7.1 phpMyBackupPro v.2.1 phpMyAdmin 3.0.1.1
phpMyAdmin 2.6.3-rc1 phpMyAdmin 2.6.4-pl4 phpMyAdmin 2.10.2 ActivePerl 5,10,0,1003
ActivePerl 5.8.7.813 ActivePerl 5.8.7.815 ActivePerl 5.8.8.820 eAccelerator 0.9.5.3
eAccelerator 0.9.5.1 SSL pre-installed (ssl_098j)
Uniform Server 4.1 Mona Uniform Server 4.2 Mona Uniform Server 4.3 Mona Uniform Server 4.4-Mona
Apache 2.2.11 Apache 2.2.11 Apache 2.2.11 Apache 2.2.13
MySQL 5.1.33-community MySQL 5.1.34-community MySQL 5.1.35-community MySQL 5.1.38-community
PHP 5.2.9-1 PHP 5.2.9-2 PHP 5.2.10 PHP 5.3.0
phpMyAdmin 3.1.3.1 phpMyAdmin 3.1.3.1 phpMyAdmin 3.2.0 phpMyAdmin 3.2.2-rc1
ActivePerl 5,10,0,1004 ActivePerl 5,10,0,1004 ActivePerl 5,10,0,1004 ActivePerl 5,10,0,1004
eAccelerator 30953_5.2.9.1 eAccelerator 30953_5.2.9.2 eAccelerator 30953_5.2.10 eAccelerator 0.9.6-rc1
SSL pre-installed (ssl_098k) SSL pre-installed (ssl_098k) SSL pre-installed (ssl_098k) SSL pre-installed (ssl_098k)
Uniform Server 4.5-Mona Uniform Server 4.5a-Mona Uniform Server 5.0-Nano Uniform Server 5.1-Nano
Apache 2.2.14 Apache 2.2.14 Apache 2.2.13 Apache 2.2.13
MySQL 5.1.41-community MySQL 5.1.41-community MySQL 5.1.38-community MySQL 5.1.38-community
3
4
PHP 5.3.1 PHP 5.2.12 PHP 5.2.10 PHP 5.3.0
phpMyAdmin 3.2.4 phpMyAdmin 3.2.4 phpMyAdmin 3.2.2-rc1 phpMyAdmin 3.2.2-rc1
ActivePerl 5,10,0,1004 ActivePerl 5,10,0,1004 ActivePerl 5,10,0,1005 ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006 ActivePerl 5,10,0,1006
eAccelerator 0.9.6-rc1 eAccelerator 0.9.6-rc1 eAccelerator 30953_5.2.10 eAccelerator 0.9.6-rc1
SSL pre-installed (ssl_098l) SSL pre-installed (ssl_098k) SSL pre-installed (ssl_098k) SSL pre-installed (ssl_098k)
Uniform Server 5.2-Nano Uniform Server 5.3-Nano Uniform Server 5.4-Nano Uniform Server 5.5-Nano
Apache 2.2.14 Apache 2.2.14 Apache 2.2.14 Apache 2.2.14
MySQL 5.1.39-community MySQL 5.1.39-community MySQL 5.1.41-community MySQL 5.1.41-community
PHP 5.2.11 PHP 5.3.0 PHP 5.3.1 PHP 5.3.1
phpMyAdmin 3.2.2 phpMyAdmin 3.2.2 phpMyAdmin 3.2.3 phpMyAdmin 3.2.4
ActivePerl 5,10,0,1005 ActivePerl 5,10,0,1005 ActivePerl 5,10,0,1005 ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006 ActivePerl 5,10,0,1006 ActivePerl 5,10,0,1006 ActivePerl 5,10,0,1006
eAccelerator 0.9.6-rc1 eAccelerator 0.9.6-rc1 eAccelerator 0.9.6-rc1 eAccelerator 0.9.6-rc1
SSL pre-installed (ssl_098k) SSL pre-installed (ssl_098k) SSL pre-installed (ssl_098k) SSL pre-installed (ssl_098l)
UTF-8 Compatible UTF-8 Compatible
Uniform Server 5.5a-Nano Uniform Server 5.6a-Nano Uniform Server 5.6b-Nano Uniform Server 5.6-Nano
Apache 2.2.14 Apache 2.2.14 Apache 2.2.15 Apache 2.2.15
MySQL 5.1.41-community MySQL 5.1.44-community MySQL 5.1.44-community MySQL 5.1.44-community
PHP 5.2.12 PHP 5.2.13 PHP 5.2.13 PHP 5.3.2
phpMyAdmin 3.2.4 phpMyAdmin 3.2.5 phpMyAdmin 3.3.0 phpMyAdmin 3.3.0
ActivePerl 5,10,0,1005 ActivePerl 5,10,0,1005 ActivePerl 5,10,0,1005 ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006 ActivePerl 5,10,0,1006 ActivePerl 5,10,0,1006 ActivePerl 5,10,0,1006
eAccelerator 0.9.6-rc1 eAccelerator 1.0-dev eAccelerator 1.0-dev eAccelerator 1.0-dev
SSL pre-installed (ssl_098k) SSL pre-installed (ssl_098l) SSL pre-installed (ssl_098l) SSL pre-installed (ssl_098l)
UTF-8 Compatible UTF-8 Compatible UTF-8 Compatible UTF-8 Compatible
Uniform Server 5.6.1-Nano Uniform Server 5.6.3-Nano Uniform Server 5.6.4-Nano Uniform Server 5.6.5-Nano
Apache 2.2.15 Apache 2.2.15 Apache 2.2.15 Apache 2.2.15
MySQL 5.1.45-community MySQL 5.1.45-community MySQL 5.1.46-community MySQL 5.1.46-community
PHP 5.3.2 PHP 5.3.2 PHP 5.3.2 PHP 5.3.2
phpMyAdmin 3.3.1 phpMyAdmin 3.3.2 phpMyAdmin 3.3.2 phpMyAdmin 3.3.3
ActivePerl 5,10,0,1005 ActivePerl 5,10,0,1005 ActivePerl 5,10,0,1005 ActivePerl 5,10,0,1005
ActivePerl 5,10,0,1006 ActivePerl 5,10,0,1006 ActivePerl 5,10,0,1006 ActivePerl 5,10,0,1006
eAccelerator 1.0-dev eAccelerator 1.0-dev eAccelerator 1.0-dev eAccelerator 1.0-dev
SSL pre-installed (ssl_098l) SSL pre-installed (ssl_098l) SSL pre-installed (ssl_098l) SSL pre-installed (ssl_098l)
UTF-8 Compatible UTF-8 Compatible UTF-8 Compatible UTF-8 Compatible
4
5
A) Top-Level B) Alternative control:
Server control:
site/pages to be service
production
F) Server programs
restore_mysql_password - Script to
file.
5
6
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.
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
6
7
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
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.
Note:
The MySQL password should always be set using Apanel, setting it with phpMyAdmin
results in MySQL lockout.
7
8
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.
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
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.
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.
8
9
Plugins
The following lists plugins avaiable for Uniform Server Nano series:
V5.0_full_perl Installs Perl core program and full set of Perl modules. Plugin Options: All
V5.0_AWStats_2.0 AWStats is a free powerful and fully featured tool that generates advanced server statistics, All
graphically.
This plugin requires PERL to be installed use either Mini or Full Perl plugins see above..
V5.0_AWStats_1.0 AWStats is a free powerful and fully featured tool that generates advanced server statistics, All
graphically.
Webalizer English Webalizer is a fast application that generates server statistics from Apache’s access log file. All
Analysis results are converted into standard WebPages with data presented in both text and
graphical format.
Webalizer Multi Webalizer is a fast application that generates server statistics from Apache’s access log file. All
Languages
Analysis results are converted into standard WebPages with data presented in both text and
graphical format.
USV5_FileZillaFTPd Adds FileZilla Server to 5-Nano series. Runs as a standard program or as a service. Core V5.0-V5.4
portable-FileFillaFTPd can be used independently of UniServer.
V55_FileZillaFTPd Adds FileZilla Server to 5.5-Nano. Runs as a standard program or as a service. Core portable- V5.5 V5.5a V5.6
FileFillaFTPd can be used independently of UniServer. Includes language files for UniTray V5.6b
V55_UniServer_CA This plugin is slightly unusual it starts off as a Uniform Server plugin where you can install a CA V5.5 V5.5a V5.6
and server certificate including a server key to the Apache server. After completion the entire V5.6b
plugin is transferred to a USB memory stick enhancing security by removing the CA’s key from
your PC
V55UniServer_USB This plugin integrates portable Firefox into Uniform Server 5.5-Nano’s architecture. This allows V5.5 V5.5a
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).
V56UniServer_USB This plugin integrates portable Firefox into Uniform Server 5.6-Nano’s architecture. This allows V5.6 V5.6b
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).
V56_ZCON This plugin is an alternative controller for Uniform Server 5.6-Nano. It incorporates features from V5.6 V5.6b
UniTray and Apanel with a user interface similar to UniController.
V5.0_Zend_Optimizer Some application encode PHP scripts using Zend Guard to run these scripts on Uniform Server ?
V5.1_Zend_Optimizer requires the installation of Zend Optimizer. This plugin provides a quick way to install Zend
9
10
The following topics and tutorials show how to harness the power of SSL built into
Uniform Server.
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.
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.
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
Uniform Server 5.0-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
10
11
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.
5.0-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers |
Perl | UniTray | Security and passwords | Known Issues | Support
Contents
[hide]
1 Download
2 Quick Start
2.1.2 Method 1
Uniform Server 5.0-Nano. PHP 5.2.10
2.1.3 Method 2
Uniform Server 5.1-Nano. PHP 5.3.0
3 Move Servers
5 Related Information
6 Summary
Uniform Server 5.0-Nano has a single installation option: extract to any folder, and
two operation modes, either as a standard program or service.
Portability is nothing more complex than copying folder UniServer to where you
want to run the servers. That includes any hard drive or USB memory stick.
Can’t run UniServer because it clashes with an existing server? Three mouse clicks and
a few key presses reconfigures the server allowing it to coexist with an existing host
server.
Uniform Server tries not to impose any restrictions, hence has numerous user
configurable features allowing you to tailor the servers. This page explores some of
these after first covering the basics.
11
12
Download
For 5.0, 5.1, 5.2 and 5.3 there are two parallel versions, the main difference being the
version of PHP:
12
13
Quick Start
the file).
servers.
7. Stop the servers. Left click on the tray icon, and click
Note 1:
When the servers are run or stopped you will be challenged by your
firewall: always ALLOW ACCESS to the Internet even when running
the servers locally for development.
Note 2:
Note 3:
The server is fully portable. For example, copy folder UniServer A) and
all its content to a USB stick and run the servers from there.
13
14
Note 4:
Run as a service. At step 5, right click and use the top menu to install
and run as a service. Use the second menu item to stop and uninstall
services.
Method 1
The simplest way of getting UniServer up and working on Windows 7 and I presume the
same will apply for Vista is by doing as follows.
After a couple of seconds Apache and Mysql should now run as expected.
Method 2
If you really want to be lazy and are happy to always grant UniServer Run as
administrator privileges then use the following method:
Now in future you can just run Start.exe as normal by double clicking it and it will
always automatically be run as an administrator.
Note: You only need to perform the above if you want to install Apache and MySQL as
a service.
If you want to just use them as a normal program then there is no issue and you don't
need to run as administrator, you can just choose to run them as standard programs by
left clicking on the system tray icon (UniTray) and selecting 'Start Uniserver'.
14
15
To allow Internet or Intranet access, edit file .htaccess located in the root folder
www H):
1) Locate these lines: 2) Disable local only access by commenting each line with an hash "#" as shown
Note 1: After saving the file, there's no need to restart server. Changes are
automatically picked-up by Apache, and your servers are now on-line.
Note 2: The Secure Web root folder D) UniServer\ssl contains example pages that will
be encrypted when served. With the exception of file .htaccess, delete its content and
copy your Secure Web site (folders and pages) to this folder. You need to enable SSL
for pages to be served from this folder.
Note 3: If you experience difficulties in accessing your server from the Internet, check
out this section.
Also check out the DtDNS page for a free domain name and how to resolve a dynamic
IP address.
Enable SSL
Before serving encrypted pages, the server requires a certificate and key. These are
created by running a script as follows:
Left click tray icon > Advanced > click "Server Certificate and Key Generator"
You are prompted for three pieces of information (CN, OU and O); press enter to
accept the defaults.
For Apache to pick-up the new configuration, Restart the servers
To view your secure web site, run the servers and type https://localhost into your
browser.
15
16
To allow Internet or Intranet access, edit file .htaccess located in the SSL root folder
D):
UniServer\ssl\.htaccess
1) Locate these lines: 2) Disable local only access by commenting each line with an hash "#" as shown
Move Servers
One of Uniform Server’s unique features is the capability to run more than one
complete server on the same PC. When running a server from a USB memory stick, you
can use this to great advantage and prevent server clashes. You will have noticed
UniTray’s icon displays one (meaning standard ports). Moving UniServer increments
this digit and so on for each server move. In reality, it’s not just a port change but a
complete server update. Running server status displays the server characteristics.
Move Servers:
After moving the servers you need to use the new ports to either access server
pages or to install new scripts.
To find these: Left click tray icon > Server Status
The first time you move the servers, the ports will have the following values: Apache
port = 81 and MySQL port = 3307
16
17
Confused? No problem. Take a look at these two pages. They provide real applications
and hopefully will clarify any issues:
Installing Joomla
Installing MediaWiki
There are two Web Root folders, “www” and “ssl”. Folder www is where you place your
regular web site. Pages served from this folder are not encrypted. Any sites or pages
you want served encrypted are placed in folder ssl.
www uses standard port 80 (on Unix systems this folder is generally named
htdocs)
ssl uses standard port 443
Note: Moving the servers increments these ports, invalid ports are skipped
Related Information
Summary
This flexibility and control are covered on the next page Control and Alternative
control.
17
18
5.0-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers |
Perl | UniTray | Security and passwords | Known Issues | Support
Contents
[hide]
1 Batch files
2 Start_2.exe
4 Batch files
Uniform Server 5.0-Nano. PHP 5.2.10
4.1 Relocating batch files
Uniform Server 5.1-Nano. PHP 5.3.0
5 Script Parameters
5.1 Example 1
5.2 Example 2
6.1 Example 1
7 Summary
It is recognised not everyone likes tray icons instead prefer batch file control this also
prevents tray icon clutter.
Batch files
18
19
If you wish can be copied to the server’s top folder UniServer however in order to run
they require minor modification as explained below.
The batch files can be tweaked to automatically close after a predefined time and or
start UniTray. Details are provided under section Batch files and UniTray.
Start.exe
Before looking at batch files you will have noticed file Start_2.exe this is an alternative
to Start.exe.
Like Start.exe it starts UniTray however without the annoying pop-up to inform you it
has done so. If you would like to use this file copy it to folder UniServer and optionally
Delete Start.exe
Rename Start_2.exe to Start.exe choice is yours.
The only reason for deleting and renaming is to reduce clutter and keep things
consistent.
Unitray, batch files and Apanel all make requests to this core it has the advantage of
reducing complexity of external scripts.
Core control is designed around four CLI scripts these are split into two groups,
standard program and service. Each group is further split into two files start-stop
and install-uninstall service respectively. Two-tracker (Apache and MySQL) files
control interaction between these.
19
20
stop_servers.php service_stop_uninstall.php mysql_tracker.txt
Fig 1
location_tracker.txt
Core Control;
The above scripts access a common set of functions these have been written in vanilla
PHP making them easier to understand and changeable.
Note: Location tracker is not interactive between the above scripts. It is shown only to
emphasise its importance.
Batch files
The esoteric nature of previous UniServer batch files have been addressed.
Batch file control is nothing more than a single line, which calls the appropriate PHP CLI
script with an optional parameter.
Start_Server.bat
Stop_Server.bat
Service_Install_Run.bat
Service_Stop_Uninstall.bat
..\usr\local\php\php.exe -n ..\unicon\main\start_servers.php
..\usr\local\php\php.exe -n ..\unicon\main\stop_servers.php
..\usr\local\php\php.exe -n ..\unicon\main\service_install_run.php
..\usr\local\php\php.exe -n ..\unicon\main\service_stop_uninstall.php
Each line runs the PHP script interpreter php.exe two parameters are passed -n and
the script to be run.
20
21
After copying each batch file to folder UniServer you need to remove “..\” from each
line.
Note “..\” means move up one level from the current location.
With the files already moved to this location the “..\” is redundant. Hence the lines now
look like this:
usr\local\php\php.exe -n unicon\main\start_servers.php
usr\local\php\php.exe -n unicon\main\stop_servers.php
usr\local\php\php.exe -n unicon\main\service_install_run.php
usr\local\php\php.exe -n unicon\main\service_stop_uninstall.php
Script Parameters
#############################################################################
# User Variables:
# $server_standard - Controls server when run as a standard program
# $server_service - Controls server when run as a service
#
# $server_standard - Options are binary coded as follows:
# Bit function
# Apache 1 1 - Run Apache server 0 - no change ignore
# Mysql 2 1 - Run MySQL server 0 - no change ignore
# Index page 4 1 - Start Index page 0 - no change ignore
# MySQL Console 8 1 - Display console 0 - no change ignore
# Cron 16 1 - Run cron 0 - no change ignore
#
# $server_service - Options are binary coded as follows:
# Bit function
# Apache 1 1 - Run Apache as a service 0 - no change ignore
# Mysql 2 1 - Run MySQL as a service 0 - no change ignore
21
22
# Index page 4 1 - Start Index page 0 - no change ignore
#
# Defaults:
# $server_standard = 7;
# $server_service = 7;
###########################################################################
Note: You add up the binary coded values to give the required default value.
Example 1
If you wish to run only the Apache server when running as a standard program edit the
batch files:
Start_Server.bat
Stop_Server.bat
usr\local\php\php.exe -n unicon\main\start_servers.php 1
usr\local\php\php.exe -n unicon\main\stop_servers.php 1
Example 2
Apache and MySQL servers can be run without automatically displaying the index page
using a parameter value of 3 as shown below:
usr\local\php\php.exe -n unicon\main\start_servers.php 3
usr\local\php\php.exe -n unicon\main\stop_servers.php 3
Note 1:
Changing the defaults in file config.inc.php affect Apanel, UniTray and batch files
The batch files contain additional commands these have been disabled using “rem”
(remark) removing the rem enables the command.
22
23
For example:
When a batch file is run its window remains open until a user presses any key.
To have the window automatically close, disable the pause command using a “rem”
Change: pause
To: rem pause
Doing this you have no time to read any displayed text if you wish to read text enable
the delay command by removing the “rem”.
Note: The above sets a delays of three seconds change to your own preference.
Example 1
..\usr\local\php\php.exe -n ..\unicon\main\start_servers.php 1
rem Start.exe
rem ..\unicon\program\unidelay.exe 10
pause
Move the file to folder UniServer and edit to look like this:
usr\local\php\php.exe -n unicon\main\start_servers.php 3
Start.exe
unicon\program\unidelay.exe 10
rem pause
23
24
2. Start.exe - UniTray is started
3. unicon\program\unidelay.exe 10 - A ten second delay allows text to be
read
4. rem pause - Pause is disabled hence window closes after 10 seconds
Summary
Uniform Server uses a central control core with binary coded server control providing
maximum flexibility with minimum complexity.
External control elements (batch files and UniTray) can override default options by
passing a parameter to the core. UniTray uses this technique for starting both servers
or single server control.
There are two additional scripts DtDNS and Cron designed to enhance control
functionality.
DtDNS provides automatic IP updating for users that have an account this
effectively turns a dynamic IP address into a static IP address.
Cron provides a background tick, on each tick runs a through a list of scripts
defined by a user. This includes running the DtDNS script.
24
25
5.0-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers |
Perl | UniTray | Security and passwords | Known Issues | Support
Contents
[hide]
1 DtDNS account
3 Script Configuration
4 Summary
Majority of domestic Internet connections are via a dynamic IP address, one that
changes every time you connect to the Internet. This means you cannot run a web
server unless you purchase a, static IP address from your ISP (Internet service
provider). Even with a static IP you require and entry in a DNS server that converts
your domain name into this IP address allowing other users to access your server.
An alternative is to use a free service such as DtDNS they provide accounts that allow
you to obtain a domain name and tracking software to automatically update your IP
address as it changes. A big advantage of their free service they automatically enable
Wild cards by default.
25
26
Uniform Server supports the DtDNS service by integrating a, simple PHP scrip to
automatically update hostname IP address at DtDNS. Script is configurable allowing you
to update all five free hostnames. The script can optionally be run by cron making the
whole task transparent.
Note: The script is portable hence popping the servers on a USB memory stick means
you can have them on-line and accessible within ten minutes (DNS propergation time)
if new PC host has been configured to allow Internet server traffic.
Note: This script has been rewritten now includes a configuration file refer to
supplementary section (5.2-Nano and 5.3-Nano) for details.
DtDNS account
There are two pages to fill in, enter the following details:
Page 1:
Desired
1) This name is used for logging into your account
Username
2) Your Name Your real name (Internal use)
Desired
3) A password for logging into your account
Password
Confirm
4) As above
Password
5) E-mail Address A real active e-mail is required, activation code sent to this e-mail address
6) Confirm E-mail As above
7) Optional Skip the Optional Information section if you wish fill it in.
Two CAPCHA
8) Enter the two CAPCHA words (if these are difficult to read click the new challenge button)
words
Page 2:
9) Username Enter your Username as entered in 1).
Enter code sent to your email. (Note: The email contains a link to page 2 hence you can close
10) Enter code
the page and wait for the e-mail.)
General information:
26
27
Your full URL for example bbsindex.com gotgeeks.com
chatnook.com scieron.com
If you chose books as hostname darktech.org slyip.com
deaftone.com slyip.net
And select from the drop down menu effers.com
dtdns.net suroot.com
effers.com
Will look like this:
http://books.effers.com
Wild Cards:
After creating a hostname wild cards are enabled by default. This allows you to use a
URL such as
http://www.books.effers.com - Note www. is the wild card part this can be anything
you like for example:
http://www.books.effers.com
http://www-internation.books.effers.com
http://local.books.effers.com
http://www.home.books.effers.com
books.effers.com resolves to your IP address you can use the wild card on your
server to resolve to different sites.
Create Hostname
Login
Go to | Login page
Enter Username: as set in step 1)
Enter Password: as set in step 3)
My Services page displayed
Click on Hostnames this opens the Hostname Manager
Create hostname
27
28
Enter a desired Hostname
From the drop down menu select a Domain
Click Add Hostname
Enter the two CAPCHA words (if these are difficult to read click the new
challenge button)
Click Add Hostname button
This is added to your list of host names
To manage existing hostnames, simply click the entry in the list for example see below.
Click a hostname link opens its corresponding configuration page. Here you can change
various settings, including the IP address.
Note: After adding a new host the IP address is set to your current IP address. You can
manually change it on the configuration page or request an IP update see later.
Script Configuration
UniServer\plugins\dtdns_updater\dtdns_updater.php
Substitute books.effers.com with your real host and domain names, replace the
password fred123 with the one you set in step 1)
If you have only a single host delete the other two lines. Otherwise modify them for
each additional host as above. Add additional lines as required.
28
29
<?php
/*
###############################################################################
# Name: The Uniform Server DtDNS Updater v 1.0
# Developed By: The Uniform Server Development Team
# Modified Last By: Mike Gleaves (Ric)
# Web: http://www.uniformserver.com
###############################################################################
*/
//error_reporting(0); // Disable PHP errors and warnings
// Comment to Enable for testing
29
30
function get_ip_dns($hostname){
global $ip_dns; // IP address saved from DNS server
$ip_dns = gethostbyname($hostname); // Get IP address of hostname
if($ip_dns == $hostname){ // Is hostname returned (not IP address)
return false; // yes: failed to get IP address
}
else{ // no: IP obtained
return true; // set success
}
}
//============================================== END Get IP from DNS server ===
function dtdns_update($id,$pw){
$id_val = urlencode($id); // User Host on DtDNS
$pw_val = urlencode($pw); // User password
$client_val = urlencode('UniServerV1'); // Optional - But added it
$url = 'https://www.dtdns.com/api/autodns.cfm'; // DtDNS update page
Manual Update
You can run the following batch file to manually force an update, remember to leave
around ten minuets before performing another manual update.
It takes around ten minutes for the DNS to propagate, additional updates within this
period are regarded as an abuse and you may find your IP banned.
30
31
Contains:
COLOR B0
@echo off
cls
..\..\usr\local\php\php.exe dtdns_updater.php
Cron provides a periodic tick Uniform Server's default is every ten minutes.
31
32
$cmd = 'start ..\..\usr\local\php\php-win.exe
..\..\plugins\dtdns_updater\dtdns_updater.php';
pclose(popen($cmd,'r')); // Start detatched process
Notes:
When the server is first started Cron is run and the IP addreess updated if
different
Every ten minuets Cron is run and the IP address are checked if different are
updated.
Cron only runs when the servers are running however you can force an update
using the batch file mentioned above.
Cron can be manually or automatically started see next page for details.
Summary
For a home web server the free account at DtDNS is ideal at least it gives you an
opportunity to test their service. Perhaps it will encourage you to purchase a real
domain and use some of their paid services.
32
33
5.0-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers |
Perl | UniTray | Security and passwords | Known Issues | Support
Contents
[hide]
1 Cron
2 Portable Cron
3 Configuration
5 Running Cron
5.1 UniTray
6 General Notes
7 Summary
Uniform Server’s portable Cron has been integrated into 5.0-Nano. The script has been
pre-configured to run three scripts Drupal Cron, Moodle Cron and DtDNS auto IP
updater. These are effectively one to two line templates that require enabling to run the
appropriate applications Cron script.
Portable Cron is binary mapped into UniServer’s control space; value assigned is 16 this
method makes it easier to integrate with existing control blocks.
33
34
Starting Cron periodically runs scripts that are listed in file run_cron.php, period being
defined by a sleep function default is every ten minuets. This simple approach is
effective however if you wish to add more flexibility this page provides additional
information.
Note: This script has been rewritten now includes a configuration file refer to
supplementary section (5.2-Nano and 5.3-Nano) for details.
Cron
Cron originated from a Unix environment it is a job scheduler allowing scripts to be run
automatically at a certain time or date.
Cron (chronograph) has become a more general term referring to a periodic tick.
Portable Cron
For a permanent installation of UniServer running as a service you can set-up Windows
to schedule a task similar to Unix Cron check out How To Schedule Tasks in Windows
XP for details?
This is not practical when running UniServer from a USB memory stick. UniServer 5.0-
Nano resolves this with a small script scheduler referred to as portable Cron.
It’s fully integrated into UniServers’s control architecture allowing it to be run from
either batch files or UniTray.
Configuration
Each script that requires running is added to the Cron script run_cron.php located in
folder UniServer\unicon\main
There are three examples two for server scripts (Drupal and Moodle) and one for CLI
script (DtDNS updater.
34
35
Server Scripts
Enable a line by removing the two forward slashes. Insert a script’s full url (effectively
this is what you would type into a browser to run an applications Cron script).
Note 1: If you have installed the above applications to different folders use the
appropriate folder names.
Note 2: If you have moved the servers remember to add a port number to the url.
For example moving the servers once, Apache port becomes 81 and the above two lines
need to change as follows:
CLI Scripts
CLI scripts may require more than a single line to run. The DtDNS script for example
uses two lines.
The DtDNS automatic updater has been pre-configured and is disabled by default.
35
36
// $cmd = 'start ..\..\usr\local\php\php-win.exe
..\..\plugins\dtdns_updater\dtdns_updater.php';
// pclose(popen($cmd,'r')); // Start detatched process
First line defines a command (script) to be run. If you wish this can expanded into
several lines depends on complexity. Last line is required to detached the process and
must be included otherwise the Cron script is killed.
Configurable section
//########################################################################
###########
//### List of scripts to be run
#
//########################################################################
###########
36
37
// pclose(popen($cmd,'r')); // Start detatched process
//########################################################################
###########
//### END List
#
//########################################################################
###########
Periodic tick
Starting Cron immediately runs all scripts defined in the list. After this, scripts will run
periodically defined by variable $cron_time currently set to 10 minuets.
This is a reasonable value and should be adequate for most applications. Consider this
to be a minimum value, ideally increase it to a higher value to reduce processor
overhead.
Running Cron
Start the servers and run cron from either the batch files or UniTray
UniTray
Start: Left click tray icon > Advanced > click Run Portable Cron
Stop: Left click tray icon > Advanced > click Stop Portable Cron
Batch files
37
38
General Notes
Binary coded
Control architecture, to specifically target Cron it has been binary coded with a value of
16. This caters for impendent or combined control.
Example of use
If you wish to start and stop Cron when starting and stopping both servers from
UniTray
Change these two lines (Note lines are split so as not to break Wiki formatting):
From:
To:
38
39
Only change required is the parameter value passed to a script. Although I have shown
UniTray it also applies to batch files contained in folder UniServer\alternative_control
However will not restart after restarting PC, you need to manually run Portable Cron
again.
Note:
Reason for the above is logical, it assumes you have installed the services and are
running Uniform Server as a production server. Hence you require finer control and are
using Windows to schedule tasks see How To Schedule Tasks in Windows XP for details?
Summary
If you are reading this sequentially Cron is optional. However security is a must read, a
default Uniform Server installation is to lock it down to local access only.
Before allowing external access change the MySQL server password covered on the
next page.
39
40
5.0-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers
| Perl | UniTray | Security and passwords | Known Issues | Support
Contents
[hide]
1 Home page
2 Security Center
3 Summary
Regarding security Apanel provides two pages of importance Home (initial opening
page) and Security Center at first sight they look intimidating and give the impression
Uniform Server is insecure especially with all those red links on each page.
Before continuing I must stress Uniform Server is locked down allowing local access
only. If connected to the Internet or Intranet the servers are inaccessible hence are
very secure. This configuration is ideal when using Uniform Server as a development
server but pretty useless for a production Web server (Well! No one can view your Web
site).
If you are not indenting to put the servers on-line you can safely ignore the above two
pages. Even with your servers on-line most of these warnings can be ignored with one
exception always set the MySQL password.
40
41
Its import to understand Uniform Server security features you will then appreciate
these pages provide reminders that you have not set something correctly.
Home page
At the bottom of this page you are presented with a Security Checklist
This is a reminder that all the usernames and passwords contain their defaults values
which is ”root”
With the exception of MySQL password there is no need to worry about these until
you enable a server feature that uses them.
Now would be a good time to change the MySQL password, click the here link. This
opens MySQL Server Configuration page. It displays the current MySQL password
root change this to a new value and click Change a confirmation page is displayed.
Return to the Home page the checklist entry for MySQL password has been removed
confirming you are not using the default.
If you had viewed the security center page first under User Management Security
the link to the right of MySQL Server would have displayed unsecure. Clicking this
link would have taken you to the MySQL Server Configuration page. After changing
the password it displays secure
Note 1: The new password takes effect immediately however I would recommend
stopping the servers and closing your browser. This removes any potential problems
associated with sessions and browser cache.
Note 2: The remaining list of entries for name/password; function in a similar way,
once changed, are removed from the list and the corresponding link on the security
center page changes accordingly.
41
42
You can work down this list and change the name/password pairs; they have no effect
until you enable a particular server feature, covered further down this page.
Security Center
This page is accessed either from the Home page or the left menu link Server
Security
It summaries the server security status for enabled features and provides additional
information.
To the right of these you will see either Secure indicating that option has been enabled
or a link named Unsecure indicating that option has not been enabled. The link offers
a short cut to enable that option if you wish to do so.
I have covered the MySQL password this sets the MySQL password for user root. The
first three entries just set a name/password pair. These do not become effective until
the corresponding feature has been enabled see next section.
The fourth entry Server Certificate and Key (SSL) enables the SSL server. A new
server Certificate and key are created this enables the SSL server; for full details check
out Enable SSL
Server Security
42
43
Local View
Due to the fact that some PC's have a different hostname set rather than localhost, we use the IP method
here. This checks to make sure that you are viewing the Admin Panel (this) from local.
Requires no explanation.
This checks to see if PHP is running in SAFE MODE. Now, PHP does not have to run in
SAFE MODE, but if you want the extra security, you can set it by clicking on the UNSECURE
link.
The explanation is clear just want to add that some third party scripts will not run if
safe mode enabled.
While this is another feature that is not throughly important as other features are in place
against outside access to the Admin Panel, this checks to see if your Admin Panel is secured
using the Auth method. Please change this by editing the
C:/UniServer/home/admin/www/.htaccess file.
Apanel is currently locked down for local access only. It is not name/password
protected hence the Unsecure status.
Annoying
It really becomes annoying if you enable password protection when only local access is
allowed.
1) Locate these lines: 2) Uncomment the lines by removing the hash “#” as shown
Now every time you access Apanel you need to enter a name and password.
More annoying
43
44
What’s more annoying! Can you remember the name/password you entered for Admin
Panel! I assumed you worked through the list mentioned on the Home page and forgot
it.
Well you have just enabled a feature that uses it and locked yourself out.
Using Apanel you can view the current name/password pairs they are displayed in each
set-up page however being locked out that’s not an option. You could disable the above
lines which would give you access alternatively open this file
UniServer\htpasswd\home\admin\www\.htpasswd to view current settings.
One reason for showing this, notice the file path maps (home\admin\www\) to the
location of the .htaccess file. This applies to the other password files.
Essential
Although I never recommend this you can put Apanel on-line allowing access from
either the Internet or Intranet.
1) Locate these lines: 2) Disable local access only by commenting each line with an hash "#" as shown
Server Access
If you are running your server in Production Mode, Skip this one. If not and you would like to
add more security to the server by blocking it using the Auth method, then change this in by
editing the C:/UniServer/www/.htaccess file.
Server (www) is currently locked down for local access only. It is not name/password
protected hence the Unsecure status.
44
45
Production server means you have put your server on-line to do this edit the following
file: UniServer\www\.htaccess
1) Locate these lines: 2) Disable local access only by commenting each line with an hash "#" as shown
Note: No need to restart the server changes are Automatically picked up by Apache.
Personal Server
A personal server means you have restricted access using a name and password.
1) Locate these lines: 2) Uncomment the lines by removing the hash “#” as shown
Now every time a user browsers your server from either the Internet or Intranet is
challenged for a name and password.
If you are running your server in Production Mode, Skip this one. If not and you would like to
add more security to the server by blocking it using the Auth method, then change this in by
editing the C:/UniServer/ssl/.htaccess file.
Server (ssl) is currently locked down for local access only. It is not name/password
protected hence the Unsecure status.
Production server means you have put your server on-line to do this edit the following
file:
UniServer\ssl\.htaccess
1) Locate these lines: 2) Disable local access only by commenting each line with an hash "#" as shown
45
46
Order Deny,Allow #Order Deny,Allow
Deny from all #Deny from all
Allow from 127.0.0.1 #Allow from 127.0.0.1
Note: No need to restart the server changes are Automatically picked up by Apache.
A personal secure server means you have restricted access using a name and
password.
1) Locate these lines: 2) Uncomment the lines by removing the hash “#” as shown
Now every time a user browsers your server from either the Internet or Intranet is
challanged for a name and password.
Note: All data and name/password are encrypted before being sent.
Summary
The next page covers how to enable SSL this has been fully integrated into 5.0-Nano
making the whole process easy.
5.0-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers |
Perl | UniTray | Security and passwords | Known Issues | Support
Contents Uniform Server 5.0-Nano. PHP 5.2.10
Uniform Server 5.1-Nano. PHP 5.3.0
46
47
[hide]
2 General notes
3.2 IE 7
8 Related Information
9 Summary
The server has been pre-configured to run SSL, place any pages/site you wish to be
encrypted in the root folder ssl.
Uniform Server does not include a test server certificate/key pair hence a default
installation has SSL disabled. The reason is one of security a certificate/key pair must
be unique to that server after creating a new server certificate/key pair SSL is
automatically enabled in Apache's configuration file.
To create a new server certificate and key use one of the following options:
Apanel option 1
Apanel option 2
Left menu, click link Server Security a new page opens Security Center.
Scroll down to section Server Certificate and Key (SSL)
To the right the link will display Unsecure click this link
It takes you to page Server Certificate and Key Generation as per
Apaneloption 1
Manuall option
UniTray option
The certificate and key generation script will prompt for three pieces of information.
If you are running a local test server just press enter to accept the defaults.
If you have a real domain name for example www.fred.com enter that at the CN
General notes
48
49
Note 1: Once the server certificate and key have been generated re-start the servers for the new configuration to be
picked up by Apache.
Note 3: You can change the defaults for CN, OU and O edit file: unicon\key_cert_gen\ssl_gen.php
Locate this section:
If your site is accessed by typing this into a browser mydomain.net and your company is Fred and has a
section Software the lines are as follows:
Note 4: It is strongly recommend obtaining a signed certificate by a trusted CA check out Uniform Server’s Wiki for
details.
You will require the certificate signing request this is located in folder
unicon\key_cert_gen file name server.csr
Note 5: If you need to create a new key and certificate repeat the above.
FireFox 3.0.11
On viewing a secure page in FireFox you will be greeted with this little chap and the
following error message:
This saves the Certificate and allows you to view the secure server unrestricted.
A standard SSL certificate even signed by a CA will not resolve, “Which is run by
unknown” issue. What is required is something known as an Extended Validation (EV)
SSL certificate this raises the security level to green. You can purchase this type of
signing however it comes at a high price because both the site and site owner require
verification.
50
51
IE 7
On viewing a secure page in IE you will be greeted with a read sheild and the following
error message:
On the alert page click the link Continue to this website (not recommended).
This allows the page to be displayed notice the navigation bar turns "red"
Certificates
51
52
The server has been locked down allowing only local access. You can develop sites
while connected to the Internet knowing that external access has been restricted.
To enable external access either on a local network or from the Internet you need to
edit file:
UniServer\ssl\.htaccess
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
#Order Deny,Allow
#Deny from all
#Allow from 127.0.0.1
There is no need to restart the server, your server is now externally accessible.
Note 1: All lines with a comment are disabled and ignored by Apache.
Note 2: There is a corresponding .htaccess file for the unencrypted server this is
located in root folder www edit this file as above to put-this part of the server on-line.
52
53
Edit file UniServer\ssl\.htaccess
To enable name/password protection un-comment the lines by removing the hash "#"
as shown
No need to restart the servers .htaccess files are automatically picked up.
Access a secure page on the server, e.g type https://localhost into your browser. If
you have a real domain name use that.
You will be challenged for a name and password. The defaults are root and root.
You have two methods of changing the name and password either using Apanal or
manually as follows.
Apanel
53
54
Manually edit password file
Note: Use a single colon ":" between name and password do not enter any spaces or
carriage returns at the end of the password.
To protect a single folder and not the entire SSL server copy the .htaccess file to a
folder you want protecting.
Edit the copied .htaccess file as explained above, the four lines look like this
Make sure you have not changed the .htaccess file in SSL otherwise the entire server
will remain under name/password control. Hence the lines must be commented out
asshown:
Note: The name and password are those used for the main SSL server hence change
these as described above.
It is possible to assign a user their own protected folder with a unique name/password
pair. For example take these three users John, Mike and Ruth
UniServer\htpasswd\ssl\john
54
55
UniServer\htpasswd\ssl\mike
UniServer\htpasswd\ssl\ruth
Edit each copied .htpasswd file to have a new name/password pair you want to assign
to each use.
UniServer\ssl\john
UniServer\ssl\mike
UniServer\ssl\ruth
Edit each .htaccess file in turn, enable password protection and change path to new
location of corresponding .htpasswd file. I have shown an example for john:
Note 1: All files and sub-folder in Johns folder are protected by his name/password pair.
Note 2: John has decided to share the information in his protected area with Ruth but
not with Mike. Hence John's .htpasswd file will look similar to this:
John:xxxxxxx
Ruth:yyyyyyy
Note 1: Do not enter any spaces after John's password only a carriage return is
allowed. After Ruth's password do not enter any spaces or carriage returns.
Note 2: You can add any number of name/password pairs to a .htpasswd file.
Related Information
55
56
SSL Part 2: Generate CSR -- How to obtain a free certificate
Summary
The above has shown how easy it is to enable SSl on Uniform Server 5.0-Nano a few
mouse clicks is all it takes. Likewise its easy to password protect the server, folders and
files. Next page covers running more than one server on the same PC.
5.0-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers |
Perl | UniTray | Security and passwords | Known Issues | Support
Contents
[hide]
1 Overview
1.3 Script
Uniform Server 5.0-Nano. PHP 5.2.10
Uniform Server 5.1-Nano. PHP 5.3.0
2 Clone servers
3 UniTray
4 General Notes
5 Related links
6 Summary
One of Uniform Server’s unique features is the capability to run more than one
complete server on the same PC.
You can use this to great advantage and prevent server clashes.
Moving UniServer increments the tray icon displaying a new digit for each server.
56
57
In reality it’s not just a port change the servers are reconfigured.
Overview
To run multi-servers on the same PC several items require changing such as server
ports, service names, Apache and UniTray executable names.
Manually changing these can be time consuming and prone to errors. The process has
been automated with the following script: move_servers.php
Assumes this is the only server currently running. If not close all other running
servers including their UniTrays.
Use either the right or left menu
Mouse-over "Advanced"
Click Move Servers multi-server operation
Script
Unless you want to use specific ports and names accept defaults shown in brackets by
pressing enter.
57
58
make sure these have eight or less characters.
The script uses existing names and either adds a digit to end of this name
or increments an exiting one. Ports are incremented, invalid ports are skipped.
When run for the first time output looks like this:
#############################################################################
###
Current Apache port = 80 Proposed port [81] :
Current SSL port = 443 Proposed port [444] :
Current MySQL port = 3306 Proposed port [3307] :
Current Apache name = Apache.exe Proposed name [Apache1.exe] :
Current MySQL name = mysqld-opt.exe Proposed name [mysqld-opt1.exe] :
58
59
Clone servers
If you know in advance the number of additional servers that will be run create them at
the same time, just makes the task a little easier.
UniTray
If you wish to change the icon displayed edit the images however do not change thir
names (tray_image_1.dat-tray_image_9.dat)
These are used within UniTray's configuration file and are dynamically updated when
servers are moved.
General Notes
for example if the server was moved to port 81 type the following into your browser:
http://localhost:81/
59
60
Important note MySQL port
When installing third party software you may be given a choice of entering a port
number,
enter the one corresponding to the moved server (you can find this by running server
statusfrom UniTray)
If this option is not provided (generally not) then append it to the server
Related links
Not sure what a draconian dragon is follow the first two links.
DtDNS Introduction Design notes for DtDNS updater and how to avoid draconian dragons.
PHP cURL Tutorial explaining cURL basics. Techniques are used in Server Status. Also shows how to
Introduction avoid draconian dragons.
Summary
Having a capability of running more than one server on the same PC allows you to
simulate external servers, for more information follow the above related links.
I run my personal Media Wiki on icon 2 (servers moved one level) hence I can take my
USB stick and know it will not clash with an IIS server on another PC.
60
61
5.0-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers |
Perl | UniTray | Security and passwords | Known Issues | Support
Contents
[hide]
1 ActivePerl
2 Plugins
2.1 Download
2.2 Install
3 Support enabled
Uniform Server 5.0-Nano. PHP 5.2.10
Uniform Server 5.1-Nano. PHP 5.3.0
3.1 Auto tracking
5 Summary
61
62
Although for server control Uniform Server no longer uses Perl it remains fully
supported.
Perl is a very powerful scripting language to do it justice two plugins are provided full
and mini Perl.
Full-Perl as the name implies consists of the core program and all modules while mini-
Perl consists of the core program and a collection of commonly used Perl modules.
ActivePerl
Uniform Server's Perl plugins use ActivePerl from ActiveState current version is
ActivePerl 5.10.0.1006 it’s an industry-standard Perl distribution.
ActivePerl is multi platform, runs on Windows, Linux, Mac OS X, Solaris, AIX and HP-
UX.
Apart from being robust and reliable one of its main features is portability.
Plugins
Perl Versions
ActivePerl 5.10.0.1005
ActivePerl 5.10.0.1006
The mini plugin is suitable for majority of smaller applications. Larger and more
advanced application download the full plugin.
Download
Downloaded the plugins from from Sourceforge choose one of the following:
ActivePerl 5.10.0.1005
62
63
V5.0_full_perl.zip 16.0 MB 52.2 MB Contains Perl core program and full set of Perl modules.
ActivePerl 5.10.0.1006
Non-Perl users I hope will appreciate what a significant overhead it is even with mini-
Perl installed hence the reason for making Perl a plugin.
If space is at a premium Perl users can start with mini-Perl and add modules as
required from full-Perl.
Install
exe
By far the easiest way to install Perl is to download one of the executables and install as
follows:
Creates two new folders bin and lib in folder UniServer\usr These contain the Perl
program and Perl modules respectively.
zip
63
64
These contain the Perl program and Perl modules respectively.
Support enabled
Auto tracking
Perl scripts are placed in folder UniServer\cgi-bin and any sub-folders as appropriate.
Each script requires a shebang this must be an absolute path to the Perl executable for
example:
#!C:/Test/UniServer/usr/bin/perl.exe
Server control on detecting a server move writes a new shebang to all files with a .pl or
.cgi extension.
Important
After extracting a third party Perl script to cgi-bin you must either move the servers or
force a shebang update using UniTray. Alternatively you can manually edit each file.
Apanel support
With Perl installed a new menu option become available in Apanel. This displays the Perl
environment and additional information.
UniTray support
Perl scripts contain a Shebang (first line) this informs a server where to find the Perl
program. Uniform Server is dynamic and tracks any path changes automatically
updating the Shebang.
64
65
However if the server remains static and you have added new scripts in the cgi-bin
folder the Shebang is never updated. Hence run the following menu item after installing
new scripts. It updates the Shebang in all files to the current Perl location.
left click tray icon > Advance > click "Perl Shebang Update cgi-bin"
Tip:
When writing Perl scripts you can use the following for the shebang:
#!
From UniTray run "Perl Shebang Update cgi-bin" and all pages will be updated with the
correct shebang.
Perl scripts developed on Windows will not run on a Unix machine they require
conversion to Unix format.
left click tray icon > Advance > click "Perl win2unix + Shebang Update"
Scripts in this new folder are converted from Windows to Unix format.
Perl CGI Hello World - Short snippets to get you started with Perl
65
66
Summary
Uniform Server has been pre-configured for Perl hence after installing either of the
plugins Perl is ready to run scripts.
For convenience any Uniform Server plugin requiring Perl support such as AWStats
come complete with mini-Perl and any additional modules required to support that
plugin.
5.0-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers |
Perl | UniTray | Security and passwords | Known Issues | Support
Contents
[hide]
2 Configuration
Uniform Server 5.0-Nano. PHP 5.2.10
Uniform Server 5.1-Nano. PHP 5.3.0
3 Start and Stop UniTray
3.1 Stop_UniTray.bat
3.2 stop_unitray.php
3.3 stop_unitray()
5 Summary
Aestan Tray was developed by Onno Broekmans and has stood the test of time. There
are alternatives but none have the flexibility and controllability as Aestan Tray. It is
extremely malleable hence has been integrated into Uniform Server to produce UniTray.
66
67
Should you not like UniTray’s offerings edit the configuration file to provide the solution
you want? Note the configuration file is dynamically updated hence certain items should
not be changed these are covered on this page after a basic introduction.
For connivance I have reproduced this section from the introduction page.
There are two menus corresponding to the left and right mouse buttons.
The left menu controls servers as a standard program while the right menu controls the
servers as a service.
Ergonomics are such that the order of complexity is from top to bottom with
commonality reproduced in both menus for connivance.
67
68
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.
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
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.
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
Server control will attempt to perform the action requested, generally if the request is
invalid it gets silently ignored (trying to run the servers twice) or a warning message is
displayed (Perl shebang update with no Perl plugin).
UniTray Help
Or
From UniTray Left click tray icon > click Server Documentation
Page displayed, click link help.html
68
69
Server Status - Diagnostics
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
Configuration
UniTrays configuration file allows you to delete, add or modify menu items.
Location: UniServer\unicon\tray_menu\UniTray1.ini
Note: If you have moved the servers, the ini file will be renumbered accordingly.
Scanning down the file you will notice it is split into sections left, right and common
menus.
Suppose you want to start the servers without displaying the index page.
Locate the following line (Note: Line split to prevent breaking Wiki page ):
69
70
Difference between the two lines is the parameter passed to the script
start_servers.php
Parameters are binary coded ( see Script Parameters) and override defaults changing
from 7 to 3 starts only Apache and MySQL servers.
With all those start stop files UniTray control looks complex in reality they are slight
variations of performing the same thing. If you follow a control path it ends in a single
function. This applies not only to UniTray it is the heart of UniServer’s control
architecture.
It’s probably worth following one of these paths for example UniTray’s stop.
Stop_UniTray.bat
All batch files are nothing more than a user interface to run a PHP CLI script.
..\..\usr\local\php\php-win.exe -n stop_unitray.php
This line runs PHP interpreter which in turn runs the script stop_unitray.php
stop_unitray.php
All PHP scripts run from a batch file perform as the first task a server move check.
If servers have moved they are reconfigured accordingly, the script then continues.
stop_unitray()
70
71
All server control functions are located in file:
UniServer\unicon\main\includes\functions.php
After removing irrelevant information the function stop_unitray() looks like this:
Real point of showing this function, although it is the last one to be called from our
script the function itself assumes things have changed. The server is dynamic UniTray
exe may have been renamed likewise the ID in the configuration file may have been
updated. Hence these are read from source using the get functions.
Summary
UniTray is very versatile and easy to use don’t worry about any of the techno babble
just use it.
71
72
5.0-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers |
Perl | UniTray | Security and passwords | Known Issues | Support
Contents
[hide]
1 Default installation
4 MySQL Password
5 Summary
New users may find Uniform Server’s security features a little bewildering this page
attempts to explain their use and when passwords are required.
Default installation
72
73
After extracting Uniform Server 5.0-Nano it’s ready to run and very secure. Apache and
MySQL servers are locked down allowing only local access. No external access allowed
from either Intranet or Internet hence while connected to these you can safely develop
a web site.
Uniform Server 5.0-Nano achieves this lock down through the use of .htaccess files
placed in each folder that is protected. The file also protects any sub-folders in that
folder.
Open either of the .htacces files and you will find these three lines
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
The first line informs Apache to look for the next two lines and execute them in that
order (Deny and then Allow)
The third line is very specific and allows access from IP address 127.0.0.1 this is the IP
address of the local machine. Hence Apache is locked down allowing only localhost
access. (IP address 127.0.0.1 is also referred to as the local loop back address)
To put your servers on-line you need to allow external access this is achieved by
commenting (adding a hash “#” to the beginning of each line) the three lines as shown
below:
#Order Deny,Allow
#Deny from all
73
74
#Allow from 127.0.0.1
With the lines commented everyone connected to the Internet or Intranet has access to
the folders that the .htaccess file was protecting.
These are now available and pages will be served by Apache from these folders.
You may wish to prevent other Internet users accessing your server (a personal web
server) this can be achieved by forcing a user to enter a name and password. Uniform
Server has this facility pre-configured, Apanel allows you to set a name and password
for three specific areas of the server. Under Configurations (left menu) you will find
these three links:
After setting a name and password they do not become effective unless enabled in
the appropriate .htaccess file, lets look at these in more detail.
If you have placed Apanel on-line it must be protected with a name and password as
follows:
74
75
Edit file: \UniServer\home\admin\www\.htaccess
At the bottom of this file un-comment (remove the hash”#”) the last four lines as
shown
Third line is the location of the file containing the name/password pair
The forth line forces Apache to instruct a browser a name and password are required.
Change name and password using Apanel, click on the link “Admin Panel
Configuration” a new page opens showing current name/password. Enter new
name/password click change.
aname:apassword
Note: Do not add any additional characters or carriage return (enter key) after the
password.
http://localhost/apanel/
or
http://your_domain/apanel/
At the bottom of this file un-comment (remove the hash”#”) the last four lines as
shown
Third line is the location of the file containing the name/password pair
The forth line forces Apache to instruct a browser a name and password are required.
Change name and password using Apanel, click on the link “Private Server
Configuration” a new page opens showing current name/password. Enter new
name/password click change.
Note: Do not add any additional characters or carriage return (enter key) after the
password.
http://localhost
or
http://your_domain/
At the bottom of this file un-comment (remove the hash”#”) the last four lines as
shown
Third line is the location of the file containing the name/password pair
The forth line forces Apache to instruct a browser a name and password are required.
Change name and password using Apanel, click on the link “Private Secure Server
Configuration” a new page opens showing current name/password. Enter new
name/password click change.
Alternatively edit file /htpasswd/ssl/.htpasswd and enter a name and password in the
following format. aname:apassword
Note: Do not add any additional characters or carriage return (enter key) after the
password.
https://localhost/
or
https://your_domain/
77
78
Note 2: Make sure you have generated a new server certificate and key as detailed
on this page.
MySQL Password
The MySQL server has been locked down for local access and protected by a password.
If you have not put Apache on-line there is no need to change the password (default
root). However it is good practice to change this at the earliest opportunity.
With Apache on-line there is a risk either through malicious intent or a rouge script to
gain access to the MySQL server’s root user hence change the password. Note access
remains local because user root has been restricted to local access.
To change the MySQL password use Apanel, click on the link “MySQL Server
Configuration ” a new page opens showing current password (default root). Enter
new password click change; there is no need to re-start the server.
Note 1: After changing either the MySQL port or password you may find server access
is no longer possible using phpMyAdmin. A common cause is your browser cache close
down servers and browser then restart.
Note 2: If for any reason the password becomes corrupted don’t panic use the
password recovery link, found under Apanel's Plugin Manager section (left menu).
Alternatively check out this page, how to manually create a new password.
Note 3: If you need to quickly back-up your databases no need to use phpMyAdmin or
any other tool just back-up folder UniServer\usr\local\mysql\data this contains all
databases.
Summary
In terms of security if you are using the server for development there is nothing to do.
If you are putting the servers on-line they need to be enabled first by editing each of
the .htaccess contained in each web-root folder (www and or ssl). Comment the lines
as shown:
#Order Deny,Allow
#Deny from all
#Allow from 127.0.0.1
78
79
If you want a personal server with name/password access uncomment the last four
lines in the above .htaccess files. Remember to change the name/password pairs using
Apanel or manually edit the appropriate file.
Note 2: Additional information can be found on the Security features page this includes
Apanel's Security Center page
[[5.0-Nano: Known Issues | Next page] covers known issues and problems, where
applicable offers solutions.
5.0-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers |
Perl | UniTray | Security and passwords | Known Issues | Support
Contents Uniform Server 5.0-Nano. PHP 5.2.10
Uniform Server 5.1-Nano. PHP 5.3.0
2.1 Solution 1
2.2 Solution 2
3.7 Skype
4.1.1 IP address
4.1.2 Accessibility
5 HOSTS File
79
80
5.1 Cannot access server using localhost but 127.0.0.1 works
6 VHOSTS
7 LAN
8 Vista
9 PHP Scripts
11.1 Problem
11.2 Solution
This page contains known issues and problems, where applicable offers solutions.
MySQL 5 supports only IPv4 unfortunately Windows 7 gives priority to IPv6 and returns
an IPv6 address for localhost hence a connection fails.
Uniform Server’s solution is to replace localhost with port address 127.0.0.1 this
forces an IPv4 connection.
I like alternatives and if you wish to use localhost as the MySQL host name perform the
following:
80
81
HKLM\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters called
“DisabledComponents”,
Set value to 0x20. it sets IPv4 to be preferred over IPv6
If you receive the following errors cause is probably due to User Account Controls (UAC)
Apache error
MySQL error
The service name is invalid. More help is available by typing NET HELPMSG 2185.
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061) </pre>
Solution 1
In my opinion the simplest way of getting UniServer up and working on Windows 7 and
I presume the same will apply for Vista is by doing as follows.
After a couple of seconds Apache and Mysql should now run as expected.
81
82
Solution 2
If you really want to be lazy and are happy to always grant UniServer 'Run as
administrator' privileges then you could also
Now in future you can just run Start.exe as normal by double clicking it and it will
always automatically be run as an administrator.
Note: You only need to perform the above if you want to install Apache and MySQL as
a service. If you want to just use them as a normal program then there is no issue and
you don't need to run as administrator, you can just choose to run them as standard
programs by left clicking on the system tray icon (UniTray) and selecting 'Start
Uniserver'. (Extract from forum post by Ollie222)
A) If port 80 is being used by another service or server Uniform Server will not start.
Before starting UniServer make sure you do not have another service running on Port
80.
Run Server Status from UniTray: Check ports are free to use.
You can kill the processes that use port 80 on XP Pro as follows:
1. Start the Command Prompt and then type netstat -ano | find
"LISTENING" | find ":80"
1. You'll see a bunch of stuff like "TCP x.x.x.x:80 x.x.x.x:0 LISTENING
number", what we're interested in here is number, if there are more
than one (which normally shouldn't happen), repeat the steps below for
each one
82
83
2. Type tasklist /SVC /FI "PID number", replace number with the one
you saw after executing the first command.
1. You'll see 3 lines of stuff, but we're only interested in the last line,
which should be something like program number service, if program is
Skype.exe, you can change the port it listens on; if <service> is not
N/A then proceed to the next step
3. Type net stop service, replace service with the one displayed after
executing the command above (it shouldn't have any spaces).
1. You should see something like "The xxxx service was stopped
successfully", this means that you've got rid of the service (probably IIS)
that was using port 80 (and thus making you unable to access Uniform
Server);
XP home does not support the tasklist command. A better alternative for both xp pro
and home is to use:
Microsoft acquired Sysinternals in July, 2006 free download: Process Explorer for
Windows
Using
The easiest way to use this tool is to obtain a list of what is running on port 80 using:
1. Start the Command Prompt and then type netstat -ano | find
"LISTENING" | find ":80"
1. You'll see a bunch of stuff like "TCP x.x.x.x:80 x.x.x.x:0
LISTENING number", what we're interested in here is number the PID
2. Now run procexp.exe look down the list of PID's and find the ones from
the above step. You now have the process name and possibly a description.
3. Right click on the file name and select Kill Process repeat for all the
above. Now start UniServer you will find it now works.
All you need to do now is decide what you want to do with the offending programs
(they will restart next time you reboot) either delete or change the listening ports.
83
84
Unistall IIS
XP Pro comes with Windows IIS (Windows Internet Information Server) pre-installed,
the following details how to remove it.
Note: XP Home does not have IIS installed hence not a problem.
Alternative method
Disable IIS
If you must have IIS on your machine you have two alternatives as follows:
You can disable IIS by using the Internet Information Services applet in the
Administrative tools area of Control panel.
84
85
1. Select the Default Web Site element
2. Right click it
3. Now click Stop.
If you want to run IIS on another port check out this page IIS back-end server
This solutions allows you to use ASP and other applications best suited to IIS
Alternatively if you want to run UniServer on another port check out this page Multi-
Servers
Skype
Skype is a little piece of software that lets you make free telephone calls anywhere in
the world to another Skype user. They like Uniserver have their own problems with
firewalls check out this link. Skype may and does use port 80 this conflicts with
Uniserver however it is quite an obliging piece of software in that it can share port 80 or
be moved on.
Shared port
1. Stop Uniserver
2. Stop Skype
3. Start Uniserver
4. Then start Skype
If this solution works let me know! However the preferred solution is that recommended
by Olajide:
Move it on
85
86
2. Change the port to something like 85(incoming). Check that both
Uniserver and Skype are happy or try another port.
Q) I have tried every thing but my servers are not accessible from the Internet.
A) There can be any number of reasons why your server is not accessible from the
Internet. The path to your server is not direct a typical access follows this sequence
1. A user types into their browser a URL to access a page on your server.
2. The domain part of the URL needs to be converted to an IP address that
points to your server.
3. A browser sends a request to a DNS server to obtain this IP address
4. A browser uses the returned IP address to send a page request to your
server
5. If your server is connected to the Internet via a router the request is
routed to your internal network address on port 80.
6. This may be intercepted by a firewall and rejected if it has not been
configured to allow access.
7. Your server uses file .htacces to check allowed IP access if you have not
configured this file the request will be rejected (default is to allow only local
access).
8. Assuming you have enabled external access in file .htaccess the page is
served.
9. This may be intercepted by a firewall and rejected if it has not been
configured to allow Apache to act as a server.
10. The above assumes your ISP does not block the ports.
External access requires passing all ten steps resolving an access failure requires
pinpointing the cause. Uniform Server contains diagnostics that breaks the above chain
making it easier to isolate the cause.
Server Status
With the servers running run Server Status from UniTray note what is displayed for the
first two entries. One of two results are displayed for each entry as follows:
86
87
Your Internet IP Address: IP address displayed or Not connected or error
Accessible from Internet: YES or NO
IP address
Your IP address is obtained from an external page. If you can surf the Internet from a
browser you should see an IP address. Should an IP not be displayed it could be
because the external server is down!
Accessibility
Accessibility test uses the above IP address to access your server it removes the
dependence on a DN server. In addition it reads a page on your server
UniServer\home\access\www\index.html
The folder is not protected by an .htaccess file hence removes any issues associated
with .htaccess files.
Passing this test indicates you may have not enabled external access in file .htaccess.
A quick test is to enter your IP address into a browser e.g http://999.163.178.100 your
home page should be displayed.
If server is accessible using your IP address and still cannot be accessed using your
domain name indicates an issue at your DNS provider is the IP setting correct.
HOSTS File
The hosts file is located in the system folder. The path may be different depending on
your setup, these paths are for typical default installations.
87
88
c:\windows\system32\drivers\etc\hosts — Windows XP Home
127.0.0.1 localhost
127.0.0.1 localhost:80
:. localhost
or
:. 127.0.0.1
Comment them out by adding a # (hash) at the beginning of each line for example:
# :. localhost
or
# :. 127.0.0.1
The "hosts" file should contain only these lines for IP 127.0.0.1
127.0.0.1 localhost
127.0.0.1 localhost:80
88
89
Localhost does not work on another PC
Trying to run servers on another PC and localhost does not work, see above.
I have moved my servers to a different port and localhost:81 on another PC does not
work.
You require an entry in the hosts file that looks like this:
VHOSTS
Q I have several virtual hosts set using Apanel, they do not work on another PC.
LAN
Q) Other users cannot access my server from their PC's on the same LAN or wireless
network. My server is working fine locally.
89
90
Type the following into a browser http://fred123/
Alternatively type the following into a browser http://192.168.1.6/
Vista
PHP Scripts
Problem: Some third party PHP scripts fail to install with development php.ini
Solution: Before installing third party scripts use UniTray and switch to
production php.ini (Default after extraction).
For the new php.ini file to be picked up remember to restart server.
Although you can use the Query window (second icon top left) to import files I prefer an
import TAB. If you want to re-establish this tab proceed as follows:
$tabs['import']['icon'] = 's_sync.png';
$tabs['import']['link'] = 'server_synchronize.php';
$tabs['import']['text'] = $strSynchronize;
Replace with:
$tabs['synchronize']['icon'] = 's_sync.png';
$tabs['synchronize']['link'] = 'server_synchronize.php';
$tabs['synchronize']['text'] = $strSynchronize;
Problem
When changing MySQL root password “localhost” is correctly updated however host
“127.0.0.1” remains unchanged. This is undesirable and should be rectified straight
away.
Solution
Solution is to download the latest version of Uniform Server. However this may be
inconvenient. Existing installation are easily upgradeable as follows:
B] Start servers
C] From Unitray run restore MySQL password (root name and password both restored
to root)
D] From Apanel set a new MySQL root password or use the one you previously set.
91
92
5.0-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers |
Perl | UniTray | Security and passwords | Known Issues | Support
Contents Uniform Server 5.0-Nano. PHP 5.2.10
Uniform Server 5.1-Nano. PHP 5.3.0
[hide]
1 MySQL Password
2 Server Ports
4 Core Components
4.1 Apache
4.1.2 Install
4.2 PHP
92
93
4.3 PERL
4.4 MySQL
This support page provides information for downloading full packages of the core
components. In addition includes small snippets of information that may be of use
these are in no particular order.
Note:
If you are going to download and install full versions of the core components check
introduction page for release details and correct package to download.
MySQL Password
Server Ports
After moving the servers run Server Status to obtain the current port numbers.
Assume these are Apache port = 8080, Apache SSL port = 444 and MySQL port = 3310
If your scripts use PHP’s mail() function the default settings will not work.
There are several ways to resolve this check out PHP mail function page for details.
93
94
Core Components
Although grate care has been taken to include most commonly used modules with the
main distribution of 5.0-Nano. Occasions will arrise when you need a module that's not.
This section provides information for the core components used in 5.0-Nano I would
recommend you download these and save to individual folders for later use thus
allowing you to import any modules you require.
Apache
Apache is not distributed in a simple archive format in order to obtain the binaries you
have two options either install the downloaded package and pick-up the binaries or run
msiexec to extract the binaries.
Run msiexec
First create a batch file named extract_msi.bat in the folder you saved the download
to and add this line:
msiexec /a apache_2.2.13-win32-x86-openssl-0.9.8k.msi
Save the file and double click to run. It appears as if you are installing the program
however it just extracts the files. Save to a folder of your choice, in this folder you will
find the Apache files these are several folders down.
Install
If you do not have msiexec install and extract the binaries as follows: The process is
easy, install, copy the installed folder to another location and finally uninstall.
94
95
Install package
Of importance you now have access to all Apache's modules allowing you to select the
ones you need.
PHP
PHP 5.0-Nano
We are not interested in installing PHP on our PC hence download a zip package:
95
96
PHP 5.2.10 zip package [10,242Kb] - 18 June 2009
After downloading unzip to any folder, locate folder php-5.2.10-Win32\ext copy any
extensions you require to folder
uniform_server\udrive\usr\local\php\extensions.
PHP 5.1-Nano
We are not interested in installing PHP on our PC hence download a zip package:
PHP 5.3.0 zip package [10,115Kb] - VC6 x86 Thread Safe (2009-Jun-30
08:52:55)
File php-5.3.0-Win32-VC6-x86.zip
After downloading unzip to any folder, locate folder php-5.3.0-Win32\ext copy any
extensions you require to folder uniform_server\usr\local\php\extensions.
PERL
We are not interested in installing Perl on our PC hence download a zip package
After downloading unzip to any folder, and add libraries as required to folder
uniform_server\usr\lib
Uniform Server plugins are an easier option for details refer to the Perl page
MySQL
96
97
Go to the MySQL downloads page scroll down to Windows downloads section. You
require the file named Without installer (unzip in C:\) to the right of this click on
Pick a mirror
Un-Zip the file into a folder this creates a new folder named: mysql-noinstall-
5.1.38-win32 Inside this folder you will find another folder named mysql-
noinstall-5.1.38-win32 containing the MySQL files.
Although 5.0-Nano is complete you may like to use some of the utilities supplied in the
full download (extracted size 430 MB)
Note: If you require a program to check the MD5 pop over to Portable Apps look in the
utilities section and download winMd5Sum portable checker
97