Setting up a Dev Environment

Started by grnidone, March 21, 2011, 10:29:54 PM

Previous topic - Next topic

grnidone

I'm going to be in charge of a large site completely revamping from the bottom up.  One thing they do not have is a development environment.  Normally, I'd just have Rob do this for me, but as we are no longer married, I need to ask elsewhere.

This site does not have the abilities to set up an internal environment for me to work on, this would have to be hosted elsewhere.  And, I am the sole tech staff of this company.  (Lucky me)

I'm not even sure how to do this, or where to start.  How do y'all do this?

Drastic

I've setup LAMP on my own system, but lately have just taken the lazy route.

I set the site up on another host's dns, and point the domain to that server in my hosts file. Probably not the best for doing a lot of work.

If you're looking for a LAMP environment on a windows machine, you can get it all in one package with XAMPP.

BoL

yeah LAMP is a good way to go, easy to get up and running and plenty support on the web.

for local dev I just replace dots in the domains with underscores and change my hosts file to point the underscore ones to 127.0.0.1

jetboy

What platform are you going to be deploying to? This should dictate your development environment. Even if you develop locally on a different platform, you should have a development version of the site running on a stack which mirrors your live environment as closely as possible. Consider VMware/Virtualbox as a good alternative/addition to running a physical development server(s). Also, as this is a large site, use version control such as Subversion.

For me:

. Local development on Windows with TortoiseSVN Subversion client. Files are checked in to:
. Development box on my network running Ubuntu Server 64, Apache, MySQL, PHP and holding the Subversion repository. This is where work is previewed.
. Files are checked out to live box in a datacentre running Ubuntu Server 64, Apache, MySQL and PHP.

I have virtual versions of the dev box in VMware Workstation to test out software updates and configuration changes before rolling them out to the dev and live boxes. I do run Apache, MySQL and PHP on my local Windows machine, but only for convenience.

We're really going to need a bit more information about the project and restrictions to be truly helpful.

Torben

>site running on a stack which mirrors your live environment as closely as possible
Ditto

grnidone

OK, The cool thing is that I can set this up the way I'd like to...

1.  Must be LAMP server (but not nec Linux...just some kind of Unix).  I do not do Windows as I have been burned WAY too many times by it..
2.  I don't want to mess with it.  I want someone else to set this up and maintain it.  Is this possible?
3.  Love the idea of a version control.
4. 

Ideally, this would be set up on a box at the hosting site with a password to keep the public out while allowing those who need to approve it access.

I'm just thinking of setting up a different domain with a password on the frontend...is that too simplistic to start off with? 

>Consider VMware/Virtualbox as a good alternative/addition to running a physical development server(s).

Can you expand on this?

Torben

VMware is a virtualisatrion platform that allows you run one or more virtual machines on one physical computer. It also allows you to pause and resume operation and take snapshots which you can revert to at any time.

However, if you are serious about this you must listen to what jetboy said: "site running on a stack which mirrors your live environment as closely as possible"

Also I reccomend that you have script in place to automate deployment and quickly roll back if something goes wrong.

grnidone

Is it the same "VMWare" I use to run windows on my mac?

grnidone

>Also I reccomend that you have script in place to automate deployment and quickly roll back if something goes wrong.

And I love this....where do I get one?

ergophobe

I've been using http://webenabled.com lately - very handy. Depending on what your target environment is like, it might work for you.

For $9.95/month you get

- five enabled "environments" (think shared hosting accounts, LAMP, no CPanel, unless you spend more for one of their VPS accounts).
- as many disabled environments as you need
- one click install of over 100 open source apps (Drupal, Wordpress, CivicCRM, etc etc)
- full shell access
- full FTP access
- full subversions version control with a repository for each environment
- one click "deploy" which synchs files and, optionally, database to the live server.
- one click backup which rolls files into an archive with current DB settings and other server config settings
- one click restore of archived backup.

I'm honestly still feeling my way around. In theory they offer git in beta but I haven't been able to get it to work and haven't gotten around to setting up subversion.

So with git/subversion set up, I would think you could work locally if you wanted using a LAMP setup perhaps in a virtual environment with VMWare or VirtualBox, commit to Webenabled for testing, then deploy to the live server. Honestly though, I've always developed locally and deployed remotely, but I've really liked working directly on the Webenabled setup without actually have a server on my local machine.

ukgimp

Been away for the last week and only just today managed to get online. It appears that the south of england have virtually no reception and the place I was staying in turn off their wifi as it interferes with their credit card machine.

Anyway, enough shit, just played with WAMP

Very quick and looks clean install. Wont be exactly as your main webserverm but if you want LAMP up and running in about 3 clicks this is your man.

http://www.wampserver.com/en/

Rooftop

You using the 64bit or 32bit version?  Had a boatload of pain with the 64bit.

ukgimp