Instalar WordPress en mi VPS desde Webmin y PuTTY

Instalando los ficheros de WordPress

Primero de todo te vas al dashboard de webmin. Desde ahí al menú Others/file manager.

Una vez en ese menú navegas por las carpetas hasta var/www/ en este directorio es donde están todas las carpetas con los wordpress de mi servidor virtual. Tienes que crear una nueva carpeta con el nombre que le quieras dar a tu proyecto web.

Te metes en la nueva carpeta vacía. Ahora tienes 2 opciones descargar wordpress desde la web de wordpress.org con la opción download from remote URL.

O la opción 2 que es subir el archivo desde tu ordenador con la opción Upload from current directory.

Sea como fuere, tendrás el wordpress.zip en la carpeta de tu servidor. En el momento de escribir esto le tienes que dar a los 3 puntos junto al archivo zip, lo descomprimes. Entras en la carpeta wordpress que se a creado, copias todos los archivos y carpetas, vuelves atrás y pegas en la carpeta de tu proyecto.

Ya puedes borrar el archivo wordpress.zip y la carpeta wordpress que se ha quedado vacía.

Ya tienes el wordpress instalado, pero no configurado aún.

Creando los servidores virtuales

El siguiente paso es irte al menú de webmin Servers/Apache Webserver para ver todos los servidores virtuales que tienes.

En las 3 pestañas arriba de los servidores pincha en Create virtual host para hacer 2 servidores virtuales nuevos. Uno para el puerto 80-http y otro para el puerto 443-https.

  • Specific address: tuproyecto.com
  • Listen on address (if needed) – marcado por defecto, no tocar
  • Port – especificar el 80 o el 443
  • Document Root – navegas hasta var/www/la carpeta del proyecto para que apunte a este wordpress

Lo demás lo dejas estar. Le das a Create Now y ya estaría.

Repite el proceso con otro virtual server pero apuntando al puerto 443. Como aún no has puesto el certificado letsEncrypt no puedes configurar las opciones SSL.

Cuando lo tengas que hacer, vuelve a menú Servers/Apache Webserver y en existing virtual Hosts elige el del nuevo proyecto con el puerto 443 y en la opción SSL Options rellenas lo que necesites.

O creas este Virtual Host después de poner el LetsEncrypt y ver que todo funciona.

Reinicia el servidor para que los cambios tengan efecto. Sino no irán y te volverás loco.

Creando una base de datos para WordPress

En el menú de webmin te vas a Servers/MySql Database y en las 3 pestañas de arriba le das a Create a new database.

Simplemente en Database name le pones el nombre de tu proyecto (o el que quieras). Le das a Create y listo. Recuerda el nombre para vincular el nuevo wordpress a esta Database.

El User Name y el Password es el del usuario con el que has iniciado sesión y con el que estás creando la base de datos.

Configurar WordPress con la nueva base de datos

Te vas al menú de webmin Others/file manager y navegas hasta el directorio var/www/tuproyecto. Ahí dentro verás el archivo wp-config-sample.php

2 cosas con este archivo. Renombrarlo a wp-config.php para activarlo. Y acto seguido desde ahí mismo lo editas.

Vas a cambiar algunas cosas dentro de este archivo:

  • /** El nombre de tu base de datos de WordPress */
    define(‘DB_NAME’, ‘el nombre de la base de datos que acabas de hacer‘);
  • /** Tu nombre de usuario de MySQL */
    define(‘DB_USER’, ‘root‘);
  • /** Tu contraseña de MySQL */
    define(‘DB_PASSWORD’, ‘el password que tengas‘);
  • /** Host de MySQL (es muy probable que no necesites cambiarlo) */
    define(‘DB_HOST’, ‘localhost‘);

Guardas, sales y reinicias el VPS. Y si las DNSs están en su sitio, cuando vayas a la URL de tu nuevo proyecto podrás entrar y configurar el primer usuario de WordPress como admin.

Dando permisos desde PuTYY

Lo siguiente es configurar LetsEncrypt desde PuTTY como dice este artículo. Y si fuera necesario configurar el virtual Host con el puerto 443 con lo que te diga.

Luego das acceso de escritura desde la consola de PuTTY:

chmod -R 777 /var/www

Y ahora le vamos a cambiar el propietario de esa carpeta para poder tener acceso desde wordpress

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

Configurando LetsEncrypt desde PuTTY

Primero, añade el repositorio:

sudo add-apt-repository ppa:certbot


Actualiza la lista de paquetes:

sudo apt-get update

Y finalmente, instala Certbot desde el nuevo repositorio con apt-get:

sudo apt-get install python-certbot-apache

El cliente certbot Let’s Encrypt ya está listo para usarse.

Ahora genera el certificado con

sudo certbot -d tuproyecto.com

Podrás elegir entre habilitar el acceso a http y https o forzar que todas las solicitudes redirija a https. Ya puesto todo Https.

Cuando finalice la instalación, deberías poder encontrar los archivos de certificado generados en /etc/letsencrypt/live/tuproyecto y de ahí puedes sacar los ficheros para configurar el virtual host server con el puerto 443.

Si todo ha ido bien. Entra al panel de control de wordpress en settings/general ya puedes cambiar WordPress address URL y Site Address URL por la URL con HTTPS

Arreglando el archivo .htaccess

Lo primero te vas al panel de control de WordPress en el menú settings/permalinks pones la opción post name y guardas para generar el archivo .htaccess por si aún no estuviera creado.

En el caso que la opción post name ya estuviera marcada, guardas de todos modos para generar el archivo .htaccess por si aún no estuviera creado.

Vuelves a webmin vas al menú others/file manager navegas hasta la carpeta var/www/tuproyecto y buscas el archivo .htaccess

Lo editas desde ahí mismo. Borras lo que haya ahí dentro y escribes todo esto:

Options +FollowSymLinks

# Forzar el https
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Lo de forzar el HTTPS solo si ya tienes todo listo para el https con SSL y todo. Si no está todo hecho de antes, petará todo.

Buena suerte.

Deja un comentario

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

Esta web utiliza cookies . Si continúa navegando aceptas esas cookies y la política de cookies, más info aquí.plugin cookies

ACEPTAR
Aviso de cookies