Como migrar seu ambiente de desenvolvimento para Linux

Post on 25-Jul-2015

1.552 views 0 download

Transcript of Como migrar seu ambiente de desenvolvimento para Linux

Como migrar seu ambiente de desenvolvimento

para Linux

Marcelo Sabadini@marcelosabadini

2

Índice 

Apresentação

O que não tem nesta apresentação

O que você precisa para começar

Ubuntu

Não tenha medo do prompt

Alguns comandos básicos

Instalação do ambiente

Produtividade na linha de comando

Dois exemplos de script (casos reais)

Dúvidas

Links

3

Apresentação

 • Desenvolvedor web;• Trabalho com PHP a 4 anos; • Viciado em internet e música;• Atualmente em uma empresa de TELECOM

trabalhando com PHP/CakePHP.

4

O que não tem nesta apresentação

• Um Xiita tentando converter tudo mundo a usar Linux;

• Um palestrante falando mal de outro sistema operacional;

• Alguém querendo mostrar que é melhor por estar aqui na frente;

5

O que você precisa para começar?

• Ter uma máquina com Linux; o Dual boot;o Wubi;o Máquina virtual;

• Aprender meia duzia de comandos;• Não ter preguiça de fazer pesquisas no Google;• Instalar o Apache, PHP, Mysql, PhpMyAdmin,

Subversion, IDE...;• Não copiar e colar comandos dos exemplos;

6

Ubuntu / Desktop

7

Ubuntu / Pasta pessoal

8

Ubuntu / A raiz

9

Ubuntu / ...

10

Ubuntu / SynapticSystem / Administration / Synaptic Package Manager

11

Não tenha medo do prompt!

Application / Accessories / Terminal

12

Não tenha medo do prompt!

13

Alguns comandos básicos para começar

• ls: lista os arquivos da pasta• cd: entra em uma pasta• mkdir: cria uma pasta• cp: copia uma pasta/arquivo• mv: move uma pasta/arquivo• rm: remover pasta/arquivo• chmod: muda a permissão da pasta/arquivo• ln: cria um link(atalho)• tail: examinar linhas de um arquivo• apt-get: gerenciador de pacotes

14

sudo?

O comando 'sudo' serve para executar comando com a permissão de root.

root = super usuário, administrador.

Sudo é equivalente ao 'Executar como...' do XP

15

Instalando o Apache

16

Instalando o Apache

17

Instalando o Apache

Arquivo de configuração: /etc/apache2/sites-enabled/000-default

Document Root: /var/www

Comandos para manipular o Apache: $ sudo service apache2 start $ sudo service apache2 stop $ sudo service apache2 reload

18

Instalando o PHP

19

Instalando o PHP

20

Instalando o PHP

Arquivo de configuração: /etc/php5/apache2/php.ini

PHP na linha de comando: $ sudo apt-get install php5-cli

21

Instalando o Mysql

22

Instalando o Mysql

23

Instalando o Mysql

24

Instalando o Mysql

Arquivo de configuração: /etc/mysql/my.cnf

Comandos para manipular o Mysql: $ sudo service mysql status $ sudo service mysql stop $ sudo service mysql start $ sudo service mysql restart

25

Instalando o Subversion

26

Instalando o Netbeans

27

Instalando o Netbeans

28

Instalando o Netbeans

29

Instalando o Netbeans

Applications / Programming / Netbeans 6.7.1

30

Produtividade na linha de comando

• Controle de todo os sistema operacional;• Automatizar tarefas;• Você sabe exatamente o que esta fazendo;• Menos risco de errar;• Documentação na mão; “comando --help” “man comando”

31

Existe vida além do browser!

 Exemplo de um DUMP via PhpMyAdmin de um banco de dados Mysql hospedado na Localweb.

- Aprox 332.000 registros

Primeira tentativa Gerar gzip: 4 minutos

Compactado: 3Mb

Descompactado: ?

Ao abrir o arquivo:

'gzip: ~/tabela.sql.gz: not in gzip format'

32

 Exemplo de um DUMP via PhpMyAdmin de um banco de dados Mysql hospedado na Localweb.

- Aprox 332.000 registros

Segunda tentativa Gerar bzip: 3 minutos

Compactado: 4Mb

Descompactado: 42Mb

Ao abrir o arquivo: OK

Subir o arquivo:

PhpMyAdmin só permite arquivos até 8Mb

Existe vida além do browser!

33

 Exemplo de um DUMP via PhpMyAdmin de um banco de dados Mysql hospedado na Localweb.

- Aprox 332.000 registros

Linha de comando via SSH Gerar gz: 40 segundos

Compactado: 5Mb

Descompactado: 42Mb

Ao abrir o arquivo: OK

Subir o arquivo:

Via linha de comando SSH. 1 minuto.

Existe vida além do browser!

34

O poder da linha de comando

 Projeto com dezenas de classes e centenas de métodos escrito em CakePHP. Todo codificado em ISO-8859-1.Como converter TUDO para UTF-8?

35

O poder da linha de comando

 Projeto com dezenas de classes e centenas de métodos escrito em CakePHP. Todo codificado em ISO-8859-1.Como converter TUDO para UTF-8?

Três comando para resolver:

find: procura arquivos;

iconv: converte codificações de arquivos;

sed: encontra e substitui expressões em arquivos;

36

O poder da linha de comando

 

A solução foi juntar os comandos em um arquivo no qual recebe por parâmetro o nome do arquivo que será convertido de ISO-8859-1 para UTF-8.

Exemplo de chamada:

find ~/fonte/ -type f -name *.php -exec ~/iso8859toUtf8.sh {} \;

find ~/fonte/ -type f -name *.ctp -exec ~/iso8859toUtf8.sh {} \;

37

--help

38

Marcelo Sabadini

@marcelosabadinimarcelosabadini@gmail.comhttp://marcelosabadini.com.brhttp://meadiciona.com.br/marcelosabadini

39

Alguns links para quem esta começando

http://pt.wikipedia.org/wiki/LINUX_Guia_de_ComandosFoca: http://focalinux.cipsga.org.br/guia/iniciante/index.htmComandos: http://www.devin.com.br/comandos_linux/Wubi:http://wubi-installer.org/Dual Boot: http://pt.wikipedia.org/wiki/Multi_bootVmware Player: http://wiki.ubuntu-br.org/VMwarePlayer