No estás usando esta distribución?

Selecciona una versión o distribución diferente

A principios de año hice una entrada sobre como instalar un LAMP en Centos GNU/Linux «Minimal» y como buen Debianero ahora toca hacer lo mismo en Debian. En realidad es un poco «sin sentido» hacer este post porque básicamente es lo mismo, pero si es cierto que algunas cosas cambian.

La versión de Debian que voy a usar es la Debian GNU/Linux 8.6 «Jessie» (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. Además la vamos a instalar en una maquina virtual con VirtualBox y configurar siempre vía SSH bajo root. ¡Al lío!

Instalación servidor web [Apache]

Lo primero es instalar el servidor web, a diferencia de Centos, que usa el paquete httpd, Debian y todas sus derivadas utilizan el paquete Apache2. Lo instalamos:

# 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 en la barra de dirección escribimos la IP de la máquina virtual:

screenshot_20161116_014606

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 php5 php-pear php5-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.

Una vez hemos instalado PHP, comprobamos que se ha instalado correctamente creando un fichero PHP en nuestro servidor web para que muestro toda la información:

# echo "<?php phpinfo(); ?>" > /var/www/html/info.php

Luego reiniciamos el servicio:

# systemctl restart apache2

Y entramos con el navegador a IP_server/info.php:

screenshot_20161116_014819

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
root@debian:/home/zagur# 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

A diferencia de CentOS 7.0, en Debian el paquete para phpMyAdmin podemos instalarlo desde repositorios.

# apt install phpmyadmin

Durante la instalación nos pide que servidor web utilizar, seleccionamos Apache2:

screenshot_20161116_015811

Luego deberemos de configurar la contraseña de MariaDB:

screenshot_20161116_015859

Y ahora si vamos a IP_servidor/phpmyadmin:

screenshot_20161116_020018

Y hasta aquí todo el proceso para tener un servidor LAMP en nuestro servidor. Ahora ya podremos instalar cualquier aplicación web ya sea WordPress, Drupal, Joomla!, MediaWiki, Moodle, etc. Eso si, nos faltaría activar el módulo para SSL que lo dejaremos para otro momento.

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación