Archive for April, 2009

Como fazer o seu script php solicitar autenticação usando header

Tuesday, April 28th, 2009

Uma das formas mais legais que se tem de fazer autenticação de diretório com caixa de diálogo no browser é usando a função header do php e mandando brasa!

Um exemplo prático para você:

function checker($user, $pw) {
if( ($user == “nome_do_login”) && ($pw == “password”) ) {
return true;
} else {
return false;
}
}

if( !(checker($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) ) {
header(‘WWW-Authenticate: Basic realm=”Autentique-se”‘);
header(‘HTTP/1.0 401 Unauthorized’);
echo “Dados incorretos.”;
exit;
}

É isso!

How to install mod evasive, como instalar o mod evasive

Tuesday, April 28th, 2009

Para instalar o mod evasive em seu cpanel use:

wget http://www.zdziarski.com/projects/mo…_1.10.1.tar.gz
tar -xzvf mod_evasive_1.10.1.tar.gz
cd mod_evasive_1.10.1
/usr/local/apache/bin/apxs -i -a -c mod_evasive20.c
/usr/local/apache/bin/apachectl restart

Após entre no conf do apache e edite o mesmo:

/usr/local/apache/conf/httpd.conf

<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
</IfModule>

Após reinicie o apache:

service httpd restart

Estrutura de diretórios do Cpanel/WHM (arquivos fundamentais para uso normal)

Sunday, April 26th, 2009

Apache

/usr/local/apache
+ bin- apache binaries are stored here – httpd, apachectl, apxs

+ conf – configuration files – httpd.conf

+ cgi-bin

+ domlogs – domain log files are stored here

+ htdocs

+ include – header files

+ libexec – shared object (.so) files are stored here – libphp4.so,mod_rewrite.so

+ logs – apache logs – access_log, error_log, suexec_log

+ man – apache manual pages

+ proxy -

+ icons -

Cpanel script to restart apache – /scripts/restartsrv_httpd

Start httpd with ssl – /etc/init.d/httpd startssl

DNS – Named(Bind)

Program: /usr/sbin/named

Init Script: /etc/rc.d/init.d/named

/etc/named.conf

db records:/var/named/

/var/log/messages

Exim

Conf : /etc/exim.conf – exim main configuration file

/etc/localdomains – list of domains allowed to relay mail

Log : /var/log/exim_mainlog – incoming/outgoing mails are logged here

/var/log/exim_rejectlog – exim rejected mails are reported here

/var/log/exim_paniclog – exim errors are logged here

Mail queue: /var/spool/exim/input

Cpanel script to restart exim – /scripts/restartsrv_exim

Email forwarders and catchall address file – /etc/valiases/domainname.com

Email filters file – /etc/vfilters/domainname.com

POP user authentication file – /home/username/etc/domainname/passwd

catchall inbox – /home/username/mail/inbox

POP user inbox – /home/username/mail/domainname/popusername/inbox

POP user spambox – /home/username/mail/domainname/popusername/spam

Program : /usr/sbin/exim (suid – -rwsr-xr-x 1 root root )

Init Script: /etc/rc.d/init.d/exim

Mysql

Program : /usr/bin/mysql

Init Script : /etc/rc.d/init.d/mysql

Conf : /etc/my.cnf, /root/.my.cnf

Data directory – /var/lib/mysql – Where all databases are stored.

Database naming convention – username_dbname (eg: john_sales)

Permissions on databases – drwx 2 mysql mysql

Socket file – /var/lib/mysql/mysql.sock, /tmp/ mysql.sock

SSHD

Program :/usr/local/sbin/sshd

Init Script :/etc/rc.d/init.d/sshd

/etc/ssh/sshd_config

Log: /var/log/messages

ProFTPD

Program :/usr/sbin/proftpd

Init Script :/etc/rc.d/init.d/proftpd

Conf: /etc/proftpd.conf

Log: /var/log/messages, /var/log/xferlog

FTP accounts file – /etc/proftpd/username – all ftp accounts for the domain are listed here

Pure-FTPD

Program : /usr/sbin/pure-ftpd

Init Script :/etc/rc.d/init.d/pure-ftpd

Conf: /etc/pure-ftpd.conf

Anonymous ftp document root – /etc/pure-ftpd/ip-address

Perl

Program :/usr/bin/perl

Directory :/usr/lib/perl5/5.6.1/

PHP

Program :/usr/local/bin/php, /usr/bin/php

ini file: /usr/local/lib/php.ini – apache must be restarted after any change to this file

Cpanel

/usr/local/cpanel

+ 3rdparty/ – tools like fantastico, mailman files are located here

+ addons/ – AdvancedGuestBook, phpBB etc

+ base/ – phpmyadmin, squirrelmail, skins, webmail etc

+ bin/ – cpanel binaries

+ cgi-sys/ – cgi files like cgiemail, formmail.cgi, formmail.pl etc

+ logs/ – cpanel access log and error log

+ whostmgr/ – whm related files

WHM

/var/cpanel – whm files

+ bandwidth/ – rrd files of domains

+ username.accts – reseller accounts are listed in this files

+ packages – hosting packages are listed here

+ root.accts – root owned domains are listed here

+ suspended – suspended accounts are listed here

+ users/ – cpanel user file – theme, bwlimit, addon, parked, sub-domains all are listed in this files

+ zonetemplates/ – dns zone template files are taken from here

Important cpanel/whm files

/usr/local/apache/conf/httpd.conf – apache configuration file

/etc/exim.conf – mail server configuration file

/etc/named.conf – name server (named) configuration file

/etc/proftpd.conf – proftpd server configuration file

/etc/pure-ftpd.conf – pure-ftpd server configuration file

/etc/valiases/domainname – catchall and forwarders are set here

/etc/vfilters/domainname – email filters are set here

/etc/userdomains – all domains are listed here – addons, parked,subdomains along with their usernames

/etc/localdomains – exim related file – all domains should be listed here to be able to send mails

/var/cpanel/users/username – cpanel user file

/var/cpanel/cpanel.config – cpanel configuration file ( Tweak Settings )*

/etc/cpbackup-userskip.conf -

/etc/sysconfig/network – Networking Setup*

/etc/hosts -

/var/spool/exim -

/var/spool/cron -

/etc/resolv.conf – Networking Setup–> Resolver Configuration

/etc/nameserverips – Networking Setup–> Nameserver IPs ( FOr resellers togive their nameservers )

/var/cpanel/resellers – For addpkg, etc permissions for resellers.

/etc/chkserv.d – Main >> Service Configuration >> Service Manager *

/var/run/chkservd – Main >> Server Status >> Service Status *

/var/log/dcpumon – top log process

/root/cpanel3-skel – skel directory. Eg: public_ftp, public_html. (AccountFunctions–>Skeleton Directory )*

/etc/wwwacct.conf – account creation defaults file in WHM (Basic cPanel/WHMSetup)*

/etc/cpupdate.conf – Update Config *

/etc/cpbackup.conf – Configure Backup*

/etc/clamav.conf – clamav (antivirus configuration file )

/etc/my.cnf – mysql configuration file

/usr/local/Zend/etc/php.ini OR /usr/local/lib/php.ini – php configuration file

/etc/ips – ip addresses on the server (except the shared ip) (IP Functions–>Show IP Address Usage )*

/etc/ipaddrpool – ip addresses which are free

/etc/ips.dnsmaster – name server ips

/var/cpanel/Counters – To get the counter of each users.

/var/cpanel/bandwidth – To get bandwith usage of domains

Fonte: http://wirednless.com/2009/01/cpanel-directory-and-files/

Problemas com drive intel 82801 GB ICH7- como instalar corretamente

Tuesday, April 21st, 2009

Pessoal, sei que existem técnicos maravilhosos em nosso meio, por isso decidi somente complementar algo aqui. (isso é para windows XP 32 bits)

Percebi que a pcchips dá suporte a uma placa intel com socket 775, em outras palavras, que exigia a instalação de um drive chamado Intel 82801GB ICH7 HIGH DEFINITION AUDIO.

Bem, sem mais demoras eu vou deixar o link disponível para baixar o drive e logo em seguida explico como sanar:

http://www.libphp.net/Intel_82801GB_ICH7.rar

Pegue este arquivo, abra-o com o Winrar (ou ferramenta de compactação que suporte .RAR).

Assim que isto for feito não instale de imediato, procure percorrer os diretórios e localize um KB (aquele que faz o High Definition Audio Rodar e requerer drive para o som, entretanto este é o melhor) chamado KB35221, este carinha será responsável por abrir os caminhos.

Assim que terminar a instalação do mesmo abra o setup e instale.

Caso funcione EU quero uma CAIXA de BIS, ok? (pode ser chocolate branco também)… rsrsrs

Abraços a todos e fiquem com Deus.

Evitando problemas entre o yum update e o whm/cpanel

Tuesday, April 21st, 2009

Uma coisa muito comum é que as pessoas instalam o yum em servidores CentOs/RedHat 4 com whm/cpanel e mandam um belo update, fazendo isto seu sistema irá atualizar todos os recursos possíveis visando segurança/estabilidade, entretanto, ativando esta update você estará aniquilando com compatibilidades entre whm/cpanel e seu S.O.

Para evitar isto em seu sistema acesse:

vim /etc/yum.conf

(eu uso vim por que gosto, mas use pico, emacs, elvis, vi, nano e etc)

Dentro dele deixe mais ou menos assim (depois de main):

exclude=apache* bind-chroot courier* dovecot* exim* httpd* mod_ssl* mysql* nsd* perl* php* proftpd* pure-ftpd* ruby* spamassassin* squirrelmail*

Isso irá garantir que tais recursos nÃo sejam atualizados pelo yum, sendo assim, quando o cpanel buscar as updates nos repositórios oficiais dele não haverá conflito ou pacotes já atualizados (patcheados) de maneira contrária ao recomendado.

Abraçoooos!

God Bless!

Como instalar o CSF firewall – How to install CSF

Tuesday, April 21st, 2009

Para instalar o CSF firewall basta executar os seguintes comandos:

wget http://www.configserver.com/free/csf.tgz
tar zxf csf.tgz
cd csf
sh install.sh

Após isto, caso tenha o apf e o bfd operando remova-os assim:

sh disable_apf_bfd.sh

OBS: O CSF já detecta que portas estão sendo utilizadas e as libera de maneira simples, ou seja, sem que haja intervenção por sua parte.
Uma coisa que você deve ficar alerta, principalmente por que o BIND usa a porta 953 udp/tcp.

Libere isto também e ainda, caso sua interface de dns do seu IDC seja eth0, por exemplo, informe ela na interface excluída de verificações.

Isso vai deixar os lookups operando corretamente :D

Abração a todos.

Como remover o APF – How to remove apf How to uninstall apf

Monday, April 20th, 2009

Para remover o apf rode:

chkconfig –del apf
rm /etc/init.d/apf
rm -rf /etc/apf

Abraços.

Resolvendo problemas com iframe infectado

Friday, April 17th, 2009

Um exemplo prático para resolver problemas com iframes lascados por spammers e crackers pode ser analisada da seguinte maneira:

find /home/*/public_html -name “*.php” -exec sed -i ’s/<iframe src=\\”http:\/\/google-ana1yticz.com.*<\/\iframe>//g’ {} \; -print

How to install yum on red hat 4 or Centos 4 – Como instalar yum no Redhat 4 ou Centos 4

Friday, April 17th, 2009

Essa é uma questão muito comum entre os sysadmins que tentam instalar o yum no red hat 4 ou centos 4 e não têm tido sucesso.

Abaixo preparei um how to com um link próprio dos arquivos para que você não tente encontrar o pacote na web e acabe se decepcionando ao ver navios.

Para instalar o yum no centos ou redhat siga exatamente o que será descrito.

Esse how to mostra como instalar o yum no RedHat 4.x (centos 4.x) de maneira simples e amigável.

O que será preciso?

1 – Estar logado como root no terminal,
2 – Criar um diretório aonde as coisas estarão armazenadas,
3 – Ter uma internet acessível para poder baixar (claro!).

Logue-se como root, em seguida, na pasta root crie algo como:

mkdir tmp
cd tmp

Agora que estamos dentro de /root/tmp nós iremos baixar todos os arquivos necessários e iremos deixar que o próprio yum dê conta do recado. Use exatamente os comandos abaixo para pegar os arquivos:

wget http://www.libphp.net/repositorio/yum-2.4.2-0.4.el4.rf.noarch.rpm
wget http://www.libphp.net/repositorio/libsqlite-2.8.15-1.i386.rpm
wget http://www.libphp.net/repositorio/python-elementtree-1.2.6-7.el4.rf.i386.rpm
wget http://www.libphp.net/repositorio/python-sqlite-0.5.0-1.2.el4.rf.i386.rpm
wget http://www.libphp.net/repositorio/python-urlgrabber-2.9.7-1.2.el4.rf.noarch.rpm

Agora que já temos os arquivos (pacotes) vamos instalar os mesmos:

rpm -ivh libsqlite-2.8.15-1.i386.rpm
rpm -ivh python-elementtree-1.2.6-7.el4.rf.i386.rpm
rpm -ivh python-sqlite-0.5.0-1.2.el4.rf.i386.rpm
rpm -ivh python-urlgrabber-2.9.7-1.2.el4.rf.noarch.rpm
rpm -ivh yum-2.4.2-0.4.el4.rf.noarch.rpm

Vamos ajustar o repositório:

wget http://www.libphp.net/repositorio/rpmforge-release-0.3.6-1.el4.rf.i386.rpm

Após

rpm -ivh rpmforge-release-0.3.6-1.el4.rf.i386.rpm

Depois disto somente faça:

yum update

Pronto!

Abração a todos e bom trabalho.

Gnu/Linux e suas dificuldades na usabilidade (diversidade que pode matar)

Thursday, April 16th, 2009

Gnu/Linux sem dúvidas é a prática mais comum no mundo do Software Livre, em outras palavras, é o meio mais fácil e mais comum do mundo Open Source estar declarado em nosso dia-a-dia. Temos ferramentas de uso diário, que são open source e não percebemos, mas quando nos deparamos com o Gnu/Linux nós podemos afirmar – este realmente é free software (ainda que não tenhamos um conceito muito forte do que realmente é software livre, que muitos infelizmente interpretam como software gratuito). Isto, sem sombra de variação é muito fabuloso, pois este excelente sistema que já mostrou do que é capaz, e o melhor, deixou claro que tem seu código aberto para customizações e forks, estando disponível para qualquer pessoa, aonde quer que esteja.
Ao longo de 12 anos de convívio com o Gnu/Linux (tendo somente 5 anos como profissional neste ramo, prestando serviços, e outros 7 “ouvindo falar bem”) pude perceber algumas “metamorfoses” que não vieram e fixaram um conceito amigável de usabilidade.
Vou detalhar isto de maneira abrangente para que fique claro o que realmente desejo expor, a dificuldade na curva de aprendizado, devido a variações muito pesadas nas distribuições Gnu/Linux.
Em 1997 possuía um computador Pentium 133 mhz mmx 100% off-board e tenho um irmão que na época estava fazendo cursos da Conectiva (uma distribuição Gnu/Linux que tinha um corpo técnico que prestava consultoria e cursos), tendo assim um impulso forte para instalação desta distribuição, o que me fez “saber que existia um sistema operacional diferente do Windows 95”, sem contar que no ano seguinte o Macintosh havia se tornado “mais uma daquelas descobertas milenares”. Naquela “descoberta” ouvi falar que ele era Free Software, mas confesso que não fez diferença para mim.
Os anos se passaram, para ser mais preciso 7 anos, e depois de tantas tentativas de me familiarizar com “aquela tela preta, parecia de mais com o MS-DOS”, consegui instalar uma distribuição chamada Slackware. Levei a sério, e fui tomando gosto.
Na época o melhor guia, ou documentação brasileira disponível (ainda está disponível) é o perfeito e completo GuiaFoca, um manual do Gnu/Linux, baseado no Debian, mas operando de maneira simples e direta em outras distribuições.
Passei um ano estudando sem cessar este sistema operacional maravilhoso, o que me fez implementar algumas soluções baseadas em Software Livre no SENAC-PB, empresa que trabalhei durante 3 anos. Adquiri um conhecimento sólido nesta plataforma, mas com o passar do tempo necessitei partir para outras como Red Hat Enterprise, por exemplo, sem contar as distribuições desktop que estavam bombando nesta fase. Com a saída da antiga empresa para outra que prestava consultoria não obtive dificuldades em implementações para clientes, principalmente pelo fato do Slackware ser muito flexível e “bastante Unix”, não senti nada difícil nos primeiros meses.
Nesta etapa eu entendi quais os problemas que as distribuições Gnu/Linux sentiam, isto aos olhos do usuário final, por que o nível de curva de aprendizado torna-se alto quando entramos em uma distribuição comercial. Para que se tenha uma idéia, o CentOS (remasterização do Red Hat Enterprise, respeitando direitos autorais e imagens da instituição), caso seja instalado como servidor, com poucos pacotes default você não terá a ferramenta ifconfig disponível, mas espere, ifconfig é um utilitário disponível em todas as distribuições, isto é padrão, e nem todas usam o system-config. Quantas usam dpkg, apt ou aptitude? Quantas tem o RPM como gestor de pacotes? O Yum? O Yast, Yast2?
Sabemos que são particularidades em cada distribuição, e que tais particularidades visam a automatização de determinadas tarefas que comumente estão vinculadas com o sistema operacional que as implementam.
Neste momento entram as divergências em geral, pois entendemos que comandos básicos sempre serão respeitados, e que seus manuais são preservados de uma distribuição para outra, mas que nem sempre estão no mesmo lugar.
Localidades na árvore de estrutura de dados, nomes de arquivos de configuração, modalidade de configuração de rede a nível de arquivo e forma com que containers web trabalham é muito diversificada em cada distribuição. Isto dificulta no momento de colocar na cabeça de algum xiita de códigos fonte proprietários que o Gnu/Linux é bom!
Observem o estouro e magnitude de distribuições como Ubuntu e Fedora, a nível desktop, vejam o quão abrangentes e aceitáveis elas são, e o mais importante, o quão bem documentadas elas são, mas em uma suave visão diferenciada, tente usar os conceitos aprendidos em cada uma delas em um Gentoo, CentOs ou OpenSuse, talvez você não queira mais usar Gnu/Linux, ou melhor, fará distinção por conhecer todas as ferramentas/utilitários de uma e de outra não.
Deixo claro que o Gnu/Linux é a escolha certa para quem não quer dores de cabeça futuras, quer estabilidade e o melhor, segurança de suas informações garantidas por sistemas que têm geeks de milhares de lugares dedicando-se na provisão de códigos de altíssimo nível e de escalabilidade monstruosa.
Minhas recomendações para marinheiros de primeira viagem:

• Use Ubuntu/Fedora para desktop, principalmente o Ubuntu que permite upgrades de versão do Sistema Operacional de maneira mais segura,
• Use CentOs/Ubuntu/Slackware ou Debian em seus servidores, principalmente Ubuntu/Debian que permitem upgrades de versões sem maiores dores de cabeça,
• Use Ubuntu/Fedora em escritórios, principalmente por sua quantidade enorme de drivers (módulos) para impressoras e etc.

Existem outras distribuições Gnu/Linux que têm tido muito prestígio, como por exemplo cito o Mandrake, empresa que assumiu a Conectiva e que tem se destacado pela ampla gama de produtos e suporte de qualidade, sendo hoje conhecida como Mandriva. OpenSuse, outra distribuição muito respeitada, versão Grátis e de código fonte aberto, 100% baseada no Suse Enterprise, mantido pela comunidade open source do mundo inteiro, esta é bastante amigável também.
Lembre-se que uma distribuição deve primar por conceitos de segurança, estabilidade e alto desempenho, principalmente, deverá ser bem documentada, e trivialmente falando, documentada maciçamente sobre suas ferramentas em particular.
Gestores de pacotes também são algo que tornam a problemática maior, por que os pacotes .DEB e .RPM imperam, seguidos de seus gestores deb/apt/aptitude e RPM/up2date/yum. Sabemos que é simples compilar algo (em alguns casos, devido requerimento de paths para libs a situação poderá complicar-se) e ajustar paths de destino, mas nem tudo isto brilha aos olhos dos mantenedores de software, tanto pelo nível de dificuldade avaliado para compilações e geração de source pré-compilado na plataforma como pela simplicidade de gestão (upgrade, downgrade e patching em geral).
Quanto ao GuiaFoca, este ainda é a melhor alternativa em documentação Gnu/Linux (falando de maneira geral), mas não atenha-se ao mesmo pois as distribuições estão mudando e agora parecem que estão tomando “independência” ou pensam em seguir assim, longe de padrões LSB.
Aprender sempre é bom, mas não atenha-se a distribuições muito individualistas, isto poderá complicar sua vida em um futuro muito próximo, principalmente no que tange ciclo de vida da versão do sistema ou até descontinuidade do projeto adotado por você ou por sua empresa (vide distribuições como Kurumin que tinham excelente iniciativa, mas que estão agonizado neste momento, Conectiva – adquirida pela Mandrake e outras).

As particularidades excessivas das distribuições estão levando as distribuições que adotam esta modalidade de negócio/serviço para uma ilha de destaque e talvez solidão.

Muito cuidado com sua escolha!

Abraços a todos e bom trabalho/estudo.

What ip whmcs auth Qual ip do WHMCS para autenticação ou liberação em um firewall

Tuesday, April 14th, 2009

Se você precisa do ip do whmcs (comumente usado em caso de um firewall bloqueando tudo e você necessitando permitir a autenticação) e não sabe qual é o ip a ser liberado para que o whmcs acesse a central do sistema use o ip abaixo em sua whitelist:

74.54.136.210

how to configure network on red hat Configurando interfaces de rede manualmente no Centos Fedora ou Red Hat

Monday, April 13th, 2009

Boa noite,

Estou usando o CentOs 5.3 (na realidade era o 5.1 e o maravilhoso yum fez a upgrade tranquilamente) e necessitei configurar a interface de rede manualmente.
Supondo que sua interface seja a eth0 (a primeira) você deve acessar seu arquivo assim:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

O vim não é obrigação, entretanto gosto dele.

Observe a sintaxe abaixo:

DEVICE=eth0
BOOTPROTO=static
DHCPCLASS=
HWADDR=00:30:48:56:A6:NE
IPADDR=192.168.1.101
NETMASK=255.255.255.0
ONBOOT=yes

Fazendo isto (tornando sua sintaxe semelhante) você estará:

colocando o ip da interface estaticamente como sendo 192.168.1.101 e dizendo que isto será feito no momento do boot do sistema.

Em seguida entre aqui:

vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=libphp1
GATEWAY=192.168.1.1

Aqui definimos a rede como sendo o hostname libphp1 e o gateway 192.168.1.1

Após isto somente faça isto:

/etc/init.d/network restart

Depois podemos até setar um dns para acesso a web:

vim /etc/resolv.conf

Dentro dele eu coloquei assim:

nameserver 200.165.132.148
nameserver 200.165.132.155

Este é o modo simples de definir o dns da velox.

Abração e tenham uma semana excelente e abençoada por Deus.