jairogarcíarincón
Introducción
Una vez lanzada nuestra instancia y con acceso a ella, estamos listos para instalar desde la consola nuestro servidor LAMP. Más concretamente, vamos a instalar Apache2, MySQL 5 y PHP8.
Para instalar todo, utilizaremos el gestor de paquetes mantenido por ubuntu apt, que nos facilita la tarea de instalar nuevo software desde sus repositorios.
Instalación de Apache2
Para instalar Apache ejecutamos secuencialmente los siguientes comandos:
sudo apt-get update
sudo apt-get install apache2
sudo systemctl restart apache2
Ya está, hemos actualizado el índice de paquetes, instalado y reiniciado Apache2. Si accedemos en el navegador a la dirección: http://my-public-dns deberíamos acceder a una ventana similar a ésta:
El document root de apache2 default vhost se encuentra en /var/www/html de Ubuntu y el archivo de configuración principal es /etc/apache2/apache2.conf.
Instalación de MySQL5
Para instalar MySQL ejecutamos el comando:
sudo apt-get install mysql-server
Al introducir este comando se nos mostrará una lista de los paquetes a instalar y pulsaremos Y para continuar.
Durante la instalación debemos crear la contraseña para el usuario root de MySQL, con las consideraciones descritas anteriormente respecto a la seguridad de las contraseñas.
Cuando la instalación haya terminado, ejecutaremos el siguiente script interactivo que nos permitirá borrar algunas configuraciones peligrosas para la seguridad:
sudo mysql_secure_installation
Nos pedirá que introduzcamos la contraseña de usuario root de MySQL creada anteriormente, y nos preguntará si queremos configurar el VALIDATE PASSWORD PLUGIN o Plugin de Validación de Contraseñas, que para esta actividad no vamos a utilizar, así que pulsaremos cualquier tecla distinta de Y para continuar.
Para el resto de las preguntas, hay que introducir Y y pulsar Enter. Esto eliminará el usuario de ejemplo y la base de datos de prueba y desactivará las conexiones root remotas.
Podemos ver que la instalación y configuración se ha completado correctamente y que está activa con los comandos:
mysql --version
sudo service mysql status
Por último, para poder acceder posteriormente a la base de datos mediante el usuario root desde PHP y crear una base de datos de prueba, realizaremos las siguientes acciones:
sudo mysql
SELECT user,authentication_string,plugin,host FROM mysql.user;
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
exit
sudo mysql -u root -p
Introducimos la password
exit
CREATE DATABASE pruebas CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'usuariopruebas'@'localhost' IDENTIFIED BY 'password’;
GRANT INSERT,SELECT,UPDATE,DELETE,CREATE,DROP,ALTER ON pruebas.* TO 'usuariopruebas'@'localhost';
exit
NOTA: Ten en cuenta que, donde pone password entre comillas, debes introducir la password que desees para tu usuario.
Instalación de PHP8
Para instalar PHP8 y todos los paquetes necesarios, primero añadiremos el repositorio de Ondrej mediante los comandos:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
A continuación, instalamos PHP 8 y las librerías necesarias:
sudo apt update
sudo apt install php8.0 libapache2-mod-php8.0 php8.0-mbstring php8.0-dom php8.0-zip php8.0-curl
sudo apt install zip unzip
sudo systemctl restart apache2
sudo apt install php8.0-mysql
sudo systemctl restart apache2
Una vez hecho esto, ya tenemos instalado PHP8 y el soporte para MySQL, podemos comprobar que funciona correctamente creando un archivo que muestre la configuración PHP:
sudo nano /var/www/html/info.php
Con el siguiente texto:
Si pulsamos Ctrl+X, luego Y para salvar los cambios y Enter para confirmar el nombre del archivo, podremos acceder en el navegador a la dirección http://my-public-dns/info.php y comprobar que funciona correctamente si obtenemos un resultado similar a éste:
Como mejoras opcionales a esta instalación, es recomendable habilitar el soporte para SSL/TLS (capa de seguridad para el encriptado de la conexión entre el navegador y el servidor), que utilizaremos más adelante:
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo systemctl restart apache2
NOTA: Antes de poner el servidor en producción, es importante eliminar el archivo info.php una vez utilizado, pues contiene detalles sensibles del servidor accesibles a cualquier visitante. El código para hacerlo sería:
sudo rm -f /var/www/html/info.php
Por último, también es importante otorgar permisos de escritura al usuario ubuntu en la carpeta /var/www/html, ya que de otro modo no podremos crear ni modificar archivos en ella posteriormente:
sudo chown -R ubuntu:ubuntu /var/www/html
Con esto tendríamos configurado completamente nuestro entorno LAMP remoto. En el próximo capítulo aprenderás a realizar la Configuración de phpStorm para poder acceder a los archivos de tu instancia.
Publicado el 21 de Noviembre de 2024
programaciónservidorapacheubuntumysqlamazonawsdominiosnetbeans