有关远程测试服务器的问题

First, I am a complete novice when it comes to programming, so pardon my ignorant questions.

I hired two programmers to work on my project. They say they need a remote test server for testing things, before making it live, so that the changes are not live until all are okay.

My questions:

  1. What are Remote Test Servers?
  2. Why are they necessary?
  3. Can they be set up with normal reseller or shared hosting?
  4. How can you prevent the world from seeing what's on it?
  5. Do you need a domain name for this?
  6. How do I go about setting up a remote test server?
  7. Any other comprehensive document to read up on this?

Thanks.


About Test Servers


A test server, in the case of websites, is used for changing around a website ( a copy ) without it being displayed to the public. This is done because, when a developer changes a webpage, the page will often seize to function or contain bugs due to incomplete changes of the source code. By putting these pages on a remote test server, the developers can use copies of the website - that are placed on this server - to make changes without affecting the pages that are being sent to the clients. You can actually configure this kind of server locally or remotely, depending on how you weigh the pros and cons.

Remote Test Server

You may set up a remote test server on sites like GoDaddy or DynDns. These services usually package a domain name with their server space. The benefit of this is that most of the 'set up' is already done for you. Also, as Silvertiger has pointed out, the service fees of this are usually quite low. This might be recommended because the massive amount of software your programmers may need is readily available on these servers. The only downside is that the only way to prevent the public from viewing this ( that I know of ) is to make it password protected. However, you may need public access anyway if your developers plan on working outside of your work environment.

Local Test Server

Alternatively, you may set up one of your own computer as a test server. The benefit of this is that the only fees you will have to pay are the costs of the computer ( it can be a low-end computer ). Since this computer would be connected to the network you wouldn't need a domain name, instead you will use an IP address assigned to the machine. It won't be hosted on the internet, so it's much easier to prevent other people from seeing it. The only downside is that your programmers must be within your network to work and setting this server up may be rather involved ( depending on the needs of your programmers ).

You will mainly have to download and configure all the appropriate software ( ie Apache, mySQL, PHP ) to get it working. This is typically done on a server OS ( ie Ubuntu Server ), but can be done on most operating systems. This process can also be made less painful by installing server software packages ( ie WAMP, LAMP, MAMP ), which include the basic software components your developers will need. I would recommend using Ubuntu. You may use Ubuntu Desktop if you'd like to keep a graphical interface during set up. Or, you may use Ubuntu Server - which saves a lot of memory by using a terminal-based user interface ( can make it more difficult to use ).

You may additionally consider adding a service called FTP to a local server. This is a service that allows you to remotely read and write to files on the server, and may be desired by your web developers for some of their editing programs ( Dreamweaver, for instance, can access files with FTP ).

As a side note, most developers should be familiar with setting up basic server software. In fact, it is usually part of the curriculum in webdesign. So, you may allow them to configure this software if you provide the computer for them. If you otherwise would like to configure it yourself, you may find some of the links following to be helpful.


Informational Links


General Web Servers

Remote Servers

  • Godaddy - A common web hosting company from which you may use their service.
  • DynDns - ( as the aforementioned )

Local Servers

  • Ubuntu Server : A popular OS for servers
  • Apache : A popular HTTP server ( aka Web Server )
  • PHP : A commonly used language by web developers
  • LAMP : A package of basic server software for Linux ( Linux Apache mySQL PHP )
  • WAMP : A package of basic server software for Windows ( Windows Apache mySQL PHP )
  • MAMP : A package of basic server software for Mac ( Mac .. .. PHP )
  • Setting up LAMP : [Steps 1-5] A wonderful article on setting up a web server on Ubuntu.

A remote test server is a working php server that you can execute code on. It can be any server you have access to meaning that any reseller of hosting can provide you with a server but effectually it is just a web server you have access to. I presume you have a software that is asking for a remote test server like Dreamweaver or some other IDE.

I use my godaddy $8 a month hosting account account for testing..