---
title: "Instalar Ghost en un hosting Cloud Web"
description: "Descubra cómo instalar un blog basado en la plataforma Ghost en un hosting Cloud Web"
url: https://docs.ovhcloud.com/es/guides/web-cloud/web-hosting/install-ghost
lang: es
lastUpdated: 2022-05-04
---
# Instalar Ghost en un hosting Cloud Web

## Introducción

[Ghost](https://ghost.org/) es un gestor de contenidos open source destinado a blogueros o periodistas que simplifica el proceso de publicación en internet. El programa está escrito en JavaScript y utiliza [Node.js](https://nodejs.org/), un entorno de ejecución que permite crear sitios web y API en JavaScript del lado del servidor.

En el [hosting Cloud Web de OVHcloud](https://www.ovhcloud.com/es-es/web-hosting/cloud-web-offer/), es posible elegir Node.js como motor de ejecución de sitios web y, por lo tanto, permite instalar y alojar Ghost o cualquier otra aplicación diseñada para Node.js.

Este tutorial explica cómo instalar un blog con Ghost en un hosting Cloud Web de OVHcloud y cómo publicarlo para que se pueda acceder a él a través de un dominio.

## Requisitos

- Tener contratado un plan de [hosting Cloud Web](https://www.ovhcloud.com/es-es/web-hosting/cloud-web-offer/) de OVHcloud.
- Haber activado Node.js como motor de ejecución.
- Haber añadido el dominio correspondiente como multisitio y haber establecido Node.js como motor de ejecución.
- Conocimientos necesarios:
  - Estar familiarizado con el ecosistema Node.js.
  - Conectarse por SSH.
  - Editar un archivo en línea de comandos con Vim, Emacs o Nano, por ejemplo.


***

### Acceso al área de cliente de OVHcloud

- **Enlace directo:** <ManagerLink to="/#/web/hosting">Hosting plans</ManagerLink>
- **Ruta de navegación:** <code className="action">Web Cloud</code> > <code className="action">Alojamientos</code> > Seleccione su alojamiento web

***


## Procedimiento

### 1. Activar el motor de ejecución Node.js

Para ver los motores de ejecución de su hosting Cloud Web, conéctese al área de cliente de OVHcloud
, haga clic en `Alojamientos
` en la columna izquierda y seleccione el alojamiento Cloud Web correspondiente. A continuación, abra la pestaña `Motores de ejecución
`.
Se mostrará una tabla con los motores de ejecución que haya añadido hasta ese momento. Asegúrese de que el motor de ejecución Node.js esté activado. Si lo está, vaya al apartado [2. Asociar Node.js a un multisitio](#2-asociar-nodejs-a-un-multisitio).

![ghostcloudweb](/images/assets/screens/control-panel/product-selection/web-cloud/cloud-web/runtime-software-application/tab-nodejs8.png)
De lo contrario, añada un nuevo motor de ejecución (si su plan lo permite) o modifique el motor existente.

- **Si quiere añadir un motor de ejecución**, haga clic en el botón <code className="action">Acciones</code> situado sobre la tabla y seleccione <code className="action">Añadir un motor de ejecución</code>.
- **Si quiere modificar un motor de ejecución**, haga clic en el botón <code className="action">···</code> situado al final de la línea correspondiente al motor y seleccione <code className="action">Editar</code>.

En la nueva ventana, cumplimente los campos con los valores que indicamos a continuación o adaptados a su caso particular.

| Elemento                             | Valor que debe introducir |
| ------------------------------------ | ------------------------- |
| Nombre personalizado                 | NodeJS 8                  |
| Motor de ejecución                   | nodejs-8                  |
| Ruta de acceso al directorio público | public                    |
| Entorno de la aplicación             | production                |
| Script de ejecución de la aplicación | server.js                 |

Una vez que haya introducido toda la información, haga clic en `Aceptar
`. Para más información sobre los motores de ejecución, consulte nuestra guía [Gestionar los motores de ejecución en un hosting Cloud Web](/es/guides/web-cloud/web-hosting/manage-runtime-software-applications.md)
.
![ghostcloudweb](/images/assets/screens/control-panel/product-selection/web-cloud/cloud-web/runtime-software-application/modify-a-runtime-software-application-nodejs8.png)
### 2. Asociar Node.js a un multisitio

Ahora que Node.js está activado como motor de ejecución, ya puede asociarlo a un multisitio. Para ello, abra la pestaña `Multisitio
`. Se mostrará una tabla que contiene todos los dominios añadidos como multisitio.
![ghostcloudweb](/images/assets/screens/control-panel/product-selection/web-cloud/cloud-web/multisite/tab-nodejs8-full-disabled-2.png)
Preste especial atención a las columnas de la tabla que indican la carpeta raíz y el motor de ejecución, y compruebe que, para el dominio en cuestión, la carpeta sea la correcta y el motor de ejecución sea Node.js. Si necesita ayuda, a continuación explicamos estos valores en mayor profundidad. Si todo es correcto, vaya directamente al apartado [3. Crear una base de datos MySQL](#3-crear-una-base-de-datos-mysql).

| Columna            | Descripción                                                                                                                                                                                                                        |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Carpeta raíz       | Es la carpeta que contendrá el código fuente del dominio (corresponde al _DocumentRoot_). En nuestro ejemplo, vamos a indicar «**ghost**». Por lo tanto, esa será la carpeta en la que deberemos colocar el código fuente Node.js. |
| Motor de ejecución | Se trata del motor de ejecución asociado al dominio. El nombre que aparece corresponde al «Nombre personalizado» que haya indicado al crear el motor de ejecución. En nuestro ejemplo, es «**NodeJS 8**».                          |

Si los datos que figuran en la tabla no son correctos, añada un nuevo multisitio o modifique el existente.

- **Si quiere añadir un multisitio**, haga clic en el botón <code className="action">Añadir un dominio o subdominio</code> situado a la derecha de la tabla.
- **Si quiere editar el multisitio**, haga clic en el icono con forma de rueda dentada situado al final de la línea correspondiente al dominio y seleccione <code className="action">Editar</code>.

En la nueva ventana, cumplimente los campos según su caso particular. La siguiente tabla muestra los valores utilizados en este tutorial:

| Elemento           | Valor utilizado en este tutorial |
| ------------------ | -------------------------------- |
| Dominio            | ghost.demo-nodejs.ovh            |
| Carpeta raíz       | ghost                            |
| Motor de ejecución | NodeJS 8                         |

Active las opciones que desee. Una vez que haya introducido toda la información, haga clic en `Siguiente
` y acepte. El dominio puede tardar un máximo de una hora en añadirse. Sin embargo, la modificación de la configuración DNS puede tardar hasta 24 horas en ser efectiva. Para más información sobre la gestión de multisitios, consulte nuestra guía [Alojar varios sitios web en un mismo hosting](/es/guides/web-cloud/web-hosting/multisites-configure-multisite.md)
.
![ghostcloudweb](/images/assets/screens/control-panel/product-selection/web-cloud/cloud-web/multisite/add-a-domain-or-sub-domain-step-2-ghost.png)
### 3. Crear una base de datos MySQL

Abra la pestaña `Bases de datos
` (si no puede verla, haga clic en el botón con tres rayas). La tabla muestra las bases de datos creadas en su alojamiento hasta ese momento. Existen dos formas de crear una nueva base de datos:
- **Si todavía no ha creado ninguna base de datos**, haga clic en el botón <code className="action">Crear una base de datos</code>.
- **Si ya ha creado alguna base de datos**, haga clic en el botón <code className="action">Acciones</code> situado sobre la tabla y seleccione <code className="action">Crear una base de datos</code>.

![ghostcloudweb](/images/assets/screens/control-panel/product-selection/web-cloud/cloud-web/databases/tab.png)
En la nueva ventana, solo está disponible la versión 5.6 del MySQL.. A continuación, seleccione «**Almacenada en la instancia Cloud Web**
» y haga clic en `Siguiente
`.
Indique un nombre de usuario y una contraseña. Haga clic en `Siguiente
` y confirme haciendo clic en `Aceptar
`. La base de datos tardará unos minutos en crearse.
![ghostcloudweb](/images/assets/screens/control-panel/product-selection/web-cloud/cloud-web/databases/create-a-database-step-2.png)
### 4. Crear las variables de entorno

Aunque no es obligatorio crear variables de entorno, sí es altamente recomendable.

En este tutorial vamos a crear variables de entorno para los datos de conexión a nuestra base de datos MySQL. De este modo, si esos datos cambian (por ejemplo, si cambia la contraseña), solo tendrá que modificar el valor de la variable desde el área de cliente, sin necesidad de editar el código fuente.

Para ello, abra la pestaña `Variables de entorno
`. La tabla muestra las variables que haya creado hasta ese momento. Para añadir una nueva, haga clic en el botón `Acciones
` situado sobre la tabla y seleccione `Añadir una variable de entorno
`.
![ghostcloudweb](/images/assets/screens/control-panel/product-selection/web-cloud/cloud-web/environment-variables/add-an-environment-variable.png)
En la nueva ventana, introduzca la información solicitada en función de su caso particular y, a continuación, haga clic en el botón `Aceptar
` para crear la variable. Estas son las variables que hemos creado en este tutorial:
| Nombre                             | Tipo de variable | Valor                                                      |
| ---------------------------------- | ---------------- | ---------------------------------------------------------- |
| database\_\_connection\_\_host     | string           | Dirección del servidor MySQL                               |
| database\_\_connection\_\_user     | string           | Nombre de usuario MySQL indicado al crear la base de datos |
| database\_\_connection\_\_database | string           | Nombre de la base de datos MySQL                           |
| database\_\_connection\_\_password | password         | Contraseña MySQL indicada al crear la base de datos        |
| database\_\_client                 | string           | mysql                                                      |
| server\_\_port                     | integer          | 80                                                         |
| server\_\_host                     | string           | 0.0.0.0                                                    |

### 5. Conectarse al hosting Cloud Web por SSH

Para conectarse al hosting Cloud Web, necesitará los datos de conexión. Para obtenerlos, abra la pestaña `FTP - SSH
` (si no puede verla, haga clic en el botón con tres rayas). Se mostrará la información relativa a su espacio de almacenamiento. Consulte los siguientes elementos:
| Elemento              | Descripción                                                                                                                                                                                                                                                                                                                                                                                                              |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Acceso SSH al cluster | Este enlace le permite conocer dos datos: <br />**- la dirección del servidor**: empieza después de la doble barra (//) y termina antes de los dos puntos (:);<br /> **- el puerto de conexión**: número que aparece tras los dos puntos (:). <br /><br />Por ejemplo, en `ssh://sshcloud.cluster024.hosting.ovh.net:12345/`, «sshcloud.cluster024.hosting.ovh.net» sería la dirección y «12345», el puerto de conexión. |
| Usuario SSH principal | Usuario SSH principal creado en el alojamiento.                                                                                                                                                                                                                                                                                                                                                                          |

Si ha olvidado la contraseña del usuario SSH, haga clic en el botón `···
` situado al final de la línea correspondiente y seleccione `Cambiar la contraseña
`.
![ghostcloudweb](/images/assets/screens/control-panel/product-selection/web-cloud/cloud-web/ftp-ssh/change-password.png)
Para conectarse por SSH, es necesario tener un terminal. En MacOS y Linux, esta herramienta está instalada por defecto. Si tiene Windows, deberá instalar un programa como PuTTY o añadir la funcionalidad OpenSSH. Esta operación depende del sistema operativo que utilice, por lo que no podemos detallar todos los casos en este tutorial.

No obstante, a continuación ofrecemos un ejemplo de comando que puede utilizar (no olvide sustituir «sshlogin», «sshserver» y «connectionport» por el valor correspondiente). Después de ejecutar el comando, el sistema le pedirá que introduzca la contraseña del usuario SSH.

```sh
ssh sshlogin@sshserver -p connectionport
```

Una vez que se haya conectado, puede comprobar que aparezcan las variables de entorno [anteriormente creadas](#4-crear-las-variables-de-entorno). Si ha seguido nuestro tutorial, encontrará:

```sh
demonon@cloudweb-ssh:~ $ env | grep "database_"
database__client=mysql
database__connection__host=demononghost.mysql.db
database__connection__user=demononghost
database__connection__password=ZuperZecure123
database__connection__database=demononghost
```

### 6. Instalar Ghost

En primer lugar, sitúese en la carpeta raíz que haya indicado en el [apartado 2](#2-asociar-nodejs-a-un-multisitio) de este tutorial. En nuestro caso, se trata del directorio «**ghost**».

```sh
demonon@cloudweb-ssh:~ $ ls -l
drwxr-xr-x 3 demonon demonon 4 Mar  6 16:53 ghost
drwx---r-x 3 demonon demonon 5 Mar  6 16:48 www
demonon@cloudweb-ssh:~ $ cd ghost/
demonon@cloudweb-ssh:~/ghost $
```

Descargue la [última versión de Ghost](https://ghost.org/) y descomprima el contenido.

```sh
demonon@cloudweb-ssh:~/ghost $ ls
public  server.js
demonon@cloudweb-ssh:~/ghost $ curl -s -LO https://github.com/TryGhost/Ghost/releases/download/2.16.4/Ghost-2.16.4.zip
demonon@cloudweb-ssh:~/ghost $ unzip Ghost-2.16.4.zip
Archive:  Ghost-2.16.4.zip
   creating: content/
   creating: content/adapters/
  inflating: content/adapters/README.md 
   creating: content/apps/
  inflating: content/apps/README.md 
  ....
demonon@cloudweb-ssh:~/ghost $ rm Ghost-2.16.4.zip
demonon@cloudweb-ssh:~/ghost $ ls
Gruntfile.js  LICENSE  MigratorConfig.js  PRIVACY.md  README.md  content  core  index.js  package.json  public  server.js  yarn.lock
```

Ghost utiliza [Yarn](https://yarnpkg.com/), una alternativa a npm, para gestionar las dependencias de Node.js. Instale Yarn a través de npm y añada estos binarios a su `PATH`:

```sh
demonon@cloudweb-ssh:~/ghost $ npm-node8 install yarn
npm notice created a lockfile as package-lock.json. You should commit this file.
+ yarn@1.13.0
added 1 package and audited 1 package in 2.893s
found 0 vulnerabilities
 
demonon@cloudweb-ssh:~/ghost $ export PATH=$PATH:/usr/local/nodejs8/bin/:~/ghost/node_modules/.bin/
demonon@cloudweb-ssh:~/ghost $ node --version
v8.15.0
demonon@cloudweb-ssh:~/ghost $ yarn --version
1.13.0
```

Puede hacer que los cambios en su `PATH` sean persistentes añadiendo la exportación al archivo **\~/.profile**:

```sh
demonon@cloudweb-ssh:~ $ echo "export PATH=$PATH:/usr/local/nodejs8/bin/:~/ghost/node_modules/.bin/" >> ~/.profile
```

A continuación, instale las dependencias de Ghost utilizando Yarn:

```sh
demonon@cloudweb-ssh:~/ghost $ yarn install
yarn install v1.13.0
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
[5/5] Building fresh packages...
success Saved lockfile.
Done in 269.89s.
```

Estando situado en el directorio **\~/ghost**, cree un archivo **config.production.json** que contendrá la configuración de Ghost:

```json
{
    "url": "http://ghost.demo-nodejs.ovh",
    "paths": {
        "contentPath": "content/"
    }
}
```

A continuación, haga que el archivo **server.js** (indicado en el [apartado 1 de este tutorial](#1-activar-el-motor-de-ejecucion-nodejs)) apunte hacia el archivo **index.js** de Ghost:

```sh
demonon@cloudweb-ssh:~/ghost $ unlink  server.js
demonon@cloudweb-ssh:~/ghost $ ln -s index.js server.js
```

Ya hemos terminado de instalar y configurar Ghost. Solo queda reiniciar el demonio Node.js para que se apliquen los cambios realizados en el archivo **\~/ghost**.

### 7. Reiniciar el demonio Node.js

Para reiniciar el demonio Node.js, vuelva al área de cliente de OVHcloud
. Abra la pestaña `Multisitio
`, haga clic en el botón `...
` situado al final de la línea correspondiente al dominio y seleccione `Reiniciar
`.
A continuación, la aplicación estará accesible desde el dominio indicado en la configuración del multisitio.

![ghostcloudweb](/images/assets/screens/control-panel/product-selection/web-cloud/cloud-web/runtime-software-application/tab-nodejs8.png)
### 8. Utilizar HTTPS

Para que su sitio web sea más seguro, puede configurar una redirección HTTP hacia HTTPS. Para ello, estando situado en el directorio **ghost**, cree un archivo **.htaccess** con el siguiente contenido:

```
RewriteCond %{ENV:HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
```

## Conclusiones

En este tutorial hemos explicado cómo instalar una aplicación Node.js en un hosting Cloud Web. ¡Ya puede empezar a utilizar Ghost y publicar en él sus primeros contenidos!

## Más información

[Migrar un sitio web y el correo a OVHcloud](/es/guides/web-cloud/web-hosting/hosting-migrating-to-ovh.md)

[Publicar un sitio web en internet](/es/guides/web-cloud/web-hosting/hosting-how-to-get-my-website-online.md)

[Instalar un sitio web con un módulo en un clic](/es/guides/web-cloud/web-hosting/cms-install-1-click-modules.md)

[Alojar varios sitios web en un mismo hosting](/es/guides/web-cloud/web-hosting/multisites-configure-multisite.md)

Para servicios especializados (posicionamiento, desarrollo, etc.), contacte con [partners de OVHcloud](https://partner.ovhcloud.com/es-es/directory/).

Si quiere disfrutar de ayuda para utilizar y configurar sus soluciones de OVHcloud, puede consultar nuestras distintas soluciones [pestañas de soporte](https://www.ovhcloud.com/es-es/support-levels/).

Interactúe con nuestra [comunidad de usuarios](https://community.ovhcloud.com/).
