Como migrar seu ambiente de desenvolvimento para Linux Marcelo Sabadini @marcelosabadini
Índice Apresentação O que não tem nesta apresentação 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
Apresentação Desenvolvedor web; Trabalho com PHP a 4 anos; Desenvolvedor web; Trabalho com PHP a 4 anos; Viciado em internet e música; Atualmente em uma empresa de TELECOM trabalhando com PHP/CakePHP.
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;
O que você precisa para começar? Ter uma máquina com Linux; Dual boot; Wubi; 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;
Ubuntu / Desktop
Ubuntu / Pasta pessoal
Ubuntu / A raiz
Ubuntu / ...
System / Administration / Synaptic Package Manager Ubuntu / Synaptic System / Administration / Synaptic Package Manager
Não tenha medo do prompt! Application / Accessories / Terminal
Não tenha medo do prompt!
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
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
Instalando o Apache
Instalando o Apache
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
Instalando o PHP
Instalando o PHP
Instalando o PHP Arquivo de configuração: /etc/php5/apache2/php.ini PHP na linha de comando: $ sudo apt-get install php5-cli
Instalando o Mysql
Instalando o Mysql
Instalando o Mysql
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
Instalando o Subversion
Instalando o Netbeans
Instalando o Netbeans
Instalando o Netbeans
Instalando o Netbeans Applications / Programming / Netbeans 6.7.1
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”
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'
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 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! 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.
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?
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;
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 {} \;
--help
Marcelo Sabadini @marcelosabadini marcelosabadini@gmail.com http://marcelosabadini.com.br http://meadiciona.com.br/marcelosabadini
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