My development team are offshore. Currently they upload all work to a test website however it is exposed to the internet if someone actually knew the test URL. So I want to setup a staging enviornment and use my accurate URL for testing.
There are three things:
1) Keep internet users out of staging env until I push to a live environment. - Is this done at the server level by pointing it to a different IP from the live IP? But i assume the URL is same between both enviornments so the IP will be same too?
2) I need to access the site. Since team is offshore and I am in the US, I should be able to access the test site. so if i block all internet users then do I get blocked too or how to go about only allowing my team and me access to the test site on staging?
3) The database: Are we using the same database on stg as on live? If so what to do with all the test data? If different then do we need to use same table names, etc?
1) Keep internet users out of staging env until I push to a live environment. - Is this done at the server level by pointing it to a different IP from the live IP? But i assume the URL is same between both environments so the IP will be same too?
Limiting access can be done by firewall rules on the machine, but it's more easily accomplished by putting the machine in a Virtual Private Network and giving access to that network only to the people who need access.
Your test and production environments had better be different machines, so no - the URL should not be the same.
2) I need to access the site. Since team is offshore and I am in the US, I should be able to access the test site. so if i block all internet users then do I get blocked too or how to go about only allowing my team and me access to the test site on staging?
A VPN solution will handle this just fine.
3) The database: Are we using the same database on stg as on live? If so what to do with all the test data? If different then do we need to use same table names, etc?
You need to have a different database for safety of your production data, but with the same layout.