I’m not a professional, but I have a little experience in both worlds – enough, hopefully, to at least give you a very broad overview before somebody chimes in with more detail.
So you have an OS, a web server, a database, and a scripting language – LAMP.
The biggest thing to keep in mind, I think, is the overall LAMP philosophy: Open, modular and decentralized. There is no monolithic experience a la Microsoft, but instead a bunch of tools written by a bunch of different people. They try to adhere to standards where available and compatibility where possible, and for the most part this works. At first glance this may seem daunting and fragmented, but in day-to-day use there is ample support and documentation available. Most, if not all, of it is free. A plus for you is that many low-cost webhosts run on the LAMP stack and so many beginners’ guides are written for this environment; finding tutorials shouldn’t be hard at all.
You’re essentially trading ease of initial setup for more power down the line.
L:
The many flavors of Linux share the same underlying kernel and differ mostly in their GUI, bundled programs/drivers, security modifications, etc. For a web server, the particular distro doesn’t quite matter as much as for desktop users (except that you most likely want a distro with a reputation for security – FreeBSD, though not Linux, comes to mind). Most of the UNIX-like OSes function more or less the same when you use them on servers. There will be some differences in commands and available bundled programs, but they’re minor and easily overcome.
Keep in mind that your development environment does not necessarily have to mirror your web server environment. All my (hobbyist, admittedly amateurish) websites run on LAMP but I develop for them on Windows with Dreamweaver and UltraEdit because I find the interfaces much better than the Linux equivalents I’ve tried. OSX is another good choice thanks to its Unix underpinnings coupled with a usable GUI. Where necessary, you can SSH (remote login) to the server to pull up a command prompt (shell, in *NIX terms). You should know that LAMP is heavy on the command-line stuff and much of your administration will be done with configs file and not GUIs. Again, daunting at first but there is so much documentation available it’s easy to find very specific answers to very specific things.
In a web server environment, you’ll likely be dealing with file/user permissions often. Like Windows, *NIX lets you assign files and programs to specific users and/or groups.
That’s the thing to remember: For web development purposes, Linux is just a way to securely store files for the rest of the stack to pull up and serve. (Unless your company also runs its own data center, in which case somebody – maybe or maybe not you – will have to deal with Linux networking, which is a different deal altogether, what with firewall rules and load balancing and all).
A & M:
Beyond initial setup of your web server and database, I don’t think you’ll be spending much time here beyond tinkering with Apache config files (both on a serverwide level and a directory/file level) and maybe managing the occasional database issue… but for the most part, most of this should be abstracted to the P layer, below.
P:
PHP, Perl, Python, Ruby on Rails, whatever: You’ll be doing most of your work here. Scripting languages abound and you’re free to choose any one (or mix and match them). When a visitor views a page, Apache receives the request, scans the page for any scripting and sends it off to the relevant interpreter, which returns HTML back to Apache and the visitor’s browser.
This is the one area where, IMO, LAMP has the biggest advantage over Microsoft. So much prior work has already been done, with most of it available as open-source and free/low-cost software, that you can usually find an existing project and adapt it to your use. Your basic website can easily be run off of a content management system like Joomla, Drupal, or even Wordpress, with custom needs met through their extension systems – instead of writing the whole thing from scratch, you can often just write a module or plugin for a particular CMS. You don’t have to go this route, of course, and you’re always free to design something in-house from the ground up, but even then you can use other peoples’ code to supplement yours.
The downside is that you’ll have to learn a new language and syntax, but if you’re a programmer of 14 years, that probably won’t too big of an issue.
You might miss Visual Studio and .NET – Eclipse, one of the most popular IDEs, is nowhere as pretty or as easy to use – but you trade ease-of-use for security, expandability, and probably power. Again, there are so many open-source projects out there that you can freely use as long as you abide by their licensing, whether it’s just a code snippet that you wouldn’t have to write yourself or support for an entire scripting language in Eclipse.
As mentioned above, for simpler projects, you can also use Windows-based tools like Dreamweaver. But Dreamweaver is a web editor first and a coding environment second.
Anyway, that was just a very basic overview. Not very technical, but hopefully at enough to at least get you thinking about the specifics. Somebody more experienced will have to explain beyond that.