Table of Contents
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:
- Un nombre de dominio público ya registrado. En esta guía, utilice el dominio www.linuxsharing.com. como dominio de prueba.
- Un servidor CentOS 7 recién instalado y configurado con acceso remoto SSH en caso de un VPS o acceso directo a la consola.
- Pila LAMP desplegada sobre CentOS 7.
- Encriptemos los certificados TLS desplegados en el servidor web Apache.
- WordPress completamente funcional e instalado sobre la pila LAMP.
- Complemento W3 Total Cache instalado y habilitado en WordPress.
- 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 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
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
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’
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
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 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 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/ 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. 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;. 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 22.. Proporcione el nombre, las credenciales y el host del base de datos creada anteriormente para WordPress y presione Enviar. para continuar.
Busque el directorio DocumentRoot de Apache
Generar certificados Let’s Encrypt
Permite cifrar certificados de dominio
Verificar el certificado SSL
Paso 3: Instalar y configurar WordPress
Crear WordPress Base de datos
Configuración de instalación de WordPress