views:

259

answers:

3

Hi,

Completely developed in WAMP and I need to deploy it on a LAMP setup in the organisation. I want to make sure the deployment goes of smoothly and takes as little time as possible. What are the thing I would need to change before deploying it in LAMP? Also is there any way I can test it in some simulated LAMP environment?

Edit: I use perl for server side scripting and very little PHP. Thanks...

+2  A: 

Well that mainly depends on the application you were developing and if you made any specific configration changes on your windows based application stack. MySQL and PHP should basically work the same way on both systems. Most common and annoying mistakes I know of are e.g. acessing OS specific path names or using libraries / programs that are not installed on the other system at all.

Daff
+1  A: 

I would first port it XAMPP, a stack for either Windows or Linux. This supports PHP and PERL (and includes Apache and MySQL of course). Once you verify that your app's working on the Windows XAMPP, you can take it over to the Linux version.

Jim Ferrans
+1  A: 
  1. Linux is case sensitive
  2. Totally new default locations
  3. u,g,o, r,w,x permissions can come as a rude shock to people new to Linux
  4. symlinks can be helpful but confusing because of Windows links (not shortcuts) being a bit different
  5. If MySQL stores tables as files with the same name (which it does in general) case senstitivity can make you feel very lost as "nothing works in both php/filesystem and mysql"
  6. "My Documents" to /home/username/Documents is a big change in thinking for people new to linux
  7. various service configs for server security might confuse you initially
  8. any hardware compatibility issues for your linux and your hardware (usually very minor problem, but can take up hours of figuring out what the problem is.)

Don't expect a cakewalk if the app is real-world and giving you some income.
Whatever free time you get, spend it practising linux commands.

sudo will be of help for some time if you use ubuntu but you have to unlearn sudo-ing because you could sudo and make mistakes and mess up something.

Tip: use sudo cp -uav src dest and maybe rsync after that - real life-saving commands

If you can, install the same linux on two partitions on your development system.
And keep them near-exact copies of each other.
That way, you can test something on one and if something goes wrong, you still have the main install to copy settings and files over from.

If it takes you more than a couple of months, relax, it is common to take that kind of time.
Also, if you cannot get used to vi and emacs, use nano - it is plain and simple, simpler than notepad, but you can understand what is going on, unlike vi and emacs, where you're totally lost unless you have a book or manual or video to help you.

If you're just learning, spend more time on linux.
If you're in a hurry, get friendly with a guy who's good at linux - get a mentor or a geek to guide you through your first few months in linux.

And use google a real lot, and use ubuntu - it's easiest to begin with and has everything you would need.

Oh yes, don't install things from just any place - this is not rpm world.
As far as possible use Synaptic to install/remove anything.
If you can, use sudo apt-get install.
Study apt-get

I personally think it's ok to use ubuntu desktop for internal server if the app is not that critical till you get your bearings in the linux world.

Once you get confidence in the basics, install server edition and concentrate on security, locking down things, etc.
Only if you have a friendly linux geek next to you for a week, go for ubuntu server on the first day.

namespaceform