Elgg is an open source platform for building social websites, especially social networking sites. Now that sentence may require some parsing, so let's start with the fact that it is free open source software (FOSS). This means you are free to use it however you want, free to modify it, and free to redistribute it. Its development is managed by the nonprofit Elgg Foundation and developers from all over the world contribute code to make Elgg better.
Elgg is used to build social websites. It has social networking in its DNA and provides all the social features mentioned in the preceding section. Think of the buzzwords that you associate with social media: blogging, sharing, tagging, friending, or tweeting. Elgg does all of that.
Elgg is a platform that provides the building blocks for creating great social websites. While you can install Elgg and immediately begin using it as a social networking site, most of you will want to customize it. Those of you who are not developers can download plugins to change the look and feel or add new capabilities. For the developers, almost every part of Elgg can be customized by writing new plugins.
The recommended server configuration for running Elgg is called a LAMP stack. This stands for Linux, Apache, MySQL, and PHP and is the most common hosting environment on the Web. Linux is the operating system, Apache the web server, MySQL the database, and PHP is the server scripting language. Elgg can also run on other operating systems such as Windows or Mac OS X and with other web servers.
With some basic experience setting up web applications, you can go from downloading Elgg to having a functioning social networking site in 10 minutes. After it is installed, you will spend time evaluating it, testing different plugins and themes, designing your site, and building new plugins (if you are a developer). This book serves as your guide to the process of creating a site like one of those shown in the following screenshot: