Mini Servers: Introduction

From The Uniform Server Wiki
Revision as of 18:00, 23 September 2008 by Ric (talk | contribs)
Jump to navigation Jump to search

Mini Servers:  Introduction | Support | Server 1 - Portable | Server 2 - Service | Server 3 - Portable Authentication | Server 4 - Portable Authen. SSL | Server 5 - SSL Standalone | Browsers dislike self-signed certificates | Server 6 - PHP 5.2.6 Portable | Server 7 - PHP 5.2.6 Service | Server 8 - MySQL Support | Guest Book | Server 9 - Perl 5.2.6 Portable | Server 10 - Perl 5.2.6 Service | Server 11 - MySQL 5.0.67 Portable | Server 12 - MySQL 5.0.67 Service | Server 13 - MySQL 4.1.22 Portable | Server 14 - MySQL 4.1.22 Service | phpMyAdmin - Mini support | MySQL - General problems

Mini Servers:
Compact but fully functional.

Mini Series

stretched limo
stretched limo

No! Not a range of classic cars but a range of mini servers based on Uniform Server's architecture. These mini power units are usable in either a portable mode or may be installed to provide a service.

The eight-cylinder Apache 2.2.9 core powers all models. Models come in three formats; basic straight Apache, turbo charged options either Perl 5.10 or the popular PHP 5.2.6.

Note The turbo chargers are a limited edition and slightly under powered, as is the main Apache engine. However these are upgradeable by visiting each manufacture to obtain their latest full production version, these are highly tuned providing maximum raw power.

The mini sever series was sparked off because Uniform Server for whatever reason reminded me of a stretched limo, thought I would chop it up into three minis! Ever taken anything apart only to find after reassembly several parts left over hence the fourth mini server series.

Mini Servers

Apache is a battle-hardened server the new version (2.2.9) bristles with all manner of goodies. Its main features are stability, performance and security some would say at the expense of complexity. In this series I hope to dispel this myth of complexity, what makes Apache so versatile is its wide range of extensions (modules) providing numerous features. This modular approach allows you to tailor the server to your own requirements.

Everyone seems to want bigger better servers with all those bells and whistles occasionally all I want is a small compact test server that performs one specific task and easily configurable. I never like to use something I neither trust or understand hence hack Uniform Server to meet these needs.

Uniform Server’s basic architecture and Apache core make for truly ace compact portable servers. Instead of throwing these away I thought it worthwhile to document and publish them hence this mini server series. In the series I emphasise the need for security don’t take security for granted search the Internet for professional advice and implement.

Apache 2.2.9

Apache 2.2.9 PHP 5.2.6

Apache 2.2.9 Perl 5.10

What use are they? Well these are not toys; first in the series is a small production server for serving basic HTML pages. Minor changes to this basic server allow you to explore and learn server side languages such as Perl and PHP. In keeping with my minimalist philosophy they use only core language elements. Don’t be deceived by this approach they are small powerhouses capable of producing some impressive web sites.

If you do require full language capability use Uniform Server 3.5-Apollo, transferring from a mini server will not be difficult since they are based on 3.5-Apollo’s architecture. (These servers were tested on Windows XP Home only.)

Apache 2.2.9 SSL enabled

Two special editions have been added extending server range.

MySQL ServerMySQL Server

Top

Table showing full range of mini servers

Name Type Compressed Uncompressed Apache PHP PERL Port Comments
Server 1 Portable 416KB 870KB 2.2.9     8081  
Server 2 Service 402KB 821KB 2.2.9     8082  
Server 3 Portable 441KB 1.22MB 2.2.9     8083 Includes htaccess, authentication and mod-rewrite
Server 4 Portable 995KB 3.02MB 2.2.9     8084/444 As server 3 with added protection of SSL
Server 5 Portable 995KB 2.99MB 2.2.9     8085 As server 4 SSL Standalone no main server on port 8084
Server 6 Portable 2.01MB 6.29MB 2.2.9 5.2.6   8086 Includes Guest Book
Server 7 Service 2.27MB 6.59MB 2.2.9 5.2.6   8087 Includes Guest Book
Server 8 Portable 2.44MB 8.24MB 2.2.9 5.2.6   8088 Includes Guest Book, PHP Mini SQL Admin and MySQL support enabled.
Server 9 Portable 918KB 2.66MB 2.2.9   5.10 8089  
Server 10 Service 904MB 2.36MB 2.2.9   5.10 8090  
Server 11 Portable 1.87MB 10.4MB       3311 MySQL 5.0.67 Server running on port 3311
Server 12 Service 1.85MB 10.2MB       3312 MySQL 5.0.67 Server running on port 3312
Server 13 Portable 1.46MB 6.57MB       3313 MySQL 4.1.22 Server running on port 3313
Server 14 Service 1.46MB 6.37MB       3314 MySQL 4.1.22 Server running on port 3314

Top

Server 1 - Apache core 2.2.9 - Portable

A very basic portable production server for serving web pages (htm and html). Includes a basic web site. Designed to allow multiple servers running on same PC, these require a separate virtual drive automatically created.

  1. Introduction: Intro and security
  2. Specification: Four lines! Yep that basic.
  3. Modules: List all Apache modules used for the server.
  4. Apache configuration file: - Reduced file to make it clean and understandable.
  5. Access control: - This access control block defines the server security. Important
  6. Support files: - How to download, unpack server and test.
  7. Your Web Site: Where to put your web site.
  8. Summary: Leading onto mini server 2.

Top

Server 2 - Apache core 2.2.9 - Service

A very basic production server running as a service for serving web pages (htm and html) includes a basic web site. Designed to allow multiple servers running as a service on same PC, will require a separate folder for each server easy to set-up and configure.

  1. Introduction: Intro and surgery performed
  2. Specification: Single line change.
  3. Changes: Outlines what changes are required.
  4. Apache configuration file: - Highlighted changes in bold.
  5. Batch files: - Install and Uninstall server as a service.
  6. Support files: - How to download, unpack server and test.
  7. Your Web Site: Where to put your web site.
  8. Summary: Leading onto mini server 3.

Top

Server 3 - Apache core 2.2.9 - htaccess, authentication and mod-rewrite

A very small portable production server for serving web pages (htm and html) includes a basic web site. Designed to allow multiple servers running on same PC, these will require a separate virtual drive automatically created.

This server has the following enabled, htaccess, basic authentication and mod rewrite. Mod rewrite included enhancing basic authentication. Included are two examples of authentication, protection of single private pages and protection of private folders. A name and password are required to access individual protected areas.


  1. Introduction: Intro
  2. Moving the Server: How to change port to 8080 and virtual drive to z
  3. How to enable htaccess: and protect from Internet access
  4. How to add authentication: Modules required to enable basic authentication
  5. :Add password folder and file to save name/password pairs.
  6. How to add mod rewrite: Extremly easy to add mod rewrite.
  7. Mini server httpd.conf: Complete configuration file.
  8. Support files: Download this server.
  9. Secure1: How to protect single pages with a name and password.
  10. Secure2: How to protect individual folders with a name and password.
  11. Summary: Leading onto an SSL enabled mini server 4.

Top

Server 4 - Apache core 2.2.9 - htaccess, authentication and mod-rewrite SSL

A very small portable production server for serving web pages (htm and html) includes a basic web site. Designed to allow multiple servers running on same PC, these will require a separate virtual drive automatically created.

This server has the following enabled, htaccess, basic authentication and mod rewrite. Mod rewrite included enhancing basic authentication. Included are two examples of authentication, protection of single private pages and protection of private folders. A name and password are required to access individual protected areas.

Increased security is achieved by encrypting name/password pairs and data using SSL. Creating a new server key and certificate is achieved by running a single file making the whole process extremely easy. This server is ideal for a personal secure server.

  1. Introduction: Intro
  2. Folder structure: Split the root folders
  3. Configuration file structure: Uses two configuration files
  4. How to add SSL: Enable SSL in main configuration file
  5. :ssl.conf Enable htaccess in SSL config.
  6. Complete configuration files:Shows both configuration files used.
  7. Support files: Download this server.
  8. Generate new server Certificate and key: Must create new certificate and key
  9. Summary: Leading onto mini server 5

Top

Server 5 - Apache core 2.2.9 - authentication and mod-rewrite SSL Standalone

This very small portable production server is a stand-alone SSL server for serving web pages (htm and html) includes a basic web site. It does not have an insecure server section. Designed to allow multiple servers running on same PC, these will require a separate virtual drive automatically created.

This server has the following enabled, htaccess, basic authentication and mod rewrite. Mod rewrite included enhancing basic authentication. Included are two examples of authentication, protection of single private pages and protection of private folders. A name and password are required to access individual protected areas.

Increased security is achieved by encrypting name/password pairs and data using SSL. Creating a new server key and certificate is achieved by running a single file making the whole process extremely easy. This server is ideal for a personal secure server.

  1. Introduction: Intro
  2. Changes made to server 4: Overview of changes
  3. Complete configuration file: New configuration file
  4. Summary of changes: Dtail of chanfes by section.
  5. Support files: Download this server.
  6. Generate new server Certificate and key: Must create new certificate and key
  7. Conclusion: End of mini server 1 series..

Top

Server 6 - Apache 2.2.9 & PHP 5.2.6

A basic portable production server with the added power of PHP allowing dynamic web pages in addition to static htm and html pages. Includes a basic web site and Guest book. Designed to allow multiple servers running on same PC, these will require a separate virtual drive automatically created.

  1. Introduction: Intro and security
  2. Specification: Four lines! Yep that basic.
  3. Apache configuration file: - Minor changes required to server 1 config file.
  4. PHP Core: - How to download PHP and extract the core components.
  5. PHP configuration: Modifications required to php.ini file
  6. Security: Reduce public visibility and disable system functions.
  7. Support files: - How to download, unpack server and test.
  8. Your Web Site: Where to put your web site.
  9. Summary: Leading onto mini server 6 guest book.

Top

Mini Server 6 Guest book

This mini server includes a quest book (version 1.7.2) downloaded from the DigiOz web site.

  1. Introduction: Intro to guest book
  2. Server configuration problem: Guest book highlights a server problem.
  3. File extensions: - Shows why you should always a php file extensions.
  4. Defensive programming: - Never trust user data!
  5. Automated posts: Kill the automated post with a captua
  6. Summary: Leading onto mini server 7 run as a service.

Top

Server 7 - Apache 2.2.9 & PHP 5.2.6

A basic production server running as a service with the added power of PHP allowing dynamic web pages in addition to static htm and html pages. Includes a basic web site and Guest book. Designed to allow multiple servers running on same PC, will require a separate folder for each server easy to set-up and configure.

  1. Introduction: Intro and surgery performed
  2. Specification: Single line change.
  3. Changes: Outlines what changes are required.
  4. Apache configuration file: - Highlighted changes in bold.
  5. PHP configuration file: Highlighted changes in bold.
  6. Batch files: - Install and Uninstall server as a service.
  7. Support files: - How to download, unpack server and test.
  8. Your Web Site: Where to put your web site.
  9. Summary: Leading onto mini server 8 MySQL support enabled.

Top

Server 8 - Apache 2.2.9 & PHP 5.2.6 MySQL support enabled

A basic portable production server with the added power of PHP allowing dynamic web pages in addition to static htm and html pages. Includes a basic web site and Guest book. Designed to allow multiple servers running on same PC, these will require a separate virtual drive automatically created.

MySQL support is enabled further enhancing this server’s capability. A neat little script PHP Mini SQL Admin is included allowing you to access a MySQL server.

  1. Introduction: Intro and security
  2. Specification: Increased specification.
  3. PHP MySQL Support: - How to enable MySQL support.
  4. libmysql.dll Errors: - How to make sure Apache finds libmysql.dll
  5. Problem: Reasons why libmysql.dll can not be found
  6. Solution: Force Apache to load file.
  7. PHP Mini SQL Admin: A neat little script that complements the server.
  8. Support files: - How to download, unpack server and test.
  9. Your Web Site: Where to put your web site.
  10. Summary: Leading onto mini server 9.

Top

Server 9 - Apache 2.2.9 & Perl 5.10

A basic portable production server with the added power of Perl allowing dynamic web pages in addition to static htm and html pages. Includes a basic web site and a demonstration of server side includes, random quotes and image display. Designed to allow multiple servers running on same PC, these will require a separate virtual drive automatically created.

  1. Introduction: Intro and security
  2. Specification: Five lines! Yep that basic.
  3. Apache configuration file: - Minor changes required to server 1 config file.
  4. Perl Core: - How to download Perl and extract the core components.
  5. Security: Reduce public visibility and disable system functions.
  6. Support files: - How to download, unpack server and test.
  7. Your Web Site: Where to put your web site.
  8. Shebang problem: Make sure you are using the correct one
  9. Summary: Leading onto mini server 10 run as service.

Top

Server 10 - Apache 2.2.9 & Perl 5.10

A basic production server running as a service with the added power of Perl allowing dynamic web pages in addition to static htm and html pages.

Includes a basic web site and a demonstration of server side includes, random quotes and image display. Designed to allow multiple servers running on same PC, will require a separate folder for each server easy to set-up and configure.

  1. Introduction: Intro
  2. Specification: Single line change.
  3. Apache configuration file: - Highlighted changes in bold.
  4. Batch files: - Install and Uninstall server as a service.
  5. Support files: - How to download, unpack server and test.
  6. Your Web Site: Where to put your web site.
  7. Shebang problem: Make sure you are using the correct one
  8. Summary: Leading onto server 11 MySQL portable.

Top

Server 11 - MySQL 5.0.67 Portable

A fully portable MySQL server ideal for leaning SQL it is possible to connect using phpMyAdmin. Alternatively use the built in MySQL clients mysqladmin and mysql. Automatically detects free drive letter to run on easily configured port change default 3311 to any other port not in use.

Designed to allow multiple MySQL servers running on same PC, easy to set-up and configure.

  1. Introduction: Intro
  2. Specification: Short server specification.
  3. Support files: - How to download, unpack server and test.
  4. DOS (CMD) Prompt: How to open and use a command window.
  5. PHP: Test script to connect to this server and create a database.
  6. Change Virtual Drive: How to override auto detection.
  7. Change server default port: How to change default port 3308.
  8. MySQL - Admin: MySQL client to configure server.
  9. MySQL - Client program: MySQL client allows you to enter SQL commands.
  10. Summary Leading onto mini-server 12.

Top

Server 12 - MySQL 5.0.67 Service

A MySQL server running as a service ideal for leaning SQL it is possible to connect using phpMyAdmin. Alternatively use the built in MySQL clients mysqladmin and mysql. Easily configured port, change default 3312 to any other port not in use.

Designed to allow multiple MySQL servers running on same PC, easy to set-up and configure.

  1. Introduction: Intro
  2. Specification: Short server specification.
  3. Configuring MySQL: Change paths to absolute.
  4. install.bat: Installs the server as a service.
  5. uninstall.bat: Uninstalls the service.
  6. console.bat: Opens a command window to run MySQL clients.
  7. Support files: - How to download, unpack server and test.
  8. Test: Quick test guide.
  9. Change drive letter and or folder: How to move the server.
  10. Change server default port: How to change default port 3308.
  11. MySQL - Admin: MySQL client to configure server.
  12. Change Root password: How to change root password.
  13. MySQL - Client program: MySQL client allows you to enter SQL commands.
  14. Summary Leading onto mini-server 13.

Top

Server 13 - MySQL 4.1.22 Portable

This MySQL server is the last in the 4 series however it is still widely used by service providers hence included in the mini-series allowing code to be tested. With code tested on both MySQL series 4 and 5 you reduce incompatibility problems when transferring to a service provider.

A fully portable MySQL server ideal for leaning SQL it is possible to connect using phpMyAdmin. Alternatively use the built in MySQL clients mysqladmin and mysql. Automatically detects free drive letter to run on easily configured port change default 3311 to any other port not in use.

Designed to allow multiple MySQL servers running on same PC, easy to set-up and configure.

  1. Introduction: Intro
  2. Specification: Short server specification.
  3. Support files: - How to download, unpack server and test.
  4. DOS (CMD) Prompt: How to open and use a command window.
  5. PHP: Test script to connect to this server and create a database.
  6. Change Virtual Drive: How to override auto detection.
  7. Change server default port: How to change default port 3308.
  8. MySQL - Admin: MySQL client to configure server.
  9. MySQL - Client program: MySQL client allows you to enter SQL commands.
  10. Summary Leading onto mini-server 12.

Top

Server 14 - MySQL 4.1.22 Service

This MySQL server is the last in the 4 series however it is still widely used by service providers hence included in the mini-series allowing code to be tested. With code tested on both MySQL series 4 and 5 you reduce incompatibility problems when transferring to a service provider.

A MySQL server running as a service ideal for leaning SQL it is possible to connect using phpMyAdmin. Alternatively use the built in MySQL clients mysqladmin and mysql. Easily configured port, change default 3312 to any other port not in use.

Designed to allow multiple MySQL servers running on same PC, easy to set-up and configure.

  1. Introduction: Intro
  2. Specification: Short server specification.
  3. Configuring MySQL: Change paths to absolute.
  4. install.bat: Installs the server as a service.
  5. uninstall.bat: Uninstalls the service.
  6. console.bat: Opens a command window to run MySQL clients.
  7. Support files: - How to download, unpack server and test.
  8. Test: Quick test guide.
  9. Change drive letter and or folder: How to move the server.
  10. Change server default port: How to change default port 3308.
  11. MySQL - Admin: MySQL client to configure server.
  12. Change Root password: How to change root password.
  13. MySQL - Client program: MySQL client allows you to enter SQL commands.
  14. Summary End of series.

Top

Summary

Each mini server is complete including an example of the type of web site it can support. The first in the series is probably about as secure as anyone can make a server on Windows! Well enjoy I hope you can find a use for one of these or just use the full version of Uniform Server.

Top


Ric