One place for hosting & domains

      WordPress

      How to Improve Your WordPress Blog’s Accessibility (And Why It Matters)


      You may have heard about web accessibility, but understanding and implementing the guidelines may seem out of reach. Finding resources to help you tackle accessibility issues can also be a barrier to your web projects.

      Fortunately, WordPress has been making advancements in providing tools to assist with making websites more accessible. Additionally, there are many resources available online that can help guide you. Making your WordPress website accessible is not only good design practice, but it also ensures that everyone has equal access to web content and applications.

      In this article, we’ll take a look at what accessibility means online. We’ll also dive into some of WordPress’ new additions that make accessible design easier. There’s a lot to cover, so let’s get started!

      Create a Website for All

      We make sure your website is fast and secure so you can focus on the important stuff.

      What Web Accessibility Is and Why It Matters

      In this context, “accessibility” means designing websites and web applications in a way that does not prohibit anyone from using them. This means that any visitor, regardless of disability or impairment, should be able to access and use your site.

      This is important when you consider the fact that one in four adults in the United States has a disability of some kind. In other words, if you’re not building with accessibility in mind, up to a quarter of your website’s visitors may struggle to access your content.

      Fortunately, there is a set of guidelines you can use to review your web design and functionality.  The W3C standards outline several levels of accessibility. This includes a minimum threshold that’s considered acceptable. Of course, you’ll also want to make laws and regulations into account, since accessibility is a legal matter as well.

      Building with accessibility in mind is not that different from following standard best practices for web design and optimization. In fact, many of the principles and techniques are the same. In particular terms, this means that accessible design isn’t out of reach for anyone — especially if you’re using WordPress.

      Exploring the Block Editor’s Accessibility Features

      WordPress has endeavored to improve web accessibility in the codebase of its ever-evolving Content Management System (CMS). In fact, standards have been instituted to meet a minimum standard of accessibility on all new or updated code that’s released.

      Additionally, WordPress developers have created an accessibility handbook that outlines how programmers should be creating products for the CMS. For example, all WordPress code must meet the Web Content Accessibility Guidelines (WCAG) 2.0 at level AA. This is considered the worldwide standard and is also used for government and public service websites.

      If you take a look at the Block Editor, in particular, there are a couple of helpful built-in features that aid in creating accessible content. For instance, merely making your font larger and bold does not tell a screen reader that it represents the header of a section. The Block Editor makes it easy to use appropriate header markup by providing a Heading block.

      The Header Block.

      This means your content will be automatically be structured using the proper headers. Not only does this help screen readers navigate your content appropriately, but it provides better information to search engines as well.

      The Block Editor also includes a built-in Table of Contents feature, which enables you to quickly check your headers to make sure your content follows a logical hierarchy.

      “The document outline in WordPress.”

      Of course, these aren’t the only options for designing accessible content. As it turns out, WordPress offers plenty of ways to ensure that all visitors can access and appreciate your content.

      Be Awesome on the Internet

      Join our monthly email newsletter for tips and tricks to build your dream website!

      5 Ways to Make Your WordPress Blog More Accessible

      As we mentioned earlier, meeting accessibility standards can benefit your overall web design and Search Engine Optimization (SEO) efforts. Plus, it helps you grow your audience and stay in compliance with critical regulations. With that in mind, here are five easy ways to improve your site’s accessibility.

      1. Add Alt Tags to Images

      Adding “alt tags” to your images is one of the easiest ways to make some of your content accessible. An alt tag enables screen reader software to “read” the image it’s connected to, and tell the user what it is and how it fits into the context of the page.

      You can easily add alt text to your images in WordPress. Once you add an image to your post or page, enter a short phrase or sentence describing it into the Alt Text field on the right-hand side of the editor.

      “The image settings.”

      Underneath this field, you can also click to view helpful alt image guidelines.

      2. Use Accessible Color Palettes

      Another WCAG accessibility standard involves the color palettes you use. Some color palettes can cause trouble for visitors with color blindness, poor eyesight, and similar problems. In general terms, you’ll want to use colors with lots of contrast, so your text can be easily seen.

      To help you get started, WordPress has a useful resource in its Web Developer Handbook regarding the appropriate use of color. Additionally, when you’re working in WordPress and decide to change the color of some of your text, you’ll receive a notice in the right-hand editing menu if your color choice may create issues.

      “The color settings.”

      Following these simple standards for color choice means your website’s users should have an easier time reading your text, regardless of whether they have visual impairments.

      3. Organize Headings Hierarchically

      As we mentioned earlier, the Block Editor makes using appropriate headings and header tags easy. Whenever you want to use a new heading level, you can select the Heading block from the Block Menu.

      “The heading levels.”

      You’ll have several header levels to choose from. You might notice that H1 is not listed in the block options, however. This is because it’s best not to use H1s inside your post or page content, since it tends to confuse screen readers. H1s should be reserved for each page or post’s primary title, while you can use H2s and below to structure the rest of the content.

      4. Make Sure Your Forms Are Accessible

      Forms are a widely-used element on many websites. They can create interactivity, and help business owners collect information about their customers. However, they can also present a challenge to anyone using assistive technology.

      Fortunately, you can create forms that have greater accessibility built right in. One option is to use a plugin like Formidable Forms.

      "The Formidable Forms plugin banner.”

      This tool offers a form builder with WCAG 2.0 standard compliance as a key feature. This can be exceptionally helpful, especially given how much goes into making forms accessible.

      For example, labeling your form’s fields helps users navigate them with and without assistive technology. Another common practice for form designers is to use placeholders — text that appears in the form field as an example. Both are useful for accessibility since labels tell users what to fill out while placeholders explain how to fill it out.

      It’s also smart to include clear instructions to help users fill out forms. Many web users have what are called “invisible” disabilities. This means they may not use assistive technology such as a screen reader. Instead, they may have cognitive impairments, which clear instructions and other accessible form design practices can help with.

      5. Make Your Site Keyboard-Friendly

      For a WordPress website to be genuinely accessible to anyone, it has to be designed for navigation with only a keyboard. This ensures that blind and low-vision users, as well as anyone needing an alternative keyboard or keyboard emulator, will be able to use your website.

      Typically, keyboard navigation on a website involves using the Tab key. This enables the user to jump from one item of linked content to another. These areas have focus indicators programmed in, which can be activated with the keyboard. A sighted user will be able to see a visual change (such as an outline, border, or background color) when the keyboard activates a specific area.

      You can see this feature at work in the following example, where “web accessibility” has a visual indicator around it, signifying that the user has navigated to it with the keyboard.

      “A keyboard focus example.”

      Plugins such as WP Accessibility can help you develop better keyboard focus for your WordPress website, among other improvements.

      In terms of on-screen navigation, a screen reader will make sense of your site’s content based on its source code. Therefore, your code must be written with logical page navigation in mind. There’s a lot to understand about designing a keyboard-friendly site. Fortunately, there are plenty of resources available to guide you!

      Empower All WordPress Users

      Navigating the world of accessibility standards can be confusing. Fortunately, WordPress offers resources you can use to test your website for accessibility issues, and then make improvements.

      Making sure you have the right tools can help you build more inclusive content. Here at DreamHost, we believe in the openness and availability of online resources for everyone. Plus, we offer top-notch support for accessible websites on our low-cost shared hosting plans!



      Source link

      Cómo instalar WordPress con LAMP en Ubuntu 18.04


      Justin Ellingwood escribió una versión anterior de este tutorial.

      Introducción

      WordPress es el sistema de gestión de contenido (CMS) más popular de Internet. Le permite configurar de forma sencilla blogs y sitios web flexibles sobre un backend de MySQL con procesamiento PHP. WordPress ha recibido una increíble acogida y es una excelente opción para dejar listo un sitio web de forma rápida. Después de la configuración, casi toda la administración puede hacerse a través del cliente web.

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

      Requisitos previos

      Para completar este tutorial, necesitará acceso a un servidor de Ubuntu 18.04.

      Deberá realizar las siguientes tareas para poder comenzar con esta guía:

      • Cree un usuario sudo en su servidor: completaremos los pasos de esta guía usando un usuario no root con privilegios sudo. Puede crear un usuario con privilegios sudo siguiendo nuestra guía de configuración inicial para servidores de Ubuntu 18.04.
      • Instale 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.
      • Proteja su sitio con SSL: WordPress proporciona contenido dinámico y se ocupa de la autenticación y la autorización del usuario. TLS/SSL es la tecnología que le permite cifrar el tráfico de su sitio para que su conexión sea segura. La forma en que configure SSL dependerá de que disponga o no de un nombre de dominio para su sitio.
        • Si tiene un nombre de dominio, la alternativa más sencilla para proteger su sitio es Let’s Encrypt, que proporciona certificados de confianza gratuitos. Para la configuración, siga nuestra guía de Let’s Encrypt para Apache.
        • Si no cuenta con un dominio y solo utiliza esta configuración para pruebas o cuestiones personales, puede emplear en su lugar un certificado autofirmado. Le proporciona el mismo tipo de cifrado, aunque sin la validación del dominio. Para la configuración, siga nuestra guía de SSL autofirmados para Apache.

      Cuando complete los pasos de configuración, inicie sesión en su servidor como usuario sudo y continúe.

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

      El primer paso que daremos es preparatorio. WordPress utiliza MySQL para administrar y almacenar información sobre el sitio y el usuario. Ya instalamos MySQL, pero debemos crear una base de datos y un usuario para que WordPress los utilice.

      Para comenzar, inicie sesión en la cuenta root (administrativa) de MySQL con este comando:

      Una vez instalado el software, se le solicitará la contraseña que estableció para la cuenta root de MySQL.

      Primero, podemos crear una base de datos separada que WordPress controlará. Puede darle el nombre que desee, pero en esta guía usaremos wordpress por cuestiones de simplicidad. Cree la base de datos para WordPress escribiendo lo siguiente:

      • CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

      Nota: Cada instrucción de MySQL debe terminar en punto y coma (;). Asegúrese de que esto no falte si experimenta problemas.

      A continuación, crearemos una cuenta de usuario separada de MySQL que usaremos exclusivamente para realizar operaciones en nuestra nueva base de datos. Desde el punto de vista de la administración y la seguridad, crear bases de datos y cuentas de una función es una idea recomendable. En esta guía, usaremos el nombre wordpressuser. Puede cambiarlo si lo desea.

      Crearemos esta cuenta, estableceremos una contraseña y concederemos acceso a la base de datos que creamos. Podemos hacerlo escribiendo el comando que se muestra a continuación. Recuerde elegir una contraseña segura para el usuario de su base de datos:

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

      Ahora tiene una base de datos y una cuenta de usuario, creadas específicamente para WordPress. Debemos eliminar los privilegios de modo que la instancia actual de MySQL registre los cambios recientes que realizamos:

      Cierre MySQL escribiendo lo siguiente:

      Paso 2: Instalar extensiones de PHP adicionales

      Cuando configuramos nuestra pila LAMP, solo necesitamos un conjunto de extensiones muy reducido para que PHP se comunicara con MySQL. WordPress y muchos de sus complementos aprovechan las extensiones de PHP adicionales.

      Podemos descargar e instalar algunas de las extensiones de PHP más populares para usarlas con WordPress escribiendo lo siguiente:

      • sudo apt update
      • 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. Para algunos, posiblemente sea necesario instalar paquetes de PHP adicionales. Compruebe la documentación de sus complementos para ver sus requisitos de PHP. Si están disponibles, pueden instalarse con apt como ya se ha mostrado.

      Reiniciaremos Apache para cargar estas nuevas extensiones en la sección siguiente. Si vuelve aquí para instalar complementos adicionales, podrá reiniciar Apache escribiendo lo siguiente:

      • sudo systemctl restart apache2

      Paso 3: Ajustar la configuración de Apache para permitir anulaciones y reescrituras de .htaccess

      A continuación, realizaremos algunos ajustes de menor importancia en nuestra configuración de Apache. Conforme a los tutoriales de los requisitos previos, debe tener un archivo de configuración para su sitio en el directorio /etc/apache2/sites-available/. Como ejemplo, utilizare mos /etc/apache2/sites-available/wordpress.conf, pero debe sustituir la ruta a su archivo de configuración cuando proceda.

      Además, emplearemos /var/www/wordpress como el directorio root de nuestra instalación de WordPress. Debería usar el root web especificado en su propia configuración.

      Nota: Es posible que utilice la configuración predeterminada 000-default.conf (con /var/www/html como su root web). Se puede usar si solo piensa alojar un sitio web en este servidor. Si no piensa hacerlo, resulta mejor dividir la configuración necesaria en fragmentos lógicos, de un archivo por sitio.

      Habilitar anulaciones .htaccess

      Actualmente, el uso de archivos .htaccess está desactivado. WordPress y muchos de sus complementos utilizan estos archivos de forma exhaustiva para realizar ajustes de comportamiento del servidor web dentro del directorio.

      Abra el archivo de configuración de Apache para su sitio web:

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

      Para permitir archivos .htaccess, debemos configurar la directiva AllowOverride dentro de un bloque Directory orientado a nuestro root de documentos. Agregue el siguiente bloque de texto dentro del bloque VirtualHost en su archivo de configuración. Asegúrese de utilizar el directorio root web correcto:

      /etc/apache2/sites-available/wordpress.conf

      <Directory /var/www/wordpress/>
          AllowOverride All
      </Directory>
      

      Cuando termine, guarde y cierre el archivo.

      Habilitar el módulo de reescritura

      A continuación, podemos habilitar mod_rewrite para usar la característica de permalink de WordPress:

      Habilitar los cambios

      Antes de implementar los cambios que realizamos, compruebe que no se hayan cometido errores de sintaxis:

      • sudo apache2ctl configtest

      El mensaje del resultado podría ser como el siguiente:

      Output

      AH00558: 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 message Syntax OK

      Si desea eliminar la línea superior, simplemente agregue una directiva ServerName a su archivo de configuración principal (global) de Apache en /etc/apache2/apache2.conf. ServerName puede ser el dominio o la dirección IP de su servidor. Sin embargo, solo es un mensaje y no afecta a la funcionalidad de nuestro sitio. En tanto el resultado contenga Syntax OK, podrá continuar.

      Reinicie Apache para que se apliquen los cambios:

      • sudo systemctl restart apache2

      A continuación, descargaremos y configuraremos el propio WordPress.

      Paso 4: Descargar WordPress

      Ahora que el software de nuestro servidor está configurado, podemos descargar y configurar WordPress. Preferentemente por motivos de seguridad, siempre se recomienda obtener la versión más reciente de WordPress del sitio del producto.

      Posiciónese en un directorio editable y luego descargue la versión comprimida escribiendo lo siguiente:

      • cd /tmp
      • curl -O https://wordpress.org/latest.tar.gz

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

      Moveremos estos archivos a nuestro root de documentos por ahora. Antes de hacerlo, podemos agregar un archivo ficticio .htaccess para que WordPress pueda usarlo más adelante.

      Cree el archivo escribiendo lo siguiente:

      • touch /tmp/wordpress/.htaccess

      También copiaremos el archivo de configuración de muestra al nombre de archivo que WordPress lee realmente:

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

      También podemos crear el directorio upgrade, de modo que WordPress no experimente problemas relacionados con permisos al intentar hacerlo por su cuenta después de una actualización de su software:

      • mkdir /tmp/wordpress/wp-content/upgrade

      Ahora podemos copiar todo el contenido del directorio en nuestro root de documentos. Utilizaremos un punto al final de nuestro directorio de origen para indicar que todo lo que está dentro del directorio debe copiarse, incluidos los archivos ocultos (como el archivo .htaccess que creamos):

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

      Paso 5: Configurar el directorio de WordPress

      Antes de realizar la configuración de WordPress basada en la Web, debemos ajustar algunos elementos en nuestro directorio de WordPress.

      Realizar ajustes de propiedad y permisos

      Una de las cosas más importantes que debemos hacer es configurar los permisos y la propiedad de archivos de forma razonable.

      Empezaremos por dar la propiedad de todos los archivos al usuario y al grupo www-data. Este es el usuario cuyo funcionamiento el servidor web de Apache simula y este último deberá poder leer y escribir archivos de WordPress para representar el sitio web y realizar actualizaciones automáticas.

      Actualice la propiedad con chown:

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

      A continuación, ejecutaremos dos comandos find para configurar los permisos correctos en los directorios y archivos de WordPress:

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

      Deberían ser un conjunto de permisos razonables para empezar. Algunos complementos y procedimientos pueden requerir ajustes adicionales.

      Configurar el archivo de configuración de WordPress

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

      Cuando abramos el archivo, nuestra primera tarea será ajustar algunas claves secretas para proporcionar seguridad a nuestra instalación. WordPress proporciona un generador seguro para estos valores, de modo que no tenga que crear valores buenos por su cuenta. Solo se utilizan de forma interna, de modo que tener valores complejos y seguros aquí no afectará de manera negativa la utilidad.

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

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

      Obtendrá valores únicos como estos:

      Advertencia: Debe solicitar valores únicos en cada ocasión. NO copie los valores que se muestran a continuación.

      Output

      define('AUTH_KEY', '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@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%PB<JF 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+6&xqHN&%');

      Son líneas de configuración que podemos pegar directamente en nuestro archivo de configuración para establecer claves seguras. Copie el resultado que obtuvo ahora.

      A continuación, abra el archivo de configuración de WordPress:

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

      Busque la sección que contiene los valores ficticios para esos ajustes. Se parecerá a esto:

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

      Elimine esas líneas y pegue los valores que copió de la línea de comandos:

      /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, debemos modificar algunos de los ajustes de conexión de la base de datos al inicio del archivo. Debe ajustar el nombre de la base de datos, su usuario y la contraseña asociada que configuramos dentro de MySQL.

      El otro cambio que debemos realizar es configurar el método que debe emplear WordPress para escribir el sistema de archivos. Debido a que hemos dado permiso al servidor web para escribir donde debe hacerlo, podemos fijar de forma explícita el método del sistema de archivos en “direct”. Si no lo configuramos con nuestros ajustes actuales, haría que WordPress solicitase las credenciales de FTP cuando realicemos algunas acciones.

      Este ajuste se puede agregar debajo de los ajustes de conexión de la base de datos o en cualquier otra parte 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 termine.

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

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

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

      https://server_domain_or_IP
      

      Seleccione el idioma que desee utilizar:

      Selección de idioma de WordPress

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

      Seleccione un nombre para su sitio de WordPress y elija un nombre de usuario (por motivos de seguridad, se recomienda no elegir opciones como “admin”). De forma automática, se generará una contraseña segura. Guárdela o seleccione una contraseña segura alternativa.

      Introduzca su dirección de correo electrónico y defina si quiere que los motores de búsqueda no indexen su sitio:

      Instalación de la configuración de WordPress

      Cuando haga clic para seguir, accederá a una página que le solicitará registrarse:

      Solicitud de inicio de sesión de WordPress

      Tras iniciar sesión, accederá al panel de administración de WordPress:

      Solicitud de inicio de sesión de WordPress

      Conclusión

      Con esto, WordPress deberá quedar instalado y listo para utilizarse. Algunos pasos posteriores comunes son elegir el ajuste de los permalinks para sus publicaciones (puede encontrarse en Settings > Permalinks) o seleccionar un nuevo tema (en Appearance > Themes). Si es la primera vez que utiliza WordPress, explore la interfaz un poco para conocer su nuevo CMS.



      Source link

      Cómo instalar WordPress con LEMP en Ubuntu 18.04


      Introducción

      WordPress es el sistema de gestión de contenido (CMS) más popular de Internet. Le permite configurar de forma sencilla blogs y sitios web flexibles sobre un backend de MySQL con procesamiento PHP. WordPress ha recibido una increíble acogida y es una excelente opción para dejar listo un sitio web de forma rápida. Después de la configuración, casi toda la administración puede hacerse a través del cliente web.

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

      Requisitos previos

      Para completar este tutorial, necesitará acceso a un servidor de Ubuntu 18.04.

      Deberá realizar las siguientes tareas para poder comenzar con esta guía:

      • Cree un usuario sudo en su servidor: completaremos los pasos de esta guía usando un usuario no root con privilegios sudo. Puede crear un usuario con privilegios sudo siguiendo nuestra guía de configuración inicial para servidores de Ubuntu 18.04.
      • Instale una pila LEMP: WordPress necesitará un servidor web, una base de datos y PHP para que funcione correctamente. La configuración de una pila LEMP (Linux, Nginx, MySQL y PHP) cumple con todos estos requisitos. Siga esta guía para instalar y configurar este software.
      • Proteja su sitio con SSL: WordPress proporciona contenido dinámico y se ocupa de la autenticación y la autorización del usuario. TLS/SSL es la tecnología que le permite cifrar el tráfico de su sitio para que su conexión sea segura. La forma en que configure SSL dependerá de que disponga o no de un nombre de dominio para su sitio.
        • *Si tiene un nombre de dominio, la alternativa *más sencilla para proteger su sitio es Let’s Encrypt, que proporciona certificados de confianza gratuitos. Para la configuración, siga nuestra guía de Let’s Encrypt para Nginx.
        • Si no cuenta con un dominio y solo utiliza esta configuración para pruebas o cuestiones personales, puede emplear en su lugar un certificado autofirmado. Le proporciona el mismo tipo de cifrado, aunque sin la validación del dominio. Para la configuración, siga nuestra guía de SSL autofirmados para Nginx.

      Cuando complete los pasos de configuración, inicie sesión en su servidor como usuario sudo y continúe.

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

      El primer paso que daremos es preparatorio. WordPress utiliza MySQL para administrar y almacenar información sobre el sitio y el usuario. Ya instalamos MySQL, pero debemos crear una base de datos y un usuario para que WordPress los utilice.

      Para comenzar, inicie sesión en la cuenta root (administrativa) de MySQL. Si MySQL está configurado para usar el complemento de autenticación auth_socket (el predeterminado), puede iniciar sesión en la cuenta administrativa de MySQL usando sudo:

      Si cambió el método de autenticación para usar una contraseña para la cuenta root de MySQL, utilice el siguiente formato:

      Se le solicitará la contraseña que estableció para la cuenta root de MySQL.

      Primero, podemos crear una base de datos separada que WordPress pueda controlar. Puede darle el nombre que desee, pero en esta guía usaremos wordpress por cuestiones de simplicidad. Puede crear la base de datos para WordPress escribiendo lo siguiente:

      • CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

      Nota: Cada instrucción de MySQL debe terminar en punto y coma (;). Asegúrese de que esto no falte si experimenta problemas.

      A continuación, crearemos una cuenta de usuario separada de MySQL que usaremos exclusivamente para realizar operaciones en nuestra nueva base de datos. Desde el punto de vista de la administración y la seguridad, crear bases de datos y cuentas de una función es una idea recomendable. En esta guía, usaremos el nombre wordpressuser. Puede cambiarlo si lo desea.

      Crearemos esta cuenta, estableceremos una contraseña y concederemos acceso a la base de datos que creamos. Podemos hacerlo escribiendo el comando que se muestra a continuación. Recuerde elegir una contraseña segura para el usuario de su base de datos:

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

      Ahora tiene una base de datos y una cuenta de usuario, creadas específicamente para WordPress. Debemos eliminar los privilegios de modo que la instancia actual de MySQL registre los cambios recientes que realizamos:

      Cierre MySQL escribiendo lo siguiente:

      La sesión de MySQL terminará y volverá al shell normal de Linux.

      Paso 2: Instalar extensiones de PHP adicionales

      Cuando configuramos nuestra pila LEMP, solo necesitamos un conjunto de extensiones muy reducido para que PHP se comunicara con MySQL. WordPress y muchos de sus complementos aprovechan las extensiones de PHP adicionales.

      Podemos descargar e instalar algunas de las extensiones de PHP más populares para usarlas con WordPress escribiendo lo siguiente:

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

      Nota: Cada complemento de WordPress tiene su propio conjunto de requisitos. Para algunos, posiblemente sea necesario instalar paquetes de PHP adicionales. Compruebe la documentación de sus complementos para ver sus requisitos de PHP. Si están disponibles, pueden instalarse con apt como ya se ha mostrado.

      Cuando termine de instalar las extensiones, reinicie el proceso PHP-FPM de modo que el procesador PHP en funcionamiento pueda aprovechar las características recién instaladas:

      • sudo systemctl restart php7.2-fpm

      Ahora tenemos instaladas todas las extensiones de PHP necesarias en el servidor.

      Paso 3: Configurar Nginx

      A continuación, realizaremos algunos ajustes de menor importancia en nuestros archivos de bloque del servidor de Nginx. Conforme a los tutoriales de requisitos previos, debe tener un archivo de configuración para su sitio en el directorio /etc/nginx/sites-available/ configurado para responder al nombre de dominio o a la dirección IP de su servidor y protegido por un certificado TLS/SSL. Como ejemplo, utilizaremos /etc/apache2/sites-available/wordpress, pero debe sustituir la ruta a su archivo de configuración cuando proceda.

      Además, emplearemos /var/www/wordpress como el directorio root de nuestra instalación de WordPress. Debería usar el root web especificada en su propia configuración.

      Nota: Es posible que utilice la configuración predeterminada /etc/nginx/sites-available/default (con /var/www/html como su root web). Se puede usar si solo piensa alojar un sitio web en este servidor. Si no piensa hacerlo, resulta mejor dividir la configuración necesaria en fragmentos lógicos, de un archivo por sitio.

      Abra el archivo de bloque del servidor de su sitio con privilegios sudo para comenzar:

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

      Dentro del bloque principal server, debemos añadir algunos bloques location.

      Comience creando bloques location con coincidencia exacta para solicitudes a /favicon.ico y /robots.txt, para los que no queremos solicitudes de registro.

      Usaremos una ubicación de expresión regular para que coincida con cualquier solicitud de archivos estáticos. Una vez más, desactivaremos el registro para estas solicitudes y las marcaremos como caché, ya que suelen ser recursos exigentes. Puede ajustar esta lista de archivos estáticos para que contenga cualquier otra extensión de archivo que pueda usar su sitio:

      /etc/nginx/sites-available/wordpress

      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 bloque location/ existente, debemos ajustar la lista de try_files de modo que en vez de mostrar un error 404 como la opción predeterminada, el control pase al archivo index.php con los argumentos de solicitud.

      Debería tener un aspecto parecido al siguiente:

      /etc/nginx/sites-available/wordpress

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

      Cuando termine, guarde y cierre el archivo.

      Ahora podemos verificar que en nuestra configuración no haya errores de sintaxis escribiendo lo siguiente:

      Si no se notificaron errores, vuelva a cargar Nginx escribiendo lo siguiente:

      • sudo systemctl reload nginx

      A continuación, descargaremos y configuraremos el propio WordPress.

      Paso 4: Descargar WordPress

      Ahora que el software de nuestro servidor está configurado, podemos descargar y configurar WordPress. Preferentemente por motivos de seguridad, siempre se recomienda obtener la versión más reciente de WordPress del sitio del producto.

      Posiciónese en un directorio editable y luego descargue la versión comprimida escribiendo lo siguiente:

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

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

      Moveremos estos archivos a nuestro root de documentos por ahora. Antes de hacerlo, podemos copiar el archivo de configuración de muestra al nombre del archivo que WordPress lee realmente:

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

      Ahora podemos copiar todo el contenido del directorio en nuestro root de documentos. Usaremos el indicador -a para comprobar que se conserven nuestros permisos. Utilizaremos un punto al final de nuestro directorio de origen para indicar que todo lo que esté dentro del directorio debe copiarse, incluidos los archivos ocultos:

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

      Ahora que nuestros archivos están preparados, les asignaremos propiedad al usuario y al grupo www-data. Este es el usuario cuyo funcionamiento Nginx simula y este último deberá poder leer y escribir archivos de WordPress para representar el sitio web y realizar actualizaciones automáticas.

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

      Ahora nuestros archivos están en el root de documentos de nuestro servidor y su propiedad es correcta, pero aún debemos completar otras configuraciones.

      Paso 5: Aplicar ajustes al archivo de configuración de WordPress

      A continuación, debemos realizar algunos cambios en el archivo de configuración principal de WordPress.

      Cuando abramos el archivo, nuestra primera tarea será ajustar algunas claves secretas para proporcionar seguridad a nuestra instalación. WordPress proporciona un generador seguro para estos valores, de modo que no tenga que crear valores buenos por su cuenta. Solo se utilizan de forma interna, de modo que tener valores complejos y seguros aquí no afectará de manera negativa la utilidad.

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

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

      Obtendrá valores únicos como estos:

      Advertencia: Debe solicitar valores únicos en cada ocasión. NO copie los valores que se muestran a continuación.

      Output

      define('AUTH_KEY', '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@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%PB<JF 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+6&xqHN&%');

      Son líneas de configuración que podemos pegar directamente en nuestro archivo de configuración para establecer claves seguras. Copie el resultado que obtuvo ahora.

      A continuación, abra el archivo de configuración de WordPress:

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

      Busque la sección que contiene los valores ficticios para esos ajustes. Se parecerá a esto:

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

      Elimine esas líneas y pegue los valores que copió de la línea de comandos:

      /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, debemos modificar algunos de los ajustes de conexión de la base de datos al inicio del archivo. Debe ajustar el nombre de la base de datos, su usuario y la contraseña asociada que configuramos dentro de MySQL.

      El otro cambio que debemos realizar es configurar el método que debe emplear WordPress para escribir el sistema de archivos. Debido a que hemos dado permiso al servidor web para escribir donde debe hacerlo, podemos fijar de forma explícita el método del sistema de archivos en “direct”. Si no lo configuramos con nuestros ajustes actuales, haría que WordPress solicitase las credenciales de FTP cuando realicemos algunas acciones. Este ajuste se puede agregar debajo de los ajustes de conexión de la base de datos o en cualquier otra parte 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 termine.

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

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

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

      http://server_domain_or_IP
      

      Seleccione el idioma que desee utilizar:

      Selección de idioma de WordPress

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

      Seleccione un nombre para su sitio de WordPress y elija un nombre de usuario (por motivos de seguridad, se recomienda no elegir opciones como “admin”). De forma automática, se generará una contraseña segura. Guárdela o seleccione una contraseña segura alternativa.

      Introduzca su dirección de correo electrónico y defina si quiere que los motores de búsqueda no indexen su sitio:

      Instalación de la configuración de WordPress

      Cuando haga clic para seguir, accederá a una página que le solicitará registrarse:

      Solicitud de inicio de sesión de WordPress

      Tras iniciar sesión, accederá al panel de administración de WordPress:

      Solicitud de inicio de sesión de WordPress

      Conclusión

      Con esto, WordPress deberá quedar instalado y listo para utilizarse. Algunos pasos posteriores comunes son elegir el ajuste de los permalinks para sus publicaciones (puede encontrarse en Settings > Permalinks) o seleccionar un nuevo tema (en Appearance > Themes). Si es la primera vez que utiliza WordPress, explore la interfaz un poco para conocer su nuevo CMS.



      Source link