Para preparar el servidor LAMP
1 – Conéctese a la instancia.
2 – Para asegurarse de que todos los paquetes de software están actualizados, realice una actualización rápida del software en la instancia. Este proceso puede durar unos minutos, pero es importante realizarlo para asegurarse de que tiene las actualizaciones de seguridad y las correcciones de errores más recientes.
La opción -y instala las actualizaciones sin necesidad de confirmación. Si le gustaría examinar las actualizaciones antes de la instalación, puede omitir esta opción.
[ec2-user ~]$ sudo yum update -y
3 – Instale los repositorios Amazon Linux Extras lamp-mariadb10.2-php7.2 y php7.2 para obtener las versiones más recientes de los paquetes LAMP MariaDB y PHP de Amazon Linux 2.
[ec2-user ~]$ sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2
nota
Si recibe el error que indica sudo: amazon-linux-extras: command not found, entonces la instancia no se lanzó con una AMI; de Amazon Linux 2 (quizás está utilizando la Amazon Linux AMI en su lugar). Para ver la versión de Amazon Linux, use el comando siguiente:
cat /etc/system-release
Para instalar un servidor web LAMP en Amazon Linux AMI, consultar este post: Instalar LAMP en Linux Amazon AMI.
4 – Ahora que la instancia está actualizada, puede instalar los paquetes de software PHP, MariaDB y el servidor web Apache.
Utilice el comando yum install para instalar varios paquetes de software y todas las dependencias relacionadas al mismo tiempo.
[ec2-user ~]$ sudo yum install -y httpd mariadb-server
nota
Para ver las versiones actuales de estos paquetes, use el comando siguiente:
yum info package_name
5 – Inicie el servidor web Apache.
[ec2-user ~]$ sudo systemctl start httpd
6 – Utilice el comando systemctl para configurar el servidor web Apache de forma que se inicie cada vez que arranque el sistema.
[ec2-user ~]$ sudo systemctl enable httpd
Puede verificar que httpd está activo ejecutando el siguiente comando:
[ec2-user ~]$ sudo systemctl is-enabled httpd
Para establecer permisos de archivo
1 – Añada el usuario (en este caso, el usuario ec2-user) al grupo apache.
[ec2-user ~]$ sudo usermod -a -G apache ec2-user
2 – Cierre sesión, luego vuelva a iniciarla para elegir el nuevo grupo y, a continuación, verifique si pertenece a este.
a) Cierre sesión (utilice el comando exit o cierre la ventana del terminal):
[ec2-user ~]$ exit
b) Para verificar si pertenece al grupo apache, vuelva a conectarse a la instancia y, entonces, ejecute el siguiente comando:
[ec2-user ~]$ groups
ec2-user adm wheel apache systemd-journal
3 – Cambie la propiedad de grupo de /var/www y su contenido al grupo apache.
[ec2-user ~]$ sudo chown -R ec2-user:apache /var/www
4 – Para agregar permisos de escritura de grupo y establecer el ID de grupo en futuros subdirectorios, cambie los permisos del directorio /var/www y sus subdirectorios.
[ec2-user ~]$ sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} \;
5 – Para agregar permisos de escritura de grupo, cambie recursivamente los permisos de archivo de /var/www y sus subdirectorios:
[ec2-user ~]$ find /var/www -type f -exec sudo chmod 0664 {} \;
Ahora el usuario ec2-user (y cualquier futuro miembro del grupo apache) puede añadir, eliminar y editar archivos en la raíz de documentos de Apache, por lo que podrá añadir contenido, como un sitio web estático o una aplicación PHP.
Proteger el servidor de base de datos
La instalación predeterminada del servidor MariaDB posee varias características que son perfectas para las pruebas y el desarrollo, pero que se deben deshabilitar o eliminar para los servidores de producción. El comando mysql_secure_installation le guía a través del proceso de configuración de una contraseña raíz y de eliminación de las características que no son seguras de la instalación. Aunque no tenga pensado utilizar el servidor MariaDB, recomendamos realizar este procedimiento.
Para proteger el servidor MariaDB
1 – Inicie el servidor MariaDB.
[ec2-user ~]$ sudo systemctl start mariadb
2 – Ejecute mysql_secure_installation.
[ec2-user ~]$ sudo mysql_secure_installation
a) Cuando se le solicite, escriba una contraseña para la cuenta raíz.
i. Escriba la contraseña raíz actual. De manera predeterminada, la cuenta raíz no tiene configurada ninguna contraseña. Pulse Intro.
ii. Escriba Y para configurar una contraseña y escriba una contraseña segura dos veces. Para obtener más información acerca de la creación de contraseñas seguras, consulte https://identitysafe.norton.com/password-generator/. Procure guardar esta contraseña en un lugar seguro.
nota
La configuración de una contraseña raíz para MariaDB es solo la medida más básica para proteger la base de datos. Cuando se crea o se instala una aplicación basada en base de datos, normalmente se crea un usuario del servicio de la base de datos para esa aplicación y se evita usar la cuenta raíz para cualquier cosa que no sea la administración de la base de datos.
b) Escriba Y para eliminar las cuentas de usuarios anónimos.
c) Escriba Y para deshabilitar el inicio de sesión raíz remoto.
d) Escriba Y para eliminar la base de datos de prueba.
e) Escriba Y para volver a cargar las tablas de privilegios y guardar los cambios.
3 – (Opcional) Si no tiene pensado utilizar el servidor MariaDB de inmediato, deténgalo. Puede reiniciarlo cuando lo necesite.
[ec2-user ~]$ sudo systemctl stop mariadb
(Opcional) Si desea que el servidor MariaDB se inicie cada vez que arranque el sistema, escriba el siguiente comando.
[ec2-user ~]$ sudo systemctl enable mariadb
Fuente: https://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html


