Drupal is written in PHP and uses a database to store much of the information being handled on your site. The most common platform for running Drupal is a so-called LAMP stack – Linux, Apache, MySQL, PHP – but Drupal will run on any platform that can run PHP and has a database usable by Drupal. You can, for example, run Drupal on Windows or Mac platforms.

Drupal 7 runs all database queries through an abstraction layer, PHP Data Objects (PDO), which theoretically allows Drupal to run on a wide variety of databases. To work in practice, though, you need drivers to manage the interpretation necessary between Drupal and PDO. This limits your options of databases to use, but the most common databases already have drivers ready to use with Drupal. Drupal supports MySQL (and compatible databases, such as MySQLi and MariaDB), PostgreSQL, SQLite, MS SQL, Oracle databases and the non-relational database MongoDB.

A clean install of Drupal 7 requires PHP to use about 32 MB of memory, but a full website will most likely require much more. The exact memory requirements depends on how a site is set up (and optimized), but a Drupal developer with the php memory limit setting at 128 MB will rarely need to care about the site's memory.