Saltar la navegación

3.2.2.- Instalación de una plataforma LAMP en Ubuntu.

Una vez instalado el entorno de desarrollo, es necesario instalar el resto de la plataforma de desarrollo. Si vas a programar en lenguaje PHP, necesitas todos los componentes de una arquitectura LAMP; recuerda:

  • L de Linux, el sistema operativo.
  • A de Apache, el servidor web.
  • M de MySQL, el gestor de bases de datos.
  • P del lenguaje de programación, que puede ser PHP, Perl o Python. Vamos a instalar el más común de estos tres, PHP.

Puedes instalar los componentes uno a uno, o utilizar el comando tasksel desde la consola. Este comando viene con algunas tareas predefinidas, que nos permiten instalar con un solo comando grupos de aplicaciones. Entre las tareas que incluye tasksel se encuentra lamp-server, que incorpora los componentes de una arquitectura LAMP antes mencionados.

Para ello los pasos que haremos serán los siguientes:

  • Instalar tasksel (1.1)
  • Instalar lamp-server (1.2)
  • Habilitar el módulo userdir de Apache para pode trabajar en nuestro directorio home y no tener problemas de permisos (2.1)
  • Crearnos la carpeta public_html (2.2)
  • Configurar Apache para poder ejecutar php en la carpeta public_html (2.3)
  • Comprobar que todo lo anterior ha funcionado (3)

Instalar taskel y lamp-server

sudo apt install tasksel
sudo apt taskel install lamp-server

Habilitar módulo userdir

Con la configuración predeterminada, la carpeta raíz de dónde el servidor web Apache extrae los documentos que va a publicar es /var/www. Para no tener problemas de permisos ni tener que estar con el comado sudo, lo ideal es habilitar el módulo userdir de Apache, esto nos permitirá trabajar en nuestro home simplemente creándonos la carpeta public_html (este nombre es OBLIGATORIO). Cada usuario accederá al contenido de la carpeta mediante la url en el navegador http://127.0.0.1/~nombreUsuario/. Es decir si soy el usuario "juan" accederé con la url http://127.0.0.1/~juan.

El problema de lo anterior es que Apache por seguridad NO ejecuta PHP en dicho directorio, para solucionar esto editaremos la configuración del fichero /etc/apache2/mods_enable/php7.3.conf

El proceso para todo lo anterior será el siguiente:

  • Habilitamos el módulo userdir y reiniciamos Apache para que los cambios surtan efecto:
    sudo a2enmod userdir
    sudo systemctl restart apache2
  • Creamos en nuestro directorio home la carpeta public_html (desde nuestro directorio personal, fíjate que es sin sudo )
    mkdir public_html 
  • Editamos el archivo para permitir la ejecución de PHP en public_html.
    sudo gedit /etc/apache2/mods-enabled/php7.3.conf   #dependerá de la versión de PHP en este caso es la 7.3)
    sudo systemctl restart apache2   #reiniciamos Apache para que los cambios surtan efecto)

Creamos el archivo info.php en public_html con el contenido  phpinfo(); en VSC para probar todo.

Veamos una sucesión de imágenes de todo el proceso

Autoevaluación

Pregunta

¿Cuál de los siguientes elementos no es necesario para programar aplicaciones web en lenguaje PHP?

Respuestas

Un servidor web.

Un sistema operativo.

El lenguaje de programación PHP.

Un entorno integrado de desarrollo.

Retroalimentación