View Full Version : Is there a way to test a CMS on the live server?
SEOHolicc
01-11-2008, 02:30 PM
Hey Everyone,
I am new to CMS's and I was just wondering if there is an easy way to test site changes without having to work on a live site. I would really like to be able to make my changes in some sort of testing area on the site and then if everything is ok, the changes can then be transfered right over to the live files.
This is mainly so my clients can approve what I have done and just so if something breaks, nothing is wrong on the live site, no matter how short a period of time it may be.
Thanks,
Alex
I take it then you currently have the CMS "live" on the web site, and are looking for a way to create a second instance of that CMS for testing purposes, as opposed to wanting a pure testing environment before you go live?
This will probably depend on the specific CMS that you are using, but most should support multiple instances or use on multiple sites on a single server. I would check with the provider of the CMS solution for instructions on how to do this, and then create a subdomain to hold the alternate site. Secure that subdomain in htaccess so that it can only be accessed through your IP Address or that of your client.
RewriteEngine on
RewriteCond {REMOTE_ADDR} !(your.ip|their.ip)
RewriteRule - http://www.yourlivedomain.com [R=301, L]
Obviously that is just a hack, and not for secure applications, but it is quick and effective, and ensures that no content from the server will be sent to the visitor, unlike the use of Allow/Deny rules.
jazzmatazz2005
01-11-2008, 06:03 PM
When im looking to test out a CMS i just go to Home - OpenSourceCMS (http://www.opensourcecms.com/)
That site allows you test out a lof of CMS systems
You could also install apache and php on your local machine and test there before you even upload to server.
However, I keep a test version on my server with a different set of tables. Any CMS that I have worked with have facility to install mutiple copies with a prefix on table name.
2GoodGuys
01-11-2008, 09:00 PM
Ian is on the right track. There is even a better way than to install each of those components individually. Check out WampServer at PHP Apache MySQL avec WampServer 2 : installation PHP MySQL Apache (http://www.wampserver.com/). This tool installs MySql, Apache, and PHP with a single install and provides tons of ability to configure. I just used this to do testing of wordpress and ZenCart sites locally on my computer. Great for testing and prototyping. Eliminates the need to spend money on servers and is local, so no FTP'g files.
datetopia
01-12-2008, 12:59 AM
You could use a second installation in a different folder like www.yourdomain.com/beta . Some cms systems will even allow using the same database for multiple installs, in case you want the design / code changes to show with your existing data.
danners
01-12-2008, 08:15 AM
i believe ExpressionEngine - Publish Your Universe! (http://www.expressionengine.com) CMS provides a publish date for your pages/changes and this is when they will go live.
kurt.santo
01-13-2008, 03:52 PM
Wige,
being interested in your approach: How would you accomplish this when your internet service provider does not provide you with a static ip address (or at least I do not think so - how could I test this)?
Kurt
danlefree
01-13-2008, 08:33 PM
I am new to CMS's and I was just wondering if there is an easy way to test site changes without having to work on a live site. I would really like to be able to make my changes in some sort of testing area on the site and then if everything is ok, the changes can then be transfered right over to the live files.
I would recommend that you take a look at datetopia's advice and create a second instance - but, for the sake of your sanity, you may want to set up this instance as a subdomain, rather than just tossing it under the root directory.
A subdomain will serve you better because:
1) It may serve its own robots.txt file (so you don't have to worry about the test site being spidered "on accident")
Robots.txt file contents:
User-agent: *
Disallow: /
2) It's much easier to update a test configuration when you just have to switch the "beta.yoursite.com" to "www.yoursite.com" in any pertinent config files and database entries.
3) You will be able to monitor the error logs for your test site independently of your main site. (Watching for - and correcting - errors is a key factor while developing)
This is mainly so my clients can approve what I have done and just so if something breaks, nothing is wrong on the live site, no matter how short a period of time it may be.
If you need to ensure that the main site does not go down as a result of test site development, please do not share the same database between the prototype and the live site.
Populate a copy of the live site's database for use on the test site - no sense in bringing down the live site because a feature's database queries went wrong on the test site.
And, in that vein, you may just want to move the test site to a different hosting account - I, for one, prototype everything on my own server before porting code over to a production site.
Separate hosting for the prototype is the preferred solution to ensure the security and smooth operation of the live site while you are developing a replacement CMS.
My solution would exist on your web server, most likely you are on a shared host, and the support people there should be able to assist you in setting up the subdomain. The code snippet I mentioned would be put in the .htaccess file in the root folder for that subdomain.
SEOHolicc
01-14-2008, 12:29 PM
The WampServer sounds like a good idea. It probably would be better to test everything on my machine locally like a test server, and then upload the changes live. I might also look into creating a subdomain for testing.
Thanks everyone for all the great advice.