Instalar o Ghost num alojamento Cloud Web

Introdução

Ghost é um gestor de conteúdos open source destinado a blogueiros ou jornalistas que simplifica o processo de publicação na Internet. O programa estÔ escrito em JavaScript e utiliza Node.js, uma plataforma que permite criar websites e API em JavaScript do lado do servidor.

O alojamento Cloud Web da OVHcloud permite utilizar Node.js como motor de execução para os seus websites e, assim, instalar e alojar o Ghost ou qualquer outra aplicação concebida para Node.js.

Neste tutorial, vamos explicar como instalar um blogue com Ghost num alojamento Cloud Web da OVHcloud e publicƔ-lo atravƩs do seu domƭnio.

Requisitos

O que precisa de ter

  • Ter um serviƧo de alojamento Cloud Web da OVHcloud.
  • Ter ativado Node.js como motor de execução.
  • Ter adicionado o domĆ­nio em questĆ£o como multisite e ter definido Node.js como o motor de execução.
  • O que precisa de saber:
    • Conhecer as bases do ecossistema Node.js
    • Aceder atravĆ©s de SSH.
    • Editar um ficheiro em linha de comandos com Vim, Emacs ou Nano, por exemplo.

Acesso Ơ Ɓrea de Cliente OVHcloud

  • Ligação direta: Hosting plans
  • Caminho de navegação: Web Cloud > Alojamentos > Selecione o seu alojamento web

InstruƧƵes

1 - Ativar Node.js como motor de execução

Para aceder aos motores de execução do seu alojamento Cloud Web, aceda à Área de Cliente. Clique em Alojamentos na barra à esquerda e, em seguida, selecione o alojamento Cloud Web correspondente. Por fim, clique no separador Motores de execução.

A tabela que aparece indica os motores de execução que se encontram adicionados. Certifique-se de que o motor de execução Node.js estĆ” ativo. Se tal for o caso, consulte o passo ā€œ2 - Associar o Node.js a um multisiteā€.

ghostcloudweb

Caso contrÔrio, adicione um novo (se a sua solução o permitir) ou altere o motor de execução existente.

  • Se pretender adicionar um motor: clique em AƧƵes na parte superior da tabela e em Adicionar um tempo de execução para o aplicativo de software.
  • Se pretender alterar um motor: clique no botĆ£o ... Ć  direita do motor e, a seguir, em Alterar.

No nova janela, insira as informações solicitadas com os valores do nosso exemplo ou adapte-os à sua situação.

InformaçãoValor que deve indicar
Nome personalizadoNodeJS 8
Motor de execuçãonodejs-8
Caminho para a pasta pĆŗblicapublic
Ambiente da aplicaçãoproduction
Script de lançamento da aplicaçãoserver.js

Concluída esta etapa, clique no botão Validar. Para mais informações sobre os motores de execução, consulte o nosso manual Gerir os motores de execução de um alojamento Cloud Web.

ghostcloudweb

2 - Associar o Node.js a um multisite

Agora que o Node.js estÔ ativado como motor de execução, jÔ o pode associar a um multisite. Para isso, clique no separador Multisite. AparecerÔ uma tabela com todos os domínios adicionados enquanto multisite.

ghostcloudweb

DeverĆ” prestar especial atenção a duas colunas da tabela abaixo. Verifique que o motor de execução Node.js estĆ” associado aos domĆ­nios correspondentes e que a pasta raiz Ć© correta. Se precisar de ajuda, explicamos estes valores de forma mais detalhada a seguir. Se tudo estiver correto, consulte o passo ā€œ3 - Criar uma base de dados MySQLā€.

ColunaDescrição
Pasta raizTrata-se da pasta raiz que deve conter o código fonte do domĆ­nio em questĆ£o (corresponde ao ā€œDocumentRootā€). No nosso exemplo, optĆ”mos por indicar ā€œghostā€. Esta serĆ” a pasta onde deverĆ” colocar o código fonte Node.js.
Motor de execuçãoEste Ć© o motor de execução associado ao domĆ­nio em questĆ£o. O nome que aparece corresponde ao ā€œNome personalizadoā€ que definiu durante a criação do motor de execução. No nosso exemplo, Ć© ā€œNodeJS 8ā€.

Se este não for o caso, adicione um novo multisite ou altere o existente.

  • Se pretender adicionar um multisite: clique em Adicionar um domĆ­nio ou subdomĆ­nio Ć  direita da tabela.
  • Se pretender alterar um multisite: clique no botĆ£o ... Ć  direita do nome de domĆ­nio em causa, e depois em Modificar.

Na nova janela que aparecerÔ, preencha as informações necessÔrias em função da sua situação. A tabela abaixo apresenta os valores utilizados neste tutorial.

InformaçãoValor utilizado como exemplo neste tutorial
DomĆ­nioghost.demo-nodejs.ovh
Pasta raizghost
Motor de execuçãoNodeJS 8

No que diz respeito Ć s opƧƵes adicionais, selecione as que pretende ativar. Uma vez as informaƧƵes introduzidas, clique em Seguinte e finalize a operação. Esta operação pode demorar atĆ© uma hora. No entanto, a alteração da configuração DNS pode demorar atĆ© 24 horas antes de ficar totalmente efetiva. Se pretender obter mais informaƧƵes sobre a gestĆ£o dos multisites, consulte o nosso manual ā€œPartilhar o alojamento entre vĆ”rios sitesā€.

ghostcloudweb

3 - Criar uma base de dados MySQL

Clique no separador Base de dados (se não o conseguir ver, clique no botão com três barras). A tabela apresenta as bases de dados jÔ criadas no seu alojamento. Para iniciar a criação de uma nova base de dados, existem duas possibilidades:

  • Se ainda nĆ£o tiver criado uma base de dados: clique no botĆ£o Criar uma base de dados.

  • Se jĆ” tiver criado uma base de dados: clique no botĆ£o AƧƵes acima da tabela e, a seguir, Criar uma base de dados.

ghostcloudweb

Na nova janela, apenas "MySQL", em versĆ£o "5.6", estĆ” disponĆ­vel. A seguir, selecione a opção ā€œArmazenado na sua instĆ¢ncia Cloud Webā€ e, por fim, Seguinte.

Personalize um nome de utilizador e defina uma palavra-passe. Depois clique em Seguinte. Confirme a criação da base de dados clicando em Validar. Aguarde alguns minutos até a operação ser finalizada.

ghostcloudweb

4 - Criar as variƔveis de ambiente

Embora não seja obrigatório criar variÔveis de ambiente, recomendamos-lhe vivamente que o faça.

Neste tutorial, iremos criar variÔveis de ambiente para as informações de ligação à nossa base de dados MySQL. Desta forma, se estes dados forem alterados (por exemplo, se alterar a palavra-passe), apenas teremos de alterar o valor da variÔvel a partir da Área de Cliente, sem precisar de editar o código fonte.

Para isso, clique no separador VariÔveis de ambiente. A tabela apresenta as variÔveis jÔ criadas. Para adicionar uma nova, clique no botão Ações acima da tabela e, depois, em Adicionar uma variÔvel de ambiente.

ghostcloudweb

Na nova janela que aparecerÔ, preencha as informações necessÔrias em função da sua situação e, depois, clique em Confirmar para criar a variÔvel. Estas são as variÔveis que criÔmos para este tutorial:

SobrenomeTipo de variƔvelValor
database__connection__userstringO nome de utilizador MySQL escolhido ao criar a base de dados
database__connection__databasestringO nome da base MySQL
database__connection__passwordpasswordA palavra-passe MySQL escolhida ao criar a base de dados
database__clientstringmysql
server__portinteger80
server__hoststring0.0.0.0

5 - Ligar-se ao alojamento Cloud Web por SSH

Primeiro, certifique-se de que tem todas as informações que precisa para se ligar. De seguida, clique no separador FTP - SSH. (se não o conseguir ver, clique no botão com três barras). AparecerÔ a informação relativa ao seu espaço de armazenamento. Consulte os seguintes elementos:

ElementosDescrição
Acesso SSH ao clusterPoderĆ” consultar os seguintes dados:
- o endereƧo do servidor: comeƧa depois de ā€œssh://ā€ e acaba antes de ā€œ:ā€;
- a porta de ligação: o nĆŗmero Ć© referido depois de ā€œ:ā€.

Por exemplo: em ssh://sshcloud.cluster024.hosting.ovh.net:12345/, ā€sshcloud.cluster024.hosting.ovh.netā€ serĆ” o endereƧo do servidor e ā€œ12345ā€ a porta de ligação.
Login SSH principalTrata-se do nome de utilizador SSH principal criado no seu alojamento.

Se jÔ não se lembra da palavra-passe SSH, clique no botão ... situado no final da linha correspondente e selecione Alterar a palavra-passe.

ghostcloudweb

Para se conectar por SSH, Ć© necessĆ”rio utilizar um terminal. Em macOs e Linux, esta ferramenta Ć© instalada por predefinição. Um ambiente Windows irĆ” requerer a instalação de um software como PuTTY ou a adição da funcionalidade ā€œOpenSSHā€. Uma vez que esta operação depende do sistema operativo que utiliza, nĆ£o podemos detalhar todos os casos neste tutorial.

No entanto, disponibilizamos a seguir um exemplo de comandos que pode utilizar. Substituir os elementos ā€œsshloginā€, ā€œsshserverā€ e ā€œconnectionportā€ pela sua informação. Uma vez enviado o comando, deverĆ” introduzir a palavra-passe do utilizador SSH.

ssh sshlogin@sshserver -p connectionport

Uma vez conectado, pode verificar se aparecem as variÔveis de ambientes anteriormente criadas. Para o nosso tutorial, temos a seguinte informação:

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 o Ghost

Comece por aceder Ć  pasta raiz especificada no passo 2. Neste tutorial, trata-se do diretório ā€œghostā€.

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 $

Obtenha a versão mais recente do Ghost e descomprima o seu conteúdo.

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, uma alternativa ao npm, para gerir as dependĆŖncias Node.js. Instale o Yarn atravĆ©s de npm e adicione estes binĆ”rios ao seu ā€œPATHā€:

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

Pode fazer com que as alteraƧƵes no seu ā€œPATHā€ sejam persistentes adicionando a exportação ao ficheiro ā€œ~/.profileā€:

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

A seguir, instale as dependĆŖncias do Ghost utilizando o Yarn:

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.

Ainda na pasta ā€œ~/ghostā€, crie um ficheiro config.production.json que contĆ©m a configuração do Ghost:

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

De seguida, faƧa com que o ficheiro server.js (indicado no passo 1) aponte para o ficheiro index.js do Ghost:

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

A instalação e a configuração de Ghost ficam assim concluĆ­das. Só falta reiniciar o daemon Node.js para que as alteraƧƵes sejam aplicadas na pasta ā€œ~/ghostā€.

7 - Reiniciar o daemon Node.js

Para reiniciar o daemon Node.js, aceda à sua Área de Cliente OVHcloud. No separador Multi-site, clique no botão ... no final da linha correspondente ao domínio à direita, em Reiniciar.

Depois de realizar esta operação, a aplicação ficarÔ acessível através do nome de domínio escolhido na configuração do seu multisite.

ghostcloudweb

8 - Utilizar HTTPS

Para uma maior segurança do seu site, pode configurar um reencaminhamento HTTP para HTTPS. Para o fazer, aceda à pasta ghost e crie um ficheiro .htaccess com o seguinte conteúdo:

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

Conclusão

Neste tutorial, foi-lhe explicado como instalar uma aplicação Node.js num alojamento Cloud Web. JÔ pode começar a utilizar o Ghost e publicar os seus primeiros conteúdos!

Quer saber mais? Veja os guias abaixo

Transferir o meu site para a OVHcloud (Versão PT disponível em breve)

Colocar o meu site online

Instalar um CMS com os Módulos 1 clique

Partilhar o alojamento entre vƔrios sites

Como criar um endereƧo de e-mail

Utilização do RoundCube

Para serviƧos especializados (referenciamento, desenvolvimento, etc), contacte os parceiros OVHcloud.

Se pretender usufruir de uma assistência na utilização e na configuração das suas soluções OVHcloud, consulte as nossas diferentes ofertas de suporte.

Fale com nossa comunidade de utilizadores.

Esta pÔgina foi útil?