Cómo instalar WordPress con LAMP en Ubuntu 18.04

Introducción

Índice
  1. Introducción
  • Prerrequisitos
  • Paso 1 – Creación de una base de datos MySQL y un usuario para WordPress
  • Paso 2 – Instalación de extensiones PHP adicionales
  • Paso 3: Ajuste de la configuración de Apache para permitir la anulación y reescritura de .htaccess
  • Paso 4 – Descargar WordPress
  • Paso 5 – Configuración del directorio de WordPress
    1. Ajuste de la propiedad y los permisos
    2. Configuración del archivo de configuración de WordPress
  • Paso 6 – Completar la instalación a través de la interfaz web
  • Conclusión
  • WordPress es el sistema de gestión de contenido (CMS) más popular en Internet. Permite crear blogs y sitios web flexibles sobre un backend MySQL con procesamiento PHP. WordPress ha tenido una adopción increíble y es una excelente opción para poner en funcionamiento un sitio web rápidamente. Después de la configuración, casi toda la administración se puede realizar a través del frontend web.

    En esta guía, configurará una instancia de WordPress en una pila LAMP (Linux, Apache, MySQL y PHP) en un servidor Ubuntu 18.04.

    Prerrequisitos

    Para completar este tutorial, necesitarás:

    • Acceso a un servidor Ubuntu 18.04 con un sudousuario : Completarás los pasos de esta guía con un usuario no root con sudoprivilegios. Puedes crear un usuario con sudoprivilegios siguiendo nuestra guía de configuración inicial del servidor Ubuntu 18.04 .
    • Instalar una pila LAMP : WordPress necesitará un servidor web, una base de datos y PHP para funcionar correctamente. La configuración de una pila LAMP (Linux, Apache, MySQL y PHP) cumple con todos estos requisitos. Siga esta guía para instalar y configurar este software.
    • Protege tu sitio con SSL : WordPress ofrece contenido dinámico y gestiona la autenticación y autorización de usuarios. TLS/SSL es la tecnología que te permite cifrar el tráfico de tu sitio para que tu conexión sea segura. La forma en que configures SSL dependerá de si tienes un nombre de dominio para tu sitio.
      • Si tiene un nombre de dominio, una forma de proteger su sitio es con Let’s Encrypt, que ofrece certificados gratuitos y confiables. Siga nuestra guía de Let’s Encrypt para Apache para configurarlo.
      • Si no tienes un dominio y solo estás usando esta configuración para realizar pruebas o para uso personal, puedes usar un certificado autofirmado. Esto proporciona el mismo tipo de cifrado, pero sin validación de dominio. Sigue nuestra guía de SSL autofirmado para Apache para configurarlo.

    Cuando haya terminado con los requisitos previos, inicie sesión en su servidor como su sudousuario y continúe con el Paso 1.

    Paso 1 – Creación de una base de datos MySQL y un usuario para WordPress

    El primer paso que darás es preparatorio. Aunque MySQL ya esté instalado, aún necesitas crear una base de datos para administrar y almacenar la información de usuario que WordPress usará. Para comenzar, inicia sesión en la cuenta raíz (administrativa) de MySQL con el siguiente comando:

    1. sudo mysql

    Se le solicitará la contraseña que configuró para la cuenta raíz de MySQL cuando instaló el software.

    Sin embargo, si tiene habilitada la autenticación de contraseña para su usuario root , puede ejecutar el siguiente comando e ingresar su información de contraseña cuando se le solicite:

    1. mysql -u root -p

    Desde allí, creará una nueva base de datos que WordPress controlará. Puede llamarla como desee, pero en esta guía utilizaremos WordPress como ejemplo. Cree la base de datos para WordPress escribiendo lo siguiente:

    1. CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

    Nota: todas las declaraciones MySQL deben terminar con punto y coma (;). Verifique que esté presente si tiene problemas.

    A continuación, creará una cuenta de usuario MySQL independiente que utilizará exclusivamente para operar en la nueva base de datos. La creación de bases de datos y cuentas con una sola función es una buena idea desde el punto de vista de la administración y la seguridad. En esta guía, utilizaremos el nombre wordpressuser como ejemplo. Puede cambiarlo si lo desea.

    Puede crear esta cuenta, establecer una contraseña para ella y luego otorgarle acceso a la base de datos que creó ejecutando el siguiente comando. Recuerde elegir una contraseña segura para el usuario de su base de datos:

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

    Después de crear este usuario, elimine los privilegios para garantizar que la instancia actual de MySQL conozca los cambios recientes que ha realizado:

    1. FLUSH PRIVILEGES;

    Salir de MySQL:

    1. EXIT;

    Ahora tienes una base de datos y una cuenta de usuario en MySQL, cada una creada específicamente para WordPress.

    Paso 2 – Instalación de extensiones PHP adicionales

    Al configurar la pila LAMP, el proceso solo requirió un conjunto mínimo de extensiones para lograr que PHP se comunicara con MySQL. WordPress y muchos de sus complementos aprovechan extensiones PHP adicionales.

    Primero, actualice su lista de paquetes:

    1. sudo apt update

    A continuación, descargue e instale algunas de las extensiones PHP más populares para usar con WordPress:

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

    Nota: cada complemento de WordPress tiene su propio conjunto de requisitos. Algunos pueden requerir la instalación de paquetes PHP adicionales. Consulte la documentación de su complemento para conocer sus requisitos PHP. Si están disponibles, se pueden instalar aptcomo se muestra arriba.

    Reinicie Apache para cargar estas nuevas extensiones en la siguiente sección. Si regresa aquí para instalar complementos adicionales, puede reiniciar Apache ahora:

    1. sudo systemctl restart apache2

    En el siguiente paso, realizarás algunos ajustes en tu configuración de Apache.

    Paso 3: Ajuste de la configuración de Apache para permitir la anulación y reescritura de .htaccess

    De forma predeterminada, WordPress utiliza .htaccessarchivos para administrar ciertas funciones de su sitio, como enlaces permanentes, complementos y redirecciones. El servidor web Apache utiliza estos .htaccessarchivos de configuración para crear las reglas que debe seguir el servidor web. Sin embargo, Apache deshabilita el uso de .htaccessarchivos de forma predeterminada, por lo que deberá actualizar el archivo de host virtual Apache de su sitio web para habilitarlos.

    Para habilitarlo, abra el archivo de host virtual de su sitio web:

    1. sudo nano /etc/apache2/sites-available/wordpress.conf

    Nota: Para este tutorial, lo usaremos /etc/apache2/sites-available/wordpress.confcomo ejemplo, pero deberá sustituir la ruta a su archivo de configuración cuando corresponda.

    Además, lo utilizaremos /var/www/wordpresscomo directorio raíz de nuestra instalación de WordPress. Debes utilizar el directorio raíz web especificado en tu propia configuración.

    También es posible que estés usando la 000-default.confconfiguración predeterminada (con /var/www/htmlcomo raíz web). Esto está bien si solo vas a alojar un sitio web en este servidor. De lo contrario, es mejor dividir la configuración necesaria en fragmentos lógicos, un archivo por sitio.

    Una vez que hayas abierto este archivo, notarás que el uso de .htaccessarchivos está deshabilitado. Para permitir el uso .htaccessde archivos, debes establecer la AllowOverridedirectiva dentro de un Directorybloque que apunte a la raíz de tu documento. Agrega el siguiente bloque de texto dentro del VirtualHostbloque en tu archivo de configuración. Asegúrate de usar tu propio directorio raíz web en lugar del ejemplo resaltado :

    /etc/apache2/sitios-disponibles/wordpress.conf

    Directory /var/www/wordpress/AllowOverride All/Directory

    Cuando hayas terminado, guarda y cierra el archivo. Si estás usando nano, puedes salir presionando CTRL + Xentonces Yy ENTER.

    A continuación, habilítelo mod_rewritepara poder utilizar la función de enlace permanente de WordPress:

    1. sudo a2enmod rewrite

    Después, podrás habilitar esos cambios probando la configuración. Pero antes de implementar los cambios, asegúrate de que no haya errores de sintaxis:

    1. sudo apache2ctl configtest

    La salida podría tener un mensaje parecido al siguiente:

    OutputAH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this messageSyntax OK

    Si desea suprimir la línea superior, agregue una ServerNamedirectiva a su archivo de configuración principal (global) de Apache en /etc/apache2/apache2.conf. ServerNamePuede ser el dominio o la dirección IP de su servidor. Sin embargo, esto es únicamente un mensaje y no afecta la funcionalidad de su sitio. Mientras la salida contenga Syntax OK, estará listo para continuar.

    Reinicie Apache para implementar los cambios:

    1. sudo systemctl restart apache2

    A continuación, descargará y configurará WordPress.

    Paso 4 – Descargar WordPress

    Ahora que el software de tu servidor está configurado, puedes descargar y configurar WordPress. Por razones de seguridad, siempre se recomienda obtener la última versión de WordPress desde su sitio.

    Primer cambio a un directorio escribible:

    1. cd /tmp

    Luego descargue la versión comprimida ejecutando lo siguiente:

    1. curl -O https://wordpress.org/latest.tar.gz

    Extraiga el archivo comprimido para crear la estructura de directorio de WordPress:

    1. tar xzvf latest.tar.gz

    Moverás estos archivos a la raíz de tu documento en breve. Antes de hacerlo, agrega un .htaccessarchivo vacío para que WordPress pueda usarlo más adelante.

    Crea el archivo ejecutando lo siguiente:

    1. touch /tmp/wordpress/.htaccess

    Luego, haga una copia del archivo de configuración de muestra y nómbrelo wp-config.php, el nombre de archivo que realmente lee WordPress:

    1. cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

    Por último, crea el upgradedirectorio para que WordPress no tenga problemas de permisos al intentar hacer esto por sí solo después de una actualización de su software:

    1. mkdir /tmp/wordpress/wp-content/upgrade

    Ahora puede copiar todo el contenido del directorio en la raíz de su documento. El uso de un punto al final del directorio de origen indica que se debe copiar todo lo que se encuentre dentro del directorio, incluidos los archivos ocultos (como el .htaccessarchivo que creó). Nuevamente, utilice el nombre de la raíz de su documento real en lugar del ejemplo resaltado:

    1. sudo cp -a /tmp/wordpress/. /var/www/wordpress

    A continuación, deberá ajustar y configurar elementos en su directorio de WordPress.

    Paso 5 – Configuración del directorio de WordPress

    Antes de comenzar la configuración web de WordPress, debe ajustar algunos elementos en su directorio de WordPress.

    Ajuste de la propiedad y los permisos

    Una de las cosas más importantes que debes lograr es configurar permisos y propiedad de archivos razonables.

    Comience por otorgar la propiedad de todos los archivos al usuario y grupo www-data . Este es el usuario con el que se ejecuta el servidor web Apache, y Apache deberá poder leer y escribir archivos de WordPress para poder ofrecer el sitio web y realizar actualizaciones automáticas.

    Actualice la propiedad con chown:

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

    A continuación, ejecute dos findcomandos para establecer los permisos correctos en los directorios y archivos de WordPress:

    1. sudo find /var/www/wordpress/ -type d -exec chmod 750 {} ;
    2. sudo find /var/www/wordpress/ -type f -exec chmod 640 {} ;

    Estos deberían ser permisos razonables para empezar. Algunos complementos y procedimientos pueden requerir ajustes adicionales.

    Configuración del archivo de configuración de WordPress

    Ahora debes realizar algunos cambios en el archivo de configuración principal de WordPress.

    Cuando abra el archivo, su primer paso será ajustar algunas claves secretas para brindar cierta seguridad a la instalación. WordPress proporciona un generador seguro para estos valores, de modo que no tenga que intentar encontrar valores buenos por su cuenta. Estos solo se usan internamente, por lo que no afectará la usabilidad tener aquí valores complejos y seguros.

    Para obtener valores seguros del generador de claves secretas de WordPress, ejecute lo siguiente:

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

    Recibirás valores únicos que se parecerán a los siguientes:

    Advertencia: Es importante que solicites valores únicos cada vez. NO copies los valores que se muestran en el ejemplo siguiente.

    Outputdefine('AUTH_KEY',         '1jl/vqfsXhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^+c9.kJ@4H');define('SECURE_AUTH_KEY',  'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3');define('LOGGED_IN_KEY',    'W(50,{W^,OPB%PBJF DO NOT COPY THESE VALUES 2;y,2m%3]R6DUth[;88');define('NONCE_KEY',        'll,4UC)7ua+8!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g');define('AUTH_SALT',        'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES  07VC*Lj*lD?3w!BT#-');define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY');define('LOGGED_IN_SALT',   'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|');define('NONCE_SALT',       'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6xqHN%');

    Estas son líneas de configuración que puedes pegar directamente en tu archivo de configuración para configurar claves seguras. Copia el resultado que recibiste.

    Ahora, abre el archivo de configuración de WordPress. Asegúrate de que la ruta del archivo coincida con la información de la raíz de tu documento, como se destaca a continuación:

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

    Busque la sección que contiene los valores vacíos para esas configuraciones. Se verá algo como lo siguiente:

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

    . . .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');. . .

    Elimina esas líneas y pega los valores que copiaste de la línea de comando:

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

    . . .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, debe modificar algunas de las configuraciones de conexión de la base de datos que se encuentran al comienzo del archivo. Debe ajustar el nombre de la base de datos, el usuario de la base de datos y la contraseña asociada que configuró en MySQL.

    El otro cambio es configurar el método que WordPress debe usar para escribir en el sistema de archivos. Dado que le ha dado permiso al servidor web para escribir donde lo necesite, puede configurar explícitamente el método del sistema de archivos como “directo”. Si no configura esto con su configuración actual, WordPress solicitará credenciales de FTP al realizar algunas acciones.

    Esta configuración se puede agregar después de la configuración de conexión de la base de datos o en cualquier otro lugar del archivo:

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

    . . .define('DB_NAME', 'wordpress');/** MySQL database username */define('DB_USER', 'wordpressuser');/** MySQL database password */define('DB_PASSWORD', 'password');. . .define('FS_METHOD', 'direct');

    Guarde y cierre el archivo cuando haya terminado.

    Paso 6 – Completar la instalación a través de la interfaz web

    Ahora que la configuración del servidor está completa, puede completar la instalación a través de la interfaz web.

    En su navegador web, navegue hasta el nombre de dominio o la dirección IP pública de su servidor:

    https://server_domain_or_IP

    Seleccione el idioma que desea utilizar:

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

    Seleccione un nombre para su sitio de WordPress y elija un nombre de usuario (se recomienda no elegir algo como “admin” por razones de seguridad). Se generará automáticamente una contraseña segura. Guarde esta contraseña o seleccione una contraseña segura alternativa.

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

    Al hacer clic en continuar, se le dirigirá a una página que le solicitará que inicie sesión:

    Una vez que inicie sesión, será llevado al panel de administración de WordPress:

    Desde allí, puedes comenzar a usar y personalizar tu sitio de WordPress.

    Conclusión

    WordPress debería estar instalado correctamente y listo para usar. Algunos pasos habituales son elegir la configuración de enlaces permanentes para tus publicaciones (puedes encontrarla en Settings Permalinks) o seleccionar un nuevo tema (en Appearance Themes). Si es la primera vez que usas WordPress, explora un poco la interfaz para familiarizarte con tu nuevo CMS.

    SUSCRÍBETE A NUESTRO BOLETÍN 
    No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir

    Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion