Instalar Apache, PHP y MySQL en Debian 10 (Buster)

Author
By Darío Rivera
Posted on 2020-04-14 in GNU/Linux Debian

Debian Buster es actualmente la versión estable del sistema operativo GNU/Linux Debian. Si eres desarrollador web o necesitas configurar un proyecto desarrollado en PHP con Apache y MySQL este tutorial es para ti.

Instalación

El primer paso consiste en instalar los paquetes que ya tenemos disponibles.

sudo apt-get install apache2 php gnupg

Descargamos el script de configuración del repo directamente desde mysql y lo instalamos.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.17-1_all.deb
sudo dpkg -i mysql-apt-config*

Si planeas conectar MySQL con algún lenguaje de programación asegurarte que la opción de MySQL Tools & Conectors esté Enabled, que por lo general suele estarlo. Seleccionas OK y todo habrá quedado configurado. Con esto ya podemos actualizar la lista de paquetes con el siguiente comando.

sudo apt-get update

Si planeas conectarte a una instancia de base de datos en otro servidor, por ejemplo, AWS, solo deberás instalar el cliente de MySQL.

sudo apt install mysql-client

Si tu objetivo es alojar la base de datos en el mismo servidor de aplicación entonces podemos instalar directamente el servidor de mysql que ya incluye el cliente.

sudo apt install mysql-server

El asistente de instalación te preguntará por un password para el usuario root. Asegúrate que ese password es lo suficientemente seguro. También es recomandable seleccionar la opción de password encryption que aporta mayor seguridad en tu contraseña.

El último paso es hacer segura la instalación. Esto significa realizar algunas configuraciones como por ejemplo que las contraseñas creadas sean verificadas (longitud, caracteres especiales, mayúsculas y minúsculas), que se eliminen los usuarios anónimos,  deshabilitar el logueo remoto y eliminación de las bases de datos de tests. Para esto puedes utilizar el siguiente comando y seguir las instrucciones.

sudo mysql_secure_installation

Y eso es todo, ya puedes loguearte. No olvides revisar nuestro post Conexión por Terminal a MySQL para ver las distintas opciones para conectarte.

Configuración

Una vez instalado Apache, PHP y MySQL es conveniente realizar algunas configuraciones. La primera está relacionada con la carpeta /var/www en donde se alojan todos nuestros archivos web. Es conveniente que el grupo de esta carpeta sea www-data, ya que este es el grupo creado en la instalación de apache.

sudo chown -R your-user:www-data /var/www

Otra recomendación es cambiar la pertenencia de /var/www y todos sus subdirectorios para agregar el grupo, los permisos de escritura y configurar el ID del grupo para los directorios que se creen de ahora en adelante.

sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;

Finalmente podemos cambiar los permisos para los archivos dentro de /var/www y todos sus subdirectorios para agregar el grupo y los permisos de escritura.

find /var/www -type f -exec sudo chmod 0664 {} \;

Acerca de Darío Rivera

Author

Ingeniero de desarrollo en PlacetoPay , Medellín. Darío ha trabajado por más de 6 años en lenguajes de programación web especialmente en PHP. Creador del microframework DronePHP basado en Zend y Laravel.

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.