sexta-feira, 19 de agosto de 2011

LAMP: Linux, Apache, MySQL e PHP



Todo usuário um pouco mais avançado no Linux deve conhecer o termo LAMP. Para os que não conhecem, vou começar transcrevendo o que a Wikipedia tem a dizer sobre LAMP:

LAMP é um acrônimo para a combinação:
  • Linux
  • Apache
  • MySQL
  • PHP, Perl ou Python
  • Recentemente a letra P começou a fazer referência a PERL ou Python como linguagens de programação alternativas ao PHP.
A combinação dessas tecnologias é bastante popular devido ao baixo custo de aquisição (Software Livre) e também pela performance e escalabilidade. Um outro bom motivo para adoção do LAMP é a facilidade de trocar de servidor já que a grande maioria dos serviços de hospedagem contam com estes softwares. Isso para outras linguagens e bancos de dados normalmente é um inconveniente, tendo em vista as diferentes configurações e restrições dos servidores. PHP é uma linguagem de script e uma das vantagens é que não há o risco de você não ter o código fonte que está funcionando no servidor, diferente de Java e Asp.Net que são pré-compiladas.
 Neste artigo, não pretendo "chover no molhado". Mais do que mostrar como configurar o LAMP no OpenSuSE, pretendo mostrar como tirar algum proveito dele. Nesta linha de pensamento, vou mostrar como instalar o dotProject, uma alternativa Open Source ao MS Project, uma ferramenta para gerenciamento de projetos.

terça-feira, 19 de julho de 2011

Bug no Flash-Plugin do Firefox

Mais um "buguezinho" chato: o Flash plugin no Firefox fica dandos uns "paus", mostrando uns lags e coisas do gênero, no lugar da imagem.

Descobri uma maneira de corrigir isto:

1) Entrar no "famoso" about:config
2) filtrar por dom.ipc
3) colocar tudo em modo false.

Veja os detalhes na figura abaixo:


Depois disto, os videos e imagens irão aparecer normais no Flash Player Plugin.

************ ATUALIZAÇÃO ****************
************   09/11/2012     *****************

ATENÇÃO!!!

Se você acompanha este Blog e fez as recomendações acima, é provável que esteja tendo problemas com o plugin nas versões mais novas do Firefox!!! Para reverter a situação, altere novamente os parâmetros abaixo, "setando-os" com o valor True.

dom.ipc.plugins.enabled = True
dom.ipc.plugins.flash.subprocess.crashreporter.enabled = True

Eu não sou conspiracionista, mas acho que o plug-in do Flash vai acabar com o Firefox!!!

sexta-feira, 3 de junho de 2011

Recuperando a senha do root


Esqueceu a senha do root? Eis o remédio!

Já mostrei como recuperar a senha do root no artigo Sistema de Recuperação. Mas como este é um assunto relevante, decidi colocar um destaque para este tema.

Existem muitas maneiras para se fazer isto. Existe a maneira "hacker" e a maneira 100% garantida.

Versão "hacker" simples e rápida

Achei um fragmento na "net" com a seguinte dica:
processo mais simples que esse eu não conheço:

Antes de iniciar o opensuse, na tela do grub, acrescente, na linha de opções do kernel:

linux init=/bin/bash

o sistema vai iniciar no prompt, a partição foi montada como somente leitura, para rescrever a senha, precisamos alterar para modo gravação com o seguinte comando:

mount -o remount -rw /

Blz, hora de resetar a senha, execute:

passwd

E informe a nova senha, confirme em seguida.

Testei. E, por enquanto, funciona!

A forma acima, sempre encontrada em forums como a "best of the best", funciona quando tudo está normal, ou seja, se o único problema for o esquecimento da senha, mas todo o resto funcionar (dá boot normalmente).

Sempre uso a forma a seguir, pois foi a que aprendi no forum oficial do openSuSE. Apesar de ter muito mais etapas no processo, ela te dá mais detalhes sobre o funcionamento do linux e a possibilidade de contornar situações imprevistas. Vamos lá...

Versão 100% garantida

Faremos isto usando o Sistema de Recuperação do OpenSuSE.

O sistema de recuperação do opensuse nada mais é que a possibilidade de você dar boot pelo DVD e "assumir" o sistema em modo root. Veja como fazer isto seguindo as figuras abaixo.


Selecionando o Sistema de Recuperação do DVD de instalação

Não deixe de apertar F2 e selecionar nosso idioma. Senão o teclado vai ficar uma bagunça!


Pronto para entrar em modo root?

Digite root e aperte Enter, para assumir o controle em modo root!


Montando a partição de boot do sistema

Existe um truque no openSuSE para você montar a partição de boot "original" e assumir o controle como se você tivesse dado boot normalmente. Este truque consiste em montar a partição "original" e usar o comando chroot. Mas, para isto, tem um pequeno detalhe técnico que vou mostrar agora. Siga as instruções!

1) montando a partição
Esta é a parte mais fácil:

mount /dev/sda2 /mnt

2) montando os dispositivos virtuais (detalhe técnico)

mount -o bind /proc /mnt/proc
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys

3) a "mágica" do chroot

 Agora que está tudo preparado,  basta digitar

chroot /mnt

Pronto, agora você está em seu HD, como se tivesse dado o boot por ele, e com os privilégios do super usuário root! Veja na figura abaixo a sequência completa destes comandos e como o prompt muda para a cor vermelha, sinalizando que você está em modo root.Agora é só digitar:

passwd

digitar a nova senha do root!


Algumas explicações necessárias


Por questões de simplicidade, alguns detalhes foram omitidos, como por exemplo de onde vem a informação que a partição de boot (ou do root) é a /dev/sda2!

Tomando por base um sistema com um único HD, isto faz muito sentido, pois em tais casos, geralmente /dev/sda1 é a partição de swap e /dev/sda2 a partição de boot.
Em outras situações onde existem dois ou mais HD as coisas podem estar de forma diferente e usar o fdisk pode ser a maneira mais apropriada para descobrir quem é quem. Para estas e outras situações, talvez seja melhor você ler meu artigo anterior, o Sistema de Recuperação.



Até o próximo artigo...

quinta-feira, 2 de junho de 2011

Bug: KDE do 11.4 não monta NTFS USB Driver

Um Bug chato que aparece no openSuSE 11.4, depois de atualizar o Kernel: o "auto mount" não funciona quando o sistema de arquivos em questão é o NTFS. E isto tanto vale para Pen Drivers quanto para discos externos.

Existe uma solução documentada pelo forum do openSuSE, que replico aqui, caso alguém precise:

The device notifier reports an error when
trying to mount my external ntfs drive:

org.freedesktop.UDisks.Error.Failed: Requested filesystem type is neither
well-known nor in /proc/filesystems nor in /etc/filesystems

The drive worked fine before the update to kernel 2.6.37.6-0.5-desktop x86_64.


Reproducible: Always

Steps to Reproduce:
1.Insert a NTFS USB drive
2.
3.
Actual Results:
Device is not mounted.

Expected Results:
Device should be mounted and accessible through dolphin or other file browsers.

Adding "ntfs" to /etc/filesystems seems to fix the problem

Sacaram? É só editar o arquivo /etc/filesystems adicionando ntfs na penúltima linha.
vfat
hfs
minix
reiserfs
ntfs
*
Atente para o detalhe de que aquele asterisco (*) na linha final deve ser mantido lá.

domingo, 29 de maio de 2011

Sistema de Recuperação

Uma das coisas que me fazem gostar muito do Linux é que, salvo uma pane muito grave, dificilmente você se vê numa situação de "perda total", onde a "única alternativa" é formatar e reinstalar tudo outra vez!

Recentemente, me deparei com uma situação inusitada que, embora tenha acontecido em um ambiente virtual e controlado, bem pode acontecer numa situação do dia-a-dia, como por exemplo você clonar uma partição do HD (boot, por exemplo) e depois tentar recuperá-la em outro HD.

O pessoal do suporte costuma fazer muito isto! Digamos que uma empresa comprou 15 máquinas idênticas para seus colaboradores. Ao invés do pessoal do suporte instalar tudo em todas as máquinas, instala-se tudo em uma máquina e depois é só cloná-la e restaurar o clono nas outras. Mole, mole...

Mas podem ocorrer algumas "pegadinhas" como esta que ocorreu comigo, embora haja uma boa explicação para isto!

Ao tentar o boot em uma máquina virtual que importei de outro ambiente (uso muito o VirtualBox), deparei-me com a situação mostrada na figura abaixo.


Como vocês podem ver na figura acima, o sistema não conseguiu completar o boot porque não encontrou a partição de boot! Prestem atenção na seguinte informação:

Could not find /dev/disk/by-id/ata-VBOX_HARDDISK_VB82ef4f0b-5de0e2e8-part2.

Bem, o que interessa aqui é o detalhe do /disk/by-id/!

Normalmente, as partições são identificadas no Linux por algo como /dev/sdaN, onde N é o número da partição. Isto é o que chamamos de device name. As versões mais novas do Linux estão identificando o(s) disco(s) e suas respectivas partições agora pelo ID do dispositivo (device ID). Isto também tem uma boa razão para ser assim, principalmente quando você pode ter muito baratamente muitos discos em um mesmo sistema!.

Enfim, caso isto ocorra com você, vou mostrar como corrigir isto, usando o Sistema de Recuperação do OpenSuSE.

O sistema de recuperação do opensuse nada mais é que a possibilidade de você dar boot pelo DVD e "assumir" o sistema em modo root. Veja como fazer isto seguindo as figuras abaixo.


Selecionando o Sistema de Recuperação do DVD de instalação

Não deixe de apertar F2 e selecionar nosso idioma. Senão o teclado vai ficar uma bagunça!


Pronto para entrar em modo root?

Digite root e aperte Enter, para assumir o controle em modo root!


Explorando o ambiente

Usando o fdisk

O FDISK


Normalmente, em sistemas com um só HD, /dev/sda1 é a partição de swap e /dev/sda2 a partição de boot. Em outras situações onde existem dois ou mais HD as coisas podem estar de forma diferente e usar o fdisk pode ser a maneira mais apropriada para descobrir quem é quem.

O fdisk é o particionador de linha de comando do linux. Ele pode ser usado para obter informações a respeito do(s) disco(s) instalado(s) no sistema. Em nosso caso, vamos acionar o fdisk para ver como nosso disco foi particionado. É só digitar:

fdisk /dev/sda

NOTA: Se você é um daqueles raros que ainda usa uma placa mãe não SATA, com HD IDE, então use /dev/hda.

Uma vez no fdisk, tecle p e Enter, para exibir as partições de /dev/sda

Agora podemos ver que sda tem duas partições -> sda1 e sda2. sda1 é a partição de swap e sda2 é nossa partição de boot. Pronto, já temos as informações que precisamos para resolver o problema!


Montando a partição de boot do sistema e assumindo o controle como o root "de verdade".

Existe um truque no openSuSE para você montar a partição de boot "original" e assumir o controle como se você tivesse dado boot normalmente. Este truque consiste em montar a partição "original" e usar o comando chroot. Mas, para isto, tem um pequeno detalhe técnico que vou mostrar agora. Siga as instruções!

1) montando a partição
Esta é a parte mais fácil:

mount /dev/sda2 /mnt

2) montando os dispositivos virtuais (detalhe técnico)

mount -o bind /proc /mnt/proc
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys

3) a "mágica" do chroot

 Agora que está tudo preparado,  basta digitar

chroot /mnt

Pronto, agora você está em seu HD, como se tivesse dado o boot por ele, e com os privilégios do super usuário root! Veja na figura abaixo a sequência completa destes comandos e como o prompt muda para a cor vermelha, sinalizando que você está em modo root.


A tela após você assumir o root do sistema


Verificando as pastas do sistema "original"


Resolvendo o problema


Agora que estamos no controle do sistema "original" (verdadeiro), podemos corrigir o problema.


O GRUB e o arquivo menu.lst
Todos sabem(?) que o Grub é o gerenciador de boot do Linux. E sabem também que ele usa um arquivo chamado menu.lst, para obter as informações necessárias para o boot, certo? Ok. Então vamos verificar os dados contidos em menu.lst do nosso sistema "original".

Basta usar um belo cat /boot/grub/menu.lst para ver algo como o mostrado na tela abaixo.




Ops, Grub!

Podemos ver na figura acima que o grub procura a partição de boot em /dev/disk/by-id/ata-VBOX_HARDDISK_VB82ef4f0b-5de0e2e8-part2. Ocorre que ata-VBOX_HARDDISK_VB82ef4f0b-5de0e2e8 é o ID do HD de origem, mas estamos em outro HD, não é mesmo? Então o ID aqui é diferente e o Grub se ferra!


FSTAB

Outro arquivo usado pelo sistema e que pode atrapalhar o processo de boot é o fstab. O fstab guarda as informações a respeito das partiçoes do(s) disco(s) e seus respectivos pontos de montagem. Veja ne figura abaixo o resultado do comando cat /etc/fstab.


cat /etc/fstab


Como podemos ver na figura acima, as informações contidas no fstab usam disk-by-id. Este é outro arquivo que vamos ter que editar.

Alterando as configurações das partições

Há duas maneiras de corrigir inconsistências no fstab: através do yast ou editando o arquivo diretamente.

Eu prefiro trabalhar com arquivos de configuração editando-os diretamente. Mas isto porque já me sinto seguro em fazer alterações neles. Se você está iniciando, pode fazer quase tudo diretamente no yast, o utilitário de console para configuração do sistema (o yast2 é para o modo gráfico).

Usando o yast

Para entrar no yast, basta digitar yast na linha de comando.

Tela inicial do yast

Para chegar no particionador via yast, basta selecionar Sistema / Particionador. Veja na figura abaixo o yast exibindo o modo como a partição /dev/sda1 está montada em /etc/fstab.


/dev/sda1 em /etc/fstab, vista pelo yast

Como podemos ver na figura acima, /dev/sda1 está montada via fstab como a opção Device ID e é justamente isto que está causando o problema. Basta agora mudar para Device name e pronto.
Salvando esta modificação e voltando à linha de comando, podemos dar um novo cat /etc/fstab para ver o resultado. Deve ser algo como o mostrado na figura abaixo.

/etc/fstab modificado pelo yast

Podemos ver na figura acima que /dev/sda1 (a partição de swap) agora está montada pelo device name em fstab. Note que a partição /dev/sda2 continua montada pelo seu Device ID.

Editando fstab diretamente


Depois que você ganha experiência, tende a editar os arquivos de configuração diretamente. Vamos fazer isto com /etc/fstab, usando o joe. O joe é um editor de textos do console que acho melhor que o vi! Para chamá-lo, basta digitar joe, seguido do caminho/arquivo a ser editado.


Editando /etc/fstab com o joe

Para saber o que fazer com o joe, basta apertar Ctrl+K, depois H, para obter ajuda na tela.
Depois que editar fstab com o joe, basta Ctrl+K X, para salvar e sair.


Hora de editar /boot/grub/menu.lst


/boot/grub/menu.lst antes de editar


/boot/grub/menu.lst editado

 Note na figura acima que as informações de partição foram modificadas para Device name, à semelhança de /etc/fstab.


/boot/grub/device.map


Há um último lugar onde as informações do HD estão gravadas no formato /dev/disk/byid. Trata-se do arquivo device.map, usado também pelo grub. Podemos abrí-lo com o joe e editá-lo, como mostrado nas figuras abaixo.



/boot/grub/device.map antes da edição

/boot/grub/device.map depois da edição


De volta ao controle!


Depois de todas as alterações feitas a gravadas, basta reiniciar o sistema, para ver se tudo deu certo! Basta digitar

reboot


De volta ao sistema "original"

Até o próximo artigo...

domingo, 15 de maio de 2011

CloneZilla: Restaurando "Backups" ou "Imagens" do Sistema

Complementando o artigo anterior, vamos ver agora como restaurar um "backup" ou, melhor dizendo, uma imagem feita pelo CloneZilla. 

No artigo anterior, fizemos a imagem da partição raiz do sistema, normalmente chamada de partição de boot. Neste artigo, vamos fazer de conta que houve uma "pane" qualquer e será necessário restaurar a imagem que foi salva na pasta /home/cawasame/2010-09-30-RootPartition-img.


Primeiramente, colocamos o LiveCD do Clonezilla e fazemos o boot por ele:

Fig1 - Tela de boot.

Fig2- Vá apenas apertando Enter

Fig3

Fig4

Fig5

Fig6

Fig7- Neste ponto, selecionamos a partição montada em /home (onde a imagem está gravada)

Fig8 - Agora selecionamos a pasta do usuário que fez a imagem (afinal, é dentro dela que está a imagem)


Fig9


Não fiz muitos comentários até este ponto pois as etapas até aqui foram praticamente as mesmas que você seguiu para fazer a imagem. Todavia, a partir deste ponto, iremos usar o CloneZilla no modo Expert, por uma razão que explicarei logo mais.



 É importante selecionar o modo Expert para a restauração de uma imagem.


Como estamos nos preparando para restaurar uma imagem, neste ponto devemos fazer a escolha correta: se você fez a imagem de uma ou mais partições, selecione restoreparts; se fez a imagem de um disco inteiro, selecione restoredisk.
Selecionando Restoreparts, para restaurar a imagem de uma partição.


Selecionando a Imagem a restaurar

Quando você informa o local de onde obter a imagem (Fig7 e Fig8), o CloneZilla detecta automaticamente as imagens que foram salvas. Na figura abaixo você poderá ver a imagem que foi criada no artigo anterior.

Selecionando a imagem para restaurar (RootPartition, feita no artigo anterior).

Agora que você selecionou qual a imagem a restaurar, o Clonezilla pedirá que você informe sobre qual partição a imagem será restaurada. Naturalmente, como estamos trabalhando na mesma máquina onde fizemos a imagem, fica fácil saber qual partição é: sda2 (veja na figura acima esta informação, no final do nome da imagem -> _sda2).

Observe também que nosso sistema tem apenas uma partição "elegível" para receber a imagem. Se teu sistema tiver muitas partições, tome muito cuidado nesta hora!


 Selecionando a partição sobre a qual a imagem será restaurada.


Opções do modo Expert do CloneZilla

Numa situação atípica, você poderia estar restaurando uma imagem feita de um HD para outro HD ou de uma partição para outra partição, com geometrias diferentes. Em tal situação, coisas como "Reinstall grub in cliente disk MBR" ou "Try to resize the filesystem to fit partition size" fazem sentido. Mas, no nosso caso, estas opções podem ter um efeito adverso. Pior mesmo: podem falhar!

Isto ocorre porque o Clonezilla não sabe que você está restaurando a imagem para o mesmo HD e partição da qual ela foi feita. E ele vai tentar fazer todas estas coisas, desnecessariamente, porque simplesmente são as opções default.

Pelas razões expostas acima, desmarque todas as opções marcadas por default, antes de prosseguir.

 Desmarque todas as opções marcadas acima, antes de prosseguir.


Nesta etapa, simplesmente aperte Enter, para prosseguir.



Nesta etapa, você pode escolher entre continuar no Clonezilla ao final da operação, reiniciar ou desligar.


Por precaução, o Clonezilla vai querer que você confirme duas vezes a restauração da imagem sobre uma partição com dados. Cruze os dedos e responda Y nas duas vezes.

Restauração sendo feita...


Tudo finalizado, sem nenhuma mensagem de erro! Basta selecionar "Reboot" (1) e prosseguir.


Finalmente, tudo volta a ser com dantes!


Até o próximo artigo...

sábado, 14 de maio de 2011

CloneZilla: Fazendo "Backups" ou "Imagens" do Sistema

I,m back! ;-)

Devido a mudanças significativas em minha vida, estive um pouco "fora do ar" e deixei o Blog ficar desatualizado.

O Blog começou quando eu ainda usava o openSuSE 11.2. Depois desta pausa, o Blog carece de "matérias" atualizadas, tendo em vista que o openSuSE 11.4 já está há um certo tempo "no ar".

Bem, abrindo caminho para uma séria de "matérias" que tenho em mente, vou falar sobre o CloneZilla. Primeiro, porque o CloneZilla é uma ferramenta muito boa para técnicos de suporte (e estou falando também do outro sistema operacional :-), e também para usuários comuns. Mas, o que é o CloneZilla?

Seus criadores dizem o seguinte:

What is Clonezilla?

You're probably familiar with the popular proprietary commercial package Norton Ghost®. The problem with these kind of software packages is that it takes a lot of time to massively clone systems to many computers. You've probably also heard of Symantec's solution to this problem, Symantec Ghost Corporate Edition® with multicasting. Well, now there is an OpenSource clone system (OCS) solution called Clonezilla with unicasting and multicasting!
Clonezilla, based on DRBL, Partclone and udpcast, allows you to do bare metal backup and recovery. Two types of Clonezilla are available, Clonezilla live and Clonezilla SE (server edition). Clonezilla live is suitable for single machine backup and restore. While Clonezilla SE is for massive deployment, it can clone many (40 plus!) computers simultaneously. Clonezilla saves and restores only used blocks in the harddisk. This increases the clone efficiency. At the NCHC's Classroom C, Clonezilla SE was used to clone 41 computers simultaneously. It took only about 10 minutes to clone a 5.6 GBytes system image to all 41 computers via multicasting!

Independentemente do seu grau de expertise, o Clonezilla pode te ajudar muito!


Uma das coisa mais chatas da vida é instalar e configurar um Sistema Operacional. Outra coisa também muito chata é quando uma situação adversa qualquer faz uma tremenda bagunça no Sistema Operacional que funcionava bem.

Imagine poder recuperar-se de um desastre destes em menos de cinco minutos! O Clonezilla faz isto! Como? Restaurando uma Imagem. Basta que você a tenha criado previamente.

O CloneZilla é tão simples e prático, que é mais difícil falar do que fazer. Por isto, vamos deixar de blá-blá-blá e vamos passar para a prática.
Neste primeiro artigo vou mostrar como criar a(s) imagens(s).

Obtendo o CloneZilla

Para obter o Clonezilla, basta fazer o download Clonezilla live ISO file, para boot via CD. Existe também a versão para USB flash drive (pendrive), mas vou usar a versão CD neste artigo. Clique aqui para ir até a página download.

Após "queimar" um CD com a imagem baixada, basta colocá-lo na unidade e "rebootar" o computador.

Criando a imagem

Vou passar a sequência de imagens capturadas durante todo o processo de criaçao de uma imagem, explicando o que julgo necessário saber em cada fase.


Boot
desnecessário qualquer comentário

Fig2

Fig3

Fig4

Fig5


Fig12

device-image significa que você quer fazer o clone de um dispositivo (HD) para uma imagem (que naturalmente será salva em outro HD ou outra partição no mesmo HD).
device-device significa que você quer fazer o clone de um dispositivo (HD) para outro dispositivo (HD). É como se fosse fazer uma "xerox" de um HD em outro!


Fig6

Agora você deve informar onde você quer fazer a imagem.

local_dev significa salvar a imagem em um dispositivo local, ou seja, um dispositivo "plugado" na máquina onde você está trabalhando.

As outras opções são para quando você estiver em uma rede e quiser (e puder) salvar a imagem em outra máquina na mesma rede.

Fig7

 Escolhido local_dev, você precisa informar qual o dispositivo (disco, partição, pendrive, etc) que vai usar como repositório da imagem. Neste exemplo, vou criar a imagem em /home/cawasame/, sendo que a partição /home foi montada em sda3 (uma partição em separado da partição raz / ) e cawasame é o meu id de usuário.


 Fig8

Complementando o que foi dito anteriormente, veja que sda3 já foi "montada". Bastou selecionar a pasta cawasame, para continuar. 

Fig9


Fig10

No hora de fazer a imagem, a opção Beginner é sempre a melhor escolha. Uso o CloneZilla há muito tempo e nunca senti a necessidade de usar o modo Expert, para fazer a imagem.

Fig11

Hora de escolher o que vai ser salvo na imagem. Note que você pode salvar o disco inteiro (savedisk) ou partiçoes (saveparts). Neste exemplo vou salvar a partição de boot (ou root ou / ).

Fig12

Fig13

Dando um nome mais sugestivo à pasta que irá conter a imagem.

Fig14

Acima, foi selecionada a partição a ser salva na imagem. Neste exemplo, sda2 é a partição de boot do sistema.

Fig15

Após selecionar , uma checagem nas opções...

Fig16

 ...um aviso final e...

 Fig17

Voilá!

 Fig18

Final da operação! Desligar ou reiniciar são as opções que fazem mais sentido agora. Vamos selecionar (1) Reboot.

Fig19

Fig20

Resultado da operação!

No próximo artigo mostrarei como restaurar esta (e outras) imagem, em caso de "crash" no sistema.



...