Cómo instalar WordPress con Apache + Encriptemos SSL + W3 Total Cache + CloudFlare + Postfix en CentOS 7 VPS

Cómo instalar WordPress con Apache + Encriptemos SSL + W3 Total Cache + CloudFlare + Postfix en CentOS 7 VPS

En este tutorial, discutiremos cómo proteger y acelerar drásticamente la velocidad de carga de un sitio web de WordPress utilizando el complemento W3 Total Cache y las redes CloudFlare CDN de forma gratuita.

Para lograr esta configuración completa, necesitará un servidor completo, una máquina virtualizada o un servidor privado virtual que ejecute la última versión de CentOS 7. con LAMP. ( Linux. Apache. MariaDB. y PHP. desplegado y un servidor de correo ( Postfix. u otro) que permitirá a WordPress enviar notificaciones de comentarios.

Sin embargo, el servidor web Apache debe funcionar con un certificado gratuito TLS otorgado por Let’s Encrypt CA y el marco de trabajo de blogs web de WordPress debe instalarse sobre LAMP. con el complemento W3 Total Cache.

También deberá registrarse para obtener una cuenta gratuita de CloudFlare. Los requisitos y pasos completos para configurar Apache con WordPress + W3 Total Cache + CloudFlare en un servidor CentOS comenzando desde cero se describen a continuación.

Instale su blog de WordPress con LAMP + W3CACHE + Cloudflare CDN [$ 50]

Si no desea pasar por todas estas configuraciones complejas usted mismo, integraré su sitio web de WordPress. para un tiempo de carga más rápido usando LAMP. ( Linux. Apache. MariaDB. y PHP. o LEMP. ( Linux. Nginx. MariaDB. y PHP. se apilan con Postfix. W3 Total Cache. Gratis SSL Let’s Encrypt. y CloudFlare CDN. en un servidor VPS o en un proveedor de alojamiento compartido con todas las configuraciones de DNS y SSL necesarias. El servicio se puede completar en unas pocas horas al precio de una tarifa única de $ 50. con soporte gratuito de 14 días. Contacto: [email protected].

Requisitos:

  1. Un nombre de dominio público ya registrado. En esta guía, utilice el dominio www.linuxsharing.com. como dominio de prueba.
  2. Un servidor CentOS 7 recién instalado y configurado con acceso remoto SSH en caso de un VPS o acceso directo a la consola.
  3. Pila LAMP desplegada sobre CentOS 7.
  4. Encriptemos los certificados TLS desplegados en el servidor web Apache.
  5. WordPress completamente funcional e instalado sobre la pila LAMP.
  6. Complemento W3 Total Cache instalado y habilitado en WordPress.
  7. Una cuenta gratuita de CloudFlare.

En caso de que tenga un WordPress. sitio web que ya está en funcionamiento con certificados SSL comprados a una autoridad certificadora. o su sitio web está alojado en un proveedor de plan de alojamiento web compartido, puede omitir los primeros cinco puntos mencionados anteriormente y continuar con los dos últimos requisitos, configurados con leves modificaciones dependiendo del proveedor de alojamiento.

Paso 1: Instalar y configurar LAMP Stack

1.. Después de que haya comprado un CentOS 7 VPS o usted ‘ haya instalado CentOS 7. en su propio servidor bare-metal o en una máquina virtual, inicie sesión en el sistema directamente desde la consola o mediante el servicio SSH. con privilegios de root y actualice el sistema, emitiendo el siguiente comando.

# yum update

2.. A continuación, configure el nombre de host. de su máquina de la siguiente manera. Reemplace la variable nombre de host. para que coincida con sus propios requisitos. Es posible que también deba reiniciar. su servidor para aplicar el nuevo nombre de host en consecuencia.

# hostnamectl set-hostname server.yourdomain.com  Establecer nombre de host del sistema  Establecer nombre de host del sistema Establecer el nombre de host del sistema

3.. Habilite el repositorio EPEL. en CentOS 7. y ejecute este comando largo para instalar completamente la pila LAMP. ( Apache. PHP. MariaDB. en su sistema de una sola vez.

# yum instalar httpd mod_ssl mariadb mariadb-server php php-common php-mysql php-gd php-xml php-mbstring php-mcrypt  Instalar LAMP Stack Instalar LAMP Stack Instalar LAMP Stack

4.. Después de La pila LAMP. se ha instalado en su máquina, inicie el servidor web Apache. y la base de datos MariaDB. verifique si los servicios se están ejecutando y asegúrese de que los demonios estén habilitados.-todo.

# systemctl start httpd mariadb # systemctl status httpd mariadb # systemctl enable httpd mariadb  Iniciar Apache y el servicio MariaDB  Iniciar Apache y el servicio MariaDB Iniciar Apache y el servicio MariaDB

5.. Además, verifique si los puertos abiertos Apache. y MariaDB. están en estado de escucha emitiendo el comando netstat.

# netstat-tlp | egrep ‘http | mysql’  Comprobar Apache y puertos MariaDB  Verificar puertos Apache y MariaDB Verificar puertos Apache y MariaDB

6.. Como verificación final, abra un navegador y asegúrese de que su nombre de dominio sea visible desde Internet a través de los protocolos HTTP. y HTTPS.

En el caso del protocolo TLS. el navegador mostrará un error de certificado debido al hecho de que el archivo de configuración predeterminado Apache TLS. se envía con certificados autofirmados. .

Simplemente acepte el TLS. er ror en el navegador para continuar y se mostrará una página web predeterminada proporcionada por el paquete CentOS Apache como se ilustra en las capturas de pantalla a continuación.

http://www.yourdomain.com https://www.yourdomain.com  Error de certificado SSL Apache  Error de certificado Apache SSL Error de certificado SSL Apache Verificar página web de Apache  Verificar página web Apache Verificar página web Apache

7. En caso de que no se pueda acceder al dominio desde Internet, primero debe verificar las reglas del firewall en el sistema y, luego, emitir los siguientes comandos para abrir todos los puertos necesarios para exponer el servicio HTTP y HTTPS al tráfico externo.

# firewall-cmd–add-service = http # firewall-cmd–add-service = https # firewall-cmd–runtime-to-Permanent

8.. En el siguiente paso, ejecute el siguiente comando en orden para proteger la base de datos de MariaDB. El siguiente extracto ilustra cómo proteger la base de datos. Principalmente, responda con un sí a todas las preguntas del script.

# mysql_secure_installation Script de instalación segura de MySQL NOTA: SE RECOMIENDA EJECUTAR TODAS LAS PARTES DE ESTE SCRIPT PARA TODOS LOS SERVIDORES MariaDB EN USO DE PRODUCCIÓN POR FAVOR LEA CADA PASO DETENIDAMENTE. Para iniciar sesión en MariaDB para protegerlo, necesitaremos la contraseña actual para el usuario root. Si acaba de instalar MariaDB y aún no ha establecido la contraseña de root, la contraseña estará en blanco, por lo que solo debe presionar enter aquí. Ingrese la contraseña actual para root (ingrese para ninguna): OK, contraseña usada con éxito, avanzando … Establecer la contraseña de root asegura que nadie pueda iniciar sesión en el usuario root de MariaDB sin la autorización adecuada. ¿Establecer contraseña de root? [S/n] s. Nueva contraseña: Vuelva a ingresar la nueva contraseña: ¡La contraseña se actualizó correctamente! Recarga de tablas de privilegios … … ¡Éxito! De forma predeterminada, una instalación de MariaDB tiene un usuario anónimo, lo que permite que cualquiera pueda iniciar sesión en MariaDB sin tener que tener una cuenta de usuario creada para ellos. Esto está diseñado solo para pruebas y para que la instalación sea un poco más fluida. Debe eliminarlos antes de pasar a un entorno de producción. ¿Eliminar usuarios anónimos? [S/n] s. … ¡Éxito! Normalmente, a root solo se le debe permitir conectarse desde ‘localhost’. Esto asegura que alguien no pueda adivinar la contraseña de root de la red. ¿Deshabilitar el inicio de sesión de root de forma remota? [S/n] s. … ¡Éxito! De forma predeterminada, MariaDB viene con una base de datos llamada ‘prueba’ a la que cualquiera puede acceder. Esto también está diseñado solo para pruebas y debe eliminarse antes de pasar a un entorno de producción. ¿Eliminar la base de datos de prueba y acceder a ella? [Y/n] y. Eliminando la base de datos de prueba … … ¡Éxito!-Eliminando privilegios en la base de datos de prueba … … ¡Éxito! Recargar las tablas de privilegios garantizará que todos los cambios realizados hasta el momento entren en vigor de inmediato. ¿Volver a cargar las tablas de privilegios ahora? [S/n] s. … ¡Éxito! Limpiando … ¡Todo listo! Si ha completado todos los pasos anteriores, su instalación de MariaDB ahora debería ser segura. ¡Gracias por usar MariaDB!

Paso 2: Instale y configure Let’s Encrypt

9.. A continuación, reemplace el certificado Apache autofirmado. por un TLS certificado ofrecido de forma gratuita por SSL Labs. a través del servicio Let’s Encrypt. Instale la utilidad Python Let’s Encrypt para Apache en su sistema, mediante la cual automatizará el proceso de generación y obtención de un certificado para su dominio, emitiendo el siguiente comando.

# yum install python-certbot-apache

10.. Antes de comenzar a obtener un certificado Let’s Encrypt TLS. ejecute el siguiente comando para obtener la web predeterminada de Apache root para su dominio.

# grep DocumentRoot/etc/httpd/conf.d/ssl.conf Buscar directorio raíz de documentos de Apache Buscar directorio raíz de documentos de Apache Busque el directorio DocumentRoot de Apache

Esta ruta representa el directorio donde se alojarán físicamente todos los archivos de su sitio web. Si no ha cambiado nada en el archivo de configuración de Apache, de forma predeterminada, la ruta DocumentRoot. debe apuntar al directorio /var/www/html/.

Esto es importante porque Let’s Encrypt. utilizará este directorio como ruta webroot para procesar la verificación del dominio creando un directorio oculto con el nombre .well-known/acme-challenge/. Este directorio será creado automáticamente por la utilidad Let’s Encrypt.

11.. Luego, genere certificados Let’s Encrypt. emitiendo certbot. comando contra el nombre de su dominio. Agregue su dominio www. y no www. con la marca-d y especifique la ruta de la raíz web del servidor agregando las opciones–webroot-w como se ilustra en el siguiente ejemplo.

# certbot certonly–webroot-w/var/www/html/–renew-by-default–email [email protected]–text–agree-tos-d www.yourdomain.com-d tudominio.com  Genera certificados Let's Encrypt  Generar certificados Let's Encrypt Generar certificados Let’s Encrypt

12.. Los certificados y claves de Let’s Encrypt se encuentran en la siguiente ruta del sistema: /etc/letsencrypt/live/www.yourdomain.com/. Utilice el comando ls para mostrar una lista de todos los certificados generados para obtener sus nombres.

# ls/etc/letsencrypt/live/www.yourdomain.com/ Permite cifrar certificados de dominio  Permite cifrar certificados de dominio Permite cifrar certificados de dominio

13.. Para actualizar automáticamente los certificados Let’s Encrypt antes de que caduquen, programe un trabajo cron para que se ejecute todos los domingos como se describe a continuación.

# crontab-e

Agregue la siguiente línea al final del archivo.

0 0 * * 0/usr/bin/certbot renew>>/var/log/certbot-renew.log

En caso de problemas con para obtener los certificados, inspeccione el contenido del archivo /var/log/certbot-renew.log. para depurar el problema.

 Verificar certificado SSL  Verificar certificado SSL Verificar el certificado SSL

Paso 3: Instalar y configurar WordPress

19.. A continuación, inicie sesión en MariaDB. y cree una base de datos para la instalación de WordPress junto con el usuario correspondiente utilizado para instalar y administrar la base de datos, emitiendo los siguientes comandos.

# mysql –u root-p MariaDB [(ninguno)] & gr; CREAR BASE DE DATOS wordpress;. MariaDB [(ninguno)] & gr; OTORGAR TODO EN wordpress. * A [email protected] IDENTIFICADO POR “user_password”;. MariaDB [(none)] & gr; PRIVILEGIOS DE FLUSH;.  Crear WordPress Base de datos  Crear base de datos de WordPress Crear WordPress Base de datos

20.. En el siguiente paso, instale la utilidad wget, tome el último archivo comprimido de instalación de WordPress y extráigalo a la raíz web de su servidor web emitiendo los siguientes comandos.

# yum install wget # wget http://wordpress.org/latest.tar.gz # tar xfz latest.tar.gz # cp-rf wordpress/*/var/www/html/# ls/var/www/html/

21.. Para instalar WordPress, abra un navegador y navegue hasta su dominio usando el protocolo HTTPS. En la primera pantalla, presione el botón Let’s go para iniciar la instalación.

https://www.yourdomain.com Configuración de instalación de WordPress  Configuración de instalación de WordPress Configuración de instalación de WordPress

22.. Proporcione el nombre, las credenciales y el host del base de datos creada anteriormente para WordPress y presione Enviar. para continuar.