Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Tutorial: alojar un WordPress blog en AL2 023
Los siguientes procedimientos le ayudarán a instalar, configurar y proteger un WordPress blog en su instancia AL2 023. Este tutorial es una buena introducción al uso de AmazonEC2, ya que tienes el control total sobre un servidor web que aloja tu WordPress blog, lo que no es típico de un servicio de alojamiento tradicional.
Es responsable de actualizar los paquetes de software y de mantener los parches de seguridad del servidor. Para una WordPress instalación más automatizada que no requiera una interacción directa con la configuración del servidor web, el AWS CloudFormation servicio proporciona una WordPress plantilla que también puede ayudarte a empezar rápidamente. Para obtener más información, consulte Introducción en la Guía del usuario de AWS CloudFormation . Si necesita una solución de alta disponibilidad con una base de datos disociada, consulte Implementación de un WordPress sitio web de alta disponibilidad en la AWS Elastic Beanstalk Guía para desarrolladores.
importante
Estos procedimientos están diseñados para usarse con el 023. AL2 Para obtener información acerca de otras distribuciones, consulte la documentación específica. Muchos de los pasos de este tutorial no funcionan en instancias de Ubuntu. Para obtener ayuda WordPress sobre la instalación en una instancia de Ubuntu, consulta WordPress
Temas
Requisitos previos
Le recomendamos encarecidamente que asocie una dirección IP elástica (EIP) a la instancia que está utilizando para alojar un WordPress blog. Esto evita que la DNS dirección pública de la instancia cambie e interrumpa la instalación. Si tienes un nombre de dominio y quieres usarlo en tu blog, puedes actualizar el DNS registro del nombre de dominio para que apunte a tu EIP dirección (para obtener ayuda al respecto, ponte en contacto con el registrador de nombres de dominio). Puedes tener una EIP dirección asociada a una instancia en ejecución sin coste alguno. Para obtener más información, consulte Direcciones IP elásticas en la Guía del EC2 usuario de Amazon. En el tutorial Tutorial: Instalar un LAMP servidor en AL2 023 también se incluyen pasos para configurar un grupo de seguridad que permita el tráfico HTTP
y HTTPS
, así como varios pasos para asegurar que los permisos de archivo estén establecidos de forma correcta en el servidor web. Para obtener información sobre cómo agregar reglas a su grupo de seguridad, consulte Agregar reglas a un grupo de seguridad.
Si aún no tiene un nombre de dominio para su blog, puede registrar un nombre de dominio en Route 53 y asociar la EIP dirección de su instancia a su nombre de dominio. Para obtener más información, consulte Registrar nombres de dominio mediante Amazon Route 53 en la Guía para desarrolladores de Amazon Route 53.
Instala WordPress
Conéctese a la instancia y descargue el paquete WordPress de instalación. Para obtener más información sobre cómo conectarse a la instancia, consulte Conexión a AL2 023 instancias.
-
Descargue e instale estos paquetes con el siguiente comando.
dnf install wget php-mysqlnd httpd php-fpm php-mysqli mariadb105-server php-json php php-devel -y
-
Es posible que aparezca una advertencia con un texto similar en la salida (las versiones pueden variar con el tiempo):
WARNING: A newer release of "Amazon Linux" is available. Available Versions: dnf upgrade --releasever=2023.0.20230202 Release notes: https://aws.amazon.com Version 2023.0.20230204: Run the following command to update to 2023.0.20230204: dnf upgrade --releasever=2023.0.20230204 ... etc
Como práctica recomendada, te recomendamos que mantengas el sistema operativo lo más up-to-date posible, pero quizás quieras ir iterando cada versión para asegurarte de que no haya conflictos en tu entorno. Si se produce un error en la instalación de los paquetes anteriores indicados en el paso 1, es posible que deba actualizarse a una de las versiones más recientes enumeradas y volver a intentarlo.
-
Descargue el paquete de WordPress instalación más reciente con el wget comando. El comando siguiente debería descargar siempre la última versión.
[ec2-user ~]$
wget https://wordpress.org/latest.tar.gz
-
Descomprima y desarchive el paquete de instalación. La carpeta de instalación se descomprime en una carpeta llamada
wordpress
.[ec2-user ~]$
tar -xzf latest.tar.gz
Para crear una base de datos, un usuario y una base de datos para WordPress la instalación
WordPress La instalación debe almacenar información, como las entradas de blog y los comentarios de los usuarios, en una base de datos. Este procedimiento ayuda a crear una base de datos para el blog y un usuario que esté autorizado a leer y guardar información en ella.
-
Inicie la base de datos y el servidor web.
[ec2-user ~]$
sudo systemctl start mariadb httpd
-
Inicie sesión en el servidor de base de datos como el usuario
root
. Escriba la contraseñaroot
de la base de datos cuando se lo pidan. Esta contraseña puede ser diferente de la contraseñaroot
del sistema o incluso podría estar en blanco si no se ha protegido el servidor de bases de datos.Si todavía no ha protegido el servidor de base de datos, es importante que lo haga. Para obtener más información, consulte Paso 3: Proteger el servidor de base de datos (AL2023).
[ec2-user ~]$
mysql -u root -p
-
Cree un usuario y una contraseña para su SQL base de datos Mi. WordPressLa instalación utiliza estos valores para comunicarse con la SQL base de datos My. Escriba el comando siguiente sustituyendo un nombre de usuario y contraseña únicos.
CREATE USER '
wordpress-user
'@'localhost' IDENTIFIED BY 'your_strong_password
';Asegúrese de que crea una contraseña fuerte para el usuario. No utilice la comilla simple ( ' ) en la contraseña porque interrumpirá el comando anterior. No utilice ninguna contraseña existente y asegúrese de que la guarda en un lugar seguro.
-
Cree la base de datos. Póngale un nombre descriptivo y significativo, por ejemplo
wordpress-db
.nota
Los signos de puntuación que rodean el nombre de la base de datos en el comando siguiente son acentos graves. La tecla (
`
) se ubica por lo general sobre la teclaTab
en un teclado estándar. Los acentos graves no siempre son obligatorios pero permiten usar caracteres no válidos, por ejemplo, guiones, en los nombres de las bases de datos.CREATE DATABASE `
wordpress-db
`; -
Otorgue todos los privilegios de su base de datos al WordPress usuario que creó anteriormente.
GRANT ALL PRIVILEGES ON `
wordpress-db
`.* TO "wordpress-user
"@"localhost"; -
Vacíe los privilegios de base de datos para recoger todos los cambios.
FLUSH PRIVILEGES;
-
Salga del cliente de
mysql
.exit
Para crear y modificar el archivo wp-config.php
La carpeta WordPress de instalación contiene un ejemplo de archivo de configuración llamadowp-config-sample.php
. En este procedimiento, va a copiar este archivo y a modificarlo para ajustarlo a su configuración específica.
-
Copie el archivo
wp-config-sample.php
en un archivo llamadowp-config.php
. Esto crea un archivo de configuración nuevo y mantiene el archivo original de muestra intacto como copia de seguridad.[ec2-user ~]$
cp wordpress/wp-config-sample.php wordpress/wp-config.php
-
Modifique el archivo
wp-config.php
con el editor de texto favorito (por ejemplo nano o vim) y escriba los valores de la instalación. Si no tiene un editor favorito,nano
es más adecuado para principiantes.[ec2-user ~]$
nano wordpress/wp-config.php
-
Busque la línea que define
DB_NAME
y cambiedatabase_name_here
por el nombre de la base de datos que ha creado en Paso 4 de Para crear una base de datos, un usuario y una base de datos para WordPress la instalación.define('DB_NAME', '
wordpress-db
'); -
Busque la línea que define
DB_USER
y cambieusername_here
por el usuario de la base de datos que ha creado en Paso 3 de Para crear una base de datos, un usuario y una base de datos para WordPress la instalación.define('DB_USER', '
wordpress-user
'); -
Busque la línea que define
DB_PASSWORD
y cambiepassword_here
por la contraseña fuerte que ha creado en Paso 3 de Para crear una base de datos, un usuario y una base de datos para WordPress la instalación.define('DB_PASSWORD', '
your_strong_password
'); -
Busque la sección denominada
Authentication Unique Keys and Salts
. EstosSALT
valoresKEY
y otros proporcionan una capa de cifrado a las cookies del navegador que WordPress los usuarios almacenan en sus máquinas locales. Básicamente, agregar valores largos aleatorios hace que el sitio sea más seguro. Visite https://api.wordpress.org/secret-key/1.1/salt/para generar aleatoriamente un conjunto de valores de claves que pueda copiar y pegar en el archivo wp-config.php
. Para pegar texto en un TTY terminal Pu, coloque el cursor donde desee pegar el texto y haga clic con el botón derecho del ratón dentro del TTY terminal Pu.Para obtener más información sobre las claves de seguridad, visita https://wordpress.org/support/article/editing-wp-config-php/#security -keys
. nota
Los valores siguientes tienen una finalidad de ejemplo únicamente; no los use en la instalación.
define('AUTH_KEY', '
#U$$+[RXN8:b^-L 0(WU_+ c+WFkI~c]o]-bHw+)/Aj[wTwSiZ<Qb[mghEXcRh-
'); define('SECURE_AUTH_KEY', 'Zsz._P=l/|y.Lq)XjlkwS1y5NJ76E6EJ.AV0pCKZZB,*~*r ?6OP$eJT@;+(ndLg
'); define('LOGGED_IN_KEY', 'ju}qwre3V*+8f_zOWf?{LlGsQ]Ye@2Jh^,8x>)Y |;(^[Iw]Pi+LG#A4R?7N`YB3
'); define('NONCE_KEY', 'P(g62HeZxEes|LnI^i=H,[XwK9I&[2s|:?0N}VJM%?;v2v]v+;+^9eXUahg@::Cj
'); define('AUTH_SALT', 'C$DpB4Hj[JK:?{ql`sRVa:{:7yShy(9A@5wg+`JJVb1fk%_-Bx*M4(qc[Qg%JT!h
'); define('SECURE_AUTH_SALT', 'd!uRu#}+q#{f$Z?Z9uFPG.${+S{n~1M&%@~gL>U>NV<zpD-@2-Es7Q1O-bp28EKv
'); define('LOGGED_IN_SALT', ';j{00P*owZf)kVD+FVLn-~ >.|Y%Ug4#I^*LVd9QeZ^&XmK|e(76miC+&W&+^0P/
'); define('NONCE_SALT', '-97r*V/cgxLmp?Zy4zUU4r99QQ_rGs2LTd%P;|_e1tS)8_B/,.6[=UK<J_y9?JWG
'); -
Guarde el archivo y salga del editor de texto.
-
Para instalar WordPress los archivos en la raíz de documentos de Apache
-
Ahora que ha descomprimido la carpeta de instalación, ha creado una SQL base de datos y un usuario Mis y ha personalizado el archivo de WordPress configuración, ya puede copiar los archivos de instalación a la raíz de documentos del servidor web para poder ejecutar el script de instalación que complete la instalación. La ubicación de estos archivos depende de si desea que su WordPress blog esté disponible en la raíz real del servidor web (por ejemplo
) o en un subdirectorio o una carpeta situada debajo de la raíz (por ejemplo,).my.public.dns.amazonaws.com
my.public.dns.amazonaws.com/blog
-
Si quieres WordPress ejecutarlo desde la raíz de tus documentos, copia el contenido del directorio de instalación de WordPress (pero no el directorio en sí) de la siguiente manera:
[ec2-user ~]$
cp -r wordpress/* /var/www/html/
-
Si quieres WordPress ejecutarlo en un directorio alternativo bajo la raíz del documento, primero crea ese directorio y, a continuación, copia los archivos en él. En este ejemplo, WordPress se ejecutará desde el directorio
blog
:[ec2-user ~]$
mkdir /var/www/html/blog
[ec2-user ~]$
cp -r wordpress/* /var/www/html/blog/
-
importante
Por razones de seguridad, si no pasa al siguiente procedimiento de inmediato, pare el servidor web Apache (httpd
) ahora. Tras mover la instalación a la raíz de documentos de Apache, el script de WordPress instalación queda desprotegido y un atacante podría acceder a su blog si el servidor web Apache estuviera en funcionamiento. Para detener el servidor web Apache, escriba el comando sudo service
httpd stop. Si pasa al siguiente procedimiento, no es preciso que pare el servidor web Apache.
Para permitir el uso WordPress de enlaces permanentes
WordPress Los enlaces permanentes necesitan usar .htaccess
archivos de Apache para funcionar correctamente, pero esto no está habilitado de forma predeterminada en Amazon Linux. Use este procedimiento para permitir todas las anulaciones en la raíz de documentos de Apache.
-
Abra el archivo
httpd.conf
con el editor de textos que prefiera (como nano o vim). Si no tiene un editor favorito,nano
es más adecuado para principiantes.[ec2-user ~]$
sudo vim /etc/httpd/conf/httpd.conf
-
Busque la sección que comienza por
<Directory "/var/www/html">
.<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
de la sección anterior porAllowOverride
.All
nota
Hay múltiples líneas
AllowOverride
en este archivo; asegúrese de que cambia la línea de la sección<Directory "/var/www/html">
.AllowOverride
All
-
Guarde el archivo y salga del editor de texto.
Para instalar la biblioteca de dibujos PHP gráficos en 023 AL2
La biblioteca GD PHP permite modificar imágenes. Instale esta biblioteca si tiene que recortar la imagen de encabezado para su blog. La versión phpMyAdmin que instale puede requerir una versión mínima específica de esta biblioteca (por ejemplo, la versión 8.1).
Utilice el siguiente comando para instalar la biblioteca de dibujos PHP gráficos en la versión AL2 023. Por ejemplo, si instaló php8.1 desde el código fuente como parte de la instalación de la LAMP pila, este comando instalará la versión 8.1 de la PHP biblioteca de dibujos gráficos.
[ec2-user ~]$
sudo dnf install php-gd
Para verificar la versión instalada, utilice el siguiente comando:
[ec2-user ~]$
sudo dnf list installed | grep php-gd
A continuación, se muestra un ejemplo de la salida:
php-gd.x86_64 8.1.30-1.amzn2 @amazonlinux
Para instalar la biblioteca de dibujos PHP gráficos en Amazon Linux AMI
La biblioteca GD PHP permite modificar imágenes. Instale esta biblioteca si tiene que recortar la imagen de encabezado para su blog. La versión phpMyAdmin que instale puede requerir una versión mínima específica de esta biblioteca (por ejemplo, la versión 8.1).
Para comprobar qué versiones están disponibles, utilice el siguiente comando:
[ec2-user ~]$
dnf list | grep php
A continuación se muestran líneas de ejemplo de la salida de la biblioteca de dibujos PHP gráficos (versión 8.1):
php8.1.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-cli.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-common.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-devel.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-fpm.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-gd.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux
Utilice el siguiente comando para instalar una versión específica de la biblioteca de dibujos PHP gráficos (por ejemplo, la versión php8.1) en Amazon Linux: AMI
[ec2-user ~]$
sudo dnf install -y php8.1-gd
Para ajustar los permisos de archivo para el servidor web Apache
Algunas de las funciones disponibles WordPress requieren acceso de escritura a la raíz del documento de Apache (por ejemplo, cargar contenido multimedia a través de las pantallas de administración). Si aún no lo ha hecho, aplique los siguientes permisos y pertenencias a grupos (tal y como se describe con más detalle en el tutorial sobre el servidor LAMP web).
-
Otorgue la propiedad de archivos de
/var/www
y su contenido al usuarioapache
.[ec2-user ~]$
sudo chown -R apache /var/www
-
Otorgue la propiedad de grupo de
/var/www
y su contenido al grupoapache
.[ec2-user ~]$
sudo chgrp -R apache /var/www
-
Cambie los permisos del directorio
/var/www
y sus subdirectorios para agregar permisos de escritura de grupo y establecer el ID de grupo en futuros subdirectorios.[ec2-user ~]$
sudo chmod 2775 /var/www
[ec2-user ~]$
find /var/www -type d -exec sudo chmod 2775 {} \;
-
Cambie de forma recursiva los permisos de archivo de
/var/www
y sus subdirectorios.[ec2-user ~]$
find /var/www -type f -exec sudo chmod 0644 {} \;
nota
Si pretende utilizarlos también WordPress como FTP servidor, aquí necesitará una configuración de grupo más permisiva. Revisa los pasos recomendados y la configuración de seguridad WordPress
para lograrlo. -
Reinicie el servidor web Apache para recoger el grupo y los permisos nuevos.
[ec2-user ~]$
sudo systemctl restart httpd
Para ejecutar el script WordPress de instalación con AL2 023
Ya está listo para la instalación WordPress. Los comandos que utilice dependen del sistema operativo. Los comandos de este procedimiento se utilizan con AL2 023. Utilice el procedimiento que sigue a este con AL2 AMI 023.
-
Use el comando systemctl para asegurarse de que se inician los servicios
httpd
y de base de datos cada vez que se arranca el sistema.[ec2-user ~]$
sudo systemctl enable httpd && sudo systemctl enable mariadb
-
Verifique que el servidor de base de datos se está ejecutando.
[ec2-user ~]$
sudo systemctl status mariadb
Si el servicio de base de datos no se está ejecutando, inícielo.
[ec2-user ~]$
sudo systemctl start mariadb
-
Verifique que el servidor web Apache (
httpd
) se está ejecutando.[ec2-user ~]$
sudo systemctl status httpd
Si el servicio
httpd
no se está ejecutando, inícielo.[ec2-user ~]$
sudo systemctl start httpd
-
En un navegador web, escriba la dirección URL de su WordPress blog (la DNS dirección pública de la instancia o la dirección seguida de la
blog
carpeta). Deberías ver el script WordPress de instalación. Proporcione la información requerida para la WordPress instalación. Seleccione Instalar WordPress para completar la instalación. Para obtener más información, consulte el paso 5: ejecutar el script de instalaciónen el WordPress sitio web.
Para ejecutar el script WordPress de instalación con AL2 023 AMI
-
Use el comando chkconfig para asegurarse de que se inician los servicios
httpd
y de base de datos cada vez que se arranca el sistema.[ec2-user ~]$
sudo chkconfig httpd on && sudo chkconfig mariadb on
-
Verifique que el servidor de base de datos se está ejecutando.
[ec2-user ~]$
sudo service mariadb status
Si el servicio de base de datos no se está ejecutando, inícielo.
[ec2-user ~]$
sudo service mariadb start
-
Verifique que el servidor web Apache (
httpd
) se está ejecutando.[ec2-user ~]$
sudo service httpd status
Si el servicio
httpd
no se está ejecutando, inícielo.[ec2-user ~]$
sudo service httpd start
-
En un navegador web, escribe la dirección URL de tu WordPress blog (la DNS dirección pública de la instancia o la dirección seguida de la
blog
carpeta). Deberías ver el script WordPress de instalación. Proporcione la información requerida para la WordPress instalación. Seleccione Instalar WordPress para completar la instalación. Para obtener más información, consulte el paso 5: ejecutar el script de instalaciónen el WordPress sitio web.
Siguientes pasos
Una vez que haya probado su WordPress blog, considere la posibilidad de actualizar su configuración.
Uso de un nombre de dominio personalizado
Si tienes un nombre de dominio asociado a la EIP dirección de tu EC2 instancia, puedes configurar tu blog para que use ese nombre en lugar de la DNS dirección EC2 pública. Para obtener más información, consulta Cambiar el sitio URL
Configuración del blog
Puede configurar el blog para usar distintos temas
Aumentar la capacidad
Si tu WordPress blog se hace popular y necesitas más capacidad de cómputo o almacenamiento, considera los siguientes pasos:
-
Ampliar el espacio de almacenamiento de la instancia. Para obtener más información, consulte Amazon EBS Elastic Volumes.
-
Mueva su SQL base de datos My RDS a Amazon
para aprovechar la capacidad del servicio de escalar fácilmente.
Mejore el rendimiento de la red de su tráfico de Internet
Si espera que su blog impulse el tráfico a partir de los usuarios ubicados en todo el mundo, considere el uso de AWS Global Accelerator
Obtenga más información sobre WordPress
Los siguientes enlaces contienen más información sobre WordPress.
-
Para obtener más información al respecto WordPress, consulte la documentación de ayuda del WordPress Codex en Codex
. -
Para obtener más información sobre cómo solucionar problemas de instalación, consulte Problemas comunes de instalación
. -
Para obtener información sobre cómo hacer que tu WordPress blog sea más seguro, consulta WordPressHardening
. -
Para obtener información sobre cómo mantener tu WordPress blog up-to-date, consulta Actualización WordPress
.
¡Socorro! Mi DNS nombre público ha cambiado y ahora mi blog no funciona
WordPress La instalación se configura automáticamente con la DNS dirección pública de la EC2 instancia. Si detienes y reinicias la instancia, la DNS dirección pública cambia (a menos que esté asociada a una dirección IP elástica) y tu blog dejará de funcionar porque hace referencia a los recursos en una dirección que ya no existe (o que está asignada a otra EC2 instancia). En https://wordpress.org/support/article/changing-the-site-url/
Si esto le ha ocurrido a su WordPress instalación, es posible que pueda recuperar su blog siguiendo el procedimiento que se indica a continuación, que utiliza la interfaz de línea de wp-cli comandos para WordPress.
Para cambiar su WordPress sitio URL con la wp-cli
-
Conéctese a su EC2 instancia conSSH.
-
Anota el sitio antiguo URL y el sitio nuevo URL de tu instancia. Es probable que el sitio antiguo URL sea el DNS nombre público de la EC2 instancia cuando la instalaste WordPress. El nuevo sitio URL es el DNS nombre público actual de la EC2 instancia. Si no está seguro de cuál es su sitio anteriorURL, puede curl buscarlo con el siguiente comando.
[ec2-user ~]$
curl localhost | grep wp-content
Deberías ver referencias a tu DNS nombre público anterior en el resultado, que tendrá este aspecto (el sitio antiguo aparece URL en rojo):
<script type='text/javascript' src='
http://ec2-52-8-139-223.us-west-1.compute.amazonaws.com
/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script> -
Descargue el wp-cli con el comando siguiente.
[ec2-user ~]$
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
-
Busque y reemplace el sitio antiguo URL de su WordPress instalación con el siguiente comando. Sustituya la EC2 instancia y la ruta de acceso a la WordPress instalación URLs por el sitio antiguo y el nuevo (normalmente,
/var/www/html
o/var/www/html/blog
).[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, introduce el nuevo sitio URL de tu WordPress blog para comprobar que el sitio vuelve a funcionar correctamente. Si no es así, consulte Cambiar el sitio URL
y Problemas comunes de instalación para obtener más información.