For easy php stuff: http://www.square7.ch/
A real shell and more: http://shells.red-pill.eu/
(Btw. I recommend SuSE or Ubuntu for the beginning, Sabayon, Gentoo or Arch later when she's good enough and wants more. But I'm sure she would perform well on a Mac too, Macs teach you to become a consumer though)
I recommend her to NOT install LAMP or XAMP.
She should use a prebuilt appliance from http://turnkeylinux.org instead. That will teach her howto sftp too. KDE and Gnome integrate sftp into their "Explorer", just ask or google and you will find howto do use that without a "FTP-Client".a) setting up a development system is a good and necessary skill to have for a web developer. As other posts mentioned XAMPP, WAMP, etc are good methods to do it painlessly. Having a development machine makes development way easier as you can turn on error reporting, use interactive debugging tools, etc. things that are not as possible on a 3rd party host.
b) getting some inexpensive hosting is a good thing for her career development. There are some quite reasonably priced hosting out there, I hear Dreamhost name a lot in that respect, I myself use Bluehost, quite good and inexpensive. Experience dictates to stay away from GoDaddy they are kind of the bad side of town internet wise with hard-sell pushing of services and misleading/confusing management pages.
Being a developer isn't just having everything set up and ready to "make stuff" you have to learn a little bit of how it works underneath too.
All of them allow you to host your projects.
Plus there is the added experience of server administration, which she should know at least a little about, if she wants to learn development.
However I believe a local xampp install will be better for the long run. It's fairly effortless to install, gives a nice control panel to turn it on/off and it's very easy to edit and see your changes.
https://www.nitrous.io/ or https://koding.com/
On Koding it requires an invite, but I have a couple of invites.