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 22.x. Con el que tendremos un estupendo entorno de trabajo donde poder probar Drupal, Wordpress, Joomla o otras aplicaciones web. Para los sistemas operativos Mac OS X, Windows y Solaris tenemos el instalador XAMPP.
También puedes montar tu servidor con máquinas virtuales utilizando VirtualBox o KVM de Ubuntu. Aquí tienes la documentación help.ubuntu.com/community/KVM.
Instalación de un servidor web en Ubuntu 22.x
Para iniciar la instalación en el terminal sudo apt install -y apache2 apache2-utils unzip
Cambiamos el propietario del directorio donde estara el sitio web sudo chown www-data:www-data /var/www/html/ -R
La configuración por defecto del servidor Apache2 esta en el archivo 000-default.conf para editarlo:
sudo vim /etc/apache2/sites-available/000-default.conf
En el debería estar incluido lo siguiente:
<VirtualHost *:80>
ServerName Servidor
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Una vez editada la configuración, la activamos y re-iniciamos el servidor web: sudo service apache2 restart
Para verificar la configuración del servidor web, descubrir la IP del servidor ifconfig
Instalación de la base de datos MariaDB
sudo apt install mariadb-server mariadb-client
Comprobar si la base de datos esta en marcha: systemctl status mariadb
En caso de no estar en marcha sudo systemctl start mariadb
Permitir que automáticamente se ponga en marcha la base de datos al iniciar sudo systemctl enable mariadb
A continuación iniciamos un script de configuración de la base de datos sudo mysql_secure_installation
Acceder a la linea de comandos sql sudo mysql
Para crear una base de datos para Drupal 9, ejecuta lo siguiente: CREATE DATABASE db_hayqueverlo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Para crear un usuario de acceso a la mysql con todos los permisos, ejecuta lo siguiente: CREATE USER 'db_user'@'localhost' IDENTIFIED BY 'password!';
GRANT ALL PRIVILEGES ON * . * TO 'db_user'@'localhost';
FLUSH PRIVILEGES;
Instalar múltiples versiones de PHP
Primero deberás agregar el repositorio de PHP en tu sistema para instalar las múltiples versiones de PHP.
sudo apt-get install software-properties-common gnupg2 -y
Añadir el repositorio de PHP sudo add-apt-repository ppa:ondrej/php
Una vez añadido el nuevo repositorio actualizamos sudo apt-get update -y
Para instalar la versión PHP 7.2 con soporte PHP-FPM, hazlo con el siguiente comando: sudo apt-get install php7.2 php7.2-fpm php7.2-cli -y
sudo apt-get install php7.2-mysql php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl php7.2-zip php7.2-xmlrpc libapache2-mod-php7.2
Para instalar la versión PHP 7.4 con soporte PHP-FPM: sudo apt-get install php7.4 php7.4-fpm php7.4-cli -y
sudo apt-get install php7.4-mysql php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl php7.4-zip php7.4-xmlrpc libapache2-mod-php7.4
Para instalar la versión PHP 8.1 con soporte PHP-FPM Utilizada por Drupal 9: sudo apt-get install php8.1 php8.1-cli php8.1-common php8.1-imap php8.1-gd php8.1-mysqli php8.1-snmp php8.1-xml php8.1-mysql php8.1-zip php8.1-mbstring php8.1-curl libapache2-mod-php
Comprobar que versión PHP esta activada php --version
Para ver cual es el archivo de configuración php.ini en uso
php -i | grep 'php.ini'
Y para editarlo utiliza VIM; Por ejemplo el de la versión 7.4
sudo vim /etc/php/7.4/cli/php.ini
Para cambiar entre versiones de PHP sudo update-alternatives --config php
También podemos cambiar de versión de PHP de la siguiente manera. Primero desactivas la versión de PHP en funcionamiento y luego activas la otra. sudo a2dismod php7.1
sudo a2enmod php8.1
sudo service apache2 restart
Habilitar las URLs limpias para Drupal. Activar el mod de PHP rewrite: sudo a2enmod rewrite
sudo service apache2 restart
A partir de aquí iniciamos la instalación de Drupal en el directorio /var/www/html utilizando el gestor de dependencias Composer. Para instalarlo:
cd ~
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
Una vez instalado el Composer iniciamos el despliegue de Drupal 9 en nuestro servidor:
cd /var/www/html
composer create-project drupal/recommended-project /var/www/html
También Instalaremos la libreria de scripts Drush composer require drush/drush
Para iniciar la configuración drush site:install
o también puedes abrir el navegador web e iniciar localhost/install.php
Para instalar módulos extra en Drupal 9 y activarlos composer require drupal/module_name
drush en module_name