Alternativa al Acceso FTP para WordPress Usando SSH2

Hay dos mundos, uno es donde adquieres un servidor VPS o dedicado con todos los juguetes listos y hay personas que atienden tus solicitudes, otro donde solo arriendas el servidor, vacio, sin nada instalado, tú te encargas de instalar todo(desde el sistema operativo hasta las aplicaciones necesarias).

En el primero de los mundos las cosas son un poco más sencillas pero cuestan más dinero. En el segundo las cosas son menos sencillas pero son más económicas.

Situemonos en el segundo mundo, más precisamente en un servidor de Linode.com. Linode vende servidores más económicos con buenas prestaciones pero uno mismo debe encargarse de instalar todo, el SO, apache, mysql, php, etc, etc. Pues bien, estando en esas resultó que se necesitaba una instalación de WordPress para una estrategia especial. Se adquirió un nuevo VPS donde se instaló Ubuntu, Apache2 y PHP5, sin embargo las complicaciones aparecieron cuando se necesitaba hacer uso de WordPress de manera más extensiva.

1 – URL por defecto

El primer problema fue la url por defecto que WP necesita. Esto ya lo mencioné en un artículo pasado y solamente hay que modificar unos campos en la base de datos.

2 – Acceso por FTP

En Linode el acceso por FTP viene desactivado e insisten en que permanezca así por motivos de seguridad. Para acceder al servidor se puede hacer por SSH o por SFTP, las versiones con cifrado de Telnet y FTP. Pues resulta que WordPress necesita acceso FTP para instalar plugins, temas y demás guarachas, ¡oh problema!

La Solución

Buscando siempre aparecen las respuestas. Para no tener que activar el FTP, o no embarrarla en el trayecto, lo mejor es usar SSH2 para el cual WP tiene soporte.

En Stack Over Flow ya hay respuestas al respecto y en Tutsplus hay un tutorial bien claro.

Lo primero que hay que hacer es instalar la librería ssh2 para PHP con el comando
sudo apt-get install libssh2-php

Segundo, hay que generar las llaves ssh para lograr el acceso. Importante el tercer comando de los siguientes

ssh-keygen
cd ~/.ssh
cp id_rsa.pub authorized_keys

Cuando pregunte por la passphrase puedes presionar Enter para que quede vacio o ingresar una.

Luego hay que otorgar permisos suficientes para que las llaves sean leídas

cd ~
chmod 755 .ssh
chmod 644 .ssh/*

Una vez seguidos estos pasos, cuando vas a la sección desde donde se puede instalar un plugin o un tema deberías poder ver algo como en la captura siguiente:

<img class="aligncenter size-full wp-image-2216" src="https://otroespacioblog.files.wordpress.com/2014/12/ssh-connection.png&quot; alt="ssh2 wordpress" width="600" height="389" />

Sin embargo, siempre que vayamos a repetir el proceso tocará llenar los datos. Para evitar ese tedio se pueden agregar unas líneas de código al archivo wp-config.php:

define('FTP_PUBKEY','/home/usuario/.ssh/id_rsa.pub');
define('FTP_PRIKEY','/home/usuario/.ssh/id_rsa');
define('FTP_USER','usuario');
define('FTP_PASS','passphrase');
define('FTP_HOST','domain.com');

La primera y segunda línea definen las rutas donde están creadas las llaves ssh. La tercera el nombre del usuario dueño de las llaves ssh. La cuarta línea es la passphrase asignada durante la creación de las llaves ssh.

NOTA: Si asignaste una passphrase mientras creabas las llaves debes agregarla en la línea FPT_PASS, sino, puedes omitir esa línea de código.

Finalmente, en la última línea, agrega el dominio o la IP del servidor.

Con lo anterior se puede configurar WordPress para poder subir plugins y temas desde el administrador usando SSH2 y no FTP.

Anuncios

Autor: cesc1989

Ingeniero de Sistemas que le gusta escribir y compartir sobre recursos que considera útiles, además que le gusta leer manga y ver anime.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s