I am new to magento and have been working a my first site and it is now ready to go live. I have been advised that once live to also build a staging or development site so that i can in the future work off that before putting any new changes to my live site.
Can i ask what are the best practices in setting this up? My web hosting has said they can offer to set it up within a sub directory of my existing domain but it will just be a copy of the files and database (so doubling my required disk space) and i would need to manually move and copy the files and database info. Is this the only way?
I did see one article but it required a virtual server to store the test site on which i don't have or have any knowledge in setting up
Best Answer
At least you should have a staging server with the sameconfiguration your live site have. This is to prevent server config issues.
Also, its not a good idea to have it in the same server since both sites will be using the same resources to run, which might slow down your live site.
A common environment setup might be 2 separate servers, one for PROD and one for staging/QA with the same setup, maybe provisioned with Ansible and/or Vagrant.
For deploys, you might want to use Jenkins to automate things, and as a hosting provider, i personally like Amazon. A medium to large instance with RDS and Elasticache is pretty fast in my experience.
I created this VM to develop Magento, you might also give it a try: https://github.com/miguelbalparda/vm