0% acharam este documento útil (0 voto)
5 visualizações26 páginas

Transferência de PHP Windows para AWS Linux

Este ebook orienta sobre a transferência de uma aplicação PHP de um servidor local Windows para um servidor Linux na Amazon EC2. O processo inclui a instalação do Git, criação de repositórios no GitHub, clonagem do repositório no servidor Linux e configuração do Apache. Além disso, aborda a transferência do banco de dados MariaDB entre os dois ambientes, garantindo a sincronização e controle de versão do código-fonte.

Enviado por

Claudio Soares
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
5 visualizações26 páginas

Transferência de PHP Windows para AWS Linux

Este ebook orienta sobre a transferência de uma aplicação PHP de um servidor local Windows para um servidor Linux na Amazon EC2. O processo inclui a instalação do Git, criação de repositórios no GitHub, clonagem do repositório no servidor Linux e configuração do Apache. Além disso, aborda a transferência do banco de dados MariaDB entre os dois ambientes, garantindo a sincronização e controle de versão do código-fonte.

Enviado por

Claudio Soares
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Transferindo uma

Aplicação PHP
Windows para um
servidor Linux na
Nuvem Amazon

1
[Link]
Este é um ebook produzido para o portal [Link].

Você pode utilizá-lo livremente para qualquer fim, inclusive comercial. Porém não está
autorizada a distribuição do ebook em qualquer portal. Divulgações podem ser feitas
com links para o portal [Link].

Todos os direitos reservados para Alfamídia

2
Transferindo uma Aplicação PHP para a
Nuvem Amazon
Neste ebook nós vamos transferir uma aplicação PHP que está rodando em um servidor
local em Windows utilizando Xampp para um servidor Linux 2 EC2 executando na
nuvem Amazon.

Nossa aplicação exemplo executa em PHP com banco de dados MariaDB, e faremos a
transferência de todos os arquivos através do GIT e do repositório GitHub. Também
faremos a criação e transferência dos dados do banco de dados para a aplicação na
nuvem.

Nós iremos assumir que o ambiente na nuvem utilizará um servidor AWS Linux 2 já
configurado para executar aplicações PHP com banco de dados. Os e-books Apostila de
AWS - Configurando Servidor Linux 2 EC2 e Apostila de Laravel - Configurando
Ambiente Laravel na Nuvem Amazon mostram o passo a passo para realizar do zero a
configuração deste servidor.

AWS: AWS é Amazon Web Services, e é a plataforma de nuvem da Amazon.

Amazon EC2: O EC2 (Elastic Cloud Computing) é um dos muitos serviços oferecidos no
AWS, e será o que utilizaremos neste ebook. É através do EC2 que executaremos um
servidor virtual no qual nossa aplicação Laravel será executada.

MariaDB: MariaDB é um banco de dados baseado no MySQL.

Git: Git é um sistema de controle de versões distribuído.

GitHub: GitHub é uma plataforma de hospedagem de código-fonte que utiliza o Git


para controle de versões.

3
Instalando o Git
O Git é uma ferramenta de controle de versões, que facilita o gerenciamento do código-
fonte e simplifica a distribuição de um código-fonte entre diferentes máquinas e
mantido por diferentes pessoas.

Nós utilizaremos o Git, aqui, apenas para transferir o código-fonte de nossa aplicação,
que está executando em uma máquina local Windows, para nosso servidor Linux.
Existem outras formas de fazer este movimento de arquivos, mas o Git é
particularmente interessante por ser uma ferramenta popular entre programadores e
útil para mantermos a compatibilidade entre as duas versões de nosso software, que
executam em máquinas diferentes.

Como parte do processo de instalação de nossa máquina Linux 2 nós já havíamos


instalado o cliente Git (conforme mostrado nos ebooks mencionados anteriormente).

O mesmo não ocorre com nossa máquina Windows. No exemplo que iremos
apresentar, nossa máquina Windows possui o Xampp instalado, o que significa um
ambiente rodando localmente com servidor http (Apache), banco de dados (MariaDB) e
interpretador PHP, porém o Git precisará ser instalado a parte.

Apenas digitando “git” no google, tanto a página do Git quanto do GitHub são
mostradas entre os primeiros links. Você pode também ir direto para o site [Link]
[Link]/. No site entre na seção “downloads”, e selecione o botão de download para
Windows. Uma vez concluído o download, inicie a instalação.

4
Ao executar o instalador, a janela a seguir deve ser exibida:

A tela seguinte mostra a licença de uso GNU GPL, que basicamente informa seu direito
de utilizar livremente o Git.

5
A tela seguinte abre as opções de configuração dos componentes a serem instalados.
Em nosso tutorial não vamos fazer nenhuma alteração. Você pode apenas clicar Next.

6
No processo de instalação, você pode selecionar o editor que será utilizado nas edições
de configurações do Git, conforme mostrado na figura a seguir. Utilize o editor que
julgar mais conveniente.

7
A janela seguinte oferece algumas opções e configuração para uso do Git. Em nosso
exemplo, vamos manter na opção recomendada.

Mantemos também a opção default nas telas seguintes:

8
9
10
Ao final confirme a instalação:

Após temos a janela de instalação concluída. Na unidade seguinte veremos a


configuração do Git tanto em Windows quanto Linux:

11
Configurando o Git
Faremos a configuração do Git por linha de comando. Os comandos são exatamente os
mesmos no Windows, quando chamamos o Git Bash, como na figura a seguir, e no
Linux, que acessaremos pelo Putty como mostrado nos ebooks de configuração do
Linux.

Em ambos vamos definir nosso nome e e-mail. Estas informações serão úteis quando
trabalharmos com equipes para definir quem realizou qual modificação em
determinada versão dos arquivos.

Utilize os seguintes comandos:


$ git config --global [Link] “Seu nome"

$ git config --global [Link] seu-email@[Link]

12
Utilizando o comando “git config –list” você obtém a lista de configurações do Git,
incluindo seu nome e e-mail recém definidos. Para acompanhar este tutorial, faça estas
configurações nas máquinas Linux na nuvem AWS e Windows.

13
Criando um Repositório
O que nós faremos agora, com o Git instalado e configurado com seu nome e e-mail nas
duas máquinas, é criar um repositório em nossa máquina Windows em que temos a
aplicação rodando localmente.

Em nosso exemplo, o código-fonte de nossa aplicação encontra-se em


c:\xampp\htdocs\AppExemplo. O que nós faremos é chamar nosso console, ir para a
pasta da aplicação e executar os comandos de inicialização do git (git init) e de inclusão
de todos os arquivos nos arquivos rastreados pelo git.

Observe e reproduza a sequência de comandos a seguir, observe a imagem, e a


descrição a seguir, do que realizamos:

cd c:\xampp\htdocs\AppExemplo
git init
git add *
git commit -m “primeiro commit”

O primeiro comando nos leva a pasta correspondente a nossa aplicação.

14
Com o comando git init o que temos é a criação de uma pasta chamada .git, em que
serão armazenadas as cópias com controle de versão dos arquivos a serem rastreados.

O comando git add * basicamente define que todos os arquivos da aplicação estão
sendo rastreáveis. Esta é uma prática que requer uma certa atenção, pois eventuais
arquivos específicos da configuração da máquina Windows, por exemplo, não deveriam
ser rastreados junto, mas não é objetivo deste ebook entrar neste nível de detalhe.

Por fim, o comando git commit encerra nossas modificações, permitindo que sejam
transferidas para um repositório geral.

Agora temos um repositório Git em nossa máquina local Windows. Poderemos utilizar o
Git para controlar versões, mas ainda precisamos de uma forma de compartilhar este
repositório com nossa máquina Linux e, no futuro, eventualmente com outros
desenvolvedores. Para isso utilizaremos o GitHub.

15
Criando um Repositório no GitHub
O primeiro passo para criar um repositório no GitHub é criar uma conta. Este é um
passo simples e bastante semelhante a criação de contas em redes sociais e outras
plataformas de serviços online. Entre em GitHub e crie uma conta gratuita clicando em
Sign up - [Link]

Ao se logar, você poderá criar um novo repositório Git diretamente pela interface:

16
Para este ebook, utilizaremos o nome Exemplo para o repositório criado. Observe que
se ele for público, outras pessoas terão acesso ao código que você vai transferir.

Após a criação do repositório, a própria interface nos mostra o comando necessário


para transferir para ele nosso repositório criado na máquina Windows.

17
Retornando ao nosso shell da máquina Windows, podemos executar estes dois
comandos para transferir nossos arquivos para o GitHub:

git remote add origin [Link]


git push -u origin master

18
Clonando o Repositório Git para o AWS
Linux 2
Nas unidades anteriores nós instalamos o Git no Windows e criamos um repositório
com os fontes de nosso aplicativo e criamos um repositório Git no GitHub.

O que faremos neste momento será executar no Amazon Linux os comandos para criar
uma cópia do mesmo repositório, executando os comandos a seguir:

cd /var/www/html
mkdir exemplo
cd exemplo
git clone [Link]

Observe a execução dos comandos no Putty. Caso seu GitHub seja protegido por senha,
você terá que entrar também com seu usuário e senha.

19
O que nós temos neste momento é que em nosso servidor Linux temos uma cópia dos
mesmos fontes de nossa aplicação executando em nosso servidor Windows.
Obviamente poderíamos ter apenas enviado os arquivos de um servidor para outro por
outros mecanismos, mas aqui temos a vantagem de ter o controle de versão e a
sincronização entre os fontes nos dois ambientes.

O que precisaremos agora é a configuração do Apache para acessar a aplicação e a cópia


e configuração do banco de dados, para então termos a aplicação rodando nos dois
ambientes.

20
Configurando o servidor HTTP para
Testes
Neste exemplo, vamos preparar o acesso ao servidor da aplicação com uma
configuração apenas de teste, definindo manualmente o domínio em uma máquina de
teste. Para a aplicação efetivamente estar no ar, será necessário apenas a configuração
também do domínio na Internet.

Para nosso teste iremos utilizar o domínio [Link]. Como não iremos
definir na internet, a rigor podemos utilizar qualquer domínio, pois ele só será utilizado
em nossa máquina local.

Vamos alterar o arquivo de configurações do Apache utilizando o editor VI. Para isso
execute os seguintes comandos, em nossa máquina AWS linux:

cd /etc/httpd/conf
sudo vi [Link]

No final do arquivo, insira o código a seguir (é conveniente você se familiarizar com o


editor VI, mas uma dica básica é que ele inicia em um modo de entrada de comandos, e
com a tecla i você altera para o modo de inserção de dados. A tecla ESC retorna para o
modo de inserção de comandos e digitando :x você salva e sai do editor).

<VirtualHost *:80>
ServerName [Link]
DocumentRoot "/var/www/html/exemplo"
<Directory "/var/www/html/exemplo">
AllowOverride all
</Directory>
</VirtualHost>

Para as mudanças no arquivo de configuração do Apache fazerem efeito, precisamos


reiniciar o servidor Apache, executando o código a seguir:

sudo systemctl restart httpd

21
Com isso, agora, se acessarmos nosso servidor Linux a partir da URL
[Link] o servidor Apache vai ler e executar aplicativos do diretório
/var/www/html/exemplo. Entretanto, para termos este resultado, precisaremos que o
domínio [Link] seja configurado para nosso servidor Linux, ou – o que
faremos para teste neste exemplo – configuremos manualmente nossa máquina
Windows de teste, como veremos na unidade seguinte.

22
Configurando um Domínio Localmente
O que nós iremos fazer, agora, é configurar para que, ao digitarmos
[Link] em um navegador Chrome em uma máquina local, sejamos
levados para nosso servidor Linux. Já configuramos para, ao receber uma requisição
vinda de [Link], seja executada a aplicação que havíamos copiado de
uma máquina local.

Nosso primeiro passo é identificar o endereço IP de nossa máquina Linux. Fazemos isso
no console do EC2, como mostrado na figura a seguir:

Iremos agora editar o arquivo \windows\system32\drivers\etc\[Link] em nossa


máquina de testes, conforme mostrado na figura a seguir.

23
Com esta instrução que incluímos na linha 23 do arquivo [Link], informamos o
Chrome que o acesso ao endereço [Link] irá diretamente acessar o
servidor especificado, no caso, nossa máquina Linux.

24
Transferindo o Banco de Dados

Nós iremos assumir que ambos os ambientes estão com sistemas de bancos de dados
MariaDB instalados, e com o phpMyAdmin configurado.

O que precisaremos fazer é instalar o banco de dados de nossa aplicação no Linux, e


copiar para o mesmo tanto a estrutura quanto os dados de nossa aplicação local.

Neste exemplo, vamos optar por criar o banco de dados na interface web do
phpMyAdmin de nosso ambiente Linux, simplesmente clicando em novo. Em nosso
tutorial, vamos criar o banco de dados exemplo, mesmo nome de nosso banco de dados
da aplicação rodando em nossa máquina local Windows.

Agora, utilizaremos uma ferramenta chamada mysqldump.

No shell ou prompt de comando de nossa máquina Windows, digite o seguinte


comando:

25
mysqldump -u root -p exemplo > c:\xampp\htdocs\AppExemplo\[Link]

Através deste comando, estamos criando um arquivo SQL contendo todas as instruções
para criar as tabelas e inserir os dados de nossa base de dados exemplo. Basta agora
copiar este arquivo para nossa máquina Linux e executar o seguinte comando:

mysql -u root -p exemplo < [Link]

Este comando, grosso modo, faz o caminho inverso, executando todos os comandos
SQL vindos de [Link].

Observação: Há diferentes formas de transferir um arquivo para uma máquina Linux.


Pode-se até mesmo utilizar o Git para isso, rastreando e incluindo no Git o arquivo sql, e
depois atualizando o ambiente Linux.

Observação 2: para a aplicação executar corretamente nos dois ambientes, será


necessário utilizar as mesmas senhas de acesso ao MariaDB ou, o que é mais comum e
recomendável, separar as informações de acesso em um arquivo de configuração, que
não é incluído no Git, de forma que cada ambiente tenha suas informações locais para
conexão ao banco de dados, que não são compartilhadas pelo repositório. Isso assegura
a possibilidade de utilizar senhas diferentes, evita a circulação delas na internet, e
garante mais segurança aos ambientes.

26

Você também pode gostar