La versión de Debian que voy a usar es la Debian GNU/Linux 10 «Buster» (Stable) ya que vamos a trabajar con un servidor web, esta versión es suficiente para trabajar desde cero y explicar unas cosas de Debian.

Hay algunas cosas que han cambiado respecto a otras versiones de Debian, y es que por ejemplo Debian 10 trae en sus repositorios PHP 7.3.

También tenemos que tener en cuenta, que el paquete de phpMyAdmin ha sido borrado de los repositorios y que se debe de instalar manualmente (o añadir un repositorio de terceros, pero es algo que no recomiendo).

Instalación servidor web [Apache]

Como todo servidor LAMP, lo principal es la A de Apache, para instalar Apache únicamente debemos de ejecutar:

# apt install apache2

Iniciamos el servicio al arranque y lo iniciamos:

# systemctl enable apache2 # systemctl start apache2

Y listo, ya tenemos servidor web instalado. Ahora desde nuestro navegador favorito escribimos la IP del servidor y nos debería de salir el index de Apache por defecto.

Instalación de PHP para Apache2

Por lo general hay que instalar unos paquetes específicos para luego usar conjuntamente con MariaDB y phpMyAdmin, son estos:

# apt install php7.3 libapache2-mod-php7.3 php7.3-mysql

Por lo general, cuando instalamos alguna aplicación en nuestro servidor, tipo NextCloud, Moodle o Prestashop, éstas nos pedirán algunos paquetes extra para que su funcionamiento sea el correcto. No os preocupéis por esto, por lo general estas aplicaciones avisan de manera muy clara que paquetes instalar.

Para que Apache aplique los cambios, es necesario reiniciar el servicio para que PHP esté activo.

# systemctl restart apache2

Instalación y configuración de MariaDB

Ahora vamos a instalar un servidor de bases de datos para las aplicaciones que podamos instalar en nuestro servidor web, para ello instalaremos MariaDB que está basado en MySQL.

# apt install mariadb-server

Durante la instalación, nos pedirá la contraseña de root para MySQL. Como antes, iniciamos servicio al arranque y lo iniciamos:

# systemctl enable mysql # systemctl start mysql

Una vez iniciado, no podremos iniciar sesión con MariaDB porque no hemos configurado aún el servidor para ello:

# mysql_secure_installation

Y esta es la salida:

root@debian:/home/zagur# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have a root password set, so you can safely answer 'n'. Change the root password? [Y/n] n ... skipping. By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!

Ya hemos configurado MariaDB, ahora podemos conectarnos mediante terminal:

# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 49 Server version: 10.0.28-MariaDB-0+deb8u1 (Debian) Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>

Instalación y configuración de phpMyAdmin

Como que phpMyAdmin ya no se encuentra en repositorios, si necesitamos esta aplicación web para gestionar las bases de datos, tendremos que hacerlo de forma manual.

Para realizar este paso deberemos de crear un VirtualHost en Apache y configurar la aplicación web.