¿Cómo puedo instalar manualmente una pila LAMP en mi instancia de Lightsail?
Quiero instalar manualmente una pila Lamp (Linux, Apache, MySQL, PHP) en mi instancia de Amazon Lightsail.
Solución
Nota: La siguiente resolución es válida para la mayoría de las principales distribuciones de Linux que están disponibles en la opción Solo SO de Amazon Lightsail. Entre ellas, Ubuntu 20.04, Ubuntu 18.04, Debian 10 y 9 y CentOS 8 y 7.
Para obtener información sobre cómo instalar una pila LAMP en Amazon Linux 2, consulte Install LAMP web server on Amazon Linux 2.
Para obtener información sobre cómo instalar una pila LAMP en Amazon Linux, consulte Install LAMP web server on Amazon Linux.
Instalación de Apache
Ubuntu 20.04 y 18.04, Debian 9 y 10
Ejecute los siguientes comandos para instalar el servidor web Apache:
sudo apt update -y sudo apt install apache2 -y
CentOS 7 y CentOS 8
Ejecute los siguientes comandos para instalar el servidor web Apache:
sudo yum update -y sudo yum install httpd wget -y sudo systemctl enable httpd sudo systemctl start httpd
Instalación de PHP
Nota: Los pasos siguientes instalan la última versión del paquete, PHP 8.0. Por defecto, PHP 8.0 no está presente en la mayoría de las distribuciones. Para instalar PHP 8.0, active los repositorios de terceros.
Ubuntu 20.04 y Ubuntu 18.04
Para instalar PHP, ejecute los siguientes comandos:
sudo apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update -y sudo apt install php8.0 php8.0-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} libapache2-mod-php8.0 -y
Debian 10 y Debian 9
Para instalar PHP, ejecute los siguientes comandos:
sudo apt install -y gnupg2 ca-certificates apt-transport-https software-properties-common wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add - echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list sudo apt update sudo apt install php8.0 php8.0-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} libapache2-mod-php8.0 -y
CentOS 7
Para instalar PHP, ejecute los siguientes comandos:
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install -y yum-utils sudo yum-config-manager --enable remi-php80 sudo yum install php php-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} -y
CentOS 8
Para instalar PHP, ejecute los siguientes comandos:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf module enable php:remi-8.0 -y sudo yum install php php-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} -y
Activación del módulo PHP-FPM
El módulo PHP-FPM proporciona un sitio web más rápido. Aunque PHP-FPM es opcional, se recomienda usarlo para la mayoría de las tareas de creación y administración de sitios web.
Ubuntu 20.04 y 18.04, Debian 10 y 9
Ejecute los siguientes comandos para instalar PHP-FPM:
sudo a2enmod proxy_fcgi setenvif sudo a2enconf php8.0-fpm sudo a2dismod php8.0 sudo systemctl enable php8.0-fpm sudo service apache2 restart;sudo service php8.0-fpm restart
CentOS 7
-
Actualice la configuración de Apache para usar el módulo mpm_event_module en lugar de mpm_prefork_module:
[centos@ip ~]# sudo vi /etc/httpd/conf.modules.d/00-mpm.conf # LoadModule mpm_prefork_module modules/mod_mpm_prefork.so LoadModule mpm_event_module modules/mod_mpm_event.so
-
Haga una copia de seguridad del archivo de configuración de PHP actual en Apache y, a continuación, cree uno nuevo con el siguiente contenido:
sudo mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_bak sudo vi /etc/httpd/conf.d/php.conf <Files ".user.ini"> <IfModule mod_authz_core.c> Require all denied </IfModule> <IfModule !mod_authz_core.c> Order allow,deny Deny from all Satisfy All </IfModule> </Files> <FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch> AddType text/html .php DirectoryIndex index.php
-
Reinicie Apache y PHP-FPM para que los cambios surtan efecto:
sudo systemctl restart php-fpm sudo systemctl restart httpd
CentOS 8
-
Actualice el archivo de configuración PHP-FPM para que el servicio escuche al puerto en lugar de al socket:
sudo sed 's#listen = /run/php-fpm/www.sock#listen = 127.0.0.1:9000#g' -i /etc/php-fpm.d/www.conf
-
Haga una copia de seguridad del archivo de configuración de PHP actual en Apache y, a continuación, cree uno nuevo con el siguiente contenido:
sudo mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_bak sudo vi /etc/httpd/conf.d/php.conf <Files ".user.ini"> <IfModule mod_authz_core.c> Require all denied </IfModule> <IfModule !mod_authz_core.c> Order allow,deny Deny from all Satisfy All </IfModule> </Files> <FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch> AddType text/html .php DirectoryIndex index.php
-
Ejecute el siguiente comando en el servidor para permitir que Apache establezca conexiones salientes:
sudo /usr/sbin/setsebool -P httpd_can_network_connect 1
-
Reinicie Apache y PHP-FPM para que los cambios surtan efecto:
sudo systemctl restart php-fpm sudo systemctl restart httpd
Instalación de MariaDB
Instale la versión 10.5 de MariaDB con el repositorio de MariaDB.
-
Ejecute el siguiente comando para agregar el repositorio yum de MariaDB (para todas las distribuciones de Linux):
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.5"
-
Instale el paquete MariaDB:
Ubuntu 20.04, Ubuntu 18.04, Debian 10 y Debian 9
sudo apt install mariadb-server -y
CentOS 8 y CentOS 7
sudo yum install MariaDB-server MariaDB-client -y sudo systemctl start mariadb.service sudo systemctl enable mariadb.service
-
Ejecute el siguiente comando para completar la instalación segura de MariaDB y establecer la contraseña raíz:
sudo mysql_secure_installation
-
Cuando se le pida, defina una contraseña para la cuenta raíz:
Introduzca la contraseña raíz actual. De forma predeterminada, la cuenta raíz no tiene una contraseña establecida.
Pulse Intro.
Pulse N para cambiar a la autenticación unix_socket.
Pulse Y para establecer una contraseña y, a continuación, introduzca una contraseña segura dos veces. Guarde esta contraseña en un lugar seguro.
Pulse Y para eliminar las cuentas de usuario anónimas.
Pulse Y para desactivar el inicio de sesión raíz remoto.
Pulse Y para eliminar la base de datos de prueba.
Pulse Y para volver a cargar las tablas de permisos y guardar los cambios.
Cómo añadir permisos a las carpetas de su sitio web para el usuario predeterminado
Para transferir la instancia de su sitio web con SCP/SFTP, como práctica recomendada, establezca los permisos para que el otro usuario acceda al directorio /var/www. Para obtener instrucciones sobre cómo configurar los permisos, consulte la sección Para configurar los permisos de archivo del Paso 1: Preparación del servidor LAMP. En los pasos siguientes se proporcionan los permisos necesarios para el usuario predeterminado en cada distribución de Linux. Puede agregar el usuario al grupo Apache y, a continuación, cambiar la propiedad del directorio al usuario y al grupo Apache predeterminados.
Siga estos pasos:
Ubuntu 20.04 y 18.04
-
Ejecute el siguiente comando:
sudo usermod -a -G www-data ubuntu
-
Cierre sesión y vuelva a iniciarla para seleccionar el nuevo grupo. A continuación, ejecute el comando group para verificar su suscripción:
sudo chown -R ubuntu:www-data /var/www sudo chmod 2775 /var/www find /var/www -type d -exec sudo chmod 2775 {} \; find /var/www -type f -exec sudo chmod 0664 {} \;
Debian 10 y 9
-
Ejecute el siguiente comando:
sudo usermod -a -G www-data admin
-
Cierre sesión y vuelva a iniciarla para seleccionar el nuevo grupo. A continuación, ejecute el comando group para verificar su suscripción:
sudo chown -R admin:www-data /var/www sudo chmod 2775 /var/www find /var/www -type d -exec sudo chmod 2775 {} \; find /var/www -type f -exec sudo chmod 0664 {} \;
CentOS 8 y 7
-
Ejecute el siguiente comando:
sudo usermod -a -G apache centos
-
Cierre sesión y vuelva a iniciarla para seleccionar el nuevo grupo. Ejecute el comando group para verificar su suscripción:
sudo chown -R centos:apache /var/www sudo chmod 2775 /var/www find /var/www -type d -exec sudo chmod 2775 {} \; find /var/www -type f -exec sudo chmod 0664 {} \;
Cómo ver la página web predeterminada
Acceda a la dirección IP pública de su instancia en un navegador web para ver la página web predeterminada. Su sitio web ya está listo para personalizarlo.
Contenido relevante
- OFICIAL DE AWSActualizada hace 6 meses
- OFICIAL DE AWSActualizada hace 8 meses
- OFICIAL DE AWSActualizada hace 9 meses
- OFICIAL DE AWSActualizada hace 10 meses