SlideShare uma empresa Scribd logo
Programação Multiplataforma em
Ambiente Web
Ambientes de desenvolvimento, prontos:
WAMP
Windows - Apache - MySQL - PHP
LAMP
Linux - Apache - MySQL - PHP
WINGINX
Windows - PHP - Node.js - Nginx - MySQL - MongoDB - Redis -
memcached
DevOps
DevOps (amálgama de Desenvolvedor e Operações) é uma
metodologia de desenvolvimento de software que explora a
comunicação, colaboração e integração entre desenvolvedores de
software e outros pro ssionais de TI (Tecnologia da Informação).
DevOps é a reação à interdependência entre desenvolvimento de
software e operações de TI. Pretende ajudar organizações a produzir
software e serviços rapidamente.
DevOps
Windows / Linux
Sistema Operacional é um programa ou conjunto de programas que
gerencia os recursos do sistema, entre eles: memória, processador,
sistema de arquivo, sistema de armazenamento, softwares. Possuindo
uma interface de comunicação entre o usuário e o computador.
Sistemas Operacionais
Apache
É o servidor web livre mais utilizado do mundo.
Servidor Apache - Wikipédia
Servidor Web
É um software, que serve páginas da web. Aguarda pedidos de
navegadores de internet (clientes) e responde enviando os dados
solicitados/necessários. Essa interação cliente-servidor é a marca
registrada de como a web funciona.
Servidor Web - Wikipédia
Nginx
Nginx [engine x] é um servidor proxy HTTP e reverso, bem como um
servidor de proxy de email, escrito por Igor Sysoev desde 2005.
O Nginx é um servidor web rápido, leve, e com inúmeras possibilidades
de con guração para melhor performance.
Nginx - Wikipédia
MySQL
É um sistema de gerenciamento de banco de dados (SGBD), que utiliza
a linguagem SQL como interface. É atualmente um dos bancos de
dados mais populares, com mais de 10 milhões de instalações pelo
mundo.
MySQL - Wikipédia
MariaDB
MariaDB é um banco de dados que surgiu como fork do MySQL, criado
pelo próprio fundador do projeto após sua aquisição pela Oracle.
Maria DB - Wikipédia
PHP
PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor",
originalmente Personal Home Page) é uma linguagem interpretada
livre, usada originalmente apenas para o desenvolvimento de
aplicações presentes e atuantes no lado do servidor, capazes de gerar
conteúdo dinâmico na World Wide Web.
PHP - Wikipédia
XDebug
Uma das ferramentas mais úteis no desenvolvimento de software é um
depurador apropriado. Ele permite que você trace a execução do seu
código e monitore os itens na pilha de execução. XDebug, um
depurador de PHP, pode ser utilizado por várias IDEs para prover
breakpoints e inspecionar a pilha. Ele também lhe permite que
ferramentas como PHPUnit e KCacheGrind realizem análise de
cobertura e per s de código.
PHP Right Way - XDebug
Phalcon
Framework PHP full-stack entregue como extensão C.
Phalcon
Servidor Web (Windows)
Apache (https://www.apache.org/dyn/closer.cgi)
MySQL (https://www.mysql.com/)
PHP (https://secure.php.net/)
PHP - XDebug (https://xdebug.org/)
Nginx (https://www.nginx.com/)
MariaDB (https://mariadb.org/)
Receita
Windows 7 (x64)
Apache (httpd-2.4.25-x64-vc14-r1.zip) (E:apache)
PHP 7.1.2 (VC14 x64 Thread Safe)
XDebug (php_xdebug-2.5.0-7.1-vc14-x86_64.dll)
MySQL (mysql-installer-community-5.7.17.0)
Nginx (nginx/Windows-1.10.3)
MariaDB (mariadb-10.1.21-winx64.msi)
Instalação do Apache
Download do Apache (httpd-2.4.25-x64-vc14-r1.zip)
Descompactar no diretório E:/apache
Criar serviço para o Apache iniciar com o Windows, na linha de
comando dentro da pasta de instalação E:/apache , digite
httpd.exe -k install -n "Apache 2.4"
Arquivo principal de con guração do Apache: httpd.conf
Instalação do PHP
Download do PHP 7.1.2 (VC14 x64 Thread Safe)
Descompactar no diretório E:/apache/php
Copiar o arquivo php.ini-development para php.ini
Arquivo principal de con guração do PHP: php.ini
Con guração do PHP no Apache
Arquivo htttp.conf (E:/apache/conf)
182 LoadModule php7_module "E:/apache/php/php7apache2_4.dll"
184 PHPIniDir "E:/apache/php"
284 DirectoryIndex index.php index.html
436 AddHandler application/x-httpd-php .php
437 AddType application/x-httpd-php .php .html
Con guração do XDebug no PHP
Download php_xdebug-2.5.0-7.1-vc14-x86_64.dll
Mover para a pasta de extensões do PHP (E:apachephpext)
Copiar o arquivo php.ini-development para php.ini
Adicionar a linha abaixo no arquivo php.ini
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
zend_extension = E:apachephpextphp_xdebug-2.5.0-7.1-vc14-x86_64.dll
Instalação do MySQL
Download do MySQL (mysql-installer-community-5.7.17.0)
Instalar o componente MySQL Server
Utilizar a opção Development Machine
Instalação do Phalcon
Versão ainda não compatível com PHP 7.1
.htaccess
Arquivo de exemplo comentado
Instalação do Nginx
Download NGINX 1.10.3, descompactar em E:/nginx
Pela linha de comando entrar na pasta E:/nginx
Digitar o comando start nginx
Pode-se adicionar o caminho E:/nginx na variável de ambiente PATH
Comandos NGINX
nginx -s stop > fast shutdown
nginx -s quit > graceful shutdown
nginx -s reload > starting new worker processes with a new configuration
nginx -s reopen > re-opening log files
Apache e NGINX utilizam a mesma porta para funcionamento 80
Con guração do PHP no Nginx
Download PHP 7.1 TS, descompactar em E:/nginx/php
Copiar arquivo php.ini-production ou php.ini-development para
php.ini
Diferença entre PHP e PHP CGI
Con guração do PHP no Nginx
Alterar o arquivo nginx.conf (E:/nginx/conf)
45 index index.php index.html index.htm;
Descomentar e alterar
65 location ~ .php$ {
66 root html;
67 fastcgi_pass 127.0.0.1:9000;
68 fastcgi_index index.php;
69 fastcgi_param SCRIPT_FILENAME E:/nginx/html$fastcgi_script_name;
70 include fastcgi_params;
71 }
Con guração do PHP no Nginx
Criar arquivo para iniciar o Nginx e PHP
@ECHO OFF
start E:nginxnginx.exe
start E:nginxphpphp-cgi.exe -b 127.0.0.1:9000 -c E:nginxphpphp.ini
echo .
echo ..
echo ...
echo Starting nginx
EXIT
Con guração do PHP no Nginx
Criar arquivo para parar o Nginx e PHP
@ECHO OFF
taskkill /f /IM nginx.exe
taskkill /f /IM php-cgi.exe
EXIT
MariaDB
Download do MariaDB (mariadb-10.1.21-winx64.msi)
Instalação padrão
MySQL e MariaDB utilizam a mesma porta para funcionamento 3306
Servidor Web (Linux)
Distribuições (https://pt.wikipedia.org/wiki/Distribuição_Linux)
Comandos básicos do linux (https://goo.gl/CXbi0w)
Debian
Slackware
Red Hat
Servidor Web (Debian)
Atualizar repositórios
apt-get update
Apache
apt-get install apache2 apache2-doc -y
Arquivo de con guração do Apache "/etc/apache2/apache2.conf"
Liberar acesso para root conectar
nano /etc/ssh/sshd_config
PermitRootLogin yes
Servidor Web (Debian)
Reiniciar Acessar via SSH (Bitvise)
Servidor Web (Debian)
Deixando o Terminal colorido
Editar o arquivo ~/.bashrc
Descomentar as linhas
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
Servidor Web (Debian)
Deixando o Terminal colorido
Alterar a linha
PS1='${debian_chroot:+($debian_chroot)}[033[01;32m]u@h
[033[00m]:[033[01;34m]w[033[00m]$ '
Executar o comando exec bash
Servidor Web (Debian)
Ajustando o Timezone
apt-get install dbus -y
timedatectl set-timezone America/Sao_Paulo
Servidor Web (Debian)
Adicionar URL de repositórios
echo "deb http://packages.dotdeb.org jessie all" | tee -a
/etc/apt/sources.list.d/dotdeb.list
echo "deb-src http://packages.dotdeb.org jessie all" | tee -a
/etc/apt/sources.list.d/dotdeb.list
wget -qO - http://www.dotdeb.org/dotdeb.gpg | apt-key add -
Atualizar repositórios
apt-get update
Servidor Web (Debian)
Instalação do PHP 7
apt-get install php7.0-cli php7.0-curl php7.0-dev php7.0-zip php7.0-gd
php7.0-xml php7.0-mysql php7.0-mcrypt php7.0-mbstring php7.0-opcache
php7.0-imap php7.0-mongodb php7.0-bz2 php7.0-xdebug php7.0-intl php7.0-
xmlrpc php7.0-json php7.0-common php7.0-sqlite3 libapache2-mod-php7.0 -y
Servidor Web (Debian)
Instalação do MySQL
apt-get install mysql-server -y > quando solicitar senha utilizar
<enter>
Via linha de comando entrar no mysql, com o comando mysql e
executar a query
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '';
Alterar o arquivo /etc/mysql/my.cnf
47 #bind-address = 127.0.0.1
Reiniciar o serviço do mysql com o comando service mysql restart
Instalação do Composer
Instalar o CURL apt-get install curl
Instalar o Composer
curl -sS https://getcomposer.org/installer | sudo php -- --install-
dir=/usr/local/bin --filename=composer
Instalação do Git
Execute o comando apt-get install git -y
Instalação do Nodejs
Execute o comando apt-get install nodejs -y
Instalação do NPM
Execute o comando apt-get install npm -y
Instalação de pacotes npm
npm install bower -g
npm install grunt-cli -g
App
Git
Sistema de Controle de Versão
Organização
Trabalho em equipe
Segurança
Release (http://semver.org/)
Criado por Linus Torvalds (2005)
Sistema descentralizado
Github - Git Cheat Sheet
Con gurando Git
Instalação (https://git-scm.com/ - Git-2.12.1-64-bit)
git config --global user.name "Nome do usuário"
git config --global user.email "email@usuario.com"
git config --global color.ui true
Criando um repositório:
mkdir <diretorio>
cd <diretorio>
git init
Usando Git
Criar um arquivo <arquivo>
Primeiro estágio - Untracked Files
git status
Segundo estágio - Changes to be committed
git add <arquivo>
git add .
Terceiro estágio - Committed
git commit -m "<mensagem>"
Veri cando histórico de commits
git log
Git - log
Veri cando log
git log -p -2
git log --stat
git log --pretty=oneline
git log --pretty=format:"%h - %an, %ar : %s"
git log --since=2.days
git log --since=2.weeks
Git - ignore
Ignorando arquivos
Criar um arquivo .gitignore na pasta raiz do projeto e adicionar todos
os arquivos ou pastas, que deverão ser ignorados no versionamento.
.idea/
gitignore.txt
/tmp/cache/persistent/*
!/tmp/cache/persistent/empty
Git - checkout e HEAD
O reset HEAD serve para voltar untracked les e o checkout para voltar
arquivos que já foram adicionados e estão modi cados.
git reset HEAD arquivo2.txt
git checkout a1e8fb5 arquivo3.txt
Git - HEAD
git reset HEAD~1-n
git reset HEAD~1 --soft
git reset HEAD~1 --hard
Soft: remove todos os commits posteriores voltando os para o
estágio anterior que é changed to be commited, mas ele os mantem
na pasta para que possa ser adicionado novamente.
Hard: remove todos os commits posteriores a versão acessada e
também os arquivos que a eles perteciam.
Git - checkout
Voltando versões
git checkout a7e09ab07b1f6622a49ebfb59fc76c77358d6caf
git checkout a7e09ab
Git - checkout
Voltando versões
git checkout a7e09ab07b1f6622a49ebfb59fc76c77358d6caf
git checkout a7e09ab
Git - branch
Branch principal master
Git ow
Git - branch
Veri cando branches: git branch
Veri cando branches (locais e remotos): git branch -a
Criando branch: git checkout -b <branch>
Trocando de branch: git checkout <branch>
Enviar branch para origem: git push -u origin <branch>
Ligando branch remoto com local:
git checkout -b <branch> origin/<branch>
Git - push / pull
Atualizar arquivos locais: git pull
Enviar commits para servidor remoto: git push
Antes de enviar commits, sempre atualizar arquivos locais antes
Indicando repositório e branch: git pull origin master
Git - Gerando chave
Gerar chave com o comando ssh-keygen (*não utilizar senha)
Abrir o arquivo id_rsa.pub e copiar o conteúdo
No Github: Settings > SSH and GPG keys
Clique no botão New SSH Key
Colocar um título e colar o conteúdo
Git - clone
Clonar/Copiar um repositório
git clone git@github.com:<usuario>/<repositorio>.git <pasta>
Git - remote
Adicionando repositório remoto
git remote add <nomecurto> git@github.com:<usuario>/<repositorio>.git
Geralmente se usa o nome curto: upstream
Git - Sincronizando com remote
Atualizar seu repositório com alterações de remoto
git fetch upstream
git checkout <branch>
git merge upstream/<branch>
Veri car se ocorreram erros no merge
Git - tag
Geração de tags
Gerar uma tag git tag <tag> (0.1.0)
Listar tags git tag -l
Enviar para repositório git push origin master --tags
Versionamento semântico
Markdown
Github Markdown
Coffe time

Mais conteúdo relacionado

Mais procurados

Aulão de docker
Aulão de dockerAulão de docker
Aulão de docker
Renato Lucena
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
Fernando Ike
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
Michael Castillo Granados
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o Docker
WebSix
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
Tobias Sette
 
Python CGI
Python CGIPython CGI
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolso
Diogo Lucas
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + docker
Wellington Silva
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
Matheus Fidelis
 
DevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e DockerDevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e Docker
Lucas Arbiza
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
Rodrigo Emereciano
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
Wellington Silva
 
Aula14 vsftp de-introopenldap
Aula14 vsftp de-introopenldapAula14 vsftp de-introopenldap
Aula14 vsftp de-introopenldap
Roberto Castro
 
Introdução ao zend framework
Introdução ao zend frameworkIntrodução ao zend framework
Introdução ao zend framework
Marcos Oliveira
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
Amazon Web Services LATAM
 
Project HA
Project HAProject HA
Project HA
Karpv
 
Crud
CrudCrud
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
Marcelo Santos
 
Ambiente de desenvolvimento com docker e ruby on rails
Ambiente de desenvolvimento com  docker e ruby on railsAmbiente de desenvolvimento com  docker e ruby on rails
Ambiente de desenvolvimento com docker e ruby on rails
SeRHmatica - Sistemas e Serviços
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimento
Sérgio Lima
 

Mais procurados (20)

Aulão de docker
Aulão de dockerAulão de docker
Aulão de docker
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o Docker
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
 
Python CGI
Python CGIPython CGI
Python CGI
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolso
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + docker
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
 
DevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e DockerDevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e Docker
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
 
Aula14 vsftp de-introopenldap
Aula14 vsftp de-introopenldapAula14 vsftp de-introopenldap
Aula14 vsftp de-introopenldap
 
Introdução ao zend framework
Introdução ao zend frameworkIntrodução ao zend framework
Introdução ao zend framework
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Project HA
Project HAProject HA
Project HA
 
Crud
CrudCrud
Crud
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
Ambiente de desenvolvimento com docker e ruby on rails
Ambiente de desenvolvimento com  docker e ruby on railsAmbiente de desenvolvimento com  docker e ruby on rails
Ambiente de desenvolvimento com docker e ruby on rails
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimento
 

Destaque

Presentación1
Presentación1Presentación1
Principal of marketing
Principal  of marketingPrincipal  of marketing
Principal of marketing
Dr. Ikram. Indhar
 
Herramientas ofimaticas
Herramientas ofimaticasHerramientas ofimaticas
Herramientas ofimaticas
diegoleoncontreras
 
The selfish giant
The selfish giantThe selfish giant
The selfish giant
englefieldf11
 
Circuito electrico
Circuito electricoCircuito electrico
Circuito electrico
chico101
 
HTML - HyperText Markup Language - 3
HTML - HyperText Markup Language - 3HTML - HyperText Markup Language - 3
HTML - HyperText Markup Language - 3
Israel Messias
 
Programação Orientada a Objetos (POO) com PHP - Parte 2
Programação Orientada a Objetos (POO) com PHP - Parte 2Programação Orientada a Objetos (POO) com PHP - Parte 2
Programação Orientada a Objetos (POO) com PHP - Parte 2
Israel Messias
 
Circuito electrico 11ª2
Circuito electrico 11ª2Circuito electrico 11ª2
Circuito electrico 11ª2
mandon21
 
Taller nº2
Taller nº2Taller nº2
Taller nº2
1mariasantiago
 
Chapter 12 RG
Chapter 12 RGChapter 12 RG
Chapter 12 RG
Geoff Brabham
 
Internal Combustion Engine
Internal Combustion EngineInternal Combustion Engine
Internal Combustion Engine
mohammed tayeeb
 
Measured drawings
Measured drawingsMeasured drawings
Measured drawings
jiuaN59
 
Maqueta 4
Maqueta 4Maqueta 4
English Grammar in Kurdish | ڕێزمانی ئینگلیزی
English Grammar in Kurdish | ڕێزمانی ئینگلیزیEnglish Grammar in Kurdish | ڕێزمانی ئینگلیزی
English Grammar in Kurdish | ڕێزمانی ئینگلیزی
Sarchia Khursheed
 
Investor presentation march_2017
Investor presentation march_2017Investor presentation march_2017
Investor presentation march_2017
TennantCorporation
 
Batu batureef
Batu batureefBatu batureef
Batu batureef
Ajila shiny
 
Шо ми знаємо про Японію?
Шо ми знаємо про Японію?Шо ми знаємо про Японію?
Шо ми знаємо про Японію?
Понкратова Людмила
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million Users
Amazon Web Services
 
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto CriticoLidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
Rafael Ponte
 

Destaque (20)

Presentación1
Presentación1Presentación1
Presentación1
 
Principal of marketing
Principal  of marketingPrincipal  of marketing
Principal of marketing
 
Herramientas ofimaticas
Herramientas ofimaticasHerramientas ofimaticas
Herramientas ofimaticas
 
CREANDO ESTRELLAS
CREANDO ESTRELLASCREANDO ESTRELLAS
CREANDO ESTRELLAS
 
The selfish giant
The selfish giantThe selfish giant
The selfish giant
 
Circuito electrico
Circuito electricoCircuito electrico
Circuito electrico
 
HTML - HyperText Markup Language - 3
HTML - HyperText Markup Language - 3HTML - HyperText Markup Language - 3
HTML - HyperText Markup Language - 3
 
Programação Orientada a Objetos (POO) com PHP - Parte 2
Programação Orientada a Objetos (POO) com PHP - Parte 2Programação Orientada a Objetos (POO) com PHP - Parte 2
Programação Orientada a Objetos (POO) com PHP - Parte 2
 
Circuito electrico 11ª2
Circuito electrico 11ª2Circuito electrico 11ª2
Circuito electrico 11ª2
 
Taller nº2
Taller nº2Taller nº2
Taller nº2
 
Chapter 12 RG
Chapter 12 RGChapter 12 RG
Chapter 12 RG
 
Internal Combustion Engine
Internal Combustion EngineInternal Combustion Engine
Internal Combustion Engine
 
Measured drawings
Measured drawingsMeasured drawings
Measured drawings
 
Maqueta 4
Maqueta 4Maqueta 4
Maqueta 4
 
English Grammar in Kurdish | ڕێزمانی ئینگلیزی
English Grammar in Kurdish | ڕێزمانی ئینگلیزیEnglish Grammar in Kurdish | ڕێزمانی ئینگلیزی
English Grammar in Kurdish | ڕێزمانی ئینگلیزی
 
Investor presentation march_2017
Investor presentation march_2017Investor presentation march_2017
Investor presentation march_2017
 
Batu batureef
Batu batureefBatu batureef
Batu batureef
 
Шо ми знаємо про Японію?
Шо ми знаємо про Японію?Шо ми знаємо про Японію?
Шо ми знаємо про Японію?
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million Users
 
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto CriticoLidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
 

Semelhante a Programação Multiplataforma em Ambiente Web

Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Thiago Rodrigues
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend Framework
Flávio Lisboa
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenv
Pedro Fernandes Vieira
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
Vinícius de Paula
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory
gigadrop
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
Giovanni Bassi
 
Desenvolvimento web no Linux
Desenvolvimento web no LinuxDesenvolvimento web no Linux
Desenvolvimento web no Linux
Eduardo Rozario
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
David Ruiz
 
Mercurial hg
Mercurial hgMercurial hg
Mercurial hg
Cesar Augusto
 
Cake Php
Cake PhpCake Php
Cake Php
Laura Lopes
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
Gustavo Corrêa Alves
 
Iniciando com o_zend_framework
Iniciando com o_zend_frameworkIniciando com o_zend_framework
Iniciando com o_zend_framework
Milton Rodrigues
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil Competente
Michael Cardoso
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para Linux
Marcelo Sabadini
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
Aécio Pires
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
Bruno Ricardo Siqueira
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
BrunoSouza617
 
Software livre - Parte 3
Software livre - Parte 3Software livre - Parte 3
Software livre - Parte 3
Fabrício Basto
 
Performance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkPerformance de verdade com Phalcon Framework
Performance de verdade com Phalcon Framework
Jaime Neto
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando Programas
Luiz Arthur
 

Semelhante a Programação Multiplataforma em Ambiente Web (20)

Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend Framework
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenv
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Desenvolvimento web no Linux
Desenvolvimento web no LinuxDesenvolvimento web no Linux
Desenvolvimento web no Linux
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 
Mercurial hg
Mercurial hgMercurial hg
Mercurial hg
 
Cake Php
Cake PhpCake Php
Cake Php
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
Iniciando com o_zend_framework
Iniciando com o_zend_frameworkIniciando com o_zend_framework
Iniciando com o_zend_framework
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil Competente
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para Linux
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
 
Software livre - Parte 3
Software livre - Parte 3Software livre - Parte 3
Software livre - Parte 3
 
Performance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkPerformance de verdade com Phalcon Framework
Performance de verdade com Phalcon Framework
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando Programas
 

Mais de Israel Messias

CMS
CMSCMS
Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1
Israel Messias
 
Websockets
WebsocketsWebsockets
Websockets
Israel Messias
 
Arquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - ModelosArquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - Modelos
Israel Messias
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
Israel Messias
 
Arquitetura Cliente-Servidor - Banco de dados
Arquitetura Cliente-Servidor - Banco de dadosArquitetura Cliente-Servidor - Banco de dados
Arquitetura Cliente-Servidor - Banco de dados
Israel Messias
 
Ferramentas para Animações de Sites - Canvas
Ferramentas para Animações de Sites - CanvasFerramentas para Animações de Sites - Canvas
Ferramentas para Animações de Sites - Canvas
Israel Messias
 
Ferramentas para Animações de Sites - Áudio
Ferramentas para Animações de Sites - ÁudioFerramentas para Animações de Sites - Áudio
Ferramentas para Animações de Sites - Áudio
Israel Messias
 
CSS - Cascading Style Sheets - Medidas
CSS - Cascading Style Sheets - MedidasCSS - Cascading Style Sheets - Medidas
CSS - Cascading Style Sheets - Medidas
Israel Messias
 
CSS - Cascading Style Sheets - Revisão
CSS - Cascading Style Sheets - RevisãoCSS - Cascading Style Sheets - Revisão
CSS - Cascading Style Sheets - Revisão
Israel Messias
 
CSS - Cascading Style Sheets - 2
CSS - Cascading Style Sheets - 2CSS - Cascading Style Sheets - 2
CSS - Cascading Style Sheets - 2
Israel Messias
 
CSS - Cascading Style Sheets - 1
CSS - Cascading Style Sheets - 1CSS - Cascading Style Sheets - 1
CSS - Cascading Style Sheets - 1
Israel Messias
 
HTML - HyperText Markup Language - Review
HTML - HyperText Markup Language - ReviewHTML - HyperText Markup Language - Review
HTML - HyperText Markup Language - Review
Israel Messias
 
HTML - HyperText Markup Language - FTP
HTML - HyperText Markup Language - FTPHTML - HyperText Markup Language - FTP
HTML - HyperText Markup Language - FTP
Israel Messias
 
HTML - HyperText Markup Language - Organização de arquivos
HTML - HyperText Markup Language - Organização de arquivosHTML - HyperText Markup Language - Organização de arquivos
HTML - HyperText Markup Language - Organização de arquivos
Israel Messias
 
HTML - HyperText Markup Language - Formulário
HTML - HyperText Markup Language - FormulárioHTML - HyperText Markup Language - Formulário
HTML - HyperText Markup Language - Formulário
Israel Messias
 
HTML - HyperText Markup Language - 4 - Review
HTML - HyperText Markup Language - 4 - Review HTML - HyperText Markup Language - 4 - Review
HTML - HyperText Markup Language - 4 - Review
Israel Messias
 
HTML - HyperText Markup Language - HTML5
HTML - HyperText Markup Language - HTML5HTML - HyperText Markup Language - HTML5
HTML - HyperText Markup Language - HTML5
Israel Messias
 
HTML - HyperText Markup Language - 2
HTML - HyperText Markup Language - 2HTML - HyperText Markup Language - 2
HTML - HyperText Markup Language - 2
Israel Messias
 
HTML - HyperText Markup Language - Introdução
HTML - HyperText Markup Language - IntroduçãoHTML - HyperText Markup Language - Introdução
HTML - HyperText Markup Language - Introdução
Israel Messias
 

Mais de Israel Messias (20)

CMS
CMSCMS
CMS
 
Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1
 
Websockets
WebsocketsWebsockets
Websockets
 
Arquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - ModelosArquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - Modelos
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
 
Arquitetura Cliente-Servidor - Banco de dados
Arquitetura Cliente-Servidor - Banco de dadosArquitetura Cliente-Servidor - Banco de dados
Arquitetura Cliente-Servidor - Banco de dados
 
Ferramentas para Animações de Sites - Canvas
Ferramentas para Animações de Sites - CanvasFerramentas para Animações de Sites - Canvas
Ferramentas para Animações de Sites - Canvas
 
Ferramentas para Animações de Sites - Áudio
Ferramentas para Animações de Sites - ÁudioFerramentas para Animações de Sites - Áudio
Ferramentas para Animações de Sites - Áudio
 
CSS - Cascading Style Sheets - Medidas
CSS - Cascading Style Sheets - MedidasCSS - Cascading Style Sheets - Medidas
CSS - Cascading Style Sheets - Medidas
 
CSS - Cascading Style Sheets - Revisão
CSS - Cascading Style Sheets - RevisãoCSS - Cascading Style Sheets - Revisão
CSS - Cascading Style Sheets - Revisão
 
CSS - Cascading Style Sheets - 2
CSS - Cascading Style Sheets - 2CSS - Cascading Style Sheets - 2
CSS - Cascading Style Sheets - 2
 
CSS - Cascading Style Sheets - 1
CSS - Cascading Style Sheets - 1CSS - Cascading Style Sheets - 1
CSS - Cascading Style Sheets - 1
 
HTML - HyperText Markup Language - Review
HTML - HyperText Markup Language - ReviewHTML - HyperText Markup Language - Review
HTML - HyperText Markup Language - Review
 
HTML - HyperText Markup Language - FTP
HTML - HyperText Markup Language - FTPHTML - HyperText Markup Language - FTP
HTML - HyperText Markup Language - FTP
 
HTML - HyperText Markup Language - Organização de arquivos
HTML - HyperText Markup Language - Organização de arquivosHTML - HyperText Markup Language - Organização de arquivos
HTML - HyperText Markup Language - Organização de arquivos
 
HTML - HyperText Markup Language - Formulário
HTML - HyperText Markup Language - FormulárioHTML - HyperText Markup Language - Formulário
HTML - HyperText Markup Language - Formulário
 
HTML - HyperText Markup Language - 4 - Review
HTML - HyperText Markup Language - 4 - Review HTML - HyperText Markup Language - 4 - Review
HTML - HyperText Markup Language - 4 - Review
 
HTML - HyperText Markup Language - HTML5
HTML - HyperText Markup Language - HTML5HTML - HyperText Markup Language - HTML5
HTML - HyperText Markup Language - HTML5
 
HTML - HyperText Markup Language - 2
HTML - HyperText Markup Language - 2HTML - HyperText Markup Language - 2
HTML - HyperText Markup Language - 2
 
HTML - HyperText Markup Language - Introdução
HTML - HyperText Markup Language - IntroduçãoHTML - HyperText Markup Language - Introdução
HTML - HyperText Markup Language - Introdução
 

Programação Multiplataforma em Ambiente Web

  • 2. Ambientes de desenvolvimento, prontos: WAMP Windows - Apache - MySQL - PHP LAMP Linux - Apache - MySQL - PHP WINGINX Windows - PHP - Node.js - Nginx - MySQL - MongoDB - Redis - memcached
  • 3. DevOps DevOps (amálgama de Desenvolvedor e Operações) é uma metodologia de desenvolvimento de software que explora a comunicação, colaboração e integração entre desenvolvedores de software e outros pro ssionais de TI (Tecnologia da Informação). DevOps é a reação à interdependência entre desenvolvimento de software e operações de TI. Pretende ajudar organizações a produzir software e serviços rapidamente. DevOps
  • 4. Windows / Linux Sistema Operacional é um programa ou conjunto de programas que gerencia os recursos do sistema, entre eles: memória, processador, sistema de arquivo, sistema de armazenamento, softwares. Possuindo uma interface de comunicação entre o usuário e o computador. Sistemas Operacionais
  • 5. Apache É o servidor web livre mais utilizado do mundo. Servidor Apache - Wikipédia Servidor Web É um software, que serve páginas da web. Aguarda pedidos de navegadores de internet (clientes) e responde enviando os dados solicitados/necessários. Essa interação cliente-servidor é a marca registrada de como a web funciona. Servidor Web - Wikipédia
  • 6. Nginx Nginx [engine x] é um servidor proxy HTTP e reverso, bem como um servidor de proxy de email, escrito por Igor Sysoev desde 2005. O Nginx é um servidor web rápido, leve, e com inúmeras possibilidades de con guração para melhor performance. Nginx - Wikipédia
  • 7. MySQL É um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL como interface. É atualmente um dos bancos de dados mais populares, com mais de 10 milhões de instalações pelo mundo. MySQL - Wikipédia
  • 8. MariaDB MariaDB é um banco de dados que surgiu como fork do MySQL, criado pelo próprio fundador do projeto após sua aquisição pela Oracle. Maria DB - Wikipédia
  • 9. PHP PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor", originalmente Personal Home Page) é uma linguagem interpretada livre, usada originalmente apenas para o desenvolvimento de aplicações presentes e atuantes no lado do servidor, capazes de gerar conteúdo dinâmico na World Wide Web. PHP - Wikipédia
  • 10. XDebug Uma das ferramentas mais úteis no desenvolvimento de software é um depurador apropriado. Ele permite que você trace a execução do seu código e monitore os itens na pilha de execução. XDebug, um depurador de PHP, pode ser utilizado por várias IDEs para prover breakpoints e inspecionar a pilha. Ele também lhe permite que ferramentas como PHPUnit e KCacheGrind realizem análise de cobertura e per s de código. PHP Right Way - XDebug
  • 11. Phalcon Framework PHP full-stack entregue como extensão C. Phalcon
  • 12. Servidor Web (Windows) Apache (https://www.apache.org/dyn/closer.cgi) MySQL (https://www.mysql.com/) PHP (https://secure.php.net/) PHP - XDebug (https://xdebug.org/) Nginx (https://www.nginx.com/) MariaDB (https://mariadb.org/)
  • 13. Receita Windows 7 (x64) Apache (httpd-2.4.25-x64-vc14-r1.zip) (E:apache) PHP 7.1.2 (VC14 x64 Thread Safe) XDebug (php_xdebug-2.5.0-7.1-vc14-x86_64.dll) MySQL (mysql-installer-community-5.7.17.0) Nginx (nginx/Windows-1.10.3) MariaDB (mariadb-10.1.21-winx64.msi)
  • 14. Instalação do Apache Download do Apache (httpd-2.4.25-x64-vc14-r1.zip) Descompactar no diretório E:/apache Criar serviço para o Apache iniciar com o Windows, na linha de comando dentro da pasta de instalação E:/apache , digite httpd.exe -k install -n "Apache 2.4" Arquivo principal de con guração do Apache: httpd.conf
  • 15. Instalação do PHP Download do PHP 7.1.2 (VC14 x64 Thread Safe) Descompactar no diretório E:/apache/php Copiar o arquivo php.ini-development para php.ini Arquivo principal de con guração do PHP: php.ini
  • 16. Con guração do PHP no Apache Arquivo htttp.conf (E:/apache/conf) 182 LoadModule php7_module "E:/apache/php/php7apache2_4.dll" 184 PHPIniDir "E:/apache/php" 284 DirectoryIndex index.php index.html 436 AddHandler application/x-httpd-php .php 437 AddType application/x-httpd-php .php .html
  • 17. Con guração do XDebug no PHP Download php_xdebug-2.5.0-7.1-vc14-x86_64.dll Mover para a pasta de extensões do PHP (E:apachephpext) Copiar o arquivo php.ini-development para php.ini Adicionar a linha abaixo no arquivo php.ini xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 zend_extension = E:apachephpextphp_xdebug-2.5.0-7.1-vc14-x86_64.dll
  • 18. Instalação do MySQL Download do MySQL (mysql-installer-community-5.7.17.0) Instalar o componente MySQL Server Utilizar a opção Development Machine
  • 19. Instalação do Phalcon Versão ainda não compatível com PHP 7.1
  • 21. Instalação do Nginx Download NGINX 1.10.3, descompactar em E:/nginx Pela linha de comando entrar na pasta E:/nginx Digitar o comando start nginx Pode-se adicionar o caminho E:/nginx na variável de ambiente PATH Comandos NGINX nginx -s stop > fast shutdown nginx -s quit > graceful shutdown nginx -s reload > starting new worker processes with a new configuration nginx -s reopen > re-opening log files Apache e NGINX utilizam a mesma porta para funcionamento 80
  • 22. Con guração do PHP no Nginx Download PHP 7.1 TS, descompactar em E:/nginx/php Copiar arquivo php.ini-production ou php.ini-development para php.ini Diferença entre PHP e PHP CGI
  • 23. Con guração do PHP no Nginx Alterar o arquivo nginx.conf (E:/nginx/conf) 45 index index.php index.html index.htm; Descomentar e alterar 65 location ~ .php$ { 66 root html; 67 fastcgi_pass 127.0.0.1:9000; 68 fastcgi_index index.php; 69 fastcgi_param SCRIPT_FILENAME E:/nginx/html$fastcgi_script_name; 70 include fastcgi_params; 71 }
  • 24. Con guração do PHP no Nginx Criar arquivo para iniciar o Nginx e PHP @ECHO OFF start E:nginxnginx.exe start E:nginxphpphp-cgi.exe -b 127.0.0.1:9000 -c E:nginxphpphp.ini echo . echo .. echo ... echo Starting nginx EXIT
  • 25. Con guração do PHP no Nginx Criar arquivo para parar o Nginx e PHP @ECHO OFF taskkill /f /IM nginx.exe taskkill /f /IM php-cgi.exe EXIT
  • 26. MariaDB Download do MariaDB (mariadb-10.1.21-winx64.msi) Instalação padrão MySQL e MariaDB utilizam a mesma porta para funcionamento 3306
  • 27. Servidor Web (Linux) Distribuições (https://pt.wikipedia.org/wiki/Distribuição_Linux) Comandos básicos do linux (https://goo.gl/CXbi0w) Debian Slackware Red Hat
  • 28. Servidor Web (Debian) Atualizar repositórios apt-get update Apache apt-get install apache2 apache2-doc -y Arquivo de con guração do Apache "/etc/apache2/apache2.conf" Liberar acesso para root conectar nano /etc/ssh/sshd_config PermitRootLogin yes
  • 29. Servidor Web (Debian) Reiniciar Acessar via SSH (Bitvise)
  • 30. Servidor Web (Debian) Deixando o Terminal colorido Editar o arquivo ~/.bashrc Descomentar as linhas export LS_OPTIONS='--color=auto' eval "`dircolors`" alias ls='ls $LS_OPTIONS'
  • 31. Servidor Web (Debian) Deixando o Terminal colorido Alterar a linha PS1='${debian_chroot:+($debian_chroot)}[033[01;32m]u@h [033[00m]:[033[01;34m]w[033[00m]$ ' Executar o comando exec bash
  • 32. Servidor Web (Debian) Ajustando o Timezone apt-get install dbus -y timedatectl set-timezone America/Sao_Paulo
  • 33. Servidor Web (Debian) Adicionar URL de repositórios echo "deb http://packages.dotdeb.org jessie all" | tee -a /etc/apt/sources.list.d/dotdeb.list echo "deb-src http://packages.dotdeb.org jessie all" | tee -a /etc/apt/sources.list.d/dotdeb.list wget -qO - http://www.dotdeb.org/dotdeb.gpg | apt-key add - Atualizar repositórios apt-get update
  • 34. Servidor Web (Debian) Instalação do PHP 7 apt-get install php7.0-cli php7.0-curl php7.0-dev php7.0-zip php7.0-gd php7.0-xml php7.0-mysql php7.0-mcrypt php7.0-mbstring php7.0-opcache php7.0-imap php7.0-mongodb php7.0-bz2 php7.0-xdebug php7.0-intl php7.0- xmlrpc php7.0-json php7.0-common php7.0-sqlite3 libapache2-mod-php7.0 -y
  • 35. Servidor Web (Debian) Instalação do MySQL apt-get install mysql-server -y > quando solicitar senha utilizar <enter> Via linha de comando entrar no mysql, com o comando mysql e executar a query GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ''; Alterar o arquivo /etc/mysql/my.cnf 47 #bind-address = 127.0.0.1 Reiniciar o serviço do mysql com o comando service mysql restart
  • 36. Instalação do Composer Instalar o CURL apt-get install curl Instalar o Composer curl -sS https://getcomposer.org/installer | sudo php -- --install- dir=/usr/local/bin --filename=composer
  • 37. Instalação do Git Execute o comando apt-get install git -y
  • 38. Instalação do Nodejs Execute o comando apt-get install nodejs -y
  • 39. Instalação do NPM Execute o comando apt-get install npm -y Instalação de pacotes npm npm install bower -g npm install grunt-cli -g
  • 40. App
  • 41. Git Sistema de Controle de Versão Organização Trabalho em equipe Segurança Release (http://semver.org/) Criado por Linus Torvalds (2005) Sistema descentralizado Github - Git Cheat Sheet
  • 42. Con gurando Git Instalação (https://git-scm.com/ - Git-2.12.1-64-bit) git config --global user.name "Nome do usuário" git config --global user.email "email@usuario.com" git config --global color.ui true Criando um repositório: mkdir <diretorio> cd <diretorio> git init
  • 43. Usando Git Criar um arquivo <arquivo> Primeiro estágio - Untracked Files git status Segundo estágio - Changes to be committed git add <arquivo> git add . Terceiro estágio - Committed git commit -m "<mensagem>" Veri cando histórico de commits git log
  • 44. Git - log Veri cando log git log -p -2 git log --stat git log --pretty=oneline git log --pretty=format:"%h - %an, %ar : %s" git log --since=2.days git log --since=2.weeks
  • 45. Git - ignore Ignorando arquivos Criar um arquivo .gitignore na pasta raiz do projeto e adicionar todos os arquivos ou pastas, que deverão ser ignorados no versionamento. .idea/ gitignore.txt /tmp/cache/persistent/* !/tmp/cache/persistent/empty
  • 46. Git - checkout e HEAD O reset HEAD serve para voltar untracked les e o checkout para voltar arquivos que já foram adicionados e estão modi cados. git reset HEAD arquivo2.txt git checkout a1e8fb5 arquivo3.txt
  • 47. Git - HEAD git reset HEAD~1-n git reset HEAD~1 --soft git reset HEAD~1 --hard Soft: remove todos os commits posteriores voltando os para o estágio anterior que é changed to be commited, mas ele os mantem na pasta para que possa ser adicionado novamente. Hard: remove todos os commits posteriores a versão acessada e também os arquivos que a eles perteciam.
  • 48. Git - checkout Voltando versões git checkout a7e09ab07b1f6622a49ebfb59fc76c77358d6caf git checkout a7e09ab
  • 49. Git - checkout Voltando versões git checkout a7e09ab07b1f6622a49ebfb59fc76c77358d6caf git checkout a7e09ab
  • 50. Git - branch Branch principal master Git ow
  • 51. Git - branch Veri cando branches: git branch Veri cando branches (locais e remotos): git branch -a Criando branch: git checkout -b <branch> Trocando de branch: git checkout <branch> Enviar branch para origem: git push -u origin <branch> Ligando branch remoto com local: git checkout -b <branch> origin/<branch>
  • 52. Git - push / pull Atualizar arquivos locais: git pull Enviar commits para servidor remoto: git push Antes de enviar commits, sempre atualizar arquivos locais antes Indicando repositório e branch: git pull origin master
  • 53. Git - Gerando chave Gerar chave com o comando ssh-keygen (*não utilizar senha) Abrir o arquivo id_rsa.pub e copiar o conteúdo No Github: Settings > SSH and GPG keys Clique no botão New SSH Key Colocar um título e colar o conteúdo
  • 54. Git - clone Clonar/Copiar um repositório git clone git@github.com:<usuario>/<repositorio>.git <pasta>
  • 55. Git - remote Adicionando repositório remoto git remote add <nomecurto> git@github.com:<usuario>/<repositorio>.git Geralmente se usa o nome curto: upstream
  • 56. Git - Sincronizando com remote Atualizar seu repositório com alterações de remoto git fetch upstream git checkout <branch> git merge upstream/<branch> Veri car se ocorreram erros no merge
  • 57. Git - tag Geração de tags Gerar uma tag git tag <tag> (0.1.0) Listar tags git tag -l Enviar para repositório git push origin master --tags Versionamento semântico