Guía paso a paso para configurar WordPress en la instancia de Linux de Amazon EC2 (AWS)
Publicado: 2017-05-25Amazon Elastic Compute Cloud ( Amazon EC2 ) es un servicio en la nube que proporciona una capacidad informática redimensionable en la nube. Está diseñado para que los desarrolladores escalen y monitoreen mejor su aplicación web.
Amazon EC2 proporciona algunas funciones avanzadas como direcciones IP elásticas, equilibrio de carga, varias plataformas como (Linux, Windows, etc.), escalado, monitoreo, etc. También es fácil para los desarrolladores administrar su aplicación web de una mejor manera.
Alojar WordPress on AWS
es una opción inteligente porque, en comparación con otros proveedores de VPS, Amazon tiene precios bajos, más funciones y otros servicios increíbles relacionados. También le cobran por horas de ejecución de su instancia.
Entonces, en este tutorial, le mostraré cómo puede configurar el entorno LAMP en la plataforma Linux e instalar el blog de WordPress manualmente en la instancia de Amazon EC2 .
Esta guía paso a paso lo ayudará a administrar su host por completo, lo cual es diferente a cPanel.
1. Cree una cuenta de AWS
En primer lugar, debe crear su cuenta de AWS. Puedes inscribirte siguiendo este enlace. Deberá proporcionar una tarjeta de crédito o tarjeta de débito internacional y un número de teléfono al que se le llamará como parte del proceso de verificación de registro en línea según sus términos y política.
A su tarjeta de crédito o débito se le cobrará un valor menor y se le reembolsará una vez que lo verifiquen. Amazon ofrece un nivel de uso gratuito en el que instalaremos WordPress, lo cual es excelente para explorar los servicios e incluso alojar aplicaciones reales sin pagar un solo centavo.
2. Crea una instancia
Después del registro, tiene muchas opciones disponibles y probablemente tenga esta pregunta en mente Which type of instance should I choose
?
Si tiene un nuevo blog, puede elegir EC2 micro instance
que puede manejar alrededor de 200+ tráfico en tiempo real.
También tiene una estructura de precios atractiva, pero si está migrando su blog existente y tiene un tráfico de más de mil por día, entonces debe elegir una instancia pequeña que puede manejar ese tráfico con mucha facilidad.
Para crear una nueva instancia, acceda a la Consola de administración de AWS y haga clic en la pestaña EC2:
- Elija una AMI en el asistente de instancia clásico:
- Elegí el servidor Ubuntu básico de 64 bits Amazon Linux AMI.
- Detalles de la instancia:
- Seleccione el tipo de instancia que desea utilizar. Elegí Pequeño (m5a.small).
- Cree un nuevo par de claves.
- Ingrese un nombre para su par de claves (es decir, crunchify) y descargue su par de claves (es decir
crunchify.pem
).
- Ingrese un nombre para su par de claves (es decir, crunchify) y descargue su par de claves (es decir
- Seleccione el grupo de seguridad de inicio rápido.
- Inicie su instancia.
3. SSH en su instancia
Una vez que la configuración de su instancia esté completa y muestre que la instancia se está ejecutando, puede ssh
a ella.
- En primer lugar, debe identificar la dirección IP (DNS público) de su instancia:
- Seleccione la instancia en la Consola de administración de AWS.
- Busque el DNS público en la descripción de la instancia (parte inferior de la pantalla).
Use esa dirección (y una ruta a su archivo .pem) para acceder a su instancia:
1 |
ssh ec2 - user @ ec2 - 50 - 17 - 15 - 27.compute - 1.amazonaws.com - i ~ / crunchify . pem |
Si está en el sistema Windows, debe usar Putty para conectarse como SSH. Puedes conectarte con PuTTY siguiendo este artículo.
Si recibe un mensaje de error acerca de que los permisos de su archivo .pem son demasiado abiertos, modifique su archivo .pem de la siguiente manera:
1 |
[ ec2 - user ~ ] $ chmod 600 ~ / crunchify . pem |
En este tutorial, debe realizar muchos comandos de shell y la mayoría de los comandos requieren acceso de root. Por lo tanto, para evitar esto, prefijaremos todos estos comandos con sudo cambiando de usuario de una vez por todas con este comando.
1 |
[ ec2 - user ~ ] $ sudo su |
4. Instale el servidor web Apache para ejecutar PHP
Para instalar el servidor web Apache, escriba en la terminal:
1 2 3 4 |
[ ec2 - user ~ ] $ sudo yum - y install python - simplejson # Install PHP latest version [ ec2 - user ~ ] $ sudo yum update # System wide upgrade [ ec2 - user ~ ] $ sudo yum install - y default - jre # Install Java (just to be safe) [ ec2 - user ~ ] $ sudo yum install httpd # Install HTTPD server |
Inicie el servidor web Apache:
1 |
[ ec2 - user ~ ] $ service httpd start |
Después de la configuración, para probar su servidor web, abra un navegador y acceda a su sitio web:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com |
(Use su nombre de DNS público real). Debería ver una página predeterminada de marcador de posición estándar de Amazon.
5. Instala PHP para ejecutar WordPress
Para instalar PHP, escriba en la terminal:
1 |
[ ec2 - user ~ ] $ yum install php php - mysql |
Después de instalar php con éxito, reinicie el servidor web Apache:
1 |
[ ec2 - user ~ ] $ service httpd restart |
Cree una página para probar su instalación de PHP:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ vi test . php |
- Escriba
i
para iniciar el modo de inserción - Escribe
<?php phpinfo() ?>
- Escriba
:wq
para escribir el archivo y salir de vi
Abra un navegador y acceda a test.php para probar su instalación de PHP:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/test.php |
(Use su nombre de DNS público)
6. Instale MySQL para agregar una base de datos
Para instalar MySQL, escriba:
1 |
[ ec2 - user ~ ] $ yum install mysql - server |
Inicie MySQL:
1 |
[ ec2 - user ~ ] $ service mysqld start |
Crea tu base de datos de “blog”:
1 |
[ ec2 - user ~ ] $ mysqladmin - u root create blog |
Asegure su base de datos:
1 |
[ ec2 - user ~ ] $ mysql_secure_installation |
Responda las preguntas del asistente de la siguiente manera:
- Ingrese la contraseña actual para root: Presione regresar para ninguno
- Cambiar contraseña raíz: Y
- Nueva contraseña: Ingrese su nueva contraseña
- Eliminar usuario anónimo: Y
- No permitir inicio de sesión raíz de forma remota: Y
- Eliminar base de datos de prueba y acceder a ella: Y
- Recargar tablas de privilegios ahora: Y
7. Instalar WordPress
Para instalar WordPress, escriba:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ wget http : //wordpress.org/latest.tar.gz |
Para descomprimir el tipo de archivo tar.gz:

1 |
[ ec2 - user ~ ] $ tar - xzvf latest . tar . gzcd |
Esto descomprimirá WordPress en su propio directorio de WordPress
.
Me gusta tener WordPress en un directorio separado, pero preferiría cambiarle el nombre a "blog" si desea instalarlo en un subdominio como "http://your-site.com/blog":
1 |
[ ec2 - user ~ ] $ mv wordpress blog |
de lo contrario, mueva todos los archivos a la carpeta principal escribiendo:
1 |
[ ec2 - user ~ ] $ mv * . * . . |
Cree el archivo wp-config.php de WordPress:
1 2 3 |
[ ec2 - user ~ ] $ cd blog [ ec2 - user ~ ] $ mv wp - config - sample . php wp - config . php [ ec2 - user ~ ] $ vi wp - config . php |
- Escriba
i
para iniciar el modo de inserción.
Modifique los parámetros de conexión de la base de datos de la siguiente manera:
1 2 3 4 |
define ( ‘ DB_NAME ’ , ‘ blog ’ ) ; define ( ‘ DB_USER ’ , ‘ root ’ ) ; define ( ‘ DB_PASSWORD ’ , ‘ YOUR_PASSWORD ’ ) ; define ( ‘ DB_HOST ’ , ‘ localhost ’ ) ; |
- Presiona
esc
una vez y luego - Escriba
:wq
para escribir el archivo y salir de vi
Abra un navegador y acceda a su blog:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog (Use your public DNS name). |
Esto debería abrir el proceso de configuración de la instalación de WordPress.
CONSEJO: Para permitir que WordPress use enlaces permanentes
Los enlaces permanentes de WordPress necesitan usar archivos .htaccess de Apache para funcionar correctamente, pero esto no está habilitado de manera predeterminada en Amazon Linux. Utilice este procedimiento para permitir todas las anulaciones en la raíz del documento de Apache.
Abra el archivo httpd.conf con su editor de texto favorito (como nano o vim). Si no tiene un editor de texto favorito, nano es mucho más fácil de usar para los principiantes.
1 |
[ ec2 - user wordpress ] $ sudo vim / etc / httpd / conf / httpd . conf |
Busque la sección que comienza con <Directorio “ /var/www/html
“>.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
< Directory "/var/www/html" > # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Require all granted < / Directory > |
Cambie la línea AllowOverride None
en la sección anterior para leer AllowOverride All
.
Nota:
Hay varias líneas AllowOverride
en este archivo; asegúrese de cambiar la línea en la sección <Directorio "/var/www/html"
>.
1 |
AllowOverride All |
- Guarde el archivo y salga de su editor de texto.
8. Asignar dirección IP y nombre de dominio
Para usar tu blog en producción, tendrás que:
- Asocia una dirección IP a tu instancia
- Asigne su nombre de dominio a esa dirección IP
- Para asociar una dirección IP a su instancia:
Pasos:
- En la Consola de administración de AWS, haga clic en IP elásticas (barra de navegación izquierda)
- Haga clic en Asignar nueva dirección y confirme haciendo clic en el botón "Sí, asignar".
- Haga clic derecho en la dirección IP recién asignada y seleccione "Asociar" en el menú emergente. Seleccione la instancia que acaba de crear y haga clic en "Sí, Asociar"
- Para asignar su nombre de dominio a su dirección IP, deberá utilizar las herramientas proporcionadas por su registrador de dominio.
- Si usa GoDaddy, especifique NS73.DOMAINCONTROL.COM y NS74.DOMAINCONTROL.COM como servidores de nombres para su dominio, y use el Administrador de DNS para modificar el registro A y apuntar a su dirección IP.
- Una vez que todo esté configurado y mapeado correctamente, acceda a la Configuración general en la consola de administración de WordPress y asegúrese de que la dirección de WordPress y la dirección del sitio estén especificadas correctamente usando su nombre de dominio
Otro método: para cambiar la URL de su sitio de WordPress con wp-cli
Tenga en cuenta la URL del sitio anterior y la URL del sitio nuevo para su instancia. Es probable que la URL del sitio anterior sea el nombre DNS público de su instancia EC2 cuando instaló WordPress. La nueva URL del sitio es el nombre de DNS público actual para su instancia EC2.
Si no está seguro de la URL de su sitio anterior, puede usar curl para encontrarlo con el siguiente comando.
1 |
[ ec2 - user ~ ] $ curl localhost | grep wp - content |
Debería ver referencias a su antiguo nombre de DNS público en el resultado, que se verá así (URL del sitio antiguo en rojo):
1 |
<script type = 'text/javascript' src = http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script> |
Descarga wp-cli con el siguiente comando.
1 |
[ ec2 - user ~ ] $ curl - O https : //raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar |
Busque y reemplace la URL del sitio anterior en su instalación de WordPress con el siguiente comando. Sustituya las URL del sitio antiguo y nuevo por su instancia EC2 y la ruta a su instalación de WordPress (generalmente /var/www/html
o /var/www/html/blog
).
1 |
[ ec2 - user ~ ] $ php wp - cli . phar search - replace 'old_site_url' 'new_site_url' -- path =/ path / to / wordpress / installation -- skip - columns = guid |
En un navegador web, ingrese la nueva URL del sitio de su blog de WordPress para verificar que el sitio vuelva a funcionar correctamente.
Eso es todo.
Ha creado correctamente el entorno LAMP e instalado WordPress en Amazon EC2 . Si recibe algún tipo de error o se atasca en alguna tarea, háganoslo saber comentando aquí.
Haremos todo lo posible para proporcionar una solución a su problema.