CategoríaServidores

Cómo instalar WordPress desde la consola SSH

Hay muchos tutoriales en la red de como instalar WordPress paso a paso, pero todo son instalaciones desde cPanel o guías de instalación a través de SSH incompletas que no nos dicen como crear la base de datos y asociarla a un usuario con comandos de consola. Para poner solución a todo lo anterior he creado esta completa guía de cómo instalar WordPress desde la consola SSH de forma fácil y sencilla.

Cómo instalar WordPress desde la consola SSH

Instalar WordPress a través de la shell SSH es una tarea sencilla, pero requiere conocer unos comandos básicos los cuales trataré de explicar brevemente según los vayamos necesitando y doy por hecho que emplearemos PuTTY y que tenéis conocimientos necesarios para abrir una sesión SSH en vuestro servidor.

Cómo instalar WordPress desde la consola SSH

Antes de empezar doy por hecho que nuestro servidor tiene instalado Apache, MySQL y PHP. También hay que tener en cuenta que instalaremos nuestro WordPress en el directorio /usr/home/vozidea/public_html/ por lo que nuestros comandos y ejemplos este será el directorio de referencia.

Antes de comenzar necesitaremos los siguientes datos:

  • Usuario y contraseña de root (u otro usuario con permisos suficientes) para iniciar sesión en el servidor remoto a través de PuTTY.
  • Usuario y contraseña de usuario root de MySQL.

1) Descargar la última versión de WordPress.

Antes de nada emplearemos el comando cd (permite cambiar de carpeta o directorio) para situarnos en nuestra carpeta de instalación: cd /usr/home/vozidea/public_html/

En este paso emplearemos el comando wget para descargar la última versión de WordPress con SSH.

Para descargar la última versión de WordPress en español nos dirigimos a: http://es.wordpress.org/releases/

Una vez dentro de la página anterior copiamos el enlace del archivo con extensión .tar.gz, a día de hoy el enlace corresponde a la versión de WordPress 3.8.1 y es http://es.wordpress.org/wordpress-3.8.1-es_ES.tar.gz , el cual empleamos en el siguiente comando:
wget http://es.wordpress.org/wordpress-3.8.1-es_ES.tar.gz

A la hora de descargar la última versión de WordPress en inglés es más sencillo, porque el nombre de archivo es siempre el mismo (latest.tar.gz), por lo que la URL de descarga nunca varía. Con el siguiente comando descargamos la última versión de WordPress en inglés:
wget http://wordpress.org/latest.tar.gz

Con esto ya tenemos en nuestro servidor descargada la última versión de WordPress y dependiendo de si lo queremos en inglés o español utilizaremos uno u otro enlace de descarga. En esta guía yo voy instalar la versión en español, por lo que el nombre de archivo descargado y que emplearé en los siguientes pasos será wordpress-3.8.1-es_ES.tar.gz.

2) Descomprimir los archivos de WordPress.

Ya tenemos en el servidor el paquete comprimido de WordPress pero necesitamos descomprimirlo. Como hemos descargado el archivo con extensión .tar.gz emplearemos el siguiente comando para descomprimir:
tar -xzvf wordpress-3.8.1-es_ES.tar.gz

Tras ejecutar este comando se creará una carpeta de nombre wordpress que contiene todos los archivos necesarios, pero nosotros no queremos instalar WordPress dentro de esa carpeta, por lo que tenemos que mover todos los archivos de /usr/home/vozidea/public_html/wordpress/ a /usr/home/vozidea/public_html/. Esto lo conseguimos ejecutando el siguiente comando:
mv ./wordpress/* ./

Este comando mueve todos los archivos que hay dentro de la carpeta wordpress en la carpeta actual.

Ahora podemos borrar la carpeta wordpress ya que está vacía y no sirve de nada, para esto ejecutamos el comando:
rm -rf ./wordpress

Con esto ya tenemos la instalación web accesible a través de la URL correspondiente, en nuestro caso sería:
http://www.vozidea.com/

Pero antes de proceder con la instalación vamos a ver cómo crear una base de datos y asignarle un usuario, todo esto a través de SSH con diferentes comandos.

3) Crear usuario y base de datos MySQL para instalar WordPress.

Lo que vamos a hacer en este paso es crear un usuario, que le llamaremos vozidea y después crearemos una base de datos de nombre vozidea_blog. Después le asignaremos a esta base de datos el usuario vozideadándole los permisos necesarios. Esto lo realizaremos con SSH empleando los siguientes comandos:

  • Accedemos como root a MySQL:
    mysql -u root -p
    Nos pedirá que introduzcamos el password MySQL.
  • Creamos el usuario MySQL de nombre vozidea y de contraseña pn3Fh6Td:
    CREATE USER 'vozidea'@'localhost' IDENTIFIED BY 'pn3Fh6Td';
  • Creamos la base de datos vozidea_blog:
    CREATE DATABASE vozidea_blog;
  • Asignamos permisos al usuario vozidea sobre la base de datos vozidea_blog:
    GRANT ALL PRIVILEGES ON vozidea_blog.* TO 'vozidea'@'localhost';
  • Recargamos los privilegios:
    FLUSH PRIVILEGES;

Ahora cuando llegue el momento de la instalación de WordPress ya disponemos de los datos necesarios:

  • Nombre de la base de datos: vozidea_blog
  • Usuario MySQL: vozidea
  • Contraseña del usuario MySQL: pn3Fh6Td

Espero que os haya servido de ayuda esta guía de cómo instalar WordPress desde la consola SSH. El paso número 3 donde creo el usuario y base de datos MySQL yo prefiero crear un usuario para el blog porque lo veo más ordenado, pero sea como sea nunca emplear vuestro usuario root de MySQL directamente en la instalación de WordPress ya que es una mala práctica de seguridad.

Fuentehttp://www.vozidea.com/como-instalar-wordpress-desde-la-consola-ssh

Conectarse vía SSH con llave privada

La llave que usaremos debe estar con extensión .PEM y con permisos 400

Para establecer los permisos, ejecutamos el siguiente comando desde terminal:

chmod 400 nombre-de-la-llave.pem

 

Posteriomente para conectarnos, ejecutamos:

ssh -inombre-de-la-llave.pem.pem usuario@hostname

Deshabilitar la autenticación de dos pasos en WHM por línea de comandos

Si tienes activado la autenticación de 2 pasos en WHM  (two-factor authentication) y no puedes acceder a la aplicación en tu smartphone, una forma sencilla de deshabilitarla es por medio de línea de comandos.

whmapi1 twofactorauth_disable_policy

Reparar Quotas en WHM/cPanel | Fix Quotas in WHM/cPanel

Para solucionar el problema de las Quotas en WHM/cPanel, realizar el siguiente cambio:

Editar el archivo fstab, ubicado en /etc/fstab

/dev/md3 /home ext4 defaults,usrquota 1 2

 

Una vez realizado este cambio, remontar con el siguiente comando:

mount -o remount /home

 

Fuentehttps://documentation.cpanel.net/display/CKB/How+to+Fix+Quotas

Comprimir y Descomprimir archivos ZIP, TAR, GZ a través de Terminal

Si bien OSX trae su propio compresor que es bastante util para utilizarlo con ZIP principalmente, hay ocasiones en las que tenemos archivos con extensiones como TAG, GZIP para lo cual podemos utilizar alguna aplicación (vease Keka) o a través del terminal.

Archivos ZIP

Comprimir

zip -r nombre_del_archivo.zip carpeta_a_comprimir

Extraer

unzip nombre_del_archivo.zip

Archvos TAR.GZ

Comprimir

tar -zcvf nombre_del_archivo.tar.gz carpeta_a_comprimir

Extraer

tar -zxvf nombre_del_archivo.tar.gz

Archivos TAR.BZ2

Comprimir

tar -jcvf nombre_del_archivo.tar.bz2 carpeta_a_comprimir

Extraer

tar -jxvf nombre_del_archivo.tar.bz2

Archivos GZ

Extraer

gunzip nombre_del_archivo.gz

Fuentehttps://coolestguidesontheplanet.com/how-to-compress-and-uncompress-files-and-folders-in-os-x-lion-10-7-using-terminal/

Imagenhttp://www.freepik.com/free-photo/system-byte-binary-crash-code-bits_668813.htm

Acceder al disco de respaldo en servidor dedicado OVH (mount backup storage OVH)

OVH ofrece backup gratis en sus planes de servidores dedicados, el problema surge al momento de tratar de rescatar los archivos del backup.

Esto debido a que inicialmente son solo accesibles desde la propia IP del servidor.

Para acceder vía SSH o FTP debemos montar (mount) el disco con el backup.
OVH no ofrece este servicio y debemos hacerlo nosotros, debido a la cantidad de post con personas confusas al respecto y debido a que pasé por lo mismo, dejo la forma simple de hacerlo.

Lo primero es revisar la documentación que tiene OVH para realizar este proceso: http://docs.ovh.ca/en/services-backup-storage.html

Ahora para montar el disco backup, debemos ejecutar el siguiente código vía SSH:

mount -t nfs ftpback-ns-XX-XXXXXX.ip-XXX.XX.XXX.net:export/ftpbackup/nsXXXXXX.ip-XXX.XX.XXX.net /mnt

ftpback-ns-XX-XXXXXX.ip-XXX.XX.XXX.net es el “Name” (ver imagen)

nsXXXXXX.ip-XXX.XX.XXX.net es el “ID” (ver imagen)

 

Disclaimer:
SIEMPRE respalda antes de hacer cambios, ahh y por cierto no soy responsable de lo que puedas hacer con este tutorial

Comandos útiles para conectarse al servidor vía SSH

Lo más básico es conectar al servidor y esto se realiza a través de consola, ya sea utilizando Terminal(Mac), Putty(Win), etc.

Una vez abierta la aplicación, ingresamos el siguiente comando:

SSH user@IPdelServior

Presionamos “enter” y luego ingresamos la contraseña.

Con esto ya deberíamos estar en el servidor y comenzar a utilizar los comandos para las tareas que deseamos realizar.

A continuación, los comendos básicos

Comandos de navegación

  • pwd muestra el path completo del directorio en el que se encuentra
  • cd cambia de directorio, por ejemplo cd directorio/subdirectorio
  • cd ~ lleva a su directorio home
  • cd – lleva al último directorio en el que estuvo
  • cd .. sube a un directorio superior

Listado de archivos

  • ls lista archivos y directorios de un directorio
  • ls -al lista archivos y directorios e información sobre los mismos
  • ls -aR lista archivos e información incluyendo todos los subdirectorios
  • ls -aR | more lista archivos e información incluyendo todos los subdirectorios por pantallas
  • ls -alR > resultado.txt lista archivos e información de subdirectorios y lo guarda en un archivo
  • cat resultado.txt mostraría en pantalla el contenido del archivo
  • ls *.html lista todos los archivos acabados en .html
  • ls -al directorio/subdirectorio/ lista archivos e información de ese subdirectorio

Crear, editar o eliminar archivos y directorios

  • pico /home/usuario/public_html/index.html edita el archivo index.html con el editor pico
  • touch /home/usuario/public_html/404.html crea el archivo vacio 404.html en ese directorio
  • rm archivo.txt elimina archivo.txt
  • rm -rf directorio/ ¡CUIDADO! elimina el directorio indicado, los subdirectorios y todos sus archivos
  • mkdir descargas Crea un directorio llamado descargas
  • rmdir descargas Elimina el directorio llamado descargas

Otros comandos SSH

  • cp -a /home/usuario/public_html/origen/* /home/usuario/public_html/destino/Copia todos los archivos de un directorio a otro manteniendo sus respectivos permisos
  • du -sh muestra es espacio total ocupado por el directorio en el que se encuentra
  • du -sh * muestra el espacio ocupado de cada archivo y directorio
  • lynx midominio.com usar el navegador Lynx para acceder a www.midominio.com
  • whoami muestra su nombre de usuario

Compresión y descompresión de archivos

  • zip archivo.zip /home/usuario/public_html/directorio Comprimir directorio
  • unzip archivo.zip Descomprimir archivo.zip
  • unzip -v archivo.zip Ver contenido de archivo.zip

Comprimir DIRECTORIOS COMPLETOS

Comprimir y descomprimir archivos es una de las tareas mas comunes que vamos a tener que realizar en Linux por línea de comandos. Podemos hacerlo mediante diversas herramientas, pero existen dos que van a estar disponibles en casi cualquier distribución.

Son dos herramientas que se tienen que utilizar de manera complementaria. Se trata de tar, que simplemente empaqueta varios archivos en un único fichero, y gzip, que hace la compresión propiamente dicha.

El comando tar tiene la siguiente sintaxis:

tar [opciones] [origen] [destino]

Donde opciones son, por ejemplo, las siguientes:

c: crear un archivo
x: extraer de un archivo
t: listar los contenidos de un archivo
v: ver un reporte de las acciones a medida que se van realizando
f: empaquetar contenidos de archivos
z: para comprimir a la vez que se empaqueta

Como se puede ver, con la opción z se puede comprimir en el mismo paso en el que se empaqueta, lo que puede hacer las cosas más rápidas y cómodas. De todos modos, tar simplemente hace el empaquetado y es gzip el que realiza la compresión. Simplemente que nosotros no tenemos que llamar a gzip, sino que ya lo hace directa e internamente tar.

Ejemplos

1) Si queremos empaquetar un directorio llamado “html” y guardar los datos en “html-paq.tar”, lo haríamos con la sentencia:

tar cvf html-paq.tar html

2) Si queremos comprimir un directorio llamado “archivos” y guardarlo en un fichero llamado “archivos-comp.tgz”, `podríamos hacer algo como esto:

tar czvf archivos-comp.tgz archivos

Si nos fijamos, en este caso el nombre del archivo comprimido le hemos puesto extensión .tgz, que indica que está empaquetado y comprimido.

3) Si queremos desempaquetar un archivo llamado xxx.tar podemos utilizar un comando como este:

tar xvf xxx.tar

Eso supone que tenemos el archivo xxx.tar en el mismo directorio desde donde lanzamos el comando. Los contenidos se desempaquetarán en el mismo directorio donde estamos situados.

4) Si el archivo que queremos desempaquetar está comprimido. Es decir, si queremos descomprimir y desempaquetar en un solo paso, tenemos que hacerlo con la opción z del comando tar. Algo como esto:

tar xzvf xxx.tgz

Disclaimer:
SIEMPRE respalda antes de hacer cambios, ahh y por no soy responsable de lo que puedas hacer con este tutorial.

Fuentehttp://www.aemilius.net/ayuda/articulos/comandos-ssh-shell-telnet-frecuentes.html

Imagenhttp://www.freepik.com/free-photo/working-from-bed_789592.htm#term=computer code&page=1&position=7

© 2018 Grafreek

Tema por Anders NorénSubir ↑