Do you think it is stronly recommended to use a test server on my computer to build my website or can I get by just loading it right to the internet? If I don’t use a test server, and I build my site and keep the front page to the under construction page do I have to worry about security holes? Which type of server do you recommend...XAMP, WAMP or another one.

Comments

dnewkerk’s picture

As I use MAMP myself I can't recommend between WAMP and XAMPP... I'm sure though that either provides a satisfactory local server environment (and if not, of course it's simple to uninstall and try the alternative).

On the other hand, yes, I strongly recommend the use of a local test server. You will be able to work on the site much faster (no constantly transferring files to the server or waiting for load times). Backing up before trying out new ideas is as simple as copy/paste. You can also install several "dummy" copies of Drupal where you can toss in unknown modules that interest you to see how they work (and whether they work at all) before putting them in your real site. On these dummy sites you will feel subconsciously more "free" to experiment and try things (and thus learn a lot more about Drupal) than you would if just working on your real site.

Hope this helps.

-- David
davidnewkerk.com | absolutecross.com
View my Drupal lessons & guides

leonpyoder’s picture

Thanks a lot for the information That really helps. I took a look at your blog too and I think that will come in handy. So the idea is that you build your site on the local server then upload the entire thing all in one shot to the internet?

Another question if you happen to reply...do you know if their are people proficient in Drupal who would help teach it to me and help build my website along the way in person for an hourly fee. I'm looking for someone in the Philadelphia area. Does Drupal.org have a way of connecting with people like that or do you know of another way?

silverwing’s picture

on my mac i use MAMP, but on my windows computer i prefer WAMP to XAMPP. (WAMP is just nicer to use and everything you need is available from the tray-thingy.

~silverwing

_____________________________________________
MisguidedThoughts

gforce301’s picture

I believe that the choice is up to the developer and what they are comfortable with. I develop all my sites on the servers they are going to be used on (whenever possible). The reason I do this is because of environment differences between a local install and the live server. I have found it to be rather difficult if not impossible to exactly reproduce a server environment locally especially in the case of hosted environments where you have limited control over the server configuration.

These differences can be very annoying when it comes to finally releasing the production site. For instance: Some hosting packages allow a local php.ini file to control php's behaviour, but others do not. Very simply this can be a pain in the butt if you have to increase the memory allocation for php but you do it in the .htaccess file locally only to find out that method won't work on the live server and has to be done in the php.in file. I could give more extreme examples but I think you will get the point.

The best way I have found to develop on a live server is to use a subdomain. Just set up test.example.com and develop the site there. You can put up a static "under construction page" or whatever you want at the main domain example.com while the site is being developed. One of the nice things about this is you can always have the development site to experiment on later for when you want to make changes to your live site.

Being semi paranoid about losing things myself this has two added advantages for me.
1) If my workstation (god forbid) ever became disabled I could still access my development site and do my work from a different computer.
2) I always work on site files locally so at all times I have a complete backup of the site locally and database backups locally. It may just be me but I do not fully trust hosting providers "backup solutions" and I prefer to have a fallback.

leonpyoder’s picture

Sorry but I am a novice. How do you create a subdomain and how do you switch it over to the main site when it is ready? Also, I'm not sure what you mean when you say you work on files locally. Don't you need a local host to work on files locally? How can you see what you are adding to the site if it is not online?

gforce301’s picture

Creating a subdomain depends on your hosting company and what tools you have for your account. Most of the hosts I have worked with have some sort of control panel for your account. Most use cPanel. In cPanel there is selection that allows you to create a subdomain. A subdomain is part of the larger main domain. So if your site is example.com then test.example.com is the subdomain of example.com. Basically you can look at a subdomain as a new domain name that only resolves at your server. So they are like extra sites.

Once your site is fully developed on the subdomain, you copy all the site files over to the directory for the main domain. Then you export the database of the development site and import it to the main database. At this point you would have two identical copies of your site. One on the actual domain name and one on the subdomain. At that point you can either delete the subdomain and it's site or keep it for testing and playing as a sandbox site.

When I say that I work on files locally, one of the first things I do after I get a site initially installed is to login to the server via ftp and pull an entire copy of the site files (and directory structure) down to my local workstation. When I edit a file I edit it locally, not live. Then I ftp the changed file back to the server. Two reasons for this: 1) I have much better text editors on my workstation than you get in any server environment. 2) There always exist two copies of my site. One on the server and one on my local workstation. Remember how I said I hate to lose things? :-)

I hope I answered your questions.