anúncios

terça-feira, 27 de dezembro de 2011

Configurando servidor proxy autenticado com Squid

No post http://mundodacomputacaointegral.blogspot.com/2011/11/configurando-servidor-proxy-com-squid.html mostrei como configurar o squid para proxy transparent, e hoje explicarei como configurar o squid para servir como proxy autenticado no gateway da rede fazendo cache e restrição de acesso de alguns sites e dessa vez com autenticação de usuário/senha.

Instalação
Baixando o source do squid 3.1.16
$wget "http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.16.tar.gz"
Extraindo o source do download acima
$tar -xzvf squid-3.1.16.tar.gz
$cd squid-3.1.16
$./configure --prefix=/usr/local/squid \
--enable-err-Portuguese=lang \
--mandir=/usr/share/man \
--enable-auth="basic,digest,ntlm" \
--enable-removal-policies="lru,heap" \
--enable-digest-auth-helpers="password" \
--enable-basic-auth-helpers="getpwnam,YP,NCSA,MSNT" \
--enable-external-acl-helpers="ip_user,unix_group,wbinfo_group" \
--enable-ntlm-auth-helpers="fakeauth,no_check" \
--enable-removal-policies \
--enable-linux-netfilter \
--enable-ident-lookups \
--enable-useragent-log \
--enable-cache-digests \
--enable-delay-pools \
--enable-referer-log \
--enable-underscores \
--enable-async-io \
--enable-truncate \
--enable-arp-acl \
--with-pthreads \
--enable-icmp \
--enable-htcp \
--enable-carp \
--enable-poll \
--enable-snmp \
--enable-wccp \
--enable-ssl

$make
#make install

Configuração
Como foi definido o local da instalação em /usr/local/squid no ./configure
#mv /usr/local/squid/etc/squid.conf /usr/local/squid/etc/squid.conf.bkp
squid.conf

#autenticação dos usuários para acesso
auth_param basic program /usr/local/squid/libexec/ncsa_auth /usr/local/squid/etc/passwd
auth_param basic children 5
auth_param basic realm COMPUTAÇÃO INTEGRAL
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl autenticados proxy_auth REQUIRED
http_port 3128
visible_hostname mundodacomputacao

cache_mem 128 MB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /usr/local/squid/var/logs/cache.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl manager proto cache_object
acl localhost src 127.0.0.1
acl autenticados proxy_auth REQUIRED
acl Safe_ports port 80 #http
acl Safe_ports port 21 #ftp
acl Safe_ports port 443 563 #https,snews
acl Safe_ports port 70 #gopher
acl Safe_ports port 210 #wais
acl Safe_ports port 280 #http-mgmt
acl Safe_ports port 488 #gss-http
acl Safe_ports port 591 #filemaker
acl Safe_ports port 777 #multiling http
acl Safe_ports port 901 #swat
acl Safe_ports port 1025-65535 #portas altas
acl purge method PURGE
acl CONNECT method CONNECT
acl SSL_ports port 443 563

##ACLS
#criando ACLs para os usuários com acesso livre e restrito
acl grupo_liberado proxy_auth "/usr/local/squid/usuarios_liberados"
acl grupo_limitado proxy_auth "/usr/local/squid/usuarios_limitados"

#criando ACLs para restrição de sites e palavras
acl sitesbloqueados url_regex -i "/usr/local/squid/dominiosbloqueados"
acl palavrasproibidas url_regex -i "/usr/local/squid/palavrasproibidas"
acl sitespermitidos url_regex -i "/usr/local/squid/dominiospermitidos"

#ACL para bloquear skype
acl acl_url_im_skype url_regex ^((0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5]|[3-9][0-9]{0,1})\.){3}(0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5][3-9][0-9]{0,1})(:|/|$\?)

#controle de acesso
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

#http_access deny sitesbloqueados !grupo_liberado
#http_access deny palavrasproibidas !grupo_liberado
#http_access deny CONNECT acl_url_im_skype !grupo_liberado
http_access allow sitespermitidos

http_access allow localhost
http_access allow autenticados grupo_liberado
http_access allow autenticados grupo_limitado !sitesbloqueados !palavrasproibidas !acl_url_im_skype

http_access deny all
error_directory /usr/local/squid/share/errors/pt-br


Criando os arquivos que serão utilizados
#touch /usr/local/squid/dominiosbloqueados
#touch /usr/local/squid/palavrasproibidas
#touch /usr/local/squid/dominiospermitidos
#cp /usr/local/squid/sbin/squid /usr/sbin
#mkdir /usr/local/squid/var/cache
#mkdir /usr/local/squid/var/logs
#chmod 0777 /usr/local/squid/var/cache
#chmod 0777 /usr/local/squid/var/logs
#touch /usr/local/squid/usuarios_liberados
#touch /usr/local/squid/usuarios_limitados

BadListSites /usr/local/squid/dominiosbloqueados

orkut.com
www.orkut.com
facebook.com
www.facebook.com
twitter.com
www.twitter.com
www.issoebizarro.com
www.ebuddy.com
www.meebo.com
www.4shared.com
4shared.com
www.esnips.com
esnips.com
www.adrive.com
adrive.com
www.megaupload.com
megaupload.com
www.thepiratebay.org
thepiratebay.org
www.rapidshare.com
rapidshare.com
www.hotfile.com
hotfile.com
www.filecrop.com
filecrop.com
www.fileserv.com
fileserv.com
www.freeproxy.ca
freeproxy.ca
www.redtube.com
redtude.com
www.youtube.com
youtube.com
www.torproject.org
torproject.org
www.ninjacloak.com
ninjacloak.com
speedyhide.info/index.php
speedyhide.info
www.dropbox.com
www.baixandolegal.org
baixandolegal.org
www.baixebr.org
baixebr.org
www.superdownloads.com
superdownloads.com
www.superdownloads.com.br
superdownloads.com.br
www.baixaki.com.br
baixaki.com.br
www.tecmundo.com.br
www.techtudo.com.br
gizmodo.uol.com.br

BadListWords /usr/local/squid/palavrasproibidas

orkut
facebook
twitter
youtube
sexo
bondage
issoebizarro
tor
torproject
vidalia
ultrasurf
proxy
anonymous
gatewall.dll
ms
messenger
webmessengers
webmessenger
ebuddy
meebo
iloveim
skype
porno
sexy
safadinha
speedhide
ninjacloak
dropbox
piratebay
filecrop
baixaki
superdownload
techmundo
techtudo
gizmodo


Cadastrando usuários no proxy squid
#htpasswd -c /usr/local/squid/etc/passwd usuario1
Nota: O argumento -c é necessário apenas na primeira vez para criar o arquivo /usr/local/squid/etc/passwd.
#htpasswd /usr/local/squid/etc/passwd usuario2

Adicione os usuários com acesso livre no arquivo /usr/local/squid/usuarios_liberados
/usr/local/squid/usuarios_liberados
sysadmin
suportesystem

Adicione os usuários com acesso restrito no arquivo /usr/local/squid/usuarios_limitados
/usr/local/squid/usuarios_limitados
#Exemplo
usuario1
usuario3
usuario6

Configurando o proxy no navegador da estação
No IE
No menu Ferramentas>Conexões da Internet na aba Conexões
clique no botão Configurações da LAN em Servidor proxy e nos campos Endereço e Porta coloque o IP de seu servidor proxy e porta utilizado do squid.
Nesse caso: Endereço: 192.168.1.103 Porta: 3128
No Firefox
Na opção Preferências do Firefox em Avançado na aba Rede no botão Configurar conexão marque o radiobutton Configuração manual de proxy digite nos campos Endereço e Porta o IP de servidor proxy e porta do squid.
Nesse caso: Endereço: 192.168.1.103 Porta: 3128 e marque também o checkbox Usar este proxy para todos os protocolos

Check-list do Squid
#squid -z

Iniciando o serviço
Copie este script retirado do Servidor Linux(Slackware) para iniciar/parar o squid, mas também funciona na distro Debian, basta mover o script para /etc/init.d/.
rc.squid.conf

#!/bin/sh
# Start/stop/restart/reload the Squid Internet Object Cache (squid)
# To make Squid start automatically at boot, make this
# file executable: chmod 755 /etc/rc.d/rc.squid
# Written for Slackware Linux by Erik Jan Tromp
# Modified by David Somero
SQUIDCFG=/usr/local/squid/etc/squid.conf
SQUIDCMD=/usr/sbin/squid
if [ ! -r $SQUIDCFG ]; then
echo "Please set the correct path to $SQUIDCFG"
exit 1
fi
if [ ! -x $SQUIDCMD ]; then
echo "$SQUIDCMD not found"
exit 1
fi
squid_start() {
# Create cache directory hierarchy if needed
ALL_DIRS=$(awk '/^cache_dir/ {print $3}' $SQUIDCFG)
[ -z "$ALL_DIRS" ] && ALL_DIRS=/var/cache/squid
for CACHE_DIR in $ALL_DIRS ; do
if [ ! -d $CACHE_DIR/00 ] ; then
echo "Creating swap directories: $SQUIDCMD -z"
$SQUIDCMD -z 2> /dev/null
break
fi
done
echo "Starting Squid: $SQUIDCMD -F"
$SQUIDCMD -F
}
squid_stop() {
COUNTDOWN=$(awk '/^shutdown_lifetime/ {print $2}' $SQUIDCFG)
[ -z "$COUNTDOWN" ] && COUNTDOWN=30
echo -n "Shutting down Squid in $COUNTDOWN seconds: "
$SQUIDCMD -k shutdown 2> /dev/null
while $SQUIDCMD -k check 2> /dev/null ; do
sleep 1
echo -n .
COUNTDOWN=$[ $COUNTDOWN - 1 ]
if [ $COUNTDOWN -le 0 ] ; then
$SQUIDCMD -k interrupt 2> /dev/null
sleep 1
break
fi
done
echo
}
squid_restart() {
squid_stop
sleep 1
squid_start
}
squid_reload() {
$SQUIDCMD -k reconfigure 2> /dev/null
}
case "$1" in
'start')
squid_start
;;
'stop')
squid_stop
;;
'restart')
squid_restart
;;
'reload')
squid_reload
;;
*)
echo "usage: $0 start|stop|restart|reload"
esac


No Slackware:
#chmod +x /etc/rc.d/rc.squid
#/etc/rc.d/rc.squid start
No Debian:
#chmod +x /etc/init.d/rc.squid
#/etc/init.d/rc.squid start

Pronto, toda vez que o usuário abrir o navegador irá pedir autenticação user/passwd para acessar a internet.

Agora vem uma dica, caso algum usuário do proxy retirar o ip:porta do navegador na tentativa de acessar a internet livremente, basta adicionar essa regra no seu script de firewall

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

Pronto, se o usuário retirar o ip:porta no navegador simplesmente não navega, se colocar navega com as regras do proxy squid.
A interface eth1 indica a placa da rede local, onde o proxy recebe as requisições dos outros micros da rede e o 3128 indica a porta usada pelo Squid.
PS:Nesse caso: eth0=rede externa(internet) e eth1=rede interna(intranet)
Verifique o log do Squid de acessos

# tail -f /usr/local/squid/var/logs/cache.log


Feito!

domingo, 27 de novembro de 2011

Configurando servidor Samba PDC no Linux

Hoje irei explicar como configurar Samba PDC(controlador de domínio) em uma rede com máquinas Windows XP.
Instalação
Debian: #apt-get install samba
CentOS: #yum install samba samba-client
Slackware: No CD1 encontra o pacote samba-3.5.2-i486-1.txz e digite:
#installpkg samba-3.5.2-i486-1.txz

Após instalado o pacote samba, execute os comandos abaixo na distro CentOS
#service smb start
#service nmb start
#chkconfig smb on
#chkconfig nmb on

Configuração do Samba
As configurações do Samba PDC são realizadas no arquivo /etc/samba/smb.conf
Estando no diretório /etc/samba fazemos o backup do smb.conf default
#mv smb.conf smb.conf.bkp
criamos o diretório de compartilhamento do samba
#mkdir /home/samba
smb.conf

#### SAMBA COM PDC
#======================= Global Settings =======================
[global]
workgroup = DOMINIO
netbios name = GRUPO
server string = Linux
os level = 33
log file = /var/log/samba/log.%m
log level = 1
max log size = 1000
debug level = 2
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd

#####Servidor de Data e Hora
time server = yes

#Parametros que aumentam o desempenho
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
read raw = yes
write raw = yes
oplocks = yes
max xmit = 65536
getwd cache = yes

#Samba falando português
unix charset = iso8859-1
display charset = cp850
preserve case = no
short preserve case = no
default case = lower

#Servidor Wins
wins support = yes
wins proxy = no
dns proxy = no
max wins ttl = 518400
min wins ttl = 21600

#Configuração do domínio
domain master = yes
prefered master = yes
local master = yes
encrypt passwords = yes
admin users = root
add machine script = useradd -g pdc -c "Maquina do PDC" -s /bin/false -d /dev/null %u
domain logons = yes
logon script = netlogon.bat
logon drive = U:

##Sincronização das senhas dos usuários
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *:* %n\n *:* %n\n *successfully*

## Debugging/Accounting ####
# This tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/log.%m %u

# If you want Samba to only log through syslog then set the following
# parameter to 'yes'.
syslog only = yes

#Auditando os acessos
log level = 1
log file = /var/log/samba/samba-full_audit.log
max log size = 100000
vfs objects = full_audit
full_audit:sucess=open opendir write read unlink rename mkdir rmdir chmod chown
full_audit:prefix = %u|%I|%S
full_audit:failure = none
full_audit:facility = local5
full_audit:priority = notice

#Lixeira
vfs objects = recycle
recycle:maxsize = 1000
recycle:repository = .recycle
recycle:keeptree = yes
recycle:touch = yes
recycle:versions = yes
recycle:noversions = .doc|.xls|.ppt
recycle:exclude = *.obj *.tmp *.o *~$* *.mp3 *.wma *.tmp *.temp
recycle:exclude_dir = /tmp/cache

[homes]
comment = Pasta %U
browseable = no
writable = yes

[netlogon]
comment = Network Logon Service
path = /etc/samba/netlogon
writable = no
browseable = no

[profiles]
comment = Users profiles
path = /home/profiles
read only = no

guest ok = no
browseable = no
create mask = 0600
directory mask = 0700

[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700

# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no

[Publico]
comment = Compartilhamento
path = /home/samba
browseable = yes
valid users = @grupos
writeable = yes
write list = @users
force create mode = 0770
force directory mode = 0770
recycle:repository = .recycle
vfs objects = recycle full_audit


Arquivo netlogon que faz o mapeamento das unidades de redes do usuário
netlogon.bat

@echo off
cls
echo logon para servidor samba Linux
rem Sincronizando a data e hora com servidor
net time \\saitam /set /yes
rem
rem Mapeamento das portas de impressoras do servidor
rem
if %OS%==Windows_NT goto WinNT
rem Mapeando Unidades de rede do usuário
:Win9x
echo Win9x
rem
net use F: \\saitam\Publico
#net use G: \\saitam\comum
net use U: /HOME /yes

goto end
rem
:WinNT
echo WinNT
net use F: \\saitam\Publico
#net use G: \\saitam\comum
echo Configurando teclado ABNT2
REG ADD "HKCU\Keyboard Layout\Preload" /V 1 /T REG_SZ /F /D 00010416
REG ADD "HKCU\Keyboard Layout\Substitutes" /V 00010416 /T REG_SZ /F /D 00010416
:end

Cadastrando usuários no Samba
Execute o comando abaixo para cadastrar usuários e poder acessar o diretório compartilhado.
#smbpasswd -a teste
Nota:
É necessário adicionar o hostname das máquinas Windows XP para que funcione o domínio nas mesmas. Se você não sabe como ver isso no Windows XP, siga os passos a seguir:
Clica com botão direito o atalho Meu Computador depois em Propriedades
Na aba Nome do computador
Iniciar -> Configurações -> Painel de Controle -> Sistema
Agora nas abas em cima, clique em Nome do Computador.
Em Frente ao Nome completo do Computador é o hostname.
No meu caso, coloquei como maquina1.
#useradd -d /dev/null -s /bin/false maquina1$
#smbpasswd -a -m maquina1

Configurando o Windows XP para acessar o domínio
Vou apresentar duas maneiras de ingressar o Windows XP no domínio
Maneira 1:
Clica com botão direito o atalho Meu Computador depois em Propriedades
Na aba Nome do computador, clica no botão ID de rede
Irá abrir o Assistente para identificação da rede, clique em Avançar, marque a opção Este computador faz parte de uma rede corporativa e o utiliza para conectar-me a outros computadores no trabalho, clique em Avançar, marque a primeira opção, antes de prosseguir tenha em mente o usuário,senha e nome de domínio que será pedido, clique em Avançar, e digite os dados respectivamente.
Maneira 2:
Clica com botão direito o atalho Meu Computador depois em Propriedades
Na aba Nome do computador, clica no botão Alterar, digite o nome de domínio, e OK.

No final do processo irá aparecer Bem-vindo ao domínio e avisará que deverá reiniciar o computador.

Auditoria de acessos
Adicione no syslog.conf local5.notice /var/log/samba/samba-full_audit.log

Iniciando o servidor samba
Por fim, inicie o servidor samba.
Debian: #/etc/init.d/samba start
CentOS: #service smb start
Slackware: #/etc/rc.d/rc.samba start

Agora na estação cliente(Windows) esta configurado no domínio Samba PDC.
Feito!

terça-feira, 15 de novembro de 2011

Configurando servidor proxy transparent com Squid

Hoje explicarei como configurar o squid para servir como proxy transparente no gateway da rede fazendo cache e restrição de acesso de alguns sites.

Instalação
Baixando o source do squid 3.1.16
$wget "http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.16.tar.gz"
Extraindo o source do download acima
$tar -xzvf squid-3.1.16.tar.gz
$cd squid-3.1.16
$./configure --prefix=/usr/local/squid \
--enable-err-Portuguese=lang \
--mandir=/usr/share/man \
--enable-auth="basic,digest,ntlm" \
--enable-removal-policies="lru,heap" \
--enable-digest-auth-helpers="password" \
--enable-basic-auth-helpers="getpwnam,YP,NCSA,MSNT" \
--enable-external-acl-helpers="ip_user,unix_group,wbinfo_group" \
--enable-ntlm-auth-helpers="fakeauth,no_check" \
--enable-removal-policies \
--enable-linux-netfilter \
--enable-ident-lookups \
--enable-useragent-log \
--enable-cache-digests \
--enable-delay-pools \
--enable-referer-log \
--enable-underscores \
--enable-async-io \
--enable-truncate \
--enable-arp-acl \
--with-pthreads \
--enable-icmp \
--enable-htcp \
--enable-carp \
--enable-poll \
--enable-snmp \
--enable-wccp \
--enable-ssl

$make
#make install

Configuração
Como foi definido o local da instalação em /usr/local/squid no ./configure
#mv /usr/local/squid/etc/squid.conf /usr/local/squid/etc/squid.conf.bkp
squid.conf

http_port 3128 transparent
visible_hostname mundodacomputacao.com.br

cache_mem 64 MB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /usr/local/squid/var/logs/cache.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl manager proto cache_object
acl localhost src 127.0.0.1
acl localnet src 192.168.1.0/24
acl Safe_ports port 80 #http
acl Safe_ports port 21 #ftp
acl Safe_ports port 443 563 #https,snews
acl Safe_ports port 70 #gopher
acl Safe_ports port 210 #wais
acl Safe_ports port 280 #http-mgmt
acl Safe_ports port 488 #gss-http
acl Safe_ports port 591 #filemaker
acl Safe_ports port 777 #multiling http
acl Safe_ports port 901 #swat
acl Safe_ports port 1025-65535 #portas altas
acl purge method PURGE
acl CONNECT method CONNECT
acl SSL_ports port 443 563

##ACLS
acl sitesbloqueados url_regex -i "/usr/local/squid/dominiosbloqueados"
acl palavrasproibidas url_regex -i "/usr/local/squid/palavrasproibidas"
acl sitespermitidos url_regex -i "/usr/local/squid/dominiospermitidos"
acl redelocal src 192.168.1.0/24
#ACL para bloquear skype
acl acl_url_im_skype url_regex ^((0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5]|[3-9][0-9]{0,1})\.){3}(0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5][3-9][0-9]{0,1})(:|/|$\?)

http_access allow manager localhost localnet
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

##Controle de acesso
http_access deny sitesbloqueados
http_access deny palavrasproibidas
http_access deny CONNECT acl_url_im_skype
http_access allow sitespermitidos
http_access allow localhost
http_access allow redelocal
http_access deny all
error_directory /usr/local/squid/share/errors/pt-br


#touch /usr/local/squid/dominiosbloqueados
#touch /usr/local/squid/palavrasproibidas
#touch /usr/local/squid/dominiospermitidos
#cp /usr/local/squid/sbin/squid /usr/sbin
#mkdir /usr/local/squid/var/cache
#mkdir /usr/local/squid/var/logs
#chmod 0777 /usr/local/squid/var/cache
#chmod 0777 /usr/local/squid/var/logs

/usr/local/squid/dominiosbloqueados

orkut.com
www.orkut.com
facebook.com
www.facebook.com
twitter.com
www.twitter.com
www.issoebizarro.com
www.ebuddy.com
www.meebo.com
www.4shared.com
4shared.com
www.esnips.com
esnips.com
www.adrive.com
adrive.com
www.megaupload.com
megaupload.com
www.thepiratebay.org
thepiratebay.org
www.rapidshare.com
rapidshare.com
www.hotfile.com
hotfile.com
www.filecrop.com
filecrop.com
www.fileserv.com
fileserv.com
www.freeproxy.ca
freeproxy.ca
www.redtube.com
redtude.com
www.youtube.com
youtube.com
www.torproject.org
torproject.org
www.ninjacloak.com
ninjacloak.com
speedyhide.info/index.php
speedyhide.info
www.dropbox.com
www.baixandolegal.org
baixandolegal.org
www.baixebr.org
baixebr.org
www.superdownloads.com
superdownloads.com
www.superdownloads.com.br
superdownloads.com.br
www.baixaki.com.br
baixaki.com
www.tecmundo.com.br
www.techtudo.com.br
gizmodo.uol.com.br

/usr/local/squid/palavrasproibidas

orkut
facebook
twitter
youtube
sexo
bondage
issoebizarro
tor
torproject
vidalia
ultrasurf
proxy
anonymous
gatewall.dll
ms
messenger
webmessengers
webmessenger
ebuddy
meebo
iloveim
skype
porno
sexy
safadinha
speedhide
ninjacloak
dropbox
piratebay
filecrop
baixaki
superdownload
techmundo
techtudo
gizmodo


Check-list do Squid
#squid -z

Iniciando o serviço
Copie este script retirado do Servidor Linux(Slackware) para iniciar/parar o squid, mas também funciona na distro Debian, basta mover o script para /etc/init.d/.
rc.squid.conf

#!/bin/sh
# Start/stop/restart/reload the Squid Internet Object Cache (squid)
# To make Squid start automatically at boot, make this
# file executable: chmod 755 /etc/rc.d/rc.squid
# Written for Slackware Linux by Erik Jan Tromp
# Modified by David Somero
SQUIDCFG=/usr/local/squid/etc/squid.conf
SQUIDCMD=/usr/sbin/squid
if [ ! -r $SQUIDCFG ]; then
echo "Please set the correct path to $SQUIDCFG"
exit 1
fi
if [ ! -x $SQUIDCMD ]; then
echo "$SQUIDCMD not found"
exit 1
fi
squid_start() {
# Create cache directory hierarchy if needed
ALL_DIRS=$(awk '/^cache_dir/ {print $3}' $SQUIDCFG)
[ -z "$ALL_DIRS" ] && ALL_DIRS=/var/cache/squid
for CACHE_DIR in $ALL_DIRS ; do
if [ ! -d $CACHE_DIR/00 ] ; then
echo "Creating swap directories: $SQUIDCMD -z"
$SQUIDCMD -z 2> /dev/null
break
fi
done
echo "Starting Squid: $SQUIDCMD -F"
$SQUIDCMD -F
}
squid_stop() {
COUNTDOWN=$(awk '/^shutdown_lifetime/ {print $2}' $SQUIDCFG)
[ -z "$COUNTDOWN" ] && COUNTDOWN=30
echo -n "Shutting down Squid in $COUNTDOWN seconds: "
$SQUIDCMD -k shutdown 2> /dev/null
while $SQUIDCMD -k check 2> /dev/null ; do
sleep 1
echo -n .
COUNTDOWN=$[ $COUNTDOWN - 1 ]
if [ $COUNTDOWN -le 0 ] ; then
$SQUIDCMD -k interrupt 2> /dev/null
sleep 1
break
fi
done
echo
}
squid_restart() {
squid_stop
sleep 1
squid_start
}
squid_reload() {
$SQUIDCMD -k reconfigure 2> /dev/null
}
case "$1" in
'start')
squid_start
;;
'stop')
squid_stop
;;
'restart')
squid_restart
;;
'reload')
squid_reload
;;
*)
echo "usage: $0 start|stop|restart|reload"
esac


No Slackware:
#chmod +x /etc/rc.d/rc.squid
#/etc/rc.d/rc.squid start
No Debian:
#chmod +x /etc/init.d/rc.squid
#/etc/init.d/rc.squid start

Para poder fazer proxy transparente adicione essa regra no seu script de firewall

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

A interface eth1 indica a placa da rede local, onde o proxy recebe as requisições dos outros micros da rede e o 3128 indica a porta usada pelo Squid.
PS:Nesse caso: eth0=rede externa(internet) e eth1=rede interna(intranet)
Verifique o log do Squid de acessos

# tail -f /usr/local/squid/var/logs/cache.log
1321733892.697 88 192.168.1.100 TCP_MISS/200 1067 GET http://s.glbimg.com/es/ge/media/globoesporte2010/img/icone_regulamento.png - DIRECT/186.192.82.11 image/png
2011/11/19 18:24:50| Squid is already running! Process ID 586
1321734296.188 33 192.168.1.100 TCP_DENIED/403 6472 GET http://www.youtube.com/ - NONE/- text/html
1321734299.694 3485 192.168.1.100 TCP_REFRESH_UNMODIFIED/304 454 GET http://www.squid-cache.org/Artwork/SN.png - DIRECT/209.169.10.131 -
1321734407.090 19 192.168.1.100 TCP_DENIED/403 4230 GET http://www.twitter.com/ - NONE/- text/html
1321734407.282 23 192.168.1.100 TCP_DENIED/403 4231 GET http://www.twitter.com/favicon.ico - NONE/- text/html
1321734410.259 6 192.168.1.100 TCP_DENIED/403 4263 GET http://www.twitter.com/favicon.ico - NONE/- text/html
1321734414.542 10 192.168.1.100 TCP_DENIED/403 4087 GET http://www.orkut.com/ - NONE/- text/html
1321734419.972 11 192.168.1.100 TCP_DENIED/403 3951 GET http://www.facebook.com/ - NONE/- text/html
2011/11/19 18:51:18| NETDB state saved; 0 entries, 1 msec


Feito!

quinta-feira, 3 de novembro de 2011

Instalando e configurando servidor NFS no Linux

Hoje irei explicar sobre a instalação e configuração do NFS(Network File System) para compartilhar arquivos entre máquinas Linux/Unix na rede.

Instalando o NFS
No Debian
#apt-get install portmap
#apt-get install nfs-common
#apt-get install nfs-kernel-server
#apt-get install nfs-user-server

No Slackware
No CD1 do Slackware procure pelo pacote nfs-utils-1.2.2-i486-1.txt e instale executando no terminal: #installpkg nfs-utils-1.2.2-i486-1.txt

Configurando o NFS no Servidor
Agora edite o arquivo /etc/exports, nele deverão ser colocados o diretório do servidor que vai ser compartilhado com a máquina cliente, o endenreço IP da máquina que estará acessando o servidor ou o endereço de rede/máscara e por fim as opções de segurança. Com o editor de textos de sua preferência segue:
#vim /etc/exports

#Conteúdo do Arquivo

/pasta_compartilhada 192.168.1.0/24(ro,no_root_squash,async,subtree_check)

Agora salve o arquivo e saia. (ESC+:x)

Explicando:

/pasta_compartilhada é o diretório do servidor que vai ser compartilhado com a máquina cliente.

• 192.168.1.0/24 é o IP da rede.

• (ro,no_root_squash,async,subtree_check) são permissões usadas nas máquinas da rede e opções de desempenho do servidor.

Em seguida digite:
#exportfs

Com esse comando, seu arquivo de configuração /etc/exports será lido e o Kernel atualizado com as mudanças realizadas.

Iniciando os serviços NFS no servidor:

Debian: #/etc/init.d/nfs-kernel-server start
Slackware:
#chmod +x /etc/rc.d/rc.rpc
#chmod +x /etc/rc.d/rc.nfsd
#/etc/rc.d/rc.rpc start
#rpc.mountd
#rpc.nfsd 8
#/etc/rc.d/rc.nfsd start

Configurando NFS na máquina cliente

Crie um diretório como no descrito abaixo, no caso utilizando um diretório com o nome de arquivos_da_rede (você pode nomear com um nome de sua preferência):

#mkdir /arquivos_da_rede

Neste caso foi criado o diretório /arquivos_da_rede. Agora vamos montar o diretório a ser compartilhado:

#mount -t nfs 192.168.1.103:/pasta_compartilhada /arquivos_da_rede

Explicando:

• /pasta_compartilhada é o diretório do servidor que vai ser compartilhado com a máquina cliente.

• 192.168.1.103 é o IP da máquina servidora

Pronto, servidor NFS configurado, e pode ser acessado entre máquinas Linux para Linux na rede.
Feito!

sexta-feira, 21 de outubro de 2011

Configurando servidor Samba no Linux

Neste post, irei explicar como compartilhar arquivos e impressoras na rede Windows e Linux.
Instalação
Debian: apt-get install samba
CentOS: yum install samba samba-client
Slackware: No CD1 encontra o pacote samba-3.5.2-i486-1.txz e digite:
installpkg samba-3.5.2-i486-1.txz

Após instalado o pacote samba, execute os comandos abaixo na distro CentOS
#service smb start
#service nmb start
#chkconfig smb on
#chkconfig nmb on

No Slackware execute:
#chmod +x /etc/rc.d/rc.samba
#/etc/rc.d/rc.samba start

Configuração do Samba
Para compartilhar arquivos e impressoras na rede, é realizado as configurações no arquivo /etc/samba/smb.conf

smb.conf

[global]
netbios name = SERVIDOR
workgroup = GRUPO
server string = Samba %v
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

[printers]
comment = All Printers
path = /var/spoll/samba
browseable = no
printable = yes
guest ok = yes
create mask = 0700

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
guest ok = yes

[homes]
vfs object = audit
comment = Home Directories
browseable = no
read only = no
vfs object = recycle
recycle:maxsize = 0
recycle:repository = .recycle
recycle:keeptree = yes
recycle:touch = yes
recycle:versions = yes
recycle:noversion = .doc|.xls|.ppt
recycle:exclude = *.obj *.tmp *.temp *.o ~$*
recycle:exclude_dir = /tmp/cache

[mnt]
comment = Share Files
path = /mnt
read only = no
guest ok = yes
create mask = 0664
directory mask = 0775

#Auditando os acessos
log level = 1
log file = /var/log/samba-full_audit.log
max log size = 1000
vfs objects = full_audit
full_audit:success = open opendir write unlink rename mkdir rmdir chmod chown
full_audit:prefix = %u|%I|%S
full_audit:failure = none
full_audit:facility = local5
full_audit:priority = notice

#Lixeira
vfs object = recycle
recycle:maxsize = 0
recycle:repository = .recycle
recycle:keeptree = yes
recycle:touch = yes
recycle:versions = yes
recycle:noversions = .doc|.xls|.ppt
recycle:exclude = *.obj *.tmp *.temp *.o ~$*
recycle:exclude_dir = /tmp/cache


Cadastrando usuários no Samba
Execute o comando abaixo para cadastrar usuários e poder acessar o diretório compartilhado.
#smbpasswd -a saitam
Nota: Neste arquivo smb.conf foi compartilhado os diretórios /home e /mnt, no entando adapte as suas necessidades.

Auditoria de acessos
Adicione no syslog.conf local5.notice /var/log/samba-full_audit.log

Iniciando o servidor samba
Por fim, reinicie o servidor samba.
Debian: #/etc/init.d/samba start
CentOS: #service smb start
Slackware: #/etc/rc.d/rc.samba start

Agora na estação cliente(Windows) poderá acessar o servidor Samba (Linux).
Feito!

quarta-feira, 28 de setembro de 2011

Configurando servidor DHCP no Linux

Neste post, apresenta um breve resumo e configuração do servidor DHCP no Linux na distro Debian e Slackware.
Qual a função do servidor DHCP?
Distribuir um endereço IP de forma automática na LAN (estação).
Instalação
No Debian:
#apt-get install dhcp3-server
Após o download e instalação do pacote dhcp3-server, vá no diretório /etc/dhcp3
#cd /etc/dhcp3
Faz um cópia de segurança
#mv dhcpd.conf dhcpd.conf.bkp
No arquivo dhcpd.conf coloque a configuração abaixo adaptando para o seu endereço IP em uso.
#vim dhcpd.conf
dhcpd.conf

# dhcpd.conf
#
# Configuration file for ISC dhcpd (see 'man dhcpd.conf')
#
authoritative;
#Domínio configurado no BIND
option domain-name "mundodacomputacao.com.br";
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.101 192.168.1.200;
option routers 192.168.1.100;
option broadcast-address 192.168.1.255;
#Aqui você coloca os servidores DNS de terceiros ou seu domínio próprio configurado no BIND.
option domain-name-servers 8.8.8.8, 8.8.4.4;
}

Explicação
default-lease-time 600; controla o tempo de renovação do IP.
max-lease-time 7200; determina o tempo que cada máquina pode usar um determinado IP.
authoritative; Se um cliente requisitar um endereço que o servidor não conheça, ou seja, o endereço é incorreto para aquele segmento, o servidor não enviará um DHCPNAK, o qual diz para ao cliente para parar de usar aquele endereço.
subnet 192.168.1.0 netmask 255.255.255.0
Define sua "sub-rede" 192.168.1.0 com a máscara 255.255.255.0 e abre uma faixa de IPs que o cliente pode usar.
range 192.168.1.101 192.168.1.200;
option routers 192.168.1.100;; Este é o gateway padrão (neste caso).
option broadcast-address 192.168.1.255;; Essa linha é o endereço de broadcast (neste caso).
option domain-name-servers;; Essa linha você especifica os servidores DNS de sua preferência ou seu próprio DNS configurado no BIND.
Define agora a interface de rede que irá ativar.
#vim /etc/default/dhcp3-server
Onde tiver INTERFACES="", coloque sua interface de rede
INTERFACES="eth1" (nesse caso).
Reinicie o serviço dhcpd: #/etc/init.d/dhcp3-server restart

No Slackware:
Basta você colocar o CD1 do Slackware, e após montado o CD-ROM , entrar na pasta Slackware/n do CD e digitar no console:
#installpkg dhcp-4.1.1-i486-2.txz
PS: Também pode optar para instalar o dhcp já na instalação do Slackware.
No arquivo /etc/dhcpd.conf coloque a configuração visto neste post (dhcpd.conf) adaptando para o seu caso.
Crie um script e salve em /etc/rc.d/rc.dhcpd
rc.dhcpd

#!/bin/sh
#Start/Stop/Restart the DHCP server
#INTERFACES ="eth1"
case "$1" in
'start')
dhcpd eth1
;;
'stop')
killall dhcpd
;;
'restart')
killall dhcpd
dhcpd eth1
;;
*)
echo "usage $0 start|stop|restart"
esac

Reinicie o serviço dhcpd: #/etc/rc.d/rc.dhcpd start

Para compartilhar a internet adicione no script de firewall a regra abaixo:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Algumas observações:
1. interface eth0 - externa e interface eth1 - interna
2. Configurando servidor DNS no BIND
3. testado na distro Slackware 13.1 e Debian 6

Feito!

domingo, 25 de setembro de 2011

Configurando servidor DNS (BIND) no Linux

Introdução
Neste post, apresenta um breve resumo do serviço DNS e configuração do Bind no sistema Linux (Slackware), mas pode ser aplicado em qualquer distro, claro apenas muda o modo de instalação, inicialização, localização do bind de distro para distro.

Qual a função do DNS?
A função do DNS é traduzir um domínio para endereço IP.
Imagina você memorizar todos endereços IPs dos sites que costuma acessar: Ex: 200.154.56.80 (www.terra.com.br), 200.18.7.2(www.joinville.udesc.br), etc, então é muito mais fácil lembrar o nome do site do que pelo endereço IP né, por isso que temos o serviço DNS que faz a tradução do site acessado para endereço IP.

O DNS (Domain Name System), é um serviço cliente/servidor baseado em hierarquias, em que a parte cliente é conhecida como resolver (resolvedor) e a parte servidora como name server. As conexões entre o cliente e o servidor se dão através do protocolo UDP e porta 53.

Estrutura de domínios
O servidor DNS é baseado em uma estrutura hierárquica, em que o processo de resolução se dá da hierarquia mais alta para a mais baixa. O ponto mais alto da hierarquia é chamado de root-level-domain, ou domínio raiz, que é representado por um caractere '.'.
O próximo nível da hierarquia são os top-level-domain, ou domínios de primeiro nível. Eles são representados por códigos domínio de primeiro nível. Veja alguns deles:

* com - Organização comercial
* mil - Militar
* net - Redes (backbones para a Internet)
* org - organizações sem fins comerciais
* gov - governamental
* xx - Sigla do país representado por dois caracteres. Ex: br, uk

Zona de autoridade
É a parte do domínio ao qual um servidor de DNS é o responsável. Em cada zona tem-se um arquivo de zona que é a base de referências entre os IPs e nomes desta zona.

Servidor primário

É o servidor onde estão os arquivos originais da zona. Só pode existir um servidor primário por zona.
Servidor secundário
Aqui é onde ficam as réplicas dos arquivos de zona, que podem ser consultados no caso de inoperabilidade do servidor primário. Ao contrário do servidor primário, podem existir vários servidores secundários. No Brasil, para que possamos registrar um domínio é obrigatório ter dois servidores: o Primário e também um Secundário.

Servidor master
É aquele servidor para o qual um servidor secundário irá solicitar as cópias dos arquivos de zona.
Servidor cache
É aquele servidor que não responde por zona alguma. Sua função é apenas armazenar resultados de consultas que ele armazena em cache. Assim, novas consultas ao mesmo registro serão atendidas com mais rapidez.

Instalação
No Debian: #apt-get install bind9
No Slackware: Basta você colocar o CD1 do Slackware, e após montado o CD-ROM , entrar na pasta Slackware/n do CD e digitar no terminal: #installpkg bind-9.4.3_P4-i486-1.txz
PS: Também pode optar para instalar o bind já na instalação do Slackware.

* /etc/named.conf - Arquivo de configuração geral do BIND.
* /usr/sbin/named - O binário (daemon) do BIND.
* /usr/doc/bind-9.4.3-P4/ - Manual em html muito bom do BIND em inglês.
* /var/named/caching-example/ - Diretório com arquivos exemplo de configuração básicos do BIND

Depois de instalado o pacote bind, vamos para configuração dos arquivos.
named.conf

options {
directory "/var/named";
version "PROTECT";
allow-transfer {192.168.1.103;};
listen-on {127.0.0.1; 192.168.1.103;};
allow-recursion {127.0.0.1; localhost; 192.168.1.0/24;};
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};

//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "caching-example/named.root";
};

zone "localhost" IN {
type master;
file "caching-example/localhost.zone";
allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "caching-example/named.local";
allow-update { none; };
};
zone "103.1.168.192.in-addr.arpa" IN {
type master;
file "caching-example/domain.rev";
allow-transfer {192.168.1.103;};
};
zone "mundodacomputacao.com.br" IN {
type master;
file "caching-example/mundodacomputacao.host";
allow-transfer {192.168.1.103;};
};

Explicação do arquivo named.conf
*directory - Aqui você indica qual será o diretório onde ficará os arquivos de registros DNS.
*version - versão do bind. Pensando na segurança é comum esconder a versão do bind, por exemplo nesse caso 'PROTECT'.
*minimal-responses - Se habilitado, quando o servidor gerar respostas, somente adicionará registros na autoridade quando requerido. Esta opção aumenta a performance do servidor.
*allow-transfer - Aqui você indica quem poderá fazer transferência de autoridades.
*listen-on - Aqui você especifica quais interfaces estão habilitadas a "escutar" conexões no protocolo UDP e porta 53.
*allow-recursion - Caso vá usar um DNS que será acessível pela Internet, é bom que você não deixe que esse pessoal faça recursões, ou seja, que eles pesquisem outros domínios que não sejam os que você tem cadastrado no seu servidor.

Zona Reversa (domain.rev)

$TTL 86400
$ORIGIN mundodacomputacao.com.br.
@ IN SOA Slackware.mundodacomputacao.com.br. root.Slackware.mundodacomputacao.com.br. (
4 ; Serial de sincronização
604800 ; refresh
86400 ; retry
2419100 ; expiry
640800 ) ; Negative cache TTL
IN NS Slackware.mundodacomputacao.com.br.
1 IN PTR Slackware.mundodacomputacao.com.br.
1 IN PTR ftp
1 IN PTR www

Explicação:
O $TTL se refere ao time-to-live, o tempo de vida do registro que é medido em segundos. Então, no nosso exemplo, o tempo de vida é de 86400 segundos.
$ORIGIN é uma variável que o BIND usa para registros que não entende. É onde você coloca o nome do seu domínio em qualquer registro não-qualificado.
Domínio (mundodacomputacao.host)

$TTL 86400
@ IN SOA Slackware.mundodacomputacao.com.br. root.Slackware.mundodoacomputacao.com.br. (
4 ; Serial de sincronização
694800 ; refresh
86400 ; rety
2419100 ; expiry
640800 ) ; Negative cache TTL
NS Slackware.mundodacomputacao.com.br.
IN MX 10 mundodacomputacao.com.br.
localhost IN A 127.0.0.1
mundodacomputacao.com.br. IN A 192.168.1.103
dns IN A 192.168.1.103
www IN A 192.168.1.103
ftp IN A 192.168.1.103

Conclusão
Depois de configurado inicie o serviço (bind).
No Debian: #/etc/init.d/bind9 start
No Slackware: #/etc/rc.d/rc.bind start

Como verificar erros de sintaxe do Bind?
No terminal digite:
#named-checkconf /etc/named.conf
Você pode querer chroot para o diretório de forma que incluem diretório no arquivo de configuração são redirecionadas por um nome semelhante:
#named-checkconf -t /var/named/chroot /etc/named.conf
Se não há saída, a configuração é considerada correta e você pode com segurança reiniciar o daemon Bind. Se houver um erro será exibida na tela:
#named-checkconf /etc/named.conf

Na máquina cliente, coloque o DNS do servidor que acabou de configurar e faça um teste.
Nesse caso: $ping mundodacomputacao.com.br
Se obter resposta, então esta OK!

Algumas observações:
1. nesse caso foi configurado o serviço DNS com domínio 'mundodacomputacao.com.br', hostname 'Slackware' e IP 192.168.1.103. Substitua para seu caso.
2. atenção na sintaxe do bind, pois é comum esquecer '.' e ';' no arquivo de configuração.
3. testado na distribuição Linux Slackware 13.1

Feito!

sábado, 17 de setembro de 2011

GWT - Google Web Toolkit

O Google Web Toolkit é um toolkit de código-fonte aberto permitindo desenvolvedores a criar aplicativos com tecnologia Ajax em linguagem de programação Java [1]. GWT suporta cliente-servidor, desenvolvimento e debugging em qualquer IDE Java. Exceto por algumas bibliotecas nativas, tudo é fonte Java que pode ser construído em qualquer plataforma com o GWT incluído Ant. Ele está licenciado sob a Licença Apache versão 2.0.[2]

[1] http://googlewebtoolkit.blogspot.com/2006_12_01_archive.html

[2] http://code.google.com/webtoolkit/terms.html

[3] http://code.google.com/intl/pt-BR/webtoolkit/tools/gwtdesigner/userinterface/palette.html


10 Motivos para Estudar no Cursos 24 Horas

Depoimentos de Alunos

Lista de Cursos

Deixando o Firefox em português

Seu navegador Firefox esta em inglês e quer alterar para português do Brasil?
Então você chegou no blog certo, basta seguir os passos abaixo e pronto.

Abre o navegador Firefox e acesse: http://br.mozdev.org/firefox/idiomas
Clique onde diz: "Instale a extensão com a tradução para o português brasileiro (pt-BR)."
Depois instale o Locale Switcher em: https://addons.mozilla.org/en-US/firefox/addon/356
Feche o Firefox e depois disso vá em Tools (ferramentas) -> Locale (idiomas) e escolha Português. Reinicie o Firefox novamente.

Feito!
10 Motivos para Estudar no Cursos 24 Horas

Depoimentos de Alunos

Lista de Cursos

sábado, 10 de setembro de 2011

O CARA DA INFORMÁTICA (PARA USUÁRIOS)

As 14 situações para o CARA DA INFORMÁTICA

1) O CARA DA INFORMÁTICA dorme. Pode parecer mentira, mas o CARA DA INFORMÁTICA precisa dormir como qualquer outra pessoa. Esqueça que ele tem celular e telefone em casa, ligue só para o escritório;

2) O CARA DA INFORMÁTICA come. Parece inacreditável, mas é verdade. O CARA DA INFORMÁTICA também precisa se alimentar e tem hora para isso;

3) CARA DA INFORMÁTICA pode ter família. Essa é a mais incrível de todas: Mesmo sendo um CARA DA INFORMÁTICA, a pessoa precisa descansar no final de semana para poder dar atenção à família, aos amigos e a si próprio, sem pensar ou falar em informática, impostos, formulários,consertos e demonstrações,manutenção, vírus e etc.;

4) CARA DA INFORMÁTICA, como qualquer cidadão, precisa de dinheiro.

Por essa você não esperava, né? É surpreendente, mas o CARA DA INFORMÁTICA também paga impostos, compra comida, precisa de combustível, roupas e sapatos, e ainda consome Lexotan para conseguir relaxar... Não peça aquilo pelo que não pode pagar ao CARA DA INFORMÁTICA;

5) Ler, estudar também é trabalho. E trabalho sério. Pode parar de rir. Não é piada. Quando um CARA DA INFORMÁTICA está concentrado num livro ou publicação especializada ele está se aprimorando como profissional, logo trabalhando;

6) De uma vez por todas, vale reforçar: O CARA DA INFORMÁTICA não é vidente, não joga tarô e nem tem bola de cristal, pois se você achou isto demita-o e contrate um PARANORMAL OU DETETIVE. Ele precisa planejar, se organizar e assim ter condições de fazer um bom trabalho, seja de que tamanho for. Prazos são essenciais e não um luxo... Se você quer um milagre, ore bastante, faça jejum, e deixe o pobre do CARA DA INFORMÁTICA em paz;

7) Em reuniões de amigos ou festas de família, o CARA DA INFORMÁTICA deixa de ser o CARA DA INFORMÁTICA e reassume seu posto de amigo ou parente, exatamente como era antes dele ingressar nesta profissão. Não peça conselhos, dicas... ele tem direito de se divertir;

8 ) Não existe apenas um 'levantamentozinho', uma 'pesquisazinha', nem um 'resuminho', um 'programinha pra controlar minha loja', um 'probleminha que a máquina não liga', um 'sisteminha', uma 'passadinha rápida (ALIAS CONTA-SE DE ONDE SAÍMOS E ATÉ CHEGARMOS)', pois esqueça os 'inha e os inho (programinha, sisteminha, olhadinha, )' pois OS CARAS DA INFORMATICA não resolvem este tipo de problema.

Levantamentos, pesquisas e resumos são frutos de análises cuidadosas e requerem atenção, dedicação. Esses tópicos podem parecer inconcebíveis a uma boa parte da população, mas servem para tornar a vida do CARA DA INFORMATICA mais suportável;

9) Quanto ao uso do celular: celular é ferramenta de trabalho. Por favor, ligue, apenas, quando necessário. Fora do horário de expediente, mesmo que você ainda duvide, o CARA DA INFORMATICA pode estar fazendo algumas coisas que você nem pensou que ele fazia, como dormir ou namorar, por exemplo;

10) Pedir a mesma coisa várias vezes não faz o CARA DA INFORMATICA trabalhar mais rápido. Solicite, depois aguarde o prazo dado pelo CARA DA INFORMATICA;

11) Quando o horário de trabalho do período da manhã vai até 12h, não significa que você pode ligar às 11:58 horas. Se você pretendia cometer essa gafe, vá e ligue após o horário do almoço (relembre o item 2). O mesmo vale para a parte da tarde: ligue no dia seguinte;

12) O CARA DA INFORMATICA não inventa problemas, não muda versão de LINUX ou WINDOWS, não tem relação com vírus, NÃO É CULPADO PELO MAL USO DE EQUIPAMENTOS, INTERNET E AFINS. Não reclame! O CARA DA INFORMATICA com certeza fez o possível para você pagar menos.

13) Os CARAS DA INFORMATICA não são os criadores dos ditados 'o barato sai caro' e 'quem paga mal paga em dobro'. Mas eles concordam... ;

14) E, finalmente, o CARA DA INFORMATICA também é filho de DEUS e não filho disso que você pensou...

Fonte: arquivos da internet

Tuxtux freebsd Beastie

sexta-feira, 9 de setembro de 2011

Alguns scripts úteis

Script Java que conta número de caracteres, palavras, linhas de um arquivo. Contador.java


Script Java que grava linhas em um arquivo até que seja digitado uma linha. GravaLinhas.java


Script C que verifica se o e-mail é válido usando expressão regular. email.c


domingo, 4 de setembro de 2011

Validando o Windows XP

Segue os passos abaixo para validar seu Windows XP Professional SP2.

1. Em iniciar>Executar
2. Digite regedit e clique OK.
3. Navegue até a chave:
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWSNT\CURRENTVERSION\WPAEVENTS
4. No Painel da direita, clique duas vezes em OOBETimer.
5. Na janela que foi aberta, apague qualquer valor e clique em OK. Feche o regedit
6. Vá novamente em executar>regedit dessa vez digite: %systemroot%\system32\oobe\msoobe.exe /a
7. Na janela que foi aberta, escolha a opção sim, desejo telefonar...
8. Na próxima etapa, Clique Alterar chave do produto.
9. Na etapa seguinte, digite a cd-key: THMPV-77D6F-94376-8HGKG-VRDRQ e clique no botão Atualizar.
10. Depois clique em lembrar mais tarde e reinicie o computador
11. Após reiniciar o computador vá em executar>regedit e digite novamente %systemroot%\system32\oobe\msoobe.exe /a
12. Aparecerá a seguinte mensagem
Ativação do Windows: O Windows já está ativado.
clique em OK para sair
Feito isso seu Windows XP estará validado como Original, você poderá fazer todas as atualizações do Windows
PS: Esse método só funciona no Windows XP Professional SP2
PS2: Serial de ouro: THMPV-77D6F-94376-8HGKG-VRDRQ

Feito.
10 Motivos para Estudar no Cursos 24 Horas

Depoimentos de Alunos

Lista de Cursos

Criando sources.list no Debian GNU/Linux

Para os usuários da distro Debian e Ubuntu que necessitam editar o arquivo /etc/sources.list com repositórios para poder atualizar e instalar pacotes com APT (apt-get/aptitude), aí vai uma dica de como construir o arquivo sources.list de forma rápida.

Acesse o site:

http://debgen.simplylinux.ch/index.php

Selecione o país, versão da distro e os repositórios que deseja ter no arquivo sources.list. Depois será gerado o arquivo sources.list conforme você escolheu, daí é só copiar e colar em /etc/apt/sources.list.

Postado também em: http://www.vivaolinux.com.br/dica/Criando-sources.list-no-Debian-GNU-Linux/

Feito!
10 Motivos para Estudar no Cursos 24 Horas

Depoimentos de Alunos

Lista de Cursos

Traduzindo o Windows 7 Professional para pt-BR

1. Encontre o arquivo .cab do seu idioma de acordo com a versão do seu Windows 7 (x86/32-bit ou x64/64-bit). É o mesmo arquivo utilizado pelas versões Professional e Ultimate. Se você tiver o DVD Language Pack procure o arquivo lp.cab do idioma que você quer instalar. No caso do Brasil, você deve procurá-lo na pasta pt-br.

Se o seu Windows 7 é 64-bit e você quer passá-lo para pt-BR, você pode baixar o arquivo diretamente desse link: pt-BR
Após baixar o arquivo, descompacte-o, obtendo o arquivo lp.cab.

2. Abra o terminal(prompt) como administrator (é só clicar com o botão direito e ir em "Run as Adminsitrator") e digite:

C:\>dism /online /add-package /packgepatch: C:\Users\Reginaldo\Downloads\pt-br\lp.c
ab

substituindo pelo caminho completo do arquivo lp.cab que você acabou de baixar.

Esse comando fará a instalação do pacote de idioma na unha. Aguarde pacientemente até aparecer a mensagem "The operation completed successfully."

3. Após aparecer a mensagem acima, vá ao Editor do Registro. Certifique-se que agora exite a chave "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages\XX", onde XX é a linguagem instalada (no caso, pt-BR).
Apague a chave “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages\YY” e todo seu conteúdo, onde YY é a linguagem que você não deseja (no meu caso en-US).

4. Reinicie a máquina e curta seu Windows 7 Professional na linguagem desejada(pt-BR).

Feito.
10 Motivos para Estudar no Cursos 24 Horas

Depoimentos de Alunos

Lista de Cursos

sábado, 20 de agosto de 2011

Instalação do flash player (plugin) no GNU/Linux

Acesse o site: flashplayer em "selecione uma versão para descarregar" selecione "tar.gz" baixe e salve em algum lugar no seu /home/$USER Terminado o download, navegue até onde salvou o plugin do flash e segui os passos abaixo:
$tar -xzvf install_flash_player_10_linux.tar.gz
#mv libflashplayer.so /home/$USER/.mozilla/
#mv libflashplayer.so /usr/lib/mozilla/plugins/
Pronto, agora acesse o youtube e assista seus vídeos favoritos.

Feito!

10 Motivos para Estudar no Cursos 24 Horas

Depoimentos de Alunos

Lista de Cursos



Liberando a memória RAM do Firefox

Neste post, irei mostrar como liberar o excesso de memória RAM do navegador Mozilla Firefox, essa dica pode ser aplicada nos SOs Windows e Linux.

Abra seu Firefox e digite na barra de endereços: http://about:config
Tecle enter para entrar no módulo de configurações manuais do Firefox, aparecerá uma lista com vários nomes de comandos e opções definidas por padrão. A nossa opção não existe na lista, temos que incluí-la, para isto faça o seguinte:
1. Com o botão direito do mouse, clique sobre a listagem.
2. Escolha 'Nova Opção', 'Boolean...'
3. Digite o seguinte: config.trim_on_minimize
4. Clique em OK e escolha a opção 'True' que aparecerá na tela seguinte.
5. Feche e abra novamente o Firefox.

Feito!

Converter filmes do formato AVI e RMVD para MPEG

Script que converte filmes do formato avi e rmvd para mpeg afim de gravá-los em um DVD.

#!/bin/bash
#script que converte filmes do formato avi e rmvd para mpeg afim de gravá-los em um DVD.
for filme in `ls *.avi *.rmvb`; do
filmempeg=`echo $filme | sed s/.avi/.mpeg/`;
echo “Convertendo $filme para $filmempeg”;
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=4/3 -ofps 30000/1001 -o $filmempeg $filme
done


10 Motivos para Estudar no Cursos 24 Horas

Depoimentos de Alunos

Curso de Linux






Referência:
http://tdmsilvino.wordpress.com/2008/05/25/convertendo-filmes-avi-e-rmvb-para-mpeg/

Configurando roteador Wireless com modem ADSL D-Link 500B

Neste post irei explicar como configurar seu roteador wireless mantendo seu modem adsl em router.
O padrão da faixa de IP do roteador possui IP 10.0.0.1 e o modem ADSL D-Link 10.1.1.1, pode haver conflto onde o roteador wireless não aceita o DHCP do modem ADSL D-Link, a solução é alterar o IP default do roteador wireless para 192.168.1.1 ou qualquer outro IP que não comece com 10.x.x.x.
Assim o modem ADSL D-Link pode permanecer como router.
Lembrando que após alterar o IP do roteador wireless, o acesso a sua interface passará a ser feita pelo navegador, porém digitando o novo IP alterado.
PS: Não é necessário mudar nada no modem ADSL D-Link que já esta configurado como Router Ok!
Vamos lá! Digite no browser o IP padrão 10.0.0.1 em seguida entra com o user e senha padrão (ou outro caso tenha alterado) ENTER
Clique em Rede e altere o IP para a faixa 192.168.1.1 não é necessário mudar a Máscara de Sub-Rede, clique em salvar. Aguarde um instante.
Agora feche o browser e abra novamente, entre com o novo IP 192.168.1.1.
Nesta hora sua internet já deve esta funcionando se o cabo de seu modem ADSL estiver conectado na porta WAN do roteador Wireless.
Agora vamos habilitar a segurança.
Na interface de configuração do roteador wireless, clique em "Wireless" e marque "Ativar Segurança Wireless" escolha o "Tipo de segurança" WPA2, "Opções de segurança" deixe automático para não complicar, "Formato de chave" ASCII chave até 13 caracteres, Hexadecimal até 25 caracteres bem mais segura. Escolha sempre o tipo de chave "128 bits".
Se preferir pode ativar o "Filtro de MAC" e adicione o MAC das placas de rede que você for usar na rede wireless.
SSID é o nome do sinal que vai ser enviada no ar, ou seja, quando for detectar o sinal em qualquer computador que esteja perto vai aparecer o sinal com esse nome, por padrão normalmente vem com o nome da marca do roteador wireless, mas é recomendado mudar.
OBS: 1
A senha WEP é muito fácil de achar, ou seja, qualquer um com um script/aplicativo consegue achar essa senha, e ela é fácil de ser quebrada.
O ideal então seria você colocar chave: WPA-PSK/WPA2-PSK para ativar essa opção você tem que colocar antes na mesma tela "Ativar segurança Wireless" e depois no tipo de segurança colocar a opção descrita neste post.
Você poderá escolher uma senha de 8 a 63 caracteres e depois coloque em salvar e seu roteador wireless vai ser reinicializado com as novas configurações.
OBS: 2
Outra dica importante também é mudar a senha para acessar interface de configuração do roteador wireless, que vem por padrão.
Para isso vá no menu esquerda e lá em baixo tem manutenção, clica em sistema e depois em senha, lá você pode configurar nova senha, aconselho colocar a senha diferente do que você colocou no sinal.
Feito!

10 Motivos para Estudar no Cursos 24 Horas

Depoimentos de Alunos

Lista de Cursos



Configurando Modem ADSL Siemens Speedtream 4200

Bem em um serviço freelancer em um cliente configurei o modem ADSL Siemens Speedtream 4200, e neste post irei descrever os passos necessários para deixar este modem em modo router.
Vamos lá então.
1)No navegador digite na URL: 192.168.254.254 e ENTER, caso este IP não funcionar, use o IP 10.0.0.1 que é o padrão de configuração.
2)Preencha o nome de usuário: root e define uma senha para este usuário. Confirme para salvar as configurações.
3)Após salvo o usuário e senha será redirecionado a tela "Resumo do sistema"
4)Clique no menu a esquerda em Configurações e no Sub-menu Interface WAN, Exclua todas as conexões atuais.
5)Após excluído as conexões de fábrica, clique em "Adicionar um novo VC".
6)Digite o VPI e VCI de sua operadora de ADSL, depois o LLC em seguida Avançar.
Em SC o valor de VPI=0 e VCI=35
7)Selecione a opção somente Cliente e clique em avançar.
8)Selecione o número 1 e clique em avançar.
9)Preencha o nome de usuário e senha fornecido pelo seu provedor de acesso e clique em avançar.
10)Selecione a opção "Connectar automaticamente ao desconectar" e avançar.
11)Avançar em PPP Estático.
12)Em opções de interface clique em avançar
habilitar utilizar firewall
habilitar sistema de detecção de ataques
RIP deixe desabilitado
habilitar NAT/NAPT
13)Digite o nome de sua conexão e clique em avançar.
Ex: "Conexão ADSL".
14)Clique em concluir.
15)Na opção #0 está sua conexão que você acabou de criar, agora clique em "reinicializar" em vermelho abaixo.
16)As configurações foram salvas, agora clique em "Reinicializar".
17)Aguarde 45 segundos até o modem reinicializar.
18)Você será redirecionado para "Resumo do sistema".
19)Aguarde 30 segundos até o modem autenticar e Pressione F5 do teclado para você ver sua conexão em verde com o número IP do lado.
20)Parabéns! Você configurou seu modem em modo router.
Feito!

10 Motivos para Estudar no Cursos 24 Horas

Depoimentos de Alunos

Lista de Cursos



Ressuscitando o sistema FreeBSD

Caso fizer um desligamento bruto e aparecer a linha ao iniciar o FreeBSD
enter full pathname of shell or return for /bin/sh:
Quando a última linha exibida, pressione [enter], então fsck-y, e quando isso terminar, reinicie
[enter]
fsck-y
reboot

Feito!

Configurando FreeBSD para servir como gateway e serviço DHCP

Bom, neste post irei explicar os passos necessários de como configurar um gateway na rede com serviço DHCP no FreeBSD 8.2

Nota: em0=(interface de rede externa) e em1=(interface de rede local)

Instalação:

via ports -> /usr/ports/net/isc-dhcp31-server
/usr/ports/net/isc-dhcp31-server: make install clean

Fazendo backup do arquivo exemplo e criando um arquivo novo

mv /usr/local/etc/dhcpd.conf.sample /usr/local/etc/dhcpd.conf

Usando o editor de texto ee (padrão do sistema)

ee /usr/local/etc/dhcpd.conf
option domain-name-servers "208.67.222.222,208.67.220.220"; #OpenDNS
default-lease-time 3600;
max-lease-time 86400;
ddns-update-style none;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.11 192.168.1.90; #range de IPs
option routers 192.168.1.10; #gateway
}

Iniciar serviço dhcpd

#/usr/local/etc/rc.d/isc-dhcpd start

Ativar roteamento
#sysctl -w net.inet.ip.forwarding=1
(net.inet.ip.forwarding: 0 -> 1)

Habilitando os serviços necessários
ee /etc/rc.conf
ifconfig_em0="DHCP"
ifconfig_em1="inet 192.168.1.10 netmask 255.255.255.0"
dhcpd_enable="YES"
natd_enable="YES"
natd_interface="em0" #em0=placa1(conexão com Internet) em1=placa2(rede local)
gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"

ee /boot/loader.conf
ipfw_load="YES"
ipdivert_load="YES"
net.inet.ip.fw.default_to_accept="1"
options IPFIREWALL_FORWARD
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSE

Para poder usar o NAT, IPFIREWAL, IPDIVERT é necessário compilar o kernel
Compilando kernel FreeBSD
Então adicionaremos os parâmetros necessários para o funcionamento como gateway. No nosso exemplo copiaremos o arquivo GENERIC (este é apenas uma arquivo modelo) com outro nome (KERNCUSTOM). Teremos então dois arquivos, o modelo base (GENERIC) e o outro ao qual iremos modificar (KERNCUSTOM). Para realizar a cópia faça

#cp –p /usr/src/sysi386/conf/GENERIC /usr/src/sysi386/conf/KERNCUSTOM.

Manter o mesmo nome do arquivo de configuração e do próprio kernel (ident) ajuda a manter a organização.
Então adicionamos os seguintes parâmetros (as linhas que iniciam com # são comentários):
ident KERNCUSTOM #Nome de identificação do kernel. Não há relação com o nome do arquivo, é apenas uma boa prática para identificar e/ou versionar e organizar as possíveis variações de kernel;
options IPFIREWALL # Habilitando o módulo do IPFW (firewall);
options IPFIREWALL_FORWARD # Habilita o repasse de pacotes entre interfaces de rede interna e externa;
options IPFIREWALL_DEFAULT_TO_ACCEPT # Comportamento padrão para o firewall, definido como aberto (caso essa linha seja omitida o padrão será fechado, portanto as regras no arquivo de rc.firewall deverão ser alteradas);
options IPFIREWALL_VERBOSE #Habilitando o log do firewall no syslogd;
options IPFIREWALL_VERBOSE_LIMIT=1000 – #Limite do log em Mb;
options IPDIVERT #Habilitando o uso de socket divert por padrão na porta 8668.

Editado o arquivo KERNCUSTOM, devemos então retornar ao diretório /usr/src para que consigamos executar os comandos para construção e instalação do novo kernel.
A construção do kernel usando o arquivo de configuração que foi editado, a depender do microcomputador, pode ser demorada. Para isso, execute:

# make buildkernel KERNCONF=KERNCUSTOM

Se nenhum erro foi encontrado, instale o novo kernel usando o make:

#make installkernel KERNCONF=KERNCUSTOM

Se tudo ocorreu bem, teremos então o FreeBSD pronto para atuar como gateway. Assim, basta reiniciar o computador e ligar suas conexões de rede (interna e externa) nas interfaces corretas. Lembre-se das configurações do rc.conf, devemos nos atentar em ligar as conexões de rede às placas corretas.

Caso o cliente tiver problemas para navegar
#ipfw add 65000 allow ip from any to any #libera os pacotes que tava bloqueando

Feito!
10 Motivos para Estudar no Cursos 24 Horas

Depoimentos de Alunos

Lista de Cursos

Referências:
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=20814
http://www.kodiva.com/post/freebsd-as-an-internet-gateway-with-dhcp-services
http://blog.clickgratis.com.br/mauricio/

Instalando ambiente gráfico Gnome no FreeBSD

Neste post explicarei como instalar o ambiente gráfico e iniciar no sistema FreeBSD 8.2

Antes de instalar pacotes no FreeBSD usando o ports, precisa atualizar
#portsnap fetch update

Método 1(usando no cd)
Xorg
#cd /usr/ports/x11/xorg
#make install clean Demorado...Aguarde!

Gnome
#pkg_add -r gnome2
OU
#cd /usr/ports/x11/gnome2
#make install clean
Ambos demorado...Aguarde!

Método 2 (usando o DVD)
Pelo sysinstall do DVD FreeBSD
marque gnome2 e xorg
aguarde a instalação

Bom, terminado de fazer o download,compilado tudo e instalado o X e o Gnome, hora de configurar o X, depois o Gnome para iniciar.

Configurando do X
crir arquivo xorg.conf
#Xorg -configure
#mv xorg.conf.new /etc/X11/xorg.conf


Section “ServerFlags”
Option “AllowEmptyInput” “0"
EndSection

E na Section “InputDevice”, modifique deixando deste modo.

Section “InputDevice”
Identifier “Keyboard0"
Driver “Keyboard”
Option “XkbModel” “abnt2"
Option “XkbLayout” “br”
Option “XkbVariant” “”
EndSection


Depois que instalar o gnome, não esqueça de inserir no /etc/rc.conf:

dbus_enable="YES"
hald_enable="YES"
gdm_enable="YES"
gdm_lang=”pt_BR.ISO8859-1"

ou se caso instalou o ambiente KDE (KDM)

dbus_enable="YES"
hald_enable="YES"
local_startup="${local_startup} /usr/local/kde4/etc/rc.d"
kdm4_enable="YES"

#/usr/local/etc/rc.d/dbus start
#/usr/local/etc/rc.d/avahi-daemon start
#/usr/local/etc/rc.d/avahi-dnsconfd start
#/usr/local/etc/rc.d/hald start
#/usr/local/etc/rc.d/gdm start

Se precisar, execute o comando abaixo
echo "/usr/local/bin/gnome-session" >> ~/.xinitrc

Agora vamos alterar o arquivo .dmrc, que fica na pasta do usuário. $HOME/.dmrc. Caso não tenha crie um.
Após adicione as seguintes linhas no arquivo .dmrc:

[Desktop]
Session=gnome
Language=pt_BR.ISO8859-1

Agora vamos editar o arquivo /boot/loader.conf para deixar o som iniciar após o boot.
Dê o comando:
#ee /boot/loader.conf

snd_driver_load=YES
snd_foo_load=YES

#reboot

Screenshot do FreeBSD com ambiente gráfico Gnome


Feito!

10 Motivos para Estudar no Cursos 24 Horas

Depoimentos de Alunos

Lista de Cursos

Referências:
http://www.beersd.com.br/freebsd/instalando-gnome2-no-freebsd/
http://www.freebsd.org/gnome/docs/faq2.html#q6

Configurando o Apache, PHP e MySQL no GNU/Linux

No Debian e derivados
Segue o tutorial que postei no Viva o Linux em: http://www.vivaolinux.com.br/dica/Instalacao-do-PHP-+-MySQL-+-Apache-+-PHPMyAdmin-e-resolvendo-problemas/
No Slackware
Considerando, que tenha feito a instalação full ou tenha setado os pacotes: (apache, php, mysql) na instalação do Slackware Linux, basta apenas configurar para poder usar normalmente.
Edite o arquivo /etc/httpd/httd.conf
#vim /etc/httpd/httd.conf
Procure a linha abaixo e descomente(retire o # da frente da linha) para habilitar o suporte a php:
# Include /etc/httpd/mod_php.conf
Salve e no mesmo arquivo, edite a tag adicionando index.php na frente Assim:

DirectoryIndex index.php index.html

Salve o arquivo e saia
iniciar o Apache
#apachectl start
Se quiser que exibe os erros de sintaxe do PHP
Edite o arquivo /etc/httpd/php.ini
#vim /etc/httpd/php.ini
em display_errors, log_erros, display_startup_erros esta como off, altere para on, salve o arquivo e reinicie o apache
#apachectl restart
no navegador: http://localhost/
Lembrando que os arquivos *.php e *.html devem ser salvos em /var/www/htdocs, para isso é necessário setar permissão: #chmod 777 /var/www/htdocs
iniciar o MySQL #mysql_install_db (somente 1x)
#chown -R mysql.mysql /var/lib/mysql (somente (1x)
#mysqld_safe & (toda vez que for usar o MySQL)
abra no shell:
com o MySQL iniciado:
$mysql -u root password (1x)
$mysql -u root -p e digita a senha criada com o comando acima)
$show databases; /*mostra banco de dados criados*/
$use ; /*usar banco de dados criado*/
$show tables; /*mostrar tabelas presentes em um banco de dados*/
$describe ; /*mostrar estruturas de uma tabela*/
cria a base de dados
mysql> create database
prepara a base de dados que vai usar
mysql> use
script sql para criar tabela
mysql> create table (
atributos da tabela
);
exibe a estrutura da tabela criada
mysql> desc

Feito!

10 Motivos para Estudar no Cursos 24 Horas

Depoimentos de Alunos

Lista de Cursos



Compilação de pacotes no GNU/Linux

A maioria dos usuários com pouca experiência costumam executar: ./configure; make; make install o que não seria o modo mais adequado e sim como descrito neste post que esta de acordo com os padrões do GNU/Linux.
Descompactando o source do pacote
.tar.gz
tar -xzvf pacote.tar.gz
.tar.bz2
tar -jxzvf pacote.tar.bz2
Compilando
$./configure --prefix=/usr --sysconfdir=/etc
Explicação:
--prefix=/usr define que os binários, bibliotecas e documentações devem ser instalados dentro de /usr e não dentro de /usr/local como é por padrão quando se usa somente ./configure

--sysconfdir=/etc define que os arquivos de configuração do pacote devem ser instalados dentro de /etc e não dentro de /usr/local/etc como por padrão.

Se tudo ocorrer certo e não receber nenhuma mensagem de erros de dependências. Então pode passar para o próximo passo.
Compilar o pacote
$make
Instalando
#make install DESTDIR=/usr/local/src/nomedopacote/
Após executar o comando acima estará instalado em /usr/local/src/nomedopacote/

Nota:
Se você usa a distro Slackware, então pode criar pacote tgz dentro do diretório que instalou.
No caso /usr/local/src/nomedopacote/
#makepkg nomedopacote-versão.tgz e responder yes nas perguntas que aparecer.
Feito!

Script para compilar o Kernel Linux

Segue o script que usei para compilar o Kernel 3.0.1, mas pode ser facilmente adaptado para outras versões, basta alterar no script com versão corrente que for compilar.
PS: Considerando que já esteja com todas as dependências instaladas.
gcc,ncurses,etc
Testado na distro Slackware

#!/bin/bash
echo "Script para compilar o Kernel Linux 3.0.1";
echo "Baixar o source do kernel 3.0.1 - www.kernel.org - 74MB ";
wget -c http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.0.1.tar.bz2
cp linux-3.0.1.tar.bz2 /usr/src
cd /usr/src
tar -jxvf linux-3.0.1.tar.bz2
echo "Remover e criar link simbólico para o diretório chamado linux";
rm linux
ln -s /usr/src/linux-3.0.1 /usr/src/linux
echo "Estamos em /usr/src/linux";
cd linux
echo "Para limpar as configurações executado make mrproper";
make mrproper
echo "ATENÇÃO!";
echo "Existem outras maneiras de configurar o kernel, inclusive em modo
gráfico, mas aqui vou me referir apenas ao menuconfig.";
echo "Esta parte depende muito da máquina em
questão. É necessário que você selecione todas as opções referentes ao seu hardware e os sistemas de arquivo que você usa.
No menuconfig um ?*? significa que a opção será compilada dentro da
imagem do kernel, um ?M? significa que será compilado como um módulo
externo.
O sistema de arquivos que a sua partição linux usa deve ser marcado como ?*?, bem como suporte a IDE (ou SCSI se for o caso). O restante das opções podem ser escolhidas como módulo, você escolhe.";
echo "Lembre-se que se você selecionar alguma opção como módulo, deve
marcar a opção Loadable Module Support -> Enable loadable module support, Loadable Module Support -> Module unloading e
Loadable Module Support -> Automatic kernel module unloading.
make menuconfig
echo "Salve a configuração. Agora vamos compilar.";
echo "Compilação propriamente dita";
make
echo "Compilando os módulos"
make modules
echo "Instalação dos módulos criados";
make modules_install
echo "Criar a imagem bootável do kernel";
make bzImage
echo "Após terminado esse comando a imagem do kernel gerada é gravada em /usr/src/linux/arch/x86/boot/bzImage";
echo "Copiando os arquivos de imagem para /boot"
cp /usr/src/linux/arch/x86/boot/bzImage /boot/
echo "Pronto Kernel compilado";
echo "Adicionar a entrada do novo kernel no gerenciador de boot.";
echo "PS: É importante que você mantenha a versão padrão do kernel para poder inicializar o Linux em caso de erros no kernel novo";
echo "Saiba qual a partição onde seu Linux está instalado. É algo como
/dev/hdax, para IDE e /dev/sdax, para SATA, onde x é um número da sua / raiz.";
#Menu de escolha, caso use Lilo tecle 1, caso use Grub tecle 2, caso use Grub2 tecle 3
echo -e "Escolha a opção de acordo com o seu gerenciador de boot\n1)Lilo\n2)Grub\n3)Grub2\n";
read x;
case "$x" in
1)
echo -n -e " Olhe no lilo.conf na parte referente ao outro kernel e use a mesma partição na nova configuração.\n"
echo -n -e "image =/boot/bzImage\nroot=/dev/sda1\nlabel=Linux3.0.1\nread-only"
echo "Abrindo o arquivo /etc/lilo.conf"
vim /etc/lilo.conf
echo "Depois de salvo, atualize o lilo"
lilo
;;
1|2)
echo -n -e "Edite o arquivo de configuração do grub referente ao outro kernel\n"
echo "Abrindo o arquivo /boot/grub/menu.lst"
nano /boot/grub/menu.lst
echo "Depois de salvo, será atualizado o grub"
update-grub
;;
1|2|3)
echo -n -e "Edite o arquivo de configuração do grub2 referente ao outro kernel\n"
echo "Abrindo o arquivo /etc/grub.d/40_custom"
nano /etc/grub.d/40_custom
echo "Depois de salvo, será atualizado o grub2"
update-grub
;;
1|2|4)
echo "Escolha incorreta! Favor escolher a opção 1 - Lilo, 2 - Grub ou 3 - Grub2
;;
esac


OBS: Caso seu computador tenha placa de vídeo NVIDIA/ATI, é necessário executar o arquivo de instalação da respectiva placa novamente em init3.

Feito!
10 Motivos para Estudar no Cursos 24 Horas

Depoimentos de Alunos

Lista de Cursos

Personalizar o Slackware

Apesar de no momento de instalação da instalação do Slackware escolhemos o layout do teclado como br-abnt2, não escolhemos o idioma padrão do sistema, abaixo veremos como padronizar o sistema para a linguagem PT-BR.

1° Mudar o idioma padrão do sistema:
Edite o arquivo: /etc/profile.d/lang.sh e deixe as variáveis dele igual ao exemplo:
export LANG=pt_BR
export LINGUAS=pt_BR
export LC_CTYPE=pt_BR.ISO8859-1
export LC_ALL=pt_BR
export SYSFONT=lat1u-16

2º Teclado br-abnt2, o conteúdo a seguir é derivado do artigo do Cláudio Henrique Fortes Félix publicado no Viva o Linux para mais detalhes acesse-o aqui . O que você vai ver aqui é um resumo do artigo, e como apliquei no meu Slackware.

Edite o /etc/X11/xorg.conf e na seção inputDevice deixe como abaixo:

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "abnt2"
Option "XkbLayout" "br"
EndSection

Feito isso reinicie o servidor X, verifique se mudou as configurações com o comando abaixo:
# lshal | grep xkb

Se continuar a configuração do teclado us, siga o passo abaixo:
1º Faça uma copia do arquivo 10-keymap.fdi, igual abaixo:
# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy

edite o arquivo /etc/hal/fdi/policy/10-keymap.fdi, e aonde estiver evdev troque para abnt2 e aonde estiver us troque para br.

Feito isso reinicie o Hal: . /etc/rc.d/rc.hald restart

E se ainda não funcionou, modifique o /etc/X11/xorg.conf adicione as linhas abaixo:
Section "ServerFlags"
Option "AllowEmptyInput" "off"
Option "AutoAddDevices" "off"
EndSection

Reinicie o servidor X e pronto!

Procedimentos para o Slackware 14.2
Nessa versão, houve uma pequena alteração para definir o layout o teclado para ABNT2_BR
Copiar o arquivo /usr/share/X11/xorg.conf.d/90-keyboard-layout.conf para /etc/X11/xorg.conf.d/
# cp /usr/share/X11/xorg.conf.d/90-keyboard-layout.conf /etc/X11/xorg.conf.d/
Alterar de us para br em Option "XkbLayout" no arquivo /etc/X11/xorg.conf.d/90-keyboard-layout.conf
#vim /etc/X11/xorg.conf.d/90-keyboard-layout.conf

Ficando assim
Section "InputClass"
Identifier "keyboard-all"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "XkbLayout" "br"
#Option "XkbVariant" ""
Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

ESC +:x (salva e sai do editor Vim)

Só fazer logout que o teclado estará configurado para o layout ABNT2_BR
Feito!

10 Motivos para Estudar no Cursos 24 Horas

Depoimentos de Alunos

Lista de Cursos

Referência:
http://blogdobalani.blogspot.com/2010/06/personalizar-o-slackware-131.html
https://www.vivaolinux.com.br/dica/Configurar-teclado-ABNT2-no-Slackware-14-64-bits