Creating A VPS Testing Server
From Joomla! Documentation
This article or section is in the process of an expansion or major restructuring. You are welcome to assist in its construction by editing it as well. If this article or section
- 1 Intro
- 2 Step 1
- 3 Step 1a
- 4 Step 1b
- 5 Step 1c
- 6 Fine Tuning The server
- 7 Step 2
- 8 Testing Server
I didn't find any information on this on the wiki so i figured I'd add this to the Joomla! Docs. This tutorial will explain how to set up a testing server for use with Joomla! and the Eclipse IDE.
Prerequisites & Outlook
This tutorial will use the following software to give you a complete testing server environment.
Host System: Windows 7 x64
- Items to install:
- Eclipse PDT
Guest System: Cent OS 6.3 x64
- Items to install:
- XAMPP with XDebug
- Samba Server
Why Testing Server
Do you have a website that's live and you need to constantly upgrade your website, however since your website is live, you dont want to edit the actual website, resulting in the site crashing from time to time or not working. Getting a testing server allows you to do all your testing without affecting the live server. Then you upload your completed update to the Live Server once completed.
Why a VPS
Nine times out of ten, your server is on a Linux based system, but you are not. Sometimes testing between Windows or Mac based systems and then switching over to a Linux based system can cause issues. I.e. carriage returns, etc. So your testing server should be on a Linux based system ( or whatever the actual server is ).
Creating the Guest Testing Server
This tutorial assumes you are using Windows 7, which release doesn't matter.
The server virtualization platform
To setup the testing server, the first thing you need is Oracle VM VirtualBox. This software will virtualize another "guest" operating system on your machine while its running. At the time of writing this tutorial, I'm using version: 4.1.18. Download the version for windows hosts and install it on your computer.
The server software
Your also going to need a Cent OS iso to use to install the Guest OS. At the time of writing, the latest version of CentOS is version 6.3. The Link i used to download is http://www.gtlib.gatech.edu/pub/centos/6.3/isos/x86_64/. NOTE: this is for 64 bit computers. Alternatively, you can go to the CentOS Downloads Page and choose your download place.
Creating the server
|Open up Oracle VM VirtualBox. You will see the window below:||Click on the New Button in the top left corner of the window to begin creating your VirtualBox. You will see the following screen:|
|Click next to go to the next page. On the next page Enter A name for the testing server and Make sure that the Operating System and Version show "Linux" and "Red Hat (64 bit)" like below:||Click next to go to the next page. On then next page, decide how much memory to dedicate to the Virtual Machine. Try to give CentOS atleast 1gig of RAM. Note: You can do the recommended 512 MB if you want, however the CentOS installation process will be different.|
|Click next to go to the next page. On the next page, you will click next again because we will be creating a new virtual hard drive for use with the new virtual machine.||After clicking next, you will begin the Virtual Hard disk creation and you will see the screen below. I suggest using VDI (VirtualBox Disk Image), but you can select another if you'd like.|
|Click next to go to the next page. You will next select the disk storage details. Dynamic or fixed allocation. You can read the screen for what each does, however here a few suggestions for speed reasons.||Next, your going to select the name and size for the virtual hard disk. I always name the disk the same name as the testing server and I usually use 8gigs minimum for the virtual hard disk unless i know i'm going to need more.|
|Next, your going to put your hard disk settings to work and actually create the virtual hard disk. Click Create to finalize the virtual hard disk creation.||After that is completed, you will be taken back to the "Create New Virtual Machine" page, where you will finalize the other options you selected for the virtual Machine:|
Fine Tuning The server
|We're gonna do the final server configurations below. Right click on The new server and click on settings:
Below are all the pics of the different property pages: (if a page is not on there, leave default values on that page)
|Make sure that the Adapter Type is set to Bridged so that other computers on the network/intranet/internet can interact with your VPS.||Ensure that you add the CentOS iso that you downloaded to your virtual CD/DVD Drive so that we can install to the virtual hard drive from it.|
Installing the Guest OS
Now we finally Start the Virtual Machine.
There's alot of pictures involved here and someone's already done this so I'm going to defer to them:
Follow the instructions from this site, all the way up until 8 Quota: stop BEFORE that.
Installing XAMPP on the Guest OS
So we have the Guest OS set up completely and we're looking to setup the actual web/mysql/ftp server portion. If its not on, turn on the server and login as root using the password you set in the previous section.
First, Type this Download XAMPP to the server using Wget: (XAMPP 1.8.0 is out at the writing of this tutorial)
Second, extract XAMPP to the /opt directory:
tar xvfz xampp-linux-1.8.0.tar.gz -C /opt
Now we start XAMPP to make sure we placed it in the right place and get an expected error:
Now we fix this by getting rid of the warning restriction and by installing the 32 bit libraries:
You can use nano or vi to edit this file. I prefer nano personally. The file:
Find this part of the file
# XAMPP is currently 32 bit only case `uname -m` in *_64) if /opt/lampp/bin/php -v > /dev/null 2>&1 then : else $de && echo "XAMPP gibt es zur Zeit nur als 32-Bit Applikation.$ $de || echo "XAMPP is currently only availably as 32 bit applic$ exit fi ;; esac
And comment it out completely to look like this:
# XAMPP is currently 32 bit only #case `uname -m` in # *_64) # if /opt/lampp/bin/php -v > /dev/null 2>&1 # then # : # else # $de && echo "XAMPP gibt es zur Zeit nur als 32-Bit Applikation.$ # $de || echo "XAMPP is currently only availably as 32 bit applic$ # exit # fi # ;; #esac
And Save the file.
Then run this command to install the 32 bit libraries:
yum install -y glibc*i686
Then try XAMPP again:
You should see this:
Test your xammp virtual server
Open your Browser and point it to the IP of your server. Mine was:
The index.php will redirect to
If your going to expose your VPS to the internet, i suggest setting passwords for xampp. You can do that by executing this command.
Execute these commands to download and extract joomla: (at the time of writing this tutorial, Joomla! 2.5.6 is the latest version)
cd /tmp wget http://joomlacode.org/gf/download/frsrelease/17173/74757/Joomla_2.5.6-Stable-Full_Package.tar.gz mkdir /opt/lampp/htdocs/joomla tar xvfz Joomla_2.5.6-Stable-Full_Package.tar.gz -C /opt/lampp/htdocs/joomla
Next, Install Joomla. The one key here is to use the same database prefix as your live site, so that you can use exported sql to copy information over versus entering it all in again. Oh, before we do that, lets make the configuration.php file writeable by making the base directory writeable.
chmod 777 /opt/lampp/htdocs/joomla/
See this page for help installing Joomla: Installing_Joomla!
After installation you can chmod the directory back for security:
chmod 755 /opt/lampp/htdocs/joomla/
Configuring the Host Machine
Installing Eclipse PDT
Installing PHP / Pear / Phing
Installing the Network Drive
Configuring your Joomla! installation in Eclipse PDT