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 no site da Azure.
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 da Microsoft.
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:
- sudo apt-get update
- sudo apt-get install python-software-properties python g++ make
- sudo add-apt-repository ppa:chris-lea/node.js
- sudo apt-get update
- sudo apt-get install nodejs
- sudo apt-get install git
Os comandos acima realizam as seguintes funções:
- Atualização dos pacotes instalados no Linux
- Instalação do python
- Adiciona no catálogo do gerenciador de pacotes o node.js, assim sempre que realizar o update o pacote será atualizado.
- Realiza um novo update dos pacotes do Linux, agora deve baixar somente o node.js.
- Realiza a instalação do Node.js
- 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.
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 do Windows Azure.
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:
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.
Vamos escolher a opção “Redefinir as credenciais de implantação” e preencha as informações do formulário apresentado.
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:
- git init
- git add .
- git commit -m “initial commit”
Em seguida vamos incluir o azure como repositório git remoto e fazer o push.
- git remote add azure https://visouza@site name.scm.azurewebsites.net/sitename.git
- 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 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.