Creating A VPS Testing Server

From Joomla! Documentation

Copyedit.png
This Article Needs Your Help

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

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

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

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

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 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

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

Open up Oracle VM VirtualBox. You will see the window below:

Creating A VPS Testing Server - pic 1.jpg

Click on the New Button in the top left corner of the window to begin creating your VirtualBox. You will see the following screen:

Creating A VPS Testing Server - pic 2.jpg

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:

Creating A VPS Testing Server - pic 3.jpg

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.

Creating A VPS Testing Server - pic 4.jpg

Create a Virtual Hard Drive

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.
Creating A VPS Testing Server - pic 5.jpg
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.
Creating A VPS Testing Server - pic 6.jpg
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.
Creating A VPS Testing Server - pic 7.jpg
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.
Creating A VPS Testing Server - pic 8.jpg
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.

Creating A VPS Testing Server - pic 9.jpg

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:

Creating A VPS Testing Server - pic 10.jpg

Fine Tuning the Server

We're gonna do the final server configurations below. Right click on The new server and click on settings:

Creating A VPS Testing Server - pic 11.jpg

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.

Creating A VPS Testing Server - pic 12.jpg

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.

Creating A VPS Testing Server - pic 13.jpg

Installing the Guest Operating System

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

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

Creating A VPS Testing Server - pic 20.jpg

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:

Creating A VPS Testing Server - pic 21.jpg

Test Your XAMPP Virtual Server

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!

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/

Installing XDebug

Installing Samba

Configuring the Host Machine

Installing Eclipse PDT

Installing PHP / Pear / Phing

Installing the Network Drive

Configuring Your Joomla! installation in Eclipse PDT