LAMP es el acrónimo para Linux – Apache – MySQL/MariaDb – PHP y hacen relación a un conjunto de herramientas orientadas al desarrollo web. Existe una variante llamada LEMP que es usar nginx en lugar de Apache. También podríamos tener otra variante usando postgreSQL como motor de base de datos si lo deseamos.
Existen alternativas como XAMPP que ya poseen todas estas herramientas empaquetadas, pero es recomendable instalar los paquetes por separado como lo mostraré a continuación ya que nos brindará una mayor flexibilidad al actualizar uno o varios de los servicios por separado y como mencioné antes cambiar algunas de ellas como el servidor o el motor de base de datos.
Primero vamos a instalar el servidor web apache, para nginx es similar pero tendremos que realizar algunas configuraciones y no es el propósito de este tutorial.
sudo zypper in apache2
Luego instalaremos el motor de base de datos ya sea MySQL o mariadb (para otro motor de base de datos las configuraciones serían distintas).
sudo zypper in mariadb mariadb-tools
Ahora vamos a instalar PHP y el paquete para que se comunique con el motor de base de datos (es el mismo para MySQL que para mariadb).
sudo zypper in php php-mysql apache2-mod_php8
Con esto ya podríamos empezar a trabajar con nuestro servidor, pero es recomendable hacer algunas configuraciones e instalar agunos paquetes adicionales, estos nos van a permitir por ejemplo tener aplicaciones multi idiomas o generar captchas.
sudo zypper in php8-gd php8-intl php8-zip php8-curl php8-soap php8-ldap
Ahora vamos a realizar algunas configuraciones recomendadas. Primero es importante mencionar que MySQL por defecto solo permite conexiones vía socket al usuario root, por seguridad es recomendable dejarlo así y crear usuarios con permisos limitados para las bases de datos que vayamos creando. Para verificar esto podemos usar los siguientes comandos (no todos los campos están disponibles con mariadb).
Ahora agregamos PHP a los tipos de archivos reconocidos por apache
sudo nano /etc/apache2/mod_mime-defaults.conf
En dicho archivo vamos a agregar la siguiente línea
AddType application/x-httpd-php .php
Luego habilitamos el módulo de PHP en apache
sudo a2enmod php8
Opcionalmente podemos darle permisos a la carpeta de trabajo
sudo chown -R wwwrun:wwwrun /srv/www/htdocs
Agregamos nuestro usuario al grupo
sudo usermod -aG wwwrun $(whoami)
Luego es recomendable reiniciar para que el directorio tome los permisos, de lo contrario nos dará error.