Saltar al contenido

Cómo instalar WordPress con LEMP en Ubuntu 18.04

marzo 4, 2020

 

Introducción

WordPress es el CMS populares (la mayoría de los sistemas de gestión de contenidos) en Internet. Le permite configurar fácilmente los blogs y sitios web flexibles en la parte superior de un motor MySQL con PHP procesamiento. WordPress ha conseguido una aceptación increíble y es una gran opción para conseguir un sitio web en funcionamiento rápidamente. Después de la configuración, casi toda la administración puede hacerse a través de la interfaz web.

En esta guía, nos centraremos en conseguir una instancia de WordPress que estaba apoyada en una pila LEMP (Linux, Nginx, MySQL y PHP) en un servidor de Ubuntu 18.04.

Requisitos previos

Con el fin de completar este tutorial, necesitará tener acceso a un servidor de Ubuntu 18.04.

Usted tendrá que realizar las siguientes tareas antes de poder empezar esta guía:

  • Crear un usuario sudo en su servidor: estaremos completando los pasos de esta guía utilizando un usuario no root con privilegios sudo. Puede crear un usuario con privilegios sudo siguiendo nuestra guía de configuración inicial del servidor de Ubuntu 18.04.
  • Instalar una pila LEMP: WordPress necesitará un servidor web, una base de datos, y PHP con el fin de la función correctamente. La creación de una pila LEMP (Linux, Nginx, MySQL y PHP) cumple todos estos requisitos. Siga esta guía para instalar y configurar este software.
  • proteger su sitio con SSL: WordPress sirve contenido dinámico y autenticación mangos y autorización de usuarios. TLS / SSL es la tecnología que le permite cifrar el tráfico de su sitio para que su conexión es segura. La forma de configurar SSL dependerá de si usted tiene un nombre de dominio para su site.If usted tiene un nombre de dominio … la forma más fácil de proteger su sitio está con Cifrar Vamos, que proporciona libre, los certificados de confianza. Siga la guía de nuestra Cifrar Let Nginx para establecer esta suficientemente motivada no tiene un dominio … y sólo se utiliza esta configuración para probar o para uso personal, se puede utilizar un certificado autofirmado en su lugar. Esto proporciona el mismo tipo de cifrado, pero sin la validación de dominio. Sigue nuestra guía SSL autofirmado para Nginx para ponerse en marcha.
  • Si usted tiene un nombre de dominio … la forma más fácil de proteger su sitio está con Cifrar Vamos, que proporciona certificados gratuitos, de confianza. Siga la guía de nuestra Cifrar Let Nginx para instalar esto.
  • Si usted no tiene un dominio … y sólo están utilizando esta configuración para probar o para uso personal, se puede utilizar un certificado autofirmado en su lugar. Esto proporciona el mismo tipo de cifrado, pero sin la validación de dominio. Sigue nuestra guía SSL autofirmado para Nginx para ponerse en marcha.
  • Si usted tiene un nombre de dominio … la forma más fácil de proteger su sitio está con Cifrar Vamos, que proporciona certificados gratuitos, de confianza. Siga la guía de nuestra Cifrar Let Nginx para instalar esto.
  • Si usted no tiene un dominio … y sólo están utilizando esta configuración para probar o para uso personal, se puede utilizar un certificado autofirmado en su lugar. Esto proporciona el mismo tipo de cifrado, pero sin la validación de dominio. Sigue nuestra guía SSL autofirmado para Nginx para ponerse en marcha.

Cuando haya terminado los pasos de configuración, inicie sesión en el servidor como usuario sudo y seguir adelante.

Paso 1 – Crear una base de datos MySQL y usuario para WordPress

El primer paso que vamos a tomar es una preparatoria. WordPress usa MySQL para gestionar y página de la tienda y la información del usuario. Tenemos MySQL instalado ya, pero tenemos que hacer una base de datos y un usuario de WordPress para su uso.

Para empezar, inicie sesión en la raíz de MySQL (administrativa) cuenta. Si MySQL está configurado para utilizar el plugin de autenticación auth_socket (el valor predeterminado), se puede acceder a la cuenta administrativa de MySQL usando sudo:

sudo mysql

  • sudo mysql

Si ha cambiado el método de autenticación a utilizar una contraseña para la cuenta de root de MySQL , utilice el siguiente formato en su lugar:

mysql -u root -p

  • mysql -u root -p

se le pedirá la contraseña que estableció para la cuenta root de MySQL.

En primer lugar, podemos crear una base de datos independiente que WordPress puede controlar. Puede llamar a este lo que le guste, pero que va a utilizar WordPress en esta guía para que sea sencillo. Puede crear la base de datos para WordPress escribiendo:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

  • CREAR BASE DE DATOS wordpress default SET utf8 COLLATE utf8_unicode_ci;

Nota: Cada declaración MySQL debe terminar en un punto y coma (;). Asegúrese de que esto está presente si está ejecutando en cualquier problema.

A continuación, vamos a crear una cuenta de usuario de MySQL por separado que vamos a utilizar exclusivamente para operar en nuestra nueva base de datos. La creación de bases de datos de una sola función y cuentas es una buena idea desde un punto de vista de la gestión y la seguridad. Vamos a utilizar el nombre wordpressuser en esta guía. No dude en cambiarlo si lo desea.

Vamos a crear esta cuenta, establecer una contraseña, y la concesión de acceso a la base de datos que hemos creado. Podemos hacer esto escribiendo el comando siguiente. Recuerde que debe elegir una contraseña segura aquí para su base de datos de usuario:

GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';

  • GRANT ALL ON wordpress * A ‘wordpressuser’ @ ‘localhost’ IDENTIFICADAS POR ‘contraseña’;.

Ahora tiene una cuenta de base de datos y el usuario, cada uno hecho específicamente para WordPress. Tenemos que eliminar los privilegios para que la instancia actual de MySQL sabe acerca de los recientes cambios que hemos hecho:

FLUSH PRIVILEGES;

  • PRIVILEGIOS FLUSH;

Salir de MySQL escribiendo:

EXIT;

  • salida;
  • sesión

El MySQL salir, volviendo a la cáscara regular de Linux.

Etapa 2 – Instalación adicional PHP Extensiones

Al configurar nuestra pila LEMP, que sólo requiere un conjunto muy mínimo de extensiones con el fin de obtener PHP para comunicarse con MySQL. WordPress y muchos de sus plugins de apalancamiento extensiones PHP adicional.

Podemos descargar e instalar algunos de los más populares extensiones PHP para su uso con WordPress escribiendo:

sudo apt update
sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip

  • sudo apt update sudo apt
  • instalar php-rizo php-gd php-Intl php-mbstring PHP php-jabón xml php-xmlrpc php-zip

Nota: Cada plugin de WordPress tiene su propio conjunto de requisitos. Algunos pueden requerir paquetes de PHP adicionales para ser instalado. Compruebe la documentación del plugin para descubrir sus necesidades de PHP. Si están disponibles, se pueden instalar con apt como se ha demostrado anteriormente.

Cuando haya terminado de instalar las extensiones, reinicie el proceso de PHP-FPM para que el procesador puede ejecutar PHP aprovechar las características recién instalados:

sudo systemctl restart php7.2-fpm

  • sudo systemctl reinicio php7.2-FPM

Ahora tenemos toda la extensiones PHP necesarios instalados en el servidor.

Paso 3 – Configuración de Nginx

A continuación, vamos a hacer unos pequeños ajustes en nuestros archivos de bloques de servidor Nginx. Sobre la base de los tutoriales de requisito previo, debe tener un archivo de configuración para su sitio en el directorio / etc / nginx / sites-available directorio / configurado para responder al nombre de dominio del servidor o la dirección IP y protegidos por un certificado TLS / SSL. Usaremos / etc / apache2 / sites-available / wordpress como un ejemplo aquí, pero usted debe sustituir la ruta a su archivo de configuración en su caso.

Además, vamos a utilizar / var / www / wordpress como el directorio raíz de nuestra instalación de WordPress. Se debe utilizar la raíz del servidor web especificado en su propia configuración.

Nota: es posible que esté utilizando el etc nginx / configuración por defecto de Es / / sites-available / default (con / var / www / html como su raíz de la web). Esto está muy bien para su uso si sólo vas a la página web de un anfitrión en este servidor. Si no es así, lo mejor es dividir la configuración necesaria en partes lógicas, un archivo por cada sitio. servidor de archivo de bloque

abierto de su sitio con privilegios sudo para comenzar:

sudo nano /etc
ginx/sites-available/wordpress

  • sudo nano / etc / nginx / sites-available / wordpress

Dentro del bloque principal del servidor, tenemos que añadir unas pocas cuadras de ubicación.

de inicio mediante la creación exacta coincidentes bloques de localización para las solicitudes a /favicon.ico y /robots.txt, los cuales no desea registrar las solicitudes de.

vamos a utilizar una ubicación de expresiones regulares para que coincida con las solicitudes de archivos estáticos. más vamos a desactivar el registro de estas solicitudes y lo marcará como altamente cacheables ya que estos suelen ser costosos recursos para servir. Puede ajustar esta lista los archivos estáticos para contener cualquier otra extensión de archivo de su sitio puede utilizar:

server {
. . .

location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
. . .
}

Dentro del lugar / bloque existente, tenemos que ajustar lista de los try_files de manera que en lugar de devolver un error 404 como la opción por defecto, el control se pasa al archivo index.php con los argumentos de la petición.

Esto debe ser algo como esto:

server {
. . .
location / {
#try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php$is_args$args;
}
. . .
}

Cuando haya terminado, guarde y cierre el archivo.

Ahora, podemos comprobar nuestra configuración de los errores de sintaxis escribiendo:

sudo nginx -t

  • sudo nginx -t

Si se informa de ningún error, recarga Nginx escribiendo:

sudo systemctl reload nginx

  • sudo systemctl recarga nginx

A continuación, vamos a descargar e instalar WordPress en sí.

Paso 4 – Descarga de WordPress

Ahora que nuestro software de servidor está configurado, podemos descargar y configurar WordPress. Por razones de seguridad, en particular, siempre es recomendable para obtener la última versión de WordPress desde su sitio.

Cambio

en un directorio de escritura y luego descargar la versión comprimida escribiendo:

cd mp
curl -LO https://wordpress.org/latest.tar.gz

  • cd / tmp
  • rizo -LO https://wordpress.org/latest.tar.gz

extraer el archivo comprimido para crear la estructura de directorios de WordPress:

tar xzvf latest.tar.gz

  • tar xzvf latest.tar.gz

Nos va a mover estos archivos en nuestra raíz del documento momentáneamente. Antes de hacer eso, podemos copiar el archivo de configuración de ejemplo al nombre de archivo que WordPress realmente lee:

cp mp/wordpress/wp-config-sample.php mp/wordpress/wp-config.php

  • cp mp/wordpress/wp-config-sample.php mp/wordpress/wp-config.php

Ahora, podemos copiar todo el contenido del directorio en nuestra raíz del documento. Estamos utilizando la opción -a para asegurarse de que nuestros permisos se mantienen. Estamos utilizando un punto al final de nuestro directorio de origen para indicar que todo dentro del directorio debe ser copiado, incluidos los archivos ocultos:

sudo cp -a mp/wordpress/. /var/www/wordpress

  • sudo cp -a / tmp / wordpress /. / Var / www / wordpress

Ahora que nuestros archivos estén en su lugar, vamos a asignar a la propiedad al usuario www-data y de grupo. Este es el usuario y grupo que se ejecuta como Nginx, y Nginx tendrá que ser capaz de leer y escribir archivos de WordPress con el fin de servir a la página web y realizar actualizaciones automáticas.

sudo chown -R www-data:www-data /var/www/wordpress

  • sudo chown -R www-data: www-data / var / www / wordpress

Nuestros archivos están ahora en la raíz de documentos de nuestro servidor y tienen la propiedad correcta, pero todavía tienen que completar un poco más de configuración.

Paso 5 – Configuración del archivo de configuración de WordPress

A continuación, tenemos que hacer algunos cambios en el archivo de configuración de WordPress principal.

Cuando abrimos el archivo, nuestra primera tarea será ajustar algunas claves secretas para proporcionar algo de seguridad para nuestra instalación. WordPress ofrece un generador de seguro para estos valores de modo que usted no tiene que tratar de llegar a buenos valores por su cuenta. Estos sólo se usa internamente, por lo que se usabilidad no pierde nada con tener valores complejos, seguros aquí.

para agarrar los valores seguros del generador de clave secreta WordPress, escriba:

curl -s https://api.wordpress.org/secret-key/1.1/salt/

  • rizo -s https://api.wordpress.org/secret-key/1.1/salt/

Se obtendrán valores de nuevo únicas que algo parecido a esto:

Advertencia: es importante que usted solicita valores únicos en cada ocasión. Do NO copiar los valores que se muestran a continuación!

Outputdefine('AUTH_KEY', '1jl/vqfs

Estas son líneas de configuración que podemos pegar directamente en nuestro fichero de configuración para establecer claves seguras. Copiar la salida que ha recibido ahora.

Ahora, abra el archivo de configuración de WordPress:

sudo nano /var/www/wordpress/wp-config.php

  • sudo nano /var/www/wordpress/wp-config.php

Encuentre la sección que contiene los valores ficticios para esa configuración. Se verá algo como esto:

. . .

define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');

. . .

Eliminar esas líneas y pegar en los valores copiados desde la línea de comandos:

. . .

define('AUTH_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT', 'VALUES COPIED FROM THE COMMAND LINE');

. . .

A continuación, tenemos que modificar algunos de los parámetros de conexión de base de datos al principio del archivo. Es necesario ajustar el nombre de base de datos, el usuario de base de datos y la contraseña asociada que hemos configurado dentro de MySQL.

El otro cambio que tenemos que hacer es establecer el método que WordPress se debe utilizar para escribir en el sistema de archivos. Como nos hemos dado permiso al servidor web para escribir donde necesita, podemos establecer explícitamente el método de sistema de archivos para “dirigir”. Si no se pone esto con nuestros valores actuales resultaría en WordPress pedir las credenciales FTP cuando llevamos a cabo algunas acciones. Este ajuste se puede añadir a continuación la configuración de conexión de base de datos, o cualquier otro lugar en el archivo:

. . .

define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpressuser');

/** MySQL database password */
define('DB_PASSWORD', 'password');

. . .

define('FS_METHOD', 'direct');

Guardar y cerrar el archivo cuando haya terminado.

Paso 6 - Finalización de la instalación a través de la interfaz web

Ahora que la configuración del servidor se ha completado, se puede terminar la instalación a través de la interfaz web.

En su navegador web, vaya a nombre de su servidor de dominio o la dirección IP pública:

http://server_domain_or_IP

seleccionar el idioma que desea utilizar:

A continuación, se llega a la página principal de configuración.

seleccionar un nombre para su sitio de WordPress y elegir un nombre de usuario (se recomienda no elegir algo así como “admin” por motivos de seguridad). Una contraseña segura se genera de forma automática. Guardar contraseña o seleccionar una contraseña segura alternativa.

Introduzca su dirección de correo electrónico y seleccione si desea desalentar a los motores de búsqueda indexen su sitio:

Al hacer clic en adelante, se le llevará a una página que le pide que nombre de usuario:

vez se conecte, se le llevará al panel de administración de WordPress:

Conclusión

WordPress debe ser instalado y listo para su uso! Algunos pasos siguientes son comunes para elegir los enlaces permanentes para el establecimiento de sus mensajes (se puede encontrar en los entornos > enlaces permanentes) o para seleccionar un tema nuevo (en apariencia > Temas). Si esta es la primera vez que el uso de WordPress, explorar la interfaz un poco para familiarizarse con el nuevo CMS.