Elgg requires a web server (usually Apache), the PHP scripting language, and a MySQL database.
Official support is provided for the following configuration:
By "official support", we mean that most development and testing is performed with this configuration and much of the installation documentation is written assuming Apache is used. Priority on bug reports is also given to Apache users if the bug is web server specific (but those are rare). Other possible configurations include PHP running in CGI/FastCGI mode with Apache and using the web servers lighttpd, nginx, or IIS. Elgg should generally work with these web servers but this requires additional configuration such as porting the rewrite rules.