Archive for August, 2008

Alta disponibilidade – How to HA – O que é e como funciona a Alta Disponibilidade

Sunday, August 31st, 2008

Definição

Para que se entenda a Alta Disponibilidade faz-se necessário, antes de mais nada, perceber que a Alta Disponibilidade não é apenas um produto ou uma aplicação que se instale, e sim uma característica de um sistema computacional. Existem mecanismos e técnicas, blocos básicos, que podem ser utilizados para aumentar a disponibilidade de um sistema. A simples utilização destes blocos, entretanto, não garante este aumento se não for acompanhado de um completo estudo e projeto de configuração.

A Disponibilidade de um sistema computacional, indicada por A(t), é a probabilidade de que este sistema esteja funcionando e pronto para uso em um dado instante de tempo t. Esta disponibilidade pode ser enquadrada em três classes, de acordo com a faixa de valores desta probabilidade. As três classes são: Disponibilidade Básica, Alta Disponibilidade e Disponibilidade Contínua.

Disponibilidade Básica

A Disponibilidade Básica é aquela encontrada em máquinas comuns, sem nenhum mecanismo especial, em software ou hardware, que vise de alguma forma mascarar as eventuais falhas destas máquinas. Costuma-se dizer que máquinas nesta classe apresentam uma disponibilidade de 99% a 99,9%. Isto equivale a dizer que em um ano de operação a máquina pode ficar indisponível por um período de 9 horas a quatro dias. Estes dados são empíricos e os tempos não levam em consideração a possibilidade de paradas planejadas (que serão abordadas mais adiante), porém são aceitas como o senso comum na literatura da área.

Alta Disponibilidade

Adicionando-se mecanismos especializados de detecção, recuperação e mascaramento de falhas, pode-se aumentar a disponibilidade do sistema, de forma que este venha a se enquadrar na classe de Alta Disponibilidade. Nesta classe as máquinas tipicamente apresentam disponibilidade na faixa de 99,99% a 99,999%, podendo ficar indisponíveis por um período de pouco mais de 5 minutos até uma hora em um ano de operação. Aqui se encaixam grande parte das aplicações comerciais de Alta Disponibilidade, como centrais telefônicas.

Disponibilidade Contínua

Com a adição de noves se obtém uma disponibilidade cada vez mais próxima de 100%, diminuindo o tempo de inoperância do sistema de forma que este venha a ser desprezível ou mesmo inexistente. Chega-se então na Disponibilidade Contínua, o que significa que todas as paradas planejadas e não planejadas são mascaradas, e o sistema está sempre disponível.

Objetivos

Como já pode ser percebido de sua definição, o principal objetivo da Alta Disponibilidade é buscar uma forma de manter os serviços prestados por um sistema a outros elementos, mesmo que o sistema em si venha a se modificar internamente por causa de uma falha. Aí está implícito o conceito de mascaramento de falhas, através de redundância ou replicação (termos que serão conceituados mais tarde). Um determinado serviço, que se quer altamente disponível, é colocado por trás de uma camada de abstração, que permita mudanças em seus mecanismos internos mantendo intacta a interação com elementos externos.

Este é o coração da Alta Disponibilidade, uma sub-área da Tolerância a Falhas, que visa manter a disponibilidade dos serviços prestados por um sistema computacional, através da redundância de hardware e reconfiguração de software. Vários computadores juntos agindo como um só, cada um monitorando os outros e assumindo seus serviços caso perceba que algum deles falhou.

Outra possibilidade importante da Alta Disponibilidade é fazer isto com computadores simples, como os que se pode comprar até num supermercado. A complexidade pode estar apenas no software. Mais fácil de desenvolver que o hardware, o software de Alta Disponibilidade é quem se preocupa em monitorar outras máquinas de uma rede, saber que serviços estão sendo prestados, quem os está prestando, e o que fazer quando uma falha é percebida.

Cálculo da Disponibilidade

Em um sistema real, se um componente falha, ele é reparado ou substituído por um novo componente. Se este novo componente falha, é substituído por outro e assim por diante. O componente reparado é tido como no mesmo estado que um componente novo. Durante sua vida útil, um componente pode ser considerado como estando em um destes estados: funcionando ou em reparo. O estado funcionando indica que o componente está operacional e o estado em reparo significa que ele falhou e ainda não foi substituído por um novo componente.

Em caso de defeitos, o sistema vai de funcionando para em reparo, e quando a substituição é feita ele volta para o estado funcionando. Sendo assim, pode-se dizer que o sistema apresenta ao longo de sua vida um tempo médio até apresentar falha (MTTF) e um tempo médio de reparo (MTTR). Seu tempo de vida é uma sucessão de MTTFs e MTTRs, à medida que vai falhando e sendo reparado. O tempo de vida útil do sistema é a soma dos MTTFs nos ciclos MTTF+MTTR já vividos.

De forma simplificada, diz-se que a disponibilidade de um sistema é a relação entre o tempo de vida útil deste sistema e seu tempo total de vida. Isto pode ser representado pela fórmula abaixo:

Disponibilidade = MTTF / (MTTF + MTTR)

Ao avaliar uma solução de Alta Disponibilidade, é importante levar em consideração se na medição do MTTF são observadas como falhas as possíveis paradas planejadas. Mais considerações sobre este assunto serão tecidas em seções posteriores.

Conceitos

Para se entender corretamente do que se está falando quando se discute uma solução de Alta Disponibilidade, deve-se conhecer os conceitos envolvidos. Não são muitos, porém estes termos são muitas vezes utilizados de forma errônea em literatura não especializada. Antes de mais nada, deve-se entender o que é falha, erro e defeito. Estas palavras, que parecem tão próximas, na verdade designam a ocorrência de algo anormal em três universos diferentes de um sistema computacional.

Falha

Uma falha acontece no universo físico, ou seja, no nível mais baixo do hardware. Uma flutuação da fonte de alimentação, por exemplo, é uma falha. Uma interferência eletromagnética também. Estes são dois eventos indesejados, que acontecem no universo físico e afetam o funcionamento de um computador ou de partes dele.

Erro

A ocorrência de uma falha pode acarretar um erro, que é a representação da falha no universo informacional. Um computador trabalha com bits, cada um podendo conter 0 ou 1. Uma falha pode fazer com que um (ou mais de um) bit troque de valor inesperadamente, o que certamente afetará o funcionamento normal do computador. Uma falha, portanto, pode gerar um erro em alguma informação.

Defeito

Já esta informação errônea, se não for percebida e tratada, poderá gerar o que se conhece por defeito. O sistema simplesmente trava, mostra uma mensagem de erro, ou ainda perde os dados do usuário sem maiores avisos. Isto é percebido no universo do usuário.

Recapitulando, uma falha no universo físico pode causar um erro no universo informacional, que por sua vez pode causar um defeito percebido no universo do usuário. A Tolerância a Falhas visa exatamente acabar com as falhas, ou tratá-las enquanto ainda são erros. Já a Alta Disponibilidade permite que máquinas travem ou errem, contanto que exista outra máquina para assumir seu lugar.

Para que uma máquina assuma o lugar de outra, é necessário que descubra de alguma forma que a outra falhou. Isso é feito através de testes periódicos, cujo período deve ser configurável, nos quais a máquina secundária testa não apenas se a outra está ativa, mas também fornecendo respostas adequadas a requisições de serviço. Um mecanismo de detecção equivocado pode causar instabilidade no sistema. Por serem periódicos, nota-se que existe um intervalo de tempo durante o qual o sistema pode estar indisponível sem que a outra máquina o perceba.

Failover

O processo no qual uma máquina assume os serviços de outra, quando esta última apresenta falha, é chamado failover. O failover pode ser automático ou manual, sendo o automático o que normalmente se espera de uma solução de Alta Disponibilidade. Ainda assim, algumas aplicações não críticas podem suportar um tempo maior até a recuperação do serviço, e portanto podem utilizar failover manual[1]. Além do tempo entre a falha e a sua detecção, existe também o tempo entre a detecção e o reestabelecimento do serviço. Grandes bancos de dados, por exemplo, podem exigir um considerável período de tempo até que atualizem os índices de suas tabelas e, durante este tempo, o serviço ainda estará indisponível.

Para se executar o failover de um serviço, é necessário que as duas máquinas envolvidas possuam recursos equivalentes. Um recurso pode ser uma placa de rede, um disco rígido, os dados neste disco, e todo e qualquer elemento necessário à prestação de um determinado serviço. É vital que uma solução de Alta Disponibilidade mantenha recursos redundantes com o mesmo estado, de forma que o serviço possa ser retomado sem perdas.

Dependendo da natureza do serviço, executar um failover significa interromper as transações em andamento, perdendo-as, sendo necessário reiniciá-las após o failover. Em outros casos, significa apenas um retardo até que o serviço esteja novamente disponível. Nota-se que o failover pode ou não ser um processo transparente, dependendo da aplicação envolvida.

Failback

Ao ser percebida a falha de um servidor, além do failover é obviamente necessário que se faça manutenção no servidor falho. Ao ser recuperado de uma falha, este servidor será recolocado em serviço, e então se tem a opção de realizar o processo inverso do failover, que se chama failback. O failback é portanto o processo de retorno de um determinado serviço de uma outra máquina para sua máquina de origem. Também pode ser automático, manual ou até mesmo indesejado. Em alguns casos, em função da possível nova interrupção na prestação de serviços, o failback pode não ser atraente.

Missão

Quando se calcula a disponibilidade de um sistema, é importante que se observe o conceito de missão. Missão de um sistema é o período de tempo no qual ele deve desempenhar suas funções sem interrupção. Por exemplo, uma farmácia, que funcione das 8h às 20h, não pode ter seu sistema fora do ar durante este período de tempo. Se este sistema vier a apresentar defeitos fora deste período, ainda que indesejados, estes defeitos não atrapalham em nada o andamento correto do sistema quando ele é necessário. Uma farmácia 24h obviamente tem uma missão contínua, de forma que qualquer tipo de parada deve ser mascarada.

A Alta Disponibilidade visa eliminar as paradas não planejadas. Porém, no caso da primeira farmácia, as paradas planejadas não devem acontecer dentro do período de missão. Paradas não planejadas decorrem de defeitos, já paradas planejadas são aquelas que se devem a atualizações, manutenção preventiva e atividades correlatas. Desta forma, toda parada dentro do período de missão pode ser considerada uma falha no cálculo da disponibilidade.

Uma aplicação de Alta Disponibilidade pode ser projetada inclusive para suportar paradas planejadas, o que pode ser importante, por exemplo, para permitir a atualização de programas por problemas de segurança, sem que o serviço deixe de ser prestado.

Monitoração de nodos

A monitoração de nodos é realizada pelo heartbeat. Ele é o responsável por testar periodicamente os nodos do cluster, coordenando as ações de failover e failback. As soluções que utilizam reativação automática de serviços serão baseadas neste pacote.

Replicação de disco

A replicação de disco é de responsabilidade do DRBD, um driver de bloco para o kernel que cria um dispositivo de bloco[2] virtual, consistindo tanto de um disco real local quanto de uma conexão de rede, que terá na outra ponta outro driver DRBD atuando como secundário. Tudo aquilo que é escrito no dispositivo virtual é escrito no disco local e também enviado para o outro driver, que fará a mesma operação em seu disco local. Com isto se obtém dois nodos com discos exatamente iguais, até o instante da falha. As aplicações que trabalham com dados dinâmicos ou atualizados com muita freqüência se beneficiam deste driver.

Atenção
Configurações com centenas de gigabytes e/ou muito volumes gerenciados pelo DRBD devem ser bem testadas antes de serem colocadas em produção, pois o DRBD ainda está em desenvolvimento e algumas situações extremas podem não ter sido testadas.

Sistema de arquivos

Dados replicados ou não, é importante que o sistema de arquivos esteja consistente. Nem todos os sistemas de arquivos garantem isso, portanto para esta solução se escolheu trabalhar com o Ext3 Filesystem. Este sistema de arquivos trabalha com journal, o que significa que todas as alterações de dados são antes registradas no disco para que, caso o sistema venha a falhar durante este processo, a transação possa ser recuperada quando o sistema voltar. Isto confere agilidade ao processo de recuperação de falhas, bem como aumenta muito a confiabilidade das informações armazenadas.

Monitoração de serviços

A monitoração de serviços é feita através do Mon, um super- escalonador de testes que pode verificar centenas de máquinas e serviços de forma rápida e ágil, enviando alertas para endereços de correio eletrônico, pagers ou telefones celulares, garantindo que os administradores dos serviços estejam sempre bem informados sobre seu estado de operação. Suporta dependências entre testes, portanto não perde tempo verificando se um servidor de HTTP está respondendo em uma máquina que sabe estar inoperante. Um alerta pode até mesmo tentar recuperar a situação automaticamente ou reiniciar uma máquina, caso a falha ocorra em um horário de difícil manutenção.

Procure saber mais sobre HEARTBEATS e DRDBS.

O que é FailOver, Failback e SwitchOver

Sunday, August 31st, 2008

O Que significa Failover, Failback e Switchover nos tutoriais em inglês?

Quem instala sistemas com grande quantidade de usuários é indispensável implementar mecanismo que garanta alta disponibilidade dos serviços. O pacote Heartbeat é um dos mais populares para implementar tais mecanismos no mundo Linux. Quem instala sistemas Asterisk, OpenSER, servidor web, banco de dados, entre outros sistemas se depara na documentação do Heartbeat com os termos de failover, failback e switchover. Para que não está familiarizado com essa termologia, como uma colher de chá e também como forma de documentar na língua pátria, segue uma definição extraída da Wikipedia, http://en.wikipedia.org/wiki/Failover e http://en.wikipedia.org/wiki/Switchover:

Failover

O failover é a capacidade de determinado sistema/serviço migrar automaticamente para um outro servidor, sistema ou rede redundante ou que está em standby quando da ocorrência de falha ou término anormal do servidor, do sistema ou da rede que estava ativo até aquele instante. O Failover acontece sem intervenção humana e geralmente sem aviso prévio, diferente de switchover.

Os projetistas de sistemas normalmente fornecem capacidade de failover em servidores, sistemas ou redes que exigem continua disponibilidade e um alto grau de confiabilidade.

A automação é feita usando um cabo “Heartbeat” que é conectado aos dois servidores. Tão longo exista um “Pulso ou mensagem heartbeat” do servidor principal para o servidor secundário, o servidor secundário não iniciará seus sistemas. Pode haver também um terceiro servidor “Spare parts” que possui rodando componentes de reserva para comutação “no fogo” para evitar a interrupção durante o lapso de tempo da comutação.

O segundo servidor imediatamente assumirá o trabalho do primeiro tão logo ele detecte alguma alteração na mensagem “heartbeat” da primeira máquina. Alguns sistemas possuem a habilidade de mandar uma mensagem via page ou enviar uma mensagem para um técnico pré-designado ou centro de monitoração.

Em alguns sistemas, o failover é intencionalmente não automático por completo, que exige a intervenção humana. Isso é chamado “automatizado com aprovação manual“, porque a atividade fica automática uma vez que seja dada a aprovação.

Reciprocamente, o Failback é o processo de restauração de um sistema/componente/serviço que se encontra em um estado de failover (ou seja, aquela máquina onde estava rodando o serviço que apresentou problrmas) de volta a seu estado original que estava antes da falha.

Switchover

O switchover é a capacidade de um sistema de comutar manualmente para um computador servidor, sistema ou rede redundante ou em standby quando da ocorrência de falha ou rmino anormal do servidor, sistema, ou rede ativo anteriormente. Switchover acontece com a intervenção humana, diferentemente do Failover.

Um switchover normalmente seria iniciado a fim de executar manutenção do sistema, como instalação de patches, atualização para uma nova release ou atualização do seu sistema. Em outros casos, o sistema inteiro é suficientemente complexo em que fazer o failover automático não é possível.

Claro, e os louros vão para -> http://www.noticiaria.com.br/item/id/127389/title/Que_e_Failover__Failback_e_Switchover

Descobrir nome da Distribuição em uso (mini-tuto)

Thursday, August 28th, 2008

É comun que cheguemos em algum lugar e encontremos um Gnu/Linux rodando turbinado ou até mesmo para um troubleshooting, nada melhor do que antes de “meter a mão” saibamos aonde estamos “pisando”.

Quer saber qual sua distro? Use:

dmesg | head -n 2

Se o comando acima não exibir a real distribuição tente:

uname -a

Se mesmo assim ainda não rolar (caso do Fedora), use:

cat /etc/issue

Este último deve cravar!

Abraços! ah… seguem meus resultados:

[root@localhost ~]# dmesg | head -n 2
Initializing cgroup subsys cpuset
Linux version 2.6.25.14-108.fc9.i686 (mockbuild@) (gcc version 4.3.0 20080428 (Red Hat 4.3.0-8) (GCC) ) #1 SMP Mon Aug 4 14:08:11 EDT 2008

[root@localhost ~]# cat /etc/issue
Fedora release 9 (Sulphur)
Kernel \r on an \m (\l)

[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.25.14-108.fc9.i686 #1 SMP Mon Aug 4 14:08:11 EDT 2008 i686 i686 i386 GNU/Linux
[root@localhost ~]#

Fedora 9: Tornando sua vida mais “easy” com “easylife”!

Thursday, August 28th, 2008

Uma ferramenta legal para administração de recursos simples do fedora (instalação do skype, suporte a ntfs-3g, coisas do gênero) pode ser utilizado para facilitar ainda mais o uso do desktop fedora – tal ferramenta chama-se EASYLIFE.

Para baixar o mesmo acesse:

http://ufpr.dl.sourceforge.net/sourceforge/easylife-linux/easylife-20080524-1.fc9.noarch.rpm

Baixe o arquivo, instale (rpm -Uhv arquivo.rpm),
Depois acesse Aplicações -> Ferramentas do Sistema -> Easy Life

Pronto, feito isto você terá uma vida mais “fácil”!

Fedora 9: Músicas, vídeos e o escambau com repositório Livna

Thursday, August 28th, 2008

Repositório Livna disponí­vel para o Fedora 9

Com o uso dos repositórios Livna, o Fedora 9 tem a capacidade de executar todos os tipos de arquivos de audio como MP3 e rodar todos tipos de DVD. Você pode navegar pelo repositório do livna pelo site http://rpm.livna.org/fedora/9/. Para o tornar disponí­vel no seu novo sistema Fedora 9, execute o seguinte comando:

$ su -c ‘rpm -ivh http://rpm.livna.org/livna-release-9.rpm

Abaixo irei falar um pouco mais sobre os benefícios de se usar um sistema moderno com atualizações do livna. Para início de conversa, os drivers da AMD e Nvidia não estão disponí­veis nos repositórios padrões, como muitos sabem que ele não está funcionando com o servidor X 1.4.99 que é embarcado com o Fedora 9. Entretanto os drivers se mantêm no repositorio de teste para o F9 – e esse serviço está disponí­vel somente para usuários experientes que sabem como é complicado e perigoso instalá-los. Os drivers serão movidos para os repositórios corretos uma vez que o X-Server suportá-los (ou for atualizado).

=== Lembrete para usuários que planejam rodar um yum-update para o Fedora 9 ===

Se você possui pacotes do livna instalados no seu sistema e planeja rodar um live-update para o Fedora 9 usando o yum, por favor deixem os repositórios do livna habilitados para que o grande “yum update” rode. Com isso você terá todas atualizações do livna também, o que é importante, assim como suas depend^ências que precisam ser supridas.

=== Exemplos para ter as coisas funcionando no Livna ===

Uma vez que instalar o release-rpm, você pode instalar programas através da ferramenta de interface gráfica chamada pirut, que é parte do Fedora. Com um usuário root você também pode instalar pacotes por linha de comando, por exemplo:

- se quiser instalar o xine como player de ví­deo, faça o seguinte:
# yum install xine-lib-extras-nonfree xine
Isso irá habilitar as capacidades do Totem também, o Totem pode ser usado pelo xine como backend no Fedora 9 também.

- se preferir o mplayer:
# yum install mplayer-gui

- se preferir o vlc:
# yum install vlc

- se quiser o suporte ao MP3 nas aplicações do Gnome, rode:
# yum install gstreamer-plugins-ugly

=== Problemas? ===

Acesse o BugZilla do Livna http://bugzilla.livna.org/

=== Precisa de suporte? ===

Acesse os recursos que o Fedora provê aos seus usuários como os fóruns abaixo e IRC pelo canal #fedora (em inglês) no freenode:

www.fedora.org.br – Comunidade Fedora Brasil
www.projetofedora.org/portal/forum/ – forum do portal do Projeto Fedora Brasil

Mais dúvidas sobre instalação de pacotes podem ser sanadas nos fóruns também, processo recomendado.

Fonte: http://rmenezes.com/2008/05/repositorio-livna-disponivel-para-o-fedora-9-sulphur/

Fedora 9: Apache 2 PHP 5 Mysql 5 phpmyadmin – lamp2

Saturday, August 23rd, 2008

Terreno

Necessidade de instalação do LAMP2 em meu PC. Ter uma internet bacana, ou “bacaninha”.

Partindo para cima

Primeiros passos (creio que você já atulizou seu fedora 9 sempre devem ser checagens simples. Rode os comandos abaixo como root:

yum -y install httpd php mysql mysql-server php-mysql

Esse comando aí instala o apache 2.2.8, php 5.2.5 e mysql 5.0.51a e já integra os serviços entre si.

Para fazer com que os serviços rodem automaticamente, usemos os comandos abaixo:

/sbin/chkconfig httpd on
/sbin/chkconfig –add mysqld
/sbin/chkconfig mysqld on
Para startar os serviços use os comandos:

/sbin/service httpd start
/sbin/service mysqld start

Para ajustar o password do mysql use o comando:

mysqladmin -u root password ‘new-password’
Para “adicionar” alguma segurança ao mysql, use:

mysql -u root -p
mysql> DROP DATABASE test;
mysql> DELETE FROM mysql.user WHERE user = ”;
mysql> FLUSH PRIVILEGES;

Para ver se rodou legal, vá em /var/www/html/ e crie um arquivo index.php e coloque o conteúdo abaixo dentro dele:

<?php
phpinfo();
?>

Para testar, abra o firefox e coloque o endereço –> http://localhost/
Se for exibida a diretiva completa do php.ini, MARAVILHA, se não, volte para o início deste tutorial.
Agora o mr PHPMYAdmin, para ajusta-lo use o comando abaixo:

yum install phpmyadmin
Feito isso, copie o diretório da forma que eu farei:

cp -r /usr/share/phpMyAdmin/ /var/www/html/

Pronto, o phpmyadmin pode ser acessado da seguinte forma em seu Firefox (eu espero que seja ele):

http://localhost/phpMyAdmin/

Espero ter ajudado e algo, talvez possa ser útil.

Exemplo de envio de email com CDonts

Friday, August 22nd, 2008

<%
set mail=server.createobject(“CDONTS.NewMail”)

mail.To=”little_oak@yahoo.com.br” ‘email destinatário’
mail.from=”email_presenteno_servidor@domínio.com” ‘email do remetente’
mail.Subject=”Contato” ‘Assunto’
mail.BodyFormat = 0 ’setando a propriedade do email p/ HTML’
mail.MailFormat = 0
mail.Body=”<font size=2 face=arial><b>Olá Little_Oak</b>, Este email é para<font color=#FF0000>”TESTES”</font>. http://littleoak.wordpress.com”

mail.Send
%>

Cdonts parou de enviar emails após instalação do Mailenable!

Thursday, August 21st, 2008

Se você fez tudo e um pouco mais e a coisa ainda continua na “ondinha” de não funcionar, tente isto:

Adicionar a permissão especial completa ao usuário IUSR_[server name] com permissão de escrita em partições ntfs no caminho -> \inetpub\mailroot\pickup.

Deve rodar ok!

Dicas e Tutorias do Cpanel: Comandos de prevenção e correção de erros (DEMAIS SÃO CÓPIAS)

Tuesday, August 19th, 2008

Nota: Utilizei na maioria do tempo # apenas para melhor visualização deste artigo.

# ./addpop
Cria uma nova conta de e-mail , após executado apenas siga os passos sugeridos pelo script

# ./checkbadconf

Verifica se existe algum usuário indevido ou antigo em “/usr/local/apache/conf/httpd.conf ”

# ./fixcommonproblems
- Tenta reparar os problemas mais comuns ( exemplos: problemas mais simples de quota, permissão de contas de e-mail , referencias de conta perdidas, etc, etc.)

# ./fixeverything
- Executa além das funções do script anterios, várias outras como quotas, e inumeros outros.
*Execute este script apenas se o anterior não resolver o problema.
Normalmente este script quando executado demora um bom tempo para executar toda a tarefa e eleva bastante o load .

# ./fixmysql
- Repara problemas do mySQL

# ./fixnamed
- Atualiza e corrige o bind
# ./fixrndc
- corrige erros no rndc

# ./securetmp
- habilita a proteção de escrita ao tmp e Adiciona “securetmp” ao startup do servidor.

# ./updateuserdomains*
Atualiza os usuários de domínios em httpd.conf

GD:

# ./checkgd
- Verifica se o GD está compilado.

# ./cleangd
- Limpa instalações antigas do GD e recompila o GD a seguir.

# ./installgd
- Compila o GD.

Zend:

# ./installzendopt
- Instala o zend optimzer.

ImageMagick:

# ./checkimagemagick
- verifica se o ImageMagick está compilado.

# ./cleanimagemagick
- Limpa instalações antigas do ImageMagick e recompila a seguir.

# ./installimagemagick
- Instala o ImageMagick

Perl:

# ./fixperl
- Verifica e corrige os Links Simbólicos (atalhos) /usr/local/bin/perl e /usr/bin/perl.
# ./fixperlscript
- Certifica se “perlscript” inclui todos os módulos correspondentes e tenta corrigir.

Mail:

# ./fixpop
- Corrige contas de email POP e reseta a senha.

# ./fixspamassassinfailedupdate
- Reinstala o spamassassin caso esteja com falhas após o ultimo update.

# ./listcheck
- Verifica se existem erros nas listas de e-mail.

# ./mailperm
- Corrige problemas de permissões nas contas de e-mail.

# ./mailscannerupdate
- Atualiza o MailScanner se estiver instalado.

# ./patcheximconf
- Corrige o exim.conf

# ./reseteximtodefaults
- Reseta as configurações do exim para o default.

resetimappasswds
- Reseta todas as senhas de contas de e-mail imap.

fixquotas
- Corrige o contador de espaço das contas.

ftpquaotacheck
- atualiza a quota para todos os usuário ftp.

Stats:
fixwebalizer
- Repara o Update do Webalizer

Logs:

# ./fixsubdomainlogs
- Corrige os logs dos subdomínios.
# ./runstatsonce
- atualiza as estatísticas
# ./runweblogs
- atualiza as estatisticas do analog/webalizer/etc. para um determinado usuário

Base de Dados:

# ./installpostgres
- Instala PostrgeSQL.
# ./mysqladduserdb
- Cria um usuário de banco de dados para o MySQL

# ./mysqlconnectioncheck
- Tenta conecat ao Mysql e restarta caso seja necessário.
# ./mysqldeluserdb
- Apaga um usuário de banco de dados MySQL
# ./mysqlpasswd
- Modifica a senha do Mysql

Restart de serviços:

restartsrv – Restarta o service.
restartsrv_apache – Restarta apache.
restartsrv_bind – Restarta bind.
restartsrv_clamd – Restarta clamd.
restartsrv_courier – Restarta courier imap.
restartsrv_cppop – Restarta cppop.
restartsrv_entropychat – Restarta entropy chat.
restartsrv_exim – Restarta exim.
restartsrv_eximstats – Restarta exim statistics.
restartsrv_ftpserver – Restarta your ftp server.
restartsrv_httpd – Restarta httpd.
restartsrv_imap – Restarta impad.
restartsrv_inetd – Restarta inetd.
restartsrv_interchange – Restarta Interchange Shopping Cart.
restartsrv_melange – Restarta melange chat.
restartsrv_mysql – Restarta mysqld.
restartsrv_named – Restarta named.
restartsrv_postgres – Restarta postgresql.
restartsrv_postgresql – Restarta postgresql.
restartsrv_proftpd – Restarta proftpd.
restartsrv_pureftpd – Restarta pure-ftpd.
restartsrv_spamd – Restarta spamd.
restartsrv_sshd – Restarta sshd.
restartsrv_syslogd – Restarta syslogd.
restartsrv_tomcat – Restarta tomcat.
restartsrv_xinetd – Restarta xinetd.

Para atualizar o WHM:
# ./upcp
Para forçar uma atualização do WHM:
# ./upcp –force

Fedora 9: BroadCom sem fuleragem! Broadcom bmc43xx facinho facinho

Monday, August 18th, 2008

Gente, hoje quebrei o pau para instalar essa peste desta broadcom no meu Fedora 9, e agora (mais uma vez, só para variar) vou entregar MASTIGADINHO:

Terreno
O que você precisa é ter  instalado o F9 (funciona no F8), ter uma imagem i386 (pode tentar x86_64, mas EU não tive o privilégio de instalar e NEM RECOMENDO pois Fedora “é a cobaia da Rhel”), ter paciência (ver trecho em aspas duplas) e uma internet para tal feito.

Ao combate
Faça tudo como root

yum update

depois
yum install bcm43xx-fwcutter b43-fwcutter

depois
faça download do arquivo a seguir (versão 4 do b43)-> http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2

depois
faça download do arquivo a seguir (versão 3 do  bcm43xx) ->
http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o

depois (sobre o b43)
b43-fwcutter -w /lib/firmware /path/to/kmod/wl_apsta.o

depois (sobre b43legacy)
b43-fwcutter -w /lib/firmware /path/to/wl_apsta-3.130.20.0.o

depois (sobre bcm43xx)
bcm43xx-fwcutter -w /lib/firmware /path/to/wl_apsta-3.130.20.0.o

depois
echo “alias wlan0 b43″ >> /etc/modprobe.conf

depois
echo “alias wlan0 b43legacy” >> /etc/modprobe.conf

recarregando drivers
rmmod b43 && modprobe b43

Links adicionais:

http://bcm43xx.berlios.de/
http://linuxwireless.org/en/users/Drivers/b43
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=186329

desabilitar ENTER com javascript

Monday, August 18th, 2008

<script language=”JavaScript”>
function AnalizaTeclas()
{
var tecla=window.event.keyCode;
if (tecla==13) {event.keyCode=0; event.returnValue=false;}
}
//–>
</script>
<body onKeyDown=”AnalizaTeclas()”>

ou

if (window.event.keyCode == 13)
{
event.returnValue=false;
event.cancel = true;
}

Alterar senha de Root do Mysql

Saturday, August 16th, 2008

1) Se o mysql estiver rodando, pare o serviço do MySQL
2) Digite o seguinte comando:

/usr/sbin/mysqld –bootstrap –skip-grant-tables –basedir=/ –datadir=/var/lib/mysql << bla
update mysql.user set password=” where user=’root’;
bla

Agora você acaba de “ZERAR” a senha do mysql. Basta então iniciar o serviço do mysql novamente.
3) Agora, caso ainda não tenha feito, inicie o serviço do MySQL novamente
4) Troque a senha do mysql com o seguinte comando:

mysqladmin -u root password ‘minha nova senha’

=================================================

DICA 2

Primeiro mate o processo do mysql (não utilize a opção -9):

# killall mysqld

Agora inicie o MySQL em modo seguro (safe mode):

# safe_mysqld –skip-grant-tables &

Ou

# /usr/bin/safe_mysqld –skip-grant-tables &

Agora conecte-se ao servidor MySQL usando o cliente do mysql:

# mysql

Ou

# /usr/bin/mysql

Após conectar-se ao servidor MySQL, acesse o banco MySQL, digitando:

> use mysql;

Agora vamos definir a nova senha para o usuário root do MySQL:

> update user set password = password(‘digite sua nova senha aqui’) where user=’root’ and host=’localhost’;

Ah, e não esqueça de recarregar os privilégios, digitando:

> flush privileges;

Agora você poder sair do cliente do MySQL, digite:

> quit

Agora vamos desligar o modo de segurança do MySQL, execute:

# /etc/init.d/mysqld stop

E enfim, vamos iniciar o MySQL com a nova senha de root:

# /etc/init.d/mysqld start

=================================================

DICA 3

1 – Para o servidor mysql:

#service mysqld stop ou
#service mysql stop

Dependendo da versão do linux o nome do daemon do mysql pode variar. Caso nenhum dos comandos acima pare o seu mysql, entre no diretório “/etc/rc.d/init.d” e lá voçê digita ./onomedeseuMYSQLdaemon stop

2 – Inicie o mysql com as opções “–skip-grant-tables”. Fazendo isso o mysql irá inicar ignorando as tabelas que fazem a autenticação.

#safe_mysqld –skip-grant-tables&

3 – Conecte no servidor mysql.

#mysql -u root mysql

4 – Digita os comandos abaixo no console do cliente mysql.

mysql> UPDATE user SET Password=PASSWORD(‘minhanovasenha’) WHERE User=’root’;
mysql> FLUSH PRIVILEGES;

5 – Reinicie seu servidor mysql.

#service mysql restart ou
#service mysqld restart

=================================================

1. Finalize o daemon mysqld enviando um kill (não kill -9) para o servidor mysqld. O pid é armazenado em um arquivo .pid, que normalmente está no diretório de banco de dados do MySQL:
2. shell> kill `cat /mysql-data-directory/hostname.pid`
Você deve ser o usuário root do Unix ou o mesmo usuário com o qual o mysqld está executando para fazer isto.
3. Reinicie o mysqld com a opção –skip-grant-tables.
4. Defina uma nova senha com o comando mysqladmin password:
5. shell> mysqladmin -u root password ‘mynewpassword’
6. Agora você também pode parar o mysqld e reiniciá-lo normalmente, ou apenas carregue a tabela de privilégios com:
7. shell> mysqladmin -h hostname flush-privileges
8. Depois disto, você deve estar apto para conectar usando a nova senha.
De forma alternativa, você pode definir a nova senha usando o cliente mysql:
1. Finalize e reinicie o mysqld com a opção –skip-grant-tables com descrito acima.
2. Conecte ao servidor mysqld com:
3. shell> mysql -u root mysql
4. Dispare os seguintes comandos no cliente mysql:
5. mysql> UPDATE user SET Password=PASSWORD(‘minhanovasenha’)
6. -> WHERE User=’root’;
7. mysql> FLUSH PRIVILEGES;
8. Depois disto, você deve estar apto a conectar usando a nova senha.
9. Você agora pode parar o mysqld e reiniciá-lo normalmente.

+++
Resumo:

Linux:

  1. Parar o serviço do MySQL (service mysqld stop, /etc/init.d/mysqld stop, matando o processo – conforme sua distribuição);
  2. Reiniciar o mysql com a opção --skip-grant-tables (você poderá utilizá-la ao iniciar o mysqld manuamente ou colocando-a no arquivo de init)
  3. Alterar a senha do usuário root com o comando:
    # mysqladmin -u root password 'nova_senha'
    # mysqladmin flush-privileges
    você pode alterar a senha também com o comando:

    # mysql -u root mysql
    mysql> UPDATE user SET Password=PASSWORD('nova_senha') WHERE User='root';
    mysql> FLUSH PRIVILEGES;

Windows XP (com o MySQL rodando como serviço):

  1. Entrar nos serviços do windows (Iniciar -> Executar -> services.msc);
  2. Procure pelo MySQL, clique com o botão direito sobre ele e vá em propriedades;
  3. Pare o serviço (clicando sobre o botão parar);
  4. Insira no campo “Parâmetros de inicialização” o parâmetro --skip-grant-tables e clique no botão iniciar e em seguida botão Ok;
  5. Execute o cmd (Iniciar -> Executar -> cmd) , entre no diretório de binários do MySQL (cd c:\arquivos de programas\mysql\bin (ou onde estiver instalado));
  6. Alterar a senha do usuário root com o comando:
    mysqladmin -u root password 'nova_senha'
    mysqladmin flush-privileges
    você pode alterar a senha também com o comando:

    mysql -u root mysql
    mysql> UPDATE user SET Password=PASSWORD('nova_senha') WHERE User='root';
    mysql> FLUSH PRIVILEGES;

O parâmetro --skip-grant-tables desabilita no servidor o uso do sistema de privilégios. Com isso todos os usuários terão acesso a todos os bancos de dados. Ao executar o comando Flush privileges, o servidor retorna a utilizar seu sistema de privilégios, mantendo a segurança original do serviço.

Agora se você adicionou o parâmetro --skip-grant-tables no arquivo de init, não se esqueca de remové-lo de lá, para evitar que na próxima reinicialização do serviço ele fique vulnerável. Caso seu MySQL esteja no Windows, execute os 4 primeiros passos novamente removendo o parâmetro passado na inicialização.

http://dev.mysql.com/doc/refman/5.0/en/adding-users.html

autor: http://josemorelli.net/2005/11/07/alterando-a-senha-do-usuario-root-no-mysql

Não recebo e-mails da AOL em meu servidor, o que fazer?

Wednesday, August 13th, 2008

A função SPF do servidor está impedindo o recebimento de email da @aol.

Acesse o WHM > Service Configuration > Exim Configuration Editor e desmarque:
Blacklist: SPF Checking


Combatendo envio de spam em scripts PHP

Tuesday, August 12th, 2008

Insira sempre o código abaixo no início de seus scripts com forms:

// Proteção contra injeção de SPAM
foreach ($_POST as $j =>$value) {
if (stristr($value,”Content-Type”)) {
header(“HTTP/1.0 403 Forbidden”);
exit;
}
}

Este também:

// Mais uma proteção contra SPAM
if ( preg_match( “/bcc:|Content-Type:/i”, implode( $_POST ) ) ){ exit; }


Também valide entradas de email com expressão regular:

// Verificando se o email é válido
if  (!eregi(“^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$”, $_POST['email'])) {
die(“email inválido”);
}

É isso!

HTML: Tabelas ou tables

Sunday, August 10th, 2008
T A B E L A S
<table></table> forma geral:
<table>
<tr>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>
</table>
A propriedade “border” define a expessura da borda de uma tabela, sempre use o valor 1 quando desenvolver uma página HTML com uma tabela complexa, quando terminar e estiver tudo certo configure o valor para 0:
<table border=1>
<tr>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>
</table>
<table border=1>
<tr>
<td>
<font face=verdana size=2>
conteúdo a exibir<br>
conteúdo a exibir
</font>
</td>
</tr>
</table>
A tag <tr> é chamada de cédula. Uma cédula define uma coluna numa nova linha, é o equivalente ao <br> só que pra tabelas
<table border=1>
<tr>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>
<tr>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>
</table>
A tag <td> adiciona uma nova coluna na mesma linha, é chamada de …   coluna:
<table border=1>
<tr>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>
</table>
Veja o que acontece quando uma tabela é definida com duas colunas na primeira linha e apenas uma na segunda linha:
<table border=1>
<tr>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>
<tr>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>
</table>
Largura e altura também podem ser definidos, a propriedade “height” não é reconhecida pelo NETSCAPE:
<table border=1 width=500 height=300>
<tr>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>
</table>
Por padrão o alinhamento do conteúdo dentro de uma tabela é à esquerda e no meio, mas isso pode ser configurado:
<table border=1 width=500 height=300>
<tr>
<td align=center valign=top>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>
</table>
Veja este modelo mais avançado:
<table border=1 width=500 height=300><tr>
<td align=left valign=top>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
<td align=center valign=top>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
<td align=right valign=top>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>

<tr>
<td align=left valign=middle>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
<td align=center valign=middle>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
<td align=right valign=middle>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>

<tr>
<td align=left valign=bottom>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
<td align=center valign=bottom>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
<td align=right valign=bottom>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>

</table>

Algo muito útil é o uso do “colspan” e “rowspan”, a seguir um exemplo de uma tabela com duas colunas na primeira linha e apenas uma coluna na segunda, mas com o atributo “colspan=2″ essa coluna ocupará o equivalente a 2 colunas:
<table border=1><tr>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>

<tr>
<td align=center colspan=2>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>

</table>

Tabela com duas colunas na primeira linha e apenas uma coluna na segunda, mas o atributo “rowspan=2″ na primeira coluna da primeira linha indica que essa coluna ocupará 2 linhas:
<table border=1><tr>
<td rowspan=2>
<font face=verdana size=2>
rowspan=2
</font>
</td>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>

<tr>
<td align=center>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>

</table>

Outros attributos simples podem configurar uma tabela:
<table border=1 bordercolor=ff0000><tr>
<td align=center>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>

</table>

“bordercolor” limita-se aos atributos das tags <table> e <tr>:
<table border=1 bordercolor=ff0000><tr bordercolor=ffffff>
<td align=center>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>

</table>

Use “cellpadding” e “cellspacing” para definir a diferença de espaço entre cédulas (<tr></tr>) e células (<td></td>), respectivamente:
<table border=1 bordercolor=ff0000 cellspacing=0 cellpadding=0><tr bordercolor=ffffff>
<td align=center>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>

</table>

“bgcolor” pode ser usado em todas as tags de uma tabela:
<table bgcolor=000000 border=1 bordercolor=ff0000 cellspacing=0 cellpadding=0>
<tr bordercolor=ffffff>
<td align=center>
<font face=verdana size=2 color=ffffff>
conteúdo a exibir
</font>
</td>
</tr>
</table>
<table border=1 bordercolor=ff0000 cellspacing=0 cellpadding=0>
<tr bordercolor=ffffff bgcolor=000000>
<td align=center>
<font face=verdana size=2 color=ffffff>
conteúdo a exibir
</font>
</td>
</tr>
</table>
<table border=1 bordercolor=ff0000 cellspacing=0 cellpadding=0>
<tr bordercolor=ffffff>
<td align=center bgcolor=000000>
<font face=verdana size=2 color=ffffff>
conteúdo a exibir
</font>
</td>
</tr>
</table>
<table border=1 width=500 height=300>
<tr>
<td align=left valign=top bgcolor=ffff00>
<font face=verdana size=2 color=000000>
conteúdo a exibir
</font>
</td>
<td align=center valign=top>
<font face=verdana size=2 color=000000>
conteúdo a exibir
</font>
</td>
<td align=right valign=top bgcolor=ff0000>
<font face=verdana size=2 color=000000>
conteúdo a exibir
</font>
</td>
</tr><tr>
<td align=left valign=middle bgcolor=ebc79e>
<font face=verdana size=2 color=000000>
conteúdo a exibir
</font>
</td>
<td align=center valign=middle bgcolor=000000>
<font face=verdana size=2 color=ffffff>
conteúdo a exibir
</font>
</td>
<td align=right valign=middle bgcolor=0000ff>
<font face=verdana size=2 color=ffffff>
conteúdo a exibir
</font>
</td>
</tr>

<tr>
<td align=left valign=bottom bgcolor=ff9900>
<font face=verdana size=2 color=000000>
conteúdo a exibir
</font>
</td>
<td align=center valign=bottom bgcolor=cc66cc>
<font face=verdana size=2 color=000000>
conteúdo a exibir
</font>
</td>
<td align=right valign=bottom bgcolor=00cc00>
<font face=verdana size=2 color=000000>
conteúdo a exibir
</font>
</td>
</tr>

</table>

“background” também pode ser usado em todas as tags de uma tabela:
<table width=130 height=60 background=imagens/briga.gif border=1 bordercolor=ff0000 cellspacing=0 cellpadding=0>
<tr bordercolor=ffffff>
<td align=center>
<font face=verdana size=2 color=ffffff>
conteúdo a exibir
</font>
</td>
</tr>
</table>
Por padrão a figura de fundo se mutiplica quando a tabela é maior que suas dimensões:
<table width=260 height=120 background=imagens/briga.gif border=1 bordercolor=ff0000 cellspacing=0 cellpadding=0>
<tr bordercolor=ffffff>
<td align=center>
<font face=verdana size=2 color=ffffff>
conteúdo a exibir
</font>
</td>
</tr>
</table>
Usando um simples Estilo CSS vc pode configurar as propriedades do background:
<table width=260 height=120 style=”background-repeat:no-repeat; background=imagens/briga.gif border=1 bordercolor=ff0000 cellspacing=0 cellpadding=0>
<tr bordercolor=ffffff>
<td align=center>
<font face=verdana size=2 color=ffffff>
conteúdo a exibir
</font>
</td>
</tr>
</table>
Usando backgrounds diferentes numa mesma tabela:
<table width=130 height=100 border=1 style=”background-repeat:no-repeat;”>
<tr>
<td background=imagens/briga.gif>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
<td background=imagens/guitarrista.gif>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
</tr>
</table>
<table width=400 height=120 border=1 background=imagens/hempa.gif>
<tr>
<td width=130 bgcolor=000000 background=imagens/briga.gif style=”background-repeat:no-repeat;”>
&nbsp;
</td>
<td>
<font face=verdana size=2>
conteúdo a exibir
</font>
</td>
<td width=130 background=imagens/guitarrista2.gif style=”background-repeat:no-repeat;”>
&nbsp;
</td>
</tr>
</table>
Em algumas situações talvez você precise usar o atributo nowrap ou wrap, por padrão as tabelas são configuradas como “wrap“.
NOWRAP indica ao browser que um texto dentro de uma tabela não deve ser automaticamente quebrado quando exceder o tamanho indicado em “width”, a não ser que exista um <br>.
<table width=100 height=120 border=1>
<tr>
<td>
texto dentro de uma tabela normal com valor padrão WRAP
</td>
</tr>
</table>
<table width=100 height=120 border=1>
<tr>
<td nowrap>
texto dentro de uma tabela normal com valor padrão WRAP
</td>
</tr>
</table>
esse atributo pertence apenas à tag <td>
Para inciantes isso parece um bicho de sete cabeças.. seria mais simples e prático usar o Dreamweaver para criar tabelas complexas apenas clicando “aqui e ali” mas o bicho vai pegar quando você precisar criar uma tabela e não tiver nenhum editor HTML do tipo Front Page ou Dreamweaver, pior ainda quando você precisar desenvolver um sistema em HTML gerado por scripts de linguagens dinâmicas (ASP, PHP, JSP, PERL..).
Quando você dominar e desenvolver técnicas de formatação de tabelas, pode-se considerar um programador HTML de nível intermediário

FONTE: http://paraiso.etfto.gov.br/biblioteca/material/info/des_web/tutorial/html_tutorial/arquivos/04.html

Script para conectar-se ao Webmail do Cpanel diretamente

Friday, August 8th, 2008

<?php
#Login Configuration

#cPanel
#$protocol = ‘http’;
#$port = 2082;

#Secure cPanel
#$protocol = ‘https’;
#$port = 2083;

#WHM
#$protocol = ‘http’;
#$port = 2086;

#Secure WHM
#$protocol = ‘https’;
#$port = 2087;

#Webmail
$protocol = ‘http’;
$port = 2095;

#Secure Webmail
#$protocol = ‘https’;
#$port = 2096;
?>

<html>
<p><font size=”2″><font face=”Arial, Helvetica, sans-serif”><?php
$host = str_replace(“:”.$port,”",$_SERVER['HTTP_HOST']);
if ($_GET['failed'] == “1″) {
?>
<font color=#FF0000>Dados n&atilde;o conferem !</font></font></font>
<font size=”2″ face=”Arial, Helvetica, sans-serif”>
<?php
}
print “<form action=\”" . $protocol . “://” . $host . “:” . $port . “/login/\”
method=POST>”;
?>
</font></p>
<table width=”90%” border=”0″ cellpadding=”2″ cellspacing=”0″>
<tr>
<td width=”9%” valign=”middle”><div align=”right”><font size=”2″ face=”Arial, Helvetica, sans-serif”><font color=”#333333″>Login:</font></font></div></td>
<td width=”23%” valign=”middle”><div align=”center”><font size=”2″ face=”Arial, Helvetica, sans-serif”>
<input type=text name=user style=”width: 150px; border: 1px #666666 solid; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-style: normal”>
</font></div></td>
<td width=”68%” valign=”middle”>&nbsp;</td>
</tr>
<tr>
<td valign=”middle”><div align=”right”><font size=”2″ face=”Arial, Helvetica, sans-serif”><font color=”#333333″>Senha:</font></font></div></td>
<td valign=”middle”><div align=”center”><font size=”2″ face=”Arial, Helvetica, sans-serif”>
<input type=password name=pass style=”width: 150px; border: 1px #666666 solid; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-style: normal”>
</font></div></td>
<td valign=”middle”><?php
print “<input type=hidden name=failurl value=\”http://” . $host . $_SERVER['PHP_SELF'] . “?failed=1\”>”;
?>
<input name=”submit” type=submit value=LOGIN style=”width: 60px; border: 1px #666666 solid; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: x-small; font-style: normal”></td>
</tr>
</table>
</form>
</html>

Como configurar o login automático do Velox (ubuntu/debian/kurumin)

Monday, August 4th, 2008

A função deste tutorial é ajudar os novos usuários Linux, em especial os de Kurumin Linux, a configurar uma conexão ADSL, como o Velox que é muito problemático, pois o próprio serviço não oferece suporte para os Sistemas GNU/Linux. Como na maioria dos casos acontece. Então, vamos iniciar a instalação.

Este tutorial está dividido em duas etapas. A configuração do ADSL e o Login automático.

A configuração do ADSL

Em primeiro lugar, verifique se o modem está ligado corretamente. Verifique os cabos e veja se está tudo em ordem.

Se tudo estiver em ordem, execute o script: Menu K > Internet > Conectar na Internet ou Configurar a Rede > Conectar via ADSL/PPPOE (ADSL com autenticação).

Ou se quiser execute o comando no terminal:

# sudo pppoeconf

Aparecerá a seguinte tela:

adsl_html_m52c3efde

No meu caso, possuo apenas uma placa de Rede (eth0). Clique no Sim para continuar.

Logo em seguida o script irá procurar pelo seu modem. Ele irá verificar se o seu modem está ligado a interface que você escolheu, isto é, se você possuir mais de uma placa de rede e tentará conectar-se a ele. Pois, se você possuir apenas uma placa de rede, automaticamente o pppoeconf irá usá-la para estabelecer a conexão.

adsl_html_7f05077f

Caso o script tenha detectado o seu modem. Ele exibirá a seguinte tela. Não gosto de falar janela pois me lembra um sistema que não quero mais ver aqui. :-P . Bem, continuando:

adsl_html_4344c86c

Apenas clique em Sim para prosseguir. Na próxima opção aparecerá outra tela:

adsl_html_m55b86a7a

Mais uma vez, clique em Sim para continuar.

Agora vem a parte mais importante. Está é parte do script responsável pela autenticação do ADSL. Digite nesta tela o DDD+ o n° do telefone onde o Velox está instalado. Veja que eu digitei apenas um exemplo.

adsl_html_3d219299

Logo em seguida você terá que digitar a senha que é também o DDD + n° do seu telefone.

adsl_html_64077683

Na próxima tela o script pedirá confirmação para adicionar o endereço IP do DNS do Velox automaticamente no arquivo /etc/resolv.conf . Preferencialmente, clique no Sim.

adsl_html_m13b8a695

Na tela seguinte o script perguntará se você deseja ajustar o tamanho do MMS ou pacotes, se preferir chamar assim, 1452 bytes. Recomendo que você clique no Sim. Principalmente se você deseja compartilhar a conexão.

adsl_html_6c6331e5

Com isso, o script chega na sua parte final e ele pergunta se você deseja iniciar a conexão. Não vou nem dizer o que você deve fazer. Não é mesmo ?! ;-)

adsl_html_597369cf

Agora você pode iniciar sua conexão.

adsl_html_mf118f01

adsl_html_2e562176

Agora que já a conexão ADSL já está configurada, vamos iniciar a autenticação com o provedor. E não se preocupe em fazer tudo isso novamente. Pois esta instalação desta conexão já está configurada para iniciar no boot. :-)

Agora abra qualquer navegador para autenticar o seu usuário e senha do provedor de internet (uol, oi, terra, etc) para que você comece a navegar e para que possamos continuar com a segunda parte deste tutorial.

Nota do editor: O pppoeconf é o configurador padrão para conexões ADSL PPPoE no Debian, ele pode ser encontrado em diversas outras distribuições, como o Ubuntu, Knoppix, Kanotix, Mephis e praticamente todas as outras distribuições derivadas do Debian ou do Knoppix.

Se você estiver usando o Mandriva, Fedora, Conectiva, ou outra distribuição da família do Red Hat, use o comando “adsl-setup” para configurar a conexão e “adsl-start” para conectar.

Ativando o Login Automático

Nesta parte primeiramente faça o download deste pacote:

http://codigolivre.org.br/frs/download.php/3903/vivo24h_xdsl-2.2.3.tar.gz

ou

http://www.tinews.info/vivo24h_xdsl-2.2.3.tar.gz

Ele será o responsável pela configuração do Login automático do Velox.

Descompacte o pacote na sua pasta Home e logo em seguida acesse a pasta do mesmo.

Na pasta vivo24h_xdsl-2.2.3 você encontrará um o arquivo vivo24h_xdsl.conf

Edite o arquivo usando o Kedit ou outro editor de sua preferência. Não use o vi porque ele não consegue abrir o arquivo corretamente e pode danificá-lo.

Vou inserir aqui o conteúdo do arquivo.

// vivo24h_xdsl.conf
#Arquivo de Configuracao do Vivo24h_xDSL 2.2.x
#Siga as instruções para que nãoo ocorram erros na
#execução do programa

# Este é o endereço de autenticação. Não modifique-o.
#Local da autenticação
host=www.veloxzone.com.br

# Está é a interface padrão do ADSL.
#Nome da interface ppp. Ex.: interface=ppp0
interface=ppp0

# Aqui você tem que especificar qual é o tipo de Velox que você possui.
#Escolha o seu tipo de conexão Velox
# 0 para Residencial e 1 para Empresarial

modulo=0

# E nesta parte você tem que inserir o seu login, senha e o código do provedor.
# Vou inserir aqui a #lista dos códigos para você não errar. Pois qualquer erro
# aqui, o login automático não funcionará.

#LISTA DOS PROVEDORES E CÓDIGOS PARA O Velox
#PROVEDOR – CÓDIGO

#UOL – UOLRJ11
#AOL – AOL11
#brturbo – BRTURBO11
#GLOBO – GLOBORJ11
#HOTLINK – HOTLINK11
#INTERNETT – INTERNETT11
#MANDIC – MANDIC11
#MICROECIA.NET – MICROECIANET11
#OI INTERNET – OIRJ11
#RJHOST – RJHOST11
#IG BANDALARGA – SUPERIGRJ11
#TERRA – TERRARJ11

# Lembrando que na hora de indicar o provedor você tem que colocar o
# código do provedor e não o nome.

# No caso do Velox comercial você tem que inserir o código da Região. Eu não
# possuo estes códigos, mas você pode solicitá-los ligando para o suporte
# Velox. Ou tente conseguí-los com o #pessoal do Suporte Velox no Fórum do
# Guia do Hardware. ;-)

#RESIDENCIAL
login=francies@uol.com.br
senha=xxxxxxxx
provedor=UOLRJ11

#EMPRESARIAL
comercial=AARJ

#Servidores utilizados para a verificação, necessária porta 80 liberada

host1=mx.uol.com.br
host2=mx.terra.com.br
host3=smtp.mail.yahoo.com

#Final de arquivo

Com o arquivo editado corretamente, salve-o e abra um terminal (Konsole ou Xterm). E acesse a pasta do pacote vivo24h_xdsl.

Digite dentro da pasta do pacote o comando make.

Aparecerá alguns warnings (avisos), mas nada que comprometa a instalação.

adsl_html_m29ae603

Agora como root, digite make install…

adsl_html_m68cb4b5

Com isso, o programa foi instalado para ser executado no boot. E se tudo foi configurado corretamente. A sua conexão irá funcionar normalmente. Com o Sistema fazendo as duas autenticações.

Reinicie o seu PC para que estas novas configurações sejam executadas.

Obs: Geralmente a autenticação demora torno de um minuto para ser concluída. Digo isso porque alguém pode querer navegar assim que o Sistema iniciar e antes que a autenticação seja concluída e depois pode ficar dizendo que o tutorial não funciona.

Para ter certeza de que você já está conectado, use a barra vertical do superkaramba para visualizar o IP da conexão.

Caso o IP esteja visível é porque você já está 100% conectado à Internet e pronto para usá-la.

Senão, verifique se o seu modem está ligado, digite ifconfig ppp0 no terminal. Se ele for retornado é porque o sua conexão ADSL está Ok.

Mas se mesmo assim o navegador te encaminhar ao site do VeloxZone é porque o seu login, ou senha ou o código do seu provedor estão incorretos.

Para reconfigurar o login automático abra um terminal, acesse a pasta do pacote vivo24h_xdsl e digite o comando como root: sudo make clean . Edite novamente edite o arquivo vivo24h_xdsl.conf . Execute novamente os comando make e sudo make install .

Passei uma semana testando tudo isso antes de ter certeza do que estou escrevendo aqui.

Espero que isso resolva o problema de muitas pessoas que dizem o Linux é ruim porque é “difícil” configurá-lo para acessar a internet via ADSL.

Espero ter ajudado. Boa Sorte para todos.

FONTE: http://www.guiadohardware.net/artigos/login-automatico-velox/

Cachorros surfando? No Hawaii? Só vendo para acreditar1

Sunday, August 3rd, 2008

[youtube=http://www.youtube.com/watch?v=4HXCxpG51-c]

Não vou nem comentar…

Como identificar Colisão de IP no linux Como localizar um ip em uso no Linux

Friday, August 1st, 2008

Bem, vou dar uma dica que vi de uma galera que estava apanhando um pouco para achar um ip em uso, aí vai:

arping -D IP

Isso vai ajudar você a localizar, ou então:

http://ipwatchd.sourceforge.net/