If I was asked to build a new MMO (and didn't already work for a company that does exactly that) then I would start by reading these two books:
Then I would realise that I was still underequipped for the task and would dig out some generic web development and game development books too... professional MMO development (as opposed to throwing a few PHP scripts online and calling it an MMO) takes most of the complexities of web development and professional game development and combines them into one project. As such there are almost infinite ways you could approach it, the suitability of which would depend on the individual game design and target market, and therefore anything purporting to be a definitive answer here would be disingenuous.
The client software is often an embedded Flash object for these web-based MMOs, but could be HTML, Javascript, Java, Silverlight, etc, or could be a downloadable client written in Java, C++, Python, VB, etc. There's even more flexibility with the server, since you don't have to deploy it. It could be Java, C++, PHP, ASP.NET, Python, Ruby, etc. And behind that your database could be MySQL, PostgreSQL, SQL Server, Oracle, SQLite, bespoke data written to flat files... all have been used. The servers and database could run on Linux, or Windows, or any other modern OS, or even across multiple OSes.
How you're going to adapt to scaling is going to be a different story depending on which of the above you use. In general it's the same here as anywhere - cache what you can, replicate what you can't, optimise your code and platform according to your usage patterns.
Security and cheat prevention however is pretty simple at an abstract level: never trust the client. (Read the other laws there if you want some pithy insights into online game design.) This tends to mean the server is the authority on all actions and needs to maintain enough per-player state to be able to validate this.