Mudanças entre as edições de "Configurações Magento 2 para o Google Cloud"

De Tek-System Wiki
Ir para navegação Ir para pesquisar
Linha 21: Linha 21:
  ./install.sh
  ./install.sh


Reinicie o terminal ou rode: `source ~/.`
Reinicie o terminal ou rode: source ~/.


  source ~/.zshrc
  source ~/.zshrc
Linha 64: Linha 64:




### Compute Engine
==== Compute Engine ====
 
Se você possui mais de uma conta google cloud e/ou não está logado, primeiro você precisa se autenticar com o google cloud rodando:
Se você possui mais de uma conta google cloud e/ou não está logado, primeiro você precisa se autenticar com o google cloud rodando:
<!--If you have more google cloud accounts or you are not logged in, you need first to authenticate with google cloud:-->
<!--If you have more google cloud accounts or you are not logged in, you need first to authenticate with google cloud:-->
Linha 79: Linha 80:
[[Arquivo:Img2.jpg|1100px|center|Exportação para RAIS]]
[[Arquivo:Img2.jpg|1100px|center|Exportação para RAIS]]


### Configure Linux Machine:  
==== Configure Linux Machine: ====
`sudo su`
sudo su


`apt-get update -y`
apt-get update -y


`apt-get upgrade -y`
apt-get upgrade -y


`apt-get install build-essential -y`
apt-get install build-essential -y  


`apt-get install -y git vim curl`
apt-get install -y git vim curl


`curl -sSL get.docker.com | sh`
curl -sSL get.docker.com | sh


`usermod -aG docker your-user` (e.g. Mac 127)
usermod -aG docker your-user (e.g. Mac 127)


`run:`
run:  
```
<div style="background-color: #EEE;padding:1em">
curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
```
</div>


`chmod +x /usr/local/bin/docker-compose`
chmod +x /usr/local/bin/docker-compose


`reboot`
reboot


Rode o seu comando se acesso do gcloud: `gcloud compute --project "just-camera-182519" ssh --zone "us-central1-c" "ecommerce"`
Rode o seu comando se acesso do gcloud: gcloud compute --project "just-camera-182519" ssh --zone "us-central1-c" "ecommerce"


Verifique a versão do Docker instalada: `docker version`
Verifique a versão do Docker instalada: docker version


[[Arquivo:Img3.jpg|1100px|center|Exportação para RAIS]]
[[Arquivo:Img3.jpg|1100px|center|Exportação para RAIS]]




### Instâncias de VM
==== Instâncias de VM ====
 
Abra a VM na janela do navegador.  
Abra a VM na janela do navegador.  


Linha 120: Linha 123:




### Terminal
====  Terminal ====
Acesse: `gcloud compute --project "just-camera-182519" ssh --zone "us-central1-c" "ecommerce"`
 
Acesse: gcloud compute --project "just-camera-182519" ssh --zone "us-central1-c" "ecommerce"


`sudo su`
sudo su


`cd /home/yourdir/`
cd /home/yourdir/


`apt-get install zip`
apt-get install zip


`unzip file`
unzip file


Agora o arquivo foi descomprimido e você pode acessar a pasta do Magento em sua VM.
Agora o arquivo foi descomprimido e você pode acessar a pasta do Magento em sua VM.


### Dentro da pasta raíz do Magento
==== Dentro da pasta raíz do Magento ====
 
Como neste projeto é utilizado o Docker foi montado um Docker Compose com tudo que é preciso para rodar a aplicação.
Como neste projeto é utilizado o Docker foi montado um Docker Compose com tudo que é preciso para rodar a aplicação.
Baixe este Docker Compose do GitHub, faça o upload para a pasta raíz e descomprima:  
Baixe este Docker Compose do GitHub, faça o upload para a pasta raíz e descomprima:  
Linha 141: Linha 146:
Este docker-compose vem com Nginx, PHP5.6, Mysql and Phpmyadmin.
Este docker-compose vem com Nginx, PHP5.6, Mysql and Phpmyadmin.


`cd magento2-docker-compose`
cd magento2-docker-compose


`docker-compose up -d`
docker-compose up -d


Agora o Magento está rodando utilizando estes containers.
Agora o Magento está rodando utilizando estes containers.




### Acesse sem https
==== Acesse sem https ====
 
youripaddress/phpmyadmin -> crie um banco de dados patra a instalação
youripaddress/phpmyadmin -> crie um banco de dados patra a instalação




==== Se ocorrer forbidden ====


###### Se ocorrer forbidden
docker-compose exec magento bash
`docker-compose exec magento bash`


`chown www-data:www-data ../html/ -R`
chown www-data:www-data ../html/ -R


Isso muda o root para: www-data
Isso muda o root para: www-data
Linha 164: Linha 170:
-> Na instalação Magento o host do bando de dados não será `localhost` mas sim `mysql`.
-> Na instalação Magento o host do bando de dados não será `localhost` mas sim `mysql`.


##### Se o seu mysql não conectar altere o proprietário do dos diretórios.


`docker-compose exec mysql bash`
===== Se o seu mysql não conectar altere o proprietário do dos diretórios. =====
 


`cd /var/lib/mysql`
docker-compose exec mysql bash


`chown mysql:mysql ../mysql/ -R`
cd /var/lib/mysql  


`exit`
chown mysql:mysql ../mysql/ -R
 
exit  


Acessa mysql dentro do container e altera o proprietário.
Acessa mysql dentro do container e altera o proprietário.
Linha 178: Linha 186:




### Acessar Servidor
====  Acessar Servidor ====
 
comando gcloud: `gcloud compute --project "just-camera-182519" ssh --zone "us-central1-c" "ecommerce"`
comando gcloud: `gcloud compute --project "just-camera-182519" ssh --zone "us-central1-c" "ecommerce"`


`sudo su`
sudo su
 
/home/yourdir/


`/home/yourdir/`


====  Instalando o Composer ====


### Instalando o Composer
Primeiro entre no container docker do PHP: docker-compose exec magento bash
Primeiro entre no container docker do PHP: `docker-compose exec magento bash`


Vá até [Composer Download](https://getcomposer.org/download/)  
Vá até [Composer Download](https://getcomposer.org/download/)  
Linha 200: Linha 210:




====  Para resolver alguns problemas ====


### Para resolver alguns problemas
php bin/magento setup:upgrade  
`php bin/magento setup:upgrade`


`php bin/magento setup:static-content:deploy`
php bin/magento setup:static-content:deploy


`chmod 777 -R var/ pub/`
chmod 777 -R var/ pub/




---------------------------------------------------------------------------------------------------------------------
==== FTP ====


---------------------------------------------------------------------------------------------------------------------
### FTP


O acesso FTP é importante para alterar arquivos diretamente no servidor e fazer alterações.  
O acesso FTP é importante para alterar arquivos diretamente no servidor e fazer alterações.  
Para ter acesso FTP pelo filezilla siga os seguintes passos:
Para ter acesso FTP pelo filezilla siga os seguintes passos:


Crie uma chave ssh local para o usuário `root`
Crie uma chave ssh local para o usuário root


`ssh-keygen -t rsa -f ~/.ssh/root-ssh-key -C root`
ssh-keygen -t rsa -f ~/.ssh/root-ssh-key -C root  


Dê a permissão
Dê a permissão


`chmod 400 ~/.ssh/root-ssh-key`
chmod 400 ~/.ssh/root-ssh-key  




Copie e adicione ao gcloud metadata no site
Copie e adicione ao gcloud metadata no site


`cat ~/.ssh/root-ssh-key.pub`
cat ~/.ssh/root-ssh-key.pub  


Clique em `Editar` e `+ Adicionar Item` e cole o código que copiou no terminal.
Clique em Editar e + Adicionar Item e cole o código que copiou no terminal.


[[Arquivo:Metadados.jpg|1100px|center|Exportação para RAIS]]
[[Arquivo:Metadados.jpg|1100px|center|Exportação para RAIS]]
Linha 235: Linha 245:
Importe a chave para o Filezilla
Importe a chave para o Filezilla


`vá até settings/SFTP e adicione o seu .ssh/root-ssh-key`
vá até settings/SFTP e adicione o seu .ssh/root-ssh-key


Se o openssh não estiver instalado
Se o openssh não estiver instalado


`sudo apt-get install openssh-server`
sudo apt-get install openssh-server


Configure o arquivo  
Configure o arquivo  


`sudo vi /etc/ssh/sshd_config`
sudo vi /etc/ssh/sshd_config


pressione i para o INSERT command  
pressione i para o INSERT command  


encontre a linha que contém `"PermitRootLogin no"` e modifique para `"PermitRootLogin yes"`
encontre a linha que contém "PermitRootLogin no" e modifique para "PermitRootLogin yes"


Para salvar e sair do vi / vim, pressione [Esc] e ZZ (uppercase)
Para salvar e sair do vi / vim, pressione [Esc] e ZZ (uppercase)
Linha 253: Linha 263:
Agora basta reiniciar o servidor ssh.
Agora basta reiniciar o servidor ssh.


`sudo service ssh restart`
sudo service ssh restart


Faça conexão usando o endereço de IP como host e `root` como nome de usuário e o protocolo será SFTP
Faça conexão usando o endereço de IP como host e `root` como nome de usuário e o protocolo será SFTP

Edição das 17h09min de 27 de fevereiro de 2018

Com este guia você será capaz de configurar o Google Cloud Compute Engine para instalação do Magento 2.

Google Cloud Platform é conhecida como uma plataforma como serviço (paas) que nos fornece um ambiente para construir e rodar aplicações com baixa complexidade e boa manutenção.

O primeira coisa que você precisa fazer é criar uma conta no Google Cloud Platform (https://cloud.google.com).

Inicialmente você ganha $300 de crédito para teste, para isso você só precisa se cadastrar usando um cartão de créditpo válido.

Não se preocupe, você não será cobrado ao final do período de teste, a menos que ative o faturamento.

Uma vez cadastrado basta seguir os passos na sequência.

Baixe o Google Cloud SDK

O SDK pode ser baixado em: https://cloud.google.com/sdk/?hl=pt-br

Dentro da pasta do Google Cloud SDK rode:

Instalar o python: `brew install python`

./install.sh

Reinicie o terminal ou rode: source ~/.

source ~/.zshrc
gcloud init


Se o comando de inicialização do gcloud não funcionar

É preciso adicionar ao PATH


Este comando atualiza o PATH para o Google Cloud SDK

source '/yourhomedir/google-cloud-sdk/path.bash.inc'

Este comando habilita o bash completion para o gcloud.

source '/yourhomedir/google-cloud-sdk/completion.bash.inc'

Ao final da instalação do google cloud SDK ele informa os caminhos corretos para o commando source

Seguir os comandos descritos no link: https://kadirsert.blogspot.com.br/2014/09/gcloud-command-not-found-error.html


Crie uma VM

Crie uma instância de VM.

Configure sua máquina

Habilite http e https

Exportação para RAIS


Rede VPC

Endereço de IP Externo

Firewall Rules - criar regra - default-allow-mysql / tcp:3306


Compute Engine

Se você possui mais de uma conta google cloud e/ou não está logado, primeiro você precisa se autenticar com o google cloud rodando:

gcloud auth login

gclou command (depends on your case):

run command in terminal

ssh - gcloud command line: `gcloud compute --project "just-camera-182519" ssh --zone "us-central1-c" "ecommerce"` Seu comando gcloud será diferente. Vá até SSH tab e clique em 'Visualizar comando gcloud'.

<img src="/images/img2.png" width="1000">

Exportação para RAIS

Configure Linux Machine:

sudo su
apt-get update -y
apt-get upgrade -y
apt-get install build-essential -y 
apt-get install -y git vim curl
curl -sSL get.docker.com | sh
usermod -aG docker your-user (e.g. Mac 127)
run: 

curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose
reboot

Rode o seu comando se acesso do gcloud: gcloud compute --project "just-camera-182519" ssh --zone "us-central1-c" "ecommerce"

Verifique a versão do Docker instalada: docker version

Exportação para RAIS


Instâncias de VM

Abra a VM na janela do navegador.

Comprima a pasta do Magento

Faça o Upload

Exportação para RAIS


Terminal

Acesse: gcloud compute --project "just-camera-182519" ssh --zone "us-central1-c" "ecommerce"

sudo su
cd /home/yourdir/
apt-get install zip
unzip file

Agora o arquivo foi descomprimido e você pode acessar a pasta do Magento em sua VM.

Dentro da pasta raíz do Magento

Como neste projeto é utilizado o Docker foi montado um Docker Compose com tudo que é preciso para rodar a aplicação. Baixe este Docker Compose do GitHub, faça o upload para a pasta raíz e descomprima:

[Baixar o docker-compose](https://github.com/pedromazala/magento2-docker-compose)

Este docker-compose vem com Nginx, PHP5.6, Mysql and Phpmyadmin.

cd magento2-docker-compose
docker-compose up -d

Agora o Magento está rodando utilizando estes containers.


Acesse sem https

youripaddress/phpmyadmin -> crie um banco de dados patra a instalação


Se ocorrer forbidden

docker-compose exec magento bash
chown www-data:www-data ../html/ -R

Isso muda o root para: www-data


-> Na instalação Magento o host do bando de dados não será `localhost` mas sim `mysql`.


Se o seu mysql não conectar altere o proprietário do dos diretórios.
docker-compose exec mysql bash 
cd /var/lib/mysql 
chown mysql:mysql ../mysql/ -R 
exit 

Acessa mysql dentro do container e altera o proprietário.


Acessar Servidor

comando gcloud: `gcloud compute --project "just-camera-182519" ssh --zone "us-central1-c" "ecommerce"`

sudo su
/home/yourdir/ 


Instalando o Composer

Primeiro entre no container docker do PHP: docker-compose exec magento bash

Vá até [Composer Download](https://getcomposer.org/download/)

Rode o comando que está dentro da caixa de texto.

Então rode o comando: `mv composer.phar /usr/local/bin/composer`


OBS: Um alternativa é instalar o Magento no localhost e então subir para o servidor já com todos os módulos instalados. Exporte o banco de dados e importe dentro do phpmyadmin.


Para resolver alguns problemas

php bin/magento setup:upgrade 
php bin/magento setup:static-content:deploy
chmod 777 -R var/ pub/



FTP

O acesso FTP é importante para alterar arquivos diretamente no servidor e fazer alterações. Para ter acesso FTP pelo filezilla siga os seguintes passos:

Crie uma chave ssh local para o usuário root

ssh-keygen -t rsa -f ~/.ssh/root-ssh-key -C root 

Dê a permissão

chmod 400 ~/.ssh/root-ssh-key 


Copie e adicione ao gcloud metadata no site

cat ~/.ssh/root-ssh-key.pub 

Clique em Editar e + Adicionar Item e cole o código que copiou no terminal.

Exportação para RAIS

Importe a chave para o Filezilla

vá até settings/SFTP e adicione o seu .ssh/root-ssh-key

Se o openssh não estiver instalado

sudo apt-get install openssh-server

Configure o arquivo

sudo vi /etc/ssh/sshd_config

pressione i para o INSERT command

encontre a linha que contém "PermitRootLogin no" e modifique para "PermitRootLogin yes"

Para salvar e sair do vi / vim, pressione [Esc] e ZZ (uppercase)

Agora basta reiniciar o servidor ssh.

sudo service ssh restart

Faça conexão usando o endereço de IP como host e `root` como nome de usuário e o protocolo será SFTP

Filezilla funcionando para o seu servidor!

Links úteis:

https://askubuntu.com/questions/400858/how-to-configure-sftp-to-login-in-the-directory

https://torbjornzetterlund.com/using-filezilla-google-cloud-platform-osx/