Este documento ensina como implantar uma aplicação PHP simples na plataforma OpenShift usando o Eclipse, explicando como gerar chaves SSH, criar um projeto no Eclipse vinculado ao OpenShift, fazer alterações no código e implantá-las (deploy) no servidor remoto.
2. Através desta aula, o aluno estará apto à criar suas próprias aplicações através do Eclipse, integrados à plataforma de servidores OpenShift (RedHat), tendo conhecimento básico sobre os processos de configuração do ambiente, geração das chaves de criptografia (SSH) e processo de implantação (deploy).
Nesta aula, veremos como implantar uma aplicação simples em PHP.
Em caso de dúvidas, envie um e-mail para: alberlan.silva@hotmail.com
Vamos Lá!
3. Para esta aula, precisaremos das seguintes ferramentas:
-CONTA OPENSHIFT
-ECLIPSE PHP DEVELOPER TOOLS
-jBOSS TOOLS PLUGIN
5. Devemos também, ter uma versão do Eclipse PDT instalada. O download pode ser feito em: http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliosr
6. E por fim, falta instalarmos o jBoss Tools para completar os requisitos principais. Abra o seu eclipse.
7. Na barra de menus, acesse Help / Eclipse Marketplace...
8. Na janela em que se Abriu, digite “Jboss Tools” e aguarde a pesquisa. Escolha o plugin pertinente a sua versão do Eclipse (Help / About Eclipse. O Eclipse PDT utiliza a versão Luna)
9. A Plataforma OpenShift utiliza o algoritmo bidirecional RSA para comunicação, onde são geradas duas chaves: A pública e a privada. A chave privada pertence à aplicação, que distribui chaves públicas à outras ferramentas que lhe acessam.
No nosso caso, O Eclipse terá sua chave pública de acesso para se comunicar com o Openshift, que tem a chave privada.
Sem essas chaves, não há como comprovar que existe uma comunicação confiável, por isso a importância da mesma.
Vamos para a prática!
10. Primeiramente, devemos gerar as chaves e fazer a integração entre o OpenShift e o Eclipse. Para isso, vamos em Window / Preferences
11. Com as Preferencias abertas, vamos em: General / Network Connection / SSH2
Na tela em que se abriu, clique em Generate RSA Key...
12. Será gerado um hash com a sua chave privada. Essa chave deve ser inserida na aplicação OpenShift. Em Passphrase, pode-se criar uma senha para o arquivo (recomendado)
13. Copie o Hash gerado e em seguida salve o mesmo, clicando em Save Private Key e em seguida em OK
14. Dê preferencia em salvar esta hash em sua pasta ssh (Em geral fica em: C:UsersSEU_USUARIO.ssh)
15. Após Salvar lhe aparecerá uma mensagem onde vemos que foram criadas as duas chaves, a pública e a privada. Maravilha! Vamos agora referenciar esta chave privada na plataforma OpenShift.
16. No OpenShift, clique em Settings. Caso esta seja sua primeira aplicação, sua tela será igual a imagem acima.
18. Maravilha! Como podemos ver, a chave já está registrada, o que significa que podemos iniciar a criação do Projeto. Mãos a Obra!
19. A Seguir, veremos como criar um projeto no OpenShift diretamente pelo Eclipse, sem a necessidade de acessar a plataforma para tal (que também permite esta criação).
Está pronto? Vamos nessa!
22. Neste momento, serão solicitados os seus dados da conta OpenShift. Insira-os e Avance
23. Nesta opção, selecione: “Create a new OpenShift application”. Nas opções abaixo, podemos escolher qual a linguagem / framework será usado no projeto. Selecione “PHP 5.4 php-5.4”.
24. Preencha o nome do seu projeto. Este nome é o mesmo a ser usado na URL do servidor: <seuprojeto- seudomain.rhcloud.com>. Gear Profile diz à respeito da máquina física que sustenta o servidor. Por se tratar de uma versão gratuita, o padrão é small. Clicando em Add, temos as seguintes opções:
25. Podemos escolher outras ferramentas para complementar o projeto, como o MySQL, PHPMyAdmin, MongoDB, Jenkins, etc.
26. Deixe marcada a opção Create a new project para que um novo projeto seja gerado na plataforma OpenShift. Em seguida clique em Next >
27. Nesta tela, vamos definir a pasta de repositório local. Automaticamente o OpenShift gerencia uma conta Git para repositório da aplicação. Em Git Clone Destination, escolha sua pasta padrão
28. Ao clicar em Next, uma mensagem aparecerá informando não ter confirmado a autenticidade do host, clique em Yes para conectar. Essa conexão nada mais é do que a autenticação das chaves privada e pública que criamos anteriormente.
29. Caso você tenha colocado senha na chave, este é o momento de inseri-la. Digite a senha no campo em branco e clique em OK
30. Pronto! Nossa aplicação já está criada no OpenShift e importada no Eclipse. Simples não é? Vamos agora à plataforma do OpenShift confirmar essa criação!
31. No OpenShift, acessando Applications, confirmamos que nosso projeto foi criado, junto aos seus componentes (MySQL 5.5, PHP 5.4). Mas e a página, já está funcionando?
32. Vamos acessar < SEUPROJETO-SEUDOMINIO.RHCLOUD.COM >. No caso do nosso projeto, o nome é DemoProject e o domínio da minha conta é o meu nome, portanto o link de acesso é: http://demoproject-alberlan.rhcloud.com. Nossa página está rodando!
33. Agora que estamos com tudo funcionando, veremos como aplicar alterações e efetuar a implantação no servidor OpenShift que sustenta nossa aplicação.
Mãos à Obra!
34. Inicialmente, faremos algumas alterações no código para vermos o efeito. Abra o arquivo Index.php e modifique o conteúdo.
35. Alterei a página para notarmos a diferença. Realçando que você pode criar outros arquivos e também subi-los de acordo com a necessidade de sua aplicação.
36. Para fazer o deploy, não basta apenas salvar. Primeiramente, clicamos com o botão direito sobre o projeto e vamos em: Team / Commit...
37. Na janela em que se abriu, no campo Commit Message, descreva quais foram as alterações feitas no projeto (boas práticas). Em seguida clique em Commit.
38. E enfim, para fazer o deploy, vamos em Team / Push to Upstream.
42. Atualize a página da aplicação e eis a mágica! Muito interessante, não?
43. Bom pessoal, esta foi a aula de como configurar um ambiente facilmente através da plataforma OpenShift e da IDE Eclipse. Espero que tenha lhe ajudado! Caso tenha dúvidas, mande-me um e-mail que terei o prazer em respondê-lo.
Um Abraço!
Alberlan Barros