Difference between revisions of "Creating A VPS Testing Server"

From Joomla! Documentation

(This tutorial will explain how to set up a testing server for use with Joomla!, CentOS 6.5, VirtualBox, phing and the Eclipse IDE.)
m (adding categories, starting to tie in security, performance, server, install, update)
(15 intermediate revisions by one other user not shown)
Line 6: Line 6:
 
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.
 
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 ==
+
=== Prerequisites & Outlook ===
 
This tutorial will use the following software to give you a complete testing server environment.
 
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
  
== Why Testing Server ==
+
Guest System: Cent OS 6.3 x64
 +
* Items to install:
 +
** OS
 +
** 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.
 
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 ==
+
=== 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 ).
 
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 ).
  
--[[User:Jasondavis87|Jasondavis87]] 08:16, 7 August 2012 (CDT)
+
== Step 1. 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 [https://www.virtualbox.org/wiki/Downloads 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/ 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 [http://www.centos.org/modules/tinycontent/index.php?id=30 CentOS Downloads Page] and choose your download place.
 +
 
 +
=== Creating the server ===
 +
Open up Oracle VM VirtualBox. You will see the window below:
 +
[[File:Creating_A_VPS_Testing_Server_-_pic_1.jpg|frameless|none]]
 +
 
 +
Click on the New Button in the top left corner of the window to begin creating your VirtualBox. You will see the following screen:
 +
 
 +
[[File:Creating_A_VPS_Testing_Server_-_pic_2.jpg|frameless|none]]
 +
 
 +
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:
 +
 
 +
[[File:Creating_A_VPS_Testing_Server_-_pic_3.jpg|frameless|none]]
 +
 
 +
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.'''
 +
 
 +
[[File:Creating_A_VPS_Testing_Server_-_pic_4.jpg|frameless|none]]
 +
 
 +
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.
 +
 
 +
[[File:Creating_A_VPS_Testing_Server_-_pic_5.jpg|frameless|none]]
 +
 
 +
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.
 +
 
 +
[[File:Creating_A_VPS_Testing_Server_-_pic_6.jpg|frameless|none]]
 +
 
 +
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 i suggest going fixed for speed reasons.
 +
 
 +
[[File:Creating_A_VPS_Testing_Server_-_pic_7.jpg|frameless|none]]
 +
 
 +
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.
 +
 
 +
[[File:Creating_A_VPS_Testing_Server_-_pic_8.jpg|frameless|none]]
 +
 
 +
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.
 +
 
 +
[[File:Creating_A_VPS_Testing_Server_-_pic_9.jpg|frameless|none]]
 +
 
 +
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:
 +
 
 +
[[File:Creating_A_VPS_Testing_Server_-_pic_10.jpg|frameless|none]]
 +
 
 +
 
 +
=== Fine Tuning The server ===
 +
 
 +
We're gonna do the final server configurations below. Right click on The new server and click on settings:
 +
 
 +
[[File:Creating_A_VPS_Testing_Server_-_pic_11.jpg|frameless|none]]
 +
 
 +
Below are all the pics of the different property pages: (if a page is not on there, leave default values on that page)
 +
 
 +
{|
 +
|[[File:Creating_A_VPS_Testing_Server_-_pic_12.jpg|thumb|upright|left|Make sure that the Adapter Type is set to Bridged so that other computers on the network/intranet/internet can interact with your VPS.]]
 +
|[[File:Creating_A_VPS_Testing_Server_-_pic_13.jpg|thumb|upright|left|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:
 +
 
 +
[http://www.howtoforge.com/perfect-server-centos-6.3-x86_64-apache2-courier-ispconfig-3 http://www.howtoforge.com/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 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)
 +
 
 +
''cd /tmp''
 +
''wget http://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 in the right place and get an expected error:
 +
 
 +
''/opt/lampp/lampp start''
 +
 
 +
[[File: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:
 +
 
 +
[[File:Creating_A_VPS_Testing_Server_-_pic_21.jpg]]
 +
 
 +
=== Test your xammp virtual server ===
 +
Open your Browser and point it to the IP of your server. Mine was:
 +
http://192.168.0.99
 +
The index.php will redirect to
 +
http://192.168.0.99/xampp
 +
 
 +
If your 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 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/''
 +
 
 +
=== 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 ===
 +
[[Category:Server configurations]][[Category:Server setup local]]

Revision as of 17:11, 18 October 2012

Documentation all together tranparent small.png
Under Construction

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 has not been edited in several days, please remove this template.
This article was last edited by Tom Hutchison (talk| contribs) 11 years ago. (Purge)


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 & 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 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 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[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 ).

Step 1. 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 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[edit]

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[edit]

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 atleast 1gig 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

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 i suggest going fixed for speed reasons.

Creating A VPS Testing Server - pic 7.jpg

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.

Creating A VPS Testing Server - pic 8.jpg

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.

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[edit]

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.
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[edit]

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:

http://www.howtoforge.com/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 OS[edit]

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)

cd /tmp
wget http://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 in the right place 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 xammp 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 will redirect to

http://192.168.0.99/xampp

If your 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 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/

Installing XDebug[edit]

Installing Samba[edit]

Configuring the Host Machine[edit]

Installing Eclipse PDT[edit]

Installing PHP / Pear / Phing[edit]

Installing the Network Drive[edit]

Configuring your Joomla! installation in Eclipse PDT[edit]