O documento apresenta como migrar o ambiente de desenvolvimento para Linux. Ele discute o que é necessário para começar, como instalar o sistema operacional Ubuntu e ferramentas como Apache, PHP, MySQL e Subversion. Também fornece exemplos de como usar comandos da linha de comando para automatizar tarefas e converter arquivos entre codificações de caracteres.
1. Como migrar seu ambiente de
desenvolvimento
para Linux
Marcelo Sabadini
@marcelosabadini
2. 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. 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. 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. 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;
13. 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. 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
17. 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
24. 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
30. 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. 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. 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. 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. 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. 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. 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 {} ;
39. 39
Alguns links para quem esta
começando
http://pt.wikipedia.org/wiki/LINUX_Guia_de_Comandos
Foca: http://focalinux.cipsga.org.br/guia/iniciante/index.htm
Comandos: http://www.devin.com.br/comandos_linux/
Wubi:http://wubi-installer.org/
Dual Boot: http://pt.wikipedia.org/wiki/Multi_boot
Vmware Player: http://wiki.ubuntu-br.org/VMwarePlayer