Much of it will depend on your specific requirements...
Here's a (very) general overview:
Frontend coding: pretty much Javascript, HTML, CSS
The backend is a bit more complicated:
PHP
The old and tested solution. Benefits include (and are not limited to) wide community support, a ton of libraries, a stable release cycle. Drawbacks (IMHO): maintaining two different code bases (frontend & backend), realtime applications feel awkward, pretty ugly looking syntax if you ask me...
Javascript on the server (or nodejs)
The cool new kid on the block. Benefits include (and are again not limited to) heavy backing of the language as well as the engine (Google's very much into it), one code base (frontend and backend can share code since both will use javascript), realtime applications can be built in a matter of hours, interesting threading model (everything is asynchronous so you wouldn't even bother with threads, unless you need some heavy computation, which brings us to the drawbacks...)
Drawbacks: threading can be very awkward, some scaling issues are still present, node.js is still (comparatively) very young...
Python
Don't have a lot of experience with writing server software in python but I've heard that the Tornado server is supposed to be very, very nice. Python can also be used as a frontend language through some "funny" compilation to javascript...
Java?
Well... It's java... so yeah.
LISP????
"Really? Lisp?? But... but... what about all the parenthesises????" Lisp on the server, it's possible kids. I've done it and so can you.
Apart from all that you'd need someone experienced in database "matters". Which database to choose? SQL or no-SQL? Whats the supporting architecture?? And so on and so forth. I suggest you do some more reading on this.
Hoep this helps you in some way.