PHP no Windows Azure utilizando Linux

Por Colaborador externo | 28 de Abril de 2014 às 13h05

Por Vinícius Souza*

Nesse post trago os passos para utilizar o PHP no Windows Azure utilizando o Web Sites – PaaS (Plataforma como serviço) utilizando o Linux / Mac como máquina de desenvolvimento.

Diferenças entre a API de linha de comando disponível no Windows e para o Linux / Mac.

No Windows temos um conjunto de comandos maior do que no Linux/Mac, até pelo tempo de projeto. Mas fiquem tranquilos que o cab entre as plataformas já está sendo corrigido.

Existe diferentes maneiras de utilizar o PHP no Windows Azure.

PaaS (Plataforma como serviço)

Web Sites – A maneira mais rápida de trabalhar com Projetos Web, podendo ainda fazer deploy de projetos Open Source conhecidos como WordPress, Drupal e etc. Você pode ainda utilizar com fonte de dados algum projeto hospedado em seu gitHub, dropbox, TFS ou criar um repositório git especificamente para o seu projeto e a cada commit / push um novo deploy será realizado.

Cloud Services – Serviço de nuvem para aplicações com maior complexidade, normalmente em múltiplas camadas ou que requer uma configuração mais específica. Ao criar um projeto, podemos definir dois tipos de serviço WebRole e WorkerRole.

IaaS (Infraestrutura como serviço)

Na infraestrutura como serviço temos controle total da máquina virtual, não alterando a forma de trabalhar e configurar a nossa aplicação. Você via ter uma máquina virtual Linux, para conectar o SSH e fazer as configurações necessárias para a sua aplicação.

Para tirar 100% de aproveitamento do conteúdo desse artigo é necessário uma subscrição do Windows Azure, se você ainda não possui pode criar uma gratuitamente por 30 dias http://www.windowsazure.com/pt-br/pricing/free-trial/

Nesse artigo apresento um passo-a-passo como fazer a instalação (ou deploy) de uma aplicação em PHP no Windows Azure Web sites.

Instalar Interface de linha de comando do Windows Azure para Linux.

A interface de comando pode ser obtida via download manual ou diretamente via git, neste exemplo utilizo a segunda opção.

Mas se quiser fazer o download, o conjunto de comandos shell para gerenciar o Windows Azure está disponível no seguinte link http://go.microsoft.com/fwlink/?linkid=253472&clcid=0×416

Como pré-requisito é necessário ter instalado Node.JS, Python e Git. Nos testes que fiz, utilizei o Hyper-V no Windows 8 e configurei uma máquina virtual Linux rodando Ubuntu 13.0.4. O Ubuntu utiliza o APT (Advanced Packaging Tool) gerenciador de pacotes criada na distribuição do Debian.

Para instalar os pré-requisitos e a interface de comando execute a lista de comandos a seguir

  1. sudo apt-get update
  2. sudo apt-get install python-software-properties python g++ make
  3. sudo add-apt-repository ppa:chris-lea/node.js
  4. sudo apt-get update
  5. sudo apt-get install nodejs
  6. sudo apt-get install git

Os comandos acima realizam as seguintes funções:

  1. Atualização dos pacotes instalados no Linux
  2. Instalação do python
  3. Adiciona no catálogo do gerenciador de pacotes o node.js, assim sempre que realizar o update o pacote será atualizado.
  4. Realiza um novo update dos pacotes do Linux, agora deve baixar somente o node.js.
  5. Realiza a instalação do Node.js
  6. Realiza a instalação do Git.

Após o download vamos realizar a instalação do cliente do Windows Azure para Linux.

sudo npn install -g azure-cli

Após o término do script termos o client instalado.

Criando um Web Site utilizando o client de linha de comando.

Antes de fazer qualquer requisição ao Windows Azure, precisamos importar as configurações de acesso do Windows Azure utilizando o comando.

azure account download

Como resposta do comando acima, teremos o conteúdo a seguir.

Azure Linux 1

Assim como na versão para Windows é necessário o arquivo de configuração de publicação para conseguir realizar as chamadas ao Azure, portando devemos acessar o endereço apresentado, entrar com as informações de credenciamento e baixar o arquivo de configuração de publicação. Faça a importação, utilizando o código abaixo.

azure account import

Onde é o local de armazenamento do arquivo de publicação. Se for o caso de você tiver mais de uma subscrição ativa vinculada a sua conta, utilize o comando abaixo para definir a conta que deseja utilizar. azure config set subscriptionA interface de linha de comando com o Windows Azure permite realizar uma série de funções, como por exemplo listar as máquinas virtuais utilizadas na subscrição ou disponíveis na plataforma.

Para ter acesso a lista de comandos disponíveis acessem a URL a seguir http://www.windowsazure.com/en-us/manage/linux/other-resources/command-line-tools

Nesse artigo vou irei realizar os passos para criar um website em branco, criar um repositório git para fazer deploy.

Primeiramente devemos criar um diretório, onde iremos colocar os arquivos de nosso projeto.

mkdir phpwebsite

cd phpwebsite

Em seguida vamos criar um arquivo php ou utilizar algum projeto web que já possua. Como exemplo vou criar um arquivo php simples somente com o phpinfo().

gedit index.php

Para abrir o editor de texto gráfico, se preferir utilizar o vi fique a vontade.

Digite o código abaixo.

Podemos criar o Web site via linha de comando utilizando o comando

azure site create –location “East US”

Veja abaixo a lista de opções para ciar um WebSite no Azure:

Azure Linux 2

Após criar o site, podemos acessar o portal do Azure para definir o local de origem do código que será utilizado no site. Vamos escolher Repositório Git Local e definir um usuário e senha para publicação.Painel

Código Fonte
Painel

Vamos escolher a opção “Redefinir as credenciais de implantação” e preencha as informações do formulário apresentado.

Perfil de Implantação

Depois de definir o usuário e senha é hora de configurar a aplicação para utilizar o git.

Na pasta de nosso projeto execute os comandos a seguir:

  1. git init
  2. git add .
  3. git commit -m “initial commit”

Em seguida vamos incluir o azure como repositório git remoto e fazer o push.

  1. git remote add azure https://visouza@site name.scm.azurewebsites.net/sitename.git
  2. git push azure master

Ao realizar o push você deve informar o usuário e senha definidos anteriormente, entrando com os dados corretos o site será publicado.

A partir do portal web é possível gerenciar os deployments que estão ativos, através do meu implantações.

Espero ter ajudado a escolher a plataforma que irá hospedar seu próximo serviço de sucesso, seja utilizando o Paas, ou o IaaS.

Veja a apresentação que fiz no TDC sobre esse material.

Windows Azure - Maneiras de uilizar PHP

from

Vinícius Batista de Souza

* Vinícius Souza tem foco em desenvolvimento, em especial de Windows 8 e Azure, além disso tem experiência em algumas tecnologias OpenSource de desenvolvimento e conduz várias ações com a comunidade para projetos envolvendo Interoperabilidade.

Fique por dentro do mundo da tecnologia!

Inscreva-se em nossa newsletter e receba diariamente as notícias por e-mail.