Creating A VPS Testing Server
From Joomla! Documentation
This article is tagged because it NEEDS COMPLETION. You can help the Joomla! Documentation Wiki by contributing to it.
More pages that need help similar to this one are here. NOTE-If you feel the need is satistified, please remove this notice.
Reason: There are several empty sections at the bottom of this page.
Introduction[edit]
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 and Outlook[edit]
This tutorial will use the following software to give you a complete testing server environment.
Host System: Windows 7 x64
- Items to install:
- PHP
- Phing
- Eclipse PDT
Guest System: Cent OS 6.3 x64
- Items to install:
- OS
- XAMPP with XDebug
- Samba Server
Why a Testing Server[edit]
Do you have a website that's live and you need to constantly upgrade your website, however since your website is live, you don't want to edit the actual website. That might result in the site crashing from time to time or not working. Getting a testing server allows you to do all your staging without affecting the live server. Then you upload your completed update to the live server once completed.
Why a VPS[edit]
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[edit]
This tutorial assumes you are using Windows 7, which release doesn't matter.
The Server Virtualization Platform[edit]
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 it's 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[edit]
You're 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[edit]
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 at least 1 gigabyte of RAM. Note: You can do the recommended 512 MB if you want, however the CentOS installation process will be different. |
Create a Virtual Hard Drive[edit]
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, you're 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, you're 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[edit]
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 Operating System[edit]
Now we finally Start the Virtual Machine.
There's a lot of pictures involved here and someone's already done this so I'm going to defer to them:
The Perfect Server - CentOS 6.3 x86_64 (Apache2, Courier, ISPConfig 3)
Follow the instructions from this site, all the way up until 8 Quota:. Stop before that.
Installing XAMPP on the Guest Operating System[edit]
So we have the Guest OS set up completely and we're looking to setup the actual web/mysql/ftp server portion. If it's not on, turn on the server and login as root using the password you set in the previous section.
First, type this to download XAMPP to the server using Wget: (XAMPP 1.8.0 is out at the writing of this tutorial.)
cd /tmp wget https://www.apachefriends.org/download.php?xampp-linux-1.8.0.tar.gz
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 correctly and get an expected error:
/opt/lampp/lampp start
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:
nano /opt/lampp/lampp
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:
/opt/lampp/lampp start
You should see this:
Test Your XAMPP Virtual Server[edit]
Open your Browser and point it to the IP of your server. Mine was:
http://192.168.0.99
The index.php file will redirect to
http://192.168.0.99/xampp
If you're going to expose your VPS to the internet, I suggest setting passwords for XAMPP. You can do that by executing this command:
/opt/lampp/lampp security
Installing Joomla![edit]
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 writable by making the base directory writable.
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/