Register to Reply
Results 1 to 1 of 1

Thread: How to Create a unified Test Lab on Windows

    1. How to Create a unified Test Lab on Windows

      How to Create a unified Test Lab on Windows

      By: (vBulletin Enthusiast) cfleischmann is offline 5th Dec 2020 02:28
      Creating a Unified Test Lab for PHP Applications on the Microsoft® Windows® Platform
      By: Carly Grace Fleischmann
      Last Revised: Thursday, December 3, 2020
      0: Before We Begin: Just so we’re aware of this out front, the full text version of this guide will be published first to allow for easier editing and the like. After that, I’ll post up accompanying screenshots from a test lab machine with brief descriptions of those screenshots that follow along with each section since for those who are visual learners and need to see pictures in addition to reading text. I’d normally put these in where they’re needed to illustrate a point but due to the authoring process taking place in Microsoft word then transferring to a forum post editor, this will be easier. At the top of each subsequent post, I’ll make a note of what section the screenshots go with. Additional Note: I mostly use the word MySQL to refer to the database engine; however later versions of software may call this software MariaDB instead for whatever reason that I'm unaware of. So thanks to that little bit of confusion, in some places I use the word MySQL and in others I use the word MariaDB; just know that they are the same program and perform the same function.

      1: Introduction: The purpose of this article is to show how to create a unified testing environment for web applications so you don’t need to buy web space just to test. There are myriad reasons why you might want to do this including personal testing of apps prior to deployment in a production environment, creating a local intranet for your home or small office environment, or just so you can better your skills.

      2: What You’ll need: You’ll need a few things to get this off the ground and chances are you already have these or can easily get them. You’ll need the following pieces of software and hardware to get started:
      1) A computer that is running any version of windows (vista or newer if you’re testing PHP 7x apps) or XP or newer if you don’t need PHP 7x.
      2) Apache, MySQL (MariaDB), and PHP software. While it is possible to put all these components together from their windows exe files and installers, there exists a nice little free package called uniform server that bundles these technologies together in a nice little package that can be run from anywhere (even a USB stick). You can get the latest uniform Server from We’ll be using uniform server in this tutorial, so if you want to follow along exactly you’re going to need a copy of that. Note that this tutorial is not going to cover all that Uniform Server has to offer as their documentation is very comprehensive.
      3) Some time to test and play around with these apps.
      4) (Optionally) a copy of hMail server and mozilla thunderbird if you want to test email capabilities. Note that this guide will not show how to setup or use hMailServer for testing and that might be an article for another day.

      3: Getting the Software: To install and get your test lab set up, take the following steps:
      1) Install and activate Windows either in a virtual machine or on physical hardware.
      2) Download and install Firefox and optionally thunderbird.
      3) Download and install the Microsoft visual C++ redistributable for 2015-2019 if you don’t already have it installed since the apache server and PHP binaries that ship with uniform server require it. Skipping this step will cause errors later on in the process.
      4) Download and set up Uniform Server.
      5) (optionally) Download, install, and configure hMailServer with a fake domain (ending in .local, .intranet, .server, etc.) or several.

      It is important to note that this tutorial assumes you’re familiar with installing, obtaining, and setting up windows and supporting applications so these tasks will not be covered here. If you need help obtaining or installing windows and supporting software either on a virtual machine or on physical hardware, there are plenty of YouTube videos and online guides that explain these processes. With that disclaimer out of the way, this tutorial will pick up after you have the Uniform Server installer on your machine.

      4: Unpacking the Boxes: After you’ve obtained your uniform server file from the SourceForge page either the current version (version 13 as of time of this writing) or at least version 11 of you’re running on XP since versions 12 and newer won’t run on XP or 2003 server; you’ll wind up with a EXE file that is a 7-zip self-extractor. This is effectively the box that amazon puts your product in before it ships to your door. Simply right-click on this file and choose Run as Administrator and follow the user account control prompts. When you see the extraction prompt, simply enter the root of the drive where you want it (example: C:\, F:\, etc.)

      Once the boxes are unpacked, proceed to section 5 below.

      5: Touring the House: Now that the metaphorical boxes are unpacked, let’s tour the house.
      1) open up the drive where you’ve extracted Uniform Server
      2) you’ll notice a new folder called “UniServerZ”, double click this one
      3) once in the UniServerZ folder, you’ll notice a lot but the thing we’re focused on is the UniController.exe which is a nice front-end to start and stop apache and MySQL along with other cool things.
      4) Double-Click on UniController and it’ll ask you to choose a root password for MySQL, supply one and hit OK. You might get a windows Firewall prompt or several, go ahead and unblock UniController.
      5) When the main UniController window comes up, you’ll notice two buttons of interest called Start Apache and Start MySQL both with little red squares next to them indicating that their respective server is not running. Don’t click either one of those just yet.
      6) Along the top you’ll notice several menus such as Apache, MarieDB, PHP and a few others.
      7) Head up to the Apache Menu and point at “Startup Pages” then choose the item for show startup page 1 then repeat this process to deselect startup page 2 thus when you do click start, you don’t get the browser coming up immediately.
      8) Click start apache and acknowledge any firewall prompts that might come up. If it starts successfully the little red square next to it will go green
      9) Click start MySQL and wait for the square to go green.
      10) Ta-da the web server and database server are online.

      6: Configuring PHP: once both the servers are up and running, you’re going to want to make your life in PHP a lot easier and UniController has a lot of nice front ends to help in making configuring things easier. Before you do the below tasks, clock Stop apache of you started it in section 5 above.

      1) head up to the PHP menu and point at change PHP version then select your preferred version. If the one you’re looking for is not available (grayed out) you can download a module from the SourceForge page to add it (see appendix A on adding modules for instructions on how to do this).
      2) Head back to the PHP menu and point to PHP Basic Configuration and modules and choose basic configuration.
      3) On the basic configuration screen you’ll notice 3 columns each corresponding to a variation of the php.ini file. By default uniform server is set to use the production file and you should modify these settings. Set the Maximum execution time, maximum memory, post size, and upload size as you see fit then choose at the bottom of the production column, then hit OK.
      4) When all is as you like it click the close button and then start apache to see your changes take effect.

      7: Creating a restricted MySQL user and attaching it to a database: a lot of web applications need a database backend to store the actual information like configuration, user posts, etc. Creating a restricted MySQL user and attaching it to a database increases overall security as if one application has a database flaw, its user cannot access the database of the other applications on the same server. To create a restricted MySQL user and attach it to a database:
      1) ensure that MySQL is running (has a green box next to its button)
      2) go to the MySQL menu and choose create a restricted MySQL user
      3) when the create a restricted user dialog comes up fill out a user name, password, and database name. If the database you entered does not exist already, clicking create will add it.
      4) click create. If all goes well you will get a success message; if that is the case, click ok.
      5) Repeat steps 3 and 4 as many times as needed to create additional users and databases. If you don’t need additional users and databased, click the close button.

      8: Testing the setup: now that we’ve gotten it all up and running with common tasks done, let’s see if it works. With both apache and MySQL running, open firefox and in the location bar, type localhost and press enter, if you see a uniform server test page load up then all is well for apache and PHP. For MySQL, PHP, and apache testing go ahead and create a new folder in the uniserverz\www folder and load up your application files (in this example, I’m testing vbulletin suite 4.2.5). After you’ve loaded up your files, do any necessary configuration required by your application then go to localhost/foldername in a browser (where foldername is the name of your folder under www for your application. In my case it’s called demoapp.) thus the address to enter in the browser is localhost/demoapp/ to access my testing instance. Test the app as you normally would, administering features, adding users, creating posts and forums, etc.

      9: What Next?: If you’ve followed this article and nothing’s gone wrong and your lab is up and running, congratulations! If your lab is not up and running or something went wrong, please review the article or relevant sections to ensure no user errors were made. I make no claims or warranties about the accuracy of this document thus I’m not responsible for what happens as a result of following it. Cheers and happy testing!
      Appendix A: Adding Modules: Unform Server ships with pre-defined apache, MySQL, and PHP versions out of the gate; however, if you want to use a different version of these because your app demands it, take the following actions:
      1) go to the uniform server sourceforge page ( as of time of this writing)
      2) click on the files tab
      3) find the folder that corresponds to your version of server (“Uniform Server ZeroXIII” in my case” and click on it
      4) find the modules folder (in my case “ZeroXIIImodules”) and click on it
      5) click the name of the module you want to download it and save it to your machine. Repeat the module location and download process for additional modules such as additional PHP versions, other apache versions, etc.
      6) run the module file (e.g. “ZeroXIII_PHP_5.6.0.exe” when prompted where to extract it to choose your UniServerZero directory by clicking on the three dots button next to the path field.
      7) Click extract and choose yes to all for the file replace prompt
      8) Stop apache and MySQL and close UniController
      9) Restart UniController and you’ll notice changes in the PHP menu (example now having PHP version 7.1 available)
Register to Reply

Similar Threads

    REG: how to create a unified login?
    By cfleischmann in forum Solved Requests
    Replies: 4
    Last Post: 2nd Jan 2018, 15:47
    REG: What is the best way to create a unified vBulletin test lab?
    By cfleischmann in forum Solved Requests
    Replies: 8
    Last Post: 27th Jul 2017, 23:41
  3. [vB4] Skin Metro Windows 8 Green Full Login Form and Header
    By Timac LEO in forum vBulletin Styles
    Replies: 3
    Last Post: 18th Nov 2012, 17:04
  4. Windows 7 ACP
    By Tempus in forum vBulletin 4.x Styles
    Replies: 9
    Last Post: 24th Sep 2012, 14:57

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts