Antes de empezar, aclaramos que esta guía no es para la instalación de un servidor web accesible a través de Internet. Los aspectos de seguridad, rendimiento y conectividad no están contemplados. Con esta guía se trata de poner en marcha un servidor web Apache 2 en un PC con sistema operativo Ubuntu 1x. Con el que tendremos un estupendo entorno de trabajo donde poder probar Drupal, Wordpress, Joomla o otras aplicaciones web que utilicen entre otros lenguajes Php y MySQL. Para los sistemas operativos Mac OS X, Windows y Solaris tenemos el instalador XAMPP.

Si necesitas tener distintas configuraciones de servidor web puedes optar por crear servidores virtuales. Aquí www.drupalvm.com tienes una explicación y recursos para crear una maquina virtual con VM de Oracle y poner en funcionamiento un Drupal 8 o 7. También lo puedes montar con máquinas virtuales KVM de Ubuntu. Aqui tienes la documentación help.ubuntu.com/community/KVM

Instalación de un servidor web Apache2 en Ubuntu

Para empezar con Ubuntu o cualquier otra distribución Gnu-Linux antes de todo, comprobaremos que todos nuestros paquetes de código estén actualizados. Lo podemos realizar desde la pantalla de terminal o con el gestor de actualizaciones. Des del terminal lo haremos del siguiente modo:

# sudo apt-get update
# sudo apt-get upgrade

Luego instalamos el grupo de paquetes de código "Essentials". Un bonito paquete que bastantes programas requieren en el servidor. También instalaremos Curl para poder ejecutar el archivo cron.php de Drupal.

# sudo apt-get install build-essential
# sudo apt-get install curl

Recomendamos instalar Synaptic, que ya no viene instalado en el Ubuntu, para poder controlar cómodamente las dependencias entre los diferentes paquetes de código y escoger las versiones que mas nos interesen de Php, MySQL, otros lenguajes de programación y aplicaciones que queramos. No recomendamos instalar el Drupal directamente con el Synaptic, ya que instala un servidor web Apache en una ubicación diferente a la de /var/www y con una configuración que nos puede resultar poco práctica para llevar el mantenimiento y actualizaciones de todo el software instalado.

# sudo apt install php7.4 php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip

En lugar de mysql, puedes instal·lar MariaDB, su equivalente en software libre. Una buena práctica es instalar las mismas librerias en local que en nuestro servidor en producción. De esta manera nos aseguramos que lo mismo que funciona en nuestro servidor local, luego va a funcionar en el servidor de producción.