quarta-feira, 5 de outubro de 2011

Criando um servidor Minecraft "Free" no FreeBSD.

Motivei-me em escrever só por que ninguem escreveu sobre isso em pt_BR.

Dica bem nerd.

Primeiramente necessitamos de Java, e isso está na dica anterior,
em seguida, baixe o arquivo server do Minecraft.

http://www.minecraft.net/download

Baixe o arquivo minecraft_server.jar (621 KB)

Execute o comando abaixo:
$ java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
Ele fará o download da atualização e criará vários arquivos no diretório corrente.

Então criará um arquivo server.properties faça algumas alterações:

$ cat server.properties

#Minecraft server properties
#Mon Oct 03 18:46:50 BRT 2011
#Dê um nome ao server

level-name=Fantastico_Mundo_de_BOB
allow-nether=true
view-distance=10
spawn-monsters=true
#Aqui o segredo para não ficar pedindo usuário registrado "online-mode=false"
online-mode=false
difficulty=1
gamemode=0
spawn-animals=true
max-players=20
#IP da rede Local (se for o caso, use NAT rdr com pf)
server-ip=192.168.1.10
pvp=true
level-seed=
#Porta Padrão
server-port=25565
allow-flight=false
white-list=true
motd=A Minecraft Server on FreeBSD

Eu criei um diretório Minecraft-Server e um arquivo run-minecraft.sh

# cd Minecraft-Server
# vim run-minecraft.sh


## file run-minecraft.sh
#!/bin/sh
java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui

Tonando o arquivo executável
# chmod +X run-minecraft.sh

Rodando em background:
# nohup sh run-minecraft.sh&

Pronto, teste com o Client, eu baixei de: ( http://www.mediafire.com/?zn9oc9anwsi2gyg )

$ java -Xmx1024M -Xms1024M -jar MinecraftSP.jar

Dica: Eu uso Whitelist com nomes e troco a porta, no. youtube há diversos tutoriais para configuração e sobrevivência. (Funciona com Jails).

Exemplo no pf:
rdr on $ext_if proto { tcp udp } from any to any port 3366 -> 192.168.1.10 port 25565

um abraço.

Lembrando que esta dica serve para Linux.

OpenJDK6 no FreeBSD usando ports.


Dica simples, mas útil para muitas coisas.

OBS: Exige um certo conhecimento do ports.

Acesse o ports

# cd /usr/ports/java/openjdk6
# make install clean

Siga algumas instruções de downloads da Oracle.

Caso queira usar som no java adicione ao /etc/fstab


fdesc    /dev/fd        fdescfs        rw    0    0
proc    /proc        procfs        rw    0    0

Aguarde uns 20 minutos compilando a joinha

e pronto, teste :

$ java -version
java version "1.6.0_07"
Diablo Java(TM) SE Runtime Environment (build 1.6.0_07-b02)
Diablo Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode)


$ java -Xmx1024M -Xms1024M -jar MinecraftSP.jar

Você já pode jogar Minecraft com seus amigos.

OBS: Dica mais simples -- pkg_add -r openjdk6

terça-feira, 27 de setembro de 2011

Mysql 5.5 no FreeBSD via ports.


Processo padrão:

# cd /usr/ports/databases/mysql55-server && make install clean


# echo "mysql_enable=YES" >> /etc/rc.conf


# /usr/local/etc/rc.d/mysql-server start

Ao tentar usar o 'mysql_install_db' para inserir a senha um ERRO fez-se presente:

"FATAL ERROR: Could not find ./bin/my_print_defaults"

Eu contornei assim:

# cd /usr/local


# mysql_install_db

O Mysql ficará sem senha, para isso basta alterar a senha do usuário root com o comando:

# mysqladmin -u root password 'nova_senha'


# mysqladmin flush-privileges

você pode alterar a senha também com o comando:

# mysql -u root mysql


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


mysql> FLUSH PRIVILEGES;

OBS: Pode-se definir a senha diretamente no mysql_install_db

um abraço.

Referência:
http://forums.freebsd.org/showthread.php?t=22203

quarta-feira, 21 de setembro de 2011

Criando uma Whitelist para o Amavisd do Zimbra



Mais uma dica útil

Usando o usuário zimbra edite o arquivo "/opt/zimbra/conf/postfix_recipient_restrictions.cf"  e adicione ao topo a linha abaixo:

check_client_access hash:/opt/zimbra/postfix/conf/amavis_client_whitelist

Edite o arquivo amavis_client_whitelist :

$ vim /opt/zimbra/postfix/conf/amavis_client_whitelist

IP-DO-MX-QUE-ENTRA-COMO-SPAM FILTER smtp-amavis:[127.0.0.1]:10026

exemplo:

200.200.200.200 FILTER smtp-amavis:[127.0.0.1]:10026

Pode-se descobrir o IP usando um: "$ host -t mx dominio.com.br" e "$ nslookup mx.dominio.com.br"

Após criar o arquivo:

$ postmap /opt/zimbra/postfix/conf/amavis_client_whitelist

que criará um arquivo amavis_client_whitelist.db

Agora edite o arquivo  /opt/zimbra/conf/amavisd.conf.in e JAMAIS  /opt/zimbra/conf/amavisd.conf (Conforme a documentação)

Dica : use o localizar do vim "/inet_socket_port"

____

$inet_socket_port = [10024, 10026];   # listen on this local TCP port(s) (see $protocol)
$interface_policy{'10026'} = 'CLIENTWHITELIST';
$policy_bank{'CLIENTWHITELIST'} = {
   bypass_spam_checks_maps   => [1],
   final_spam_destiny   => D_PASS,
   };
____


Para deixar passar os vírus do domínio amigo use a configuração abaixo:

____

$inet_socket_port = [10024, 10026];   # listen on this local TCP port(s) (see $protocol)
$interface_policy{'10026'} = 'CLIENTWHITELIST';
$policy_bank{'CLIENTWHITELIST'} = {
   bypass_spam_checks_maps   => [1],
   final_virus_destiny => D_PASS,
   final_spam_destiny   => D_PASS,
   };
____

E finalmente:

$ zmmtactl restart && zmamavisdctl restart

Mais um abraço...

Referência:
http://wiki.zimbra.com/index.php?title=IP_address_whitelisting


Criando uma whitelist de Helo Check no Zimbra



Dica muito útil

Usando o usuário zimbra adicione ao arquivo "/opt/zimbra/postfix/conf/main.cf" logo abaixo da linha  " smtpd_recipient_restrictions = "

__

check_helo_access =  hash:/opt/zimbra/conf/helo_access
__

Crie o arquivo  /opt/zimbra/conf/helo_access

adicione as linhas exemplo:

host_mx.dominio.com.br    PERMIT
outro_host_mx.outrodominio.org.br    PERMIT

e em seguida:

$ postmap /opt/zimbra/conf/helo_access

Que criará um arquivo helo_access.db

Feito isso:

$ zmmtactl restart


Um abraço

Apenas simplificando a referência: http://www.redhate.me/?p=142


sexta-feira, 2 de setembro de 2011

Bind9 em chroot no Debian Squeeze.


Tradução para instalação do Bind9 em chroot no Debian Squeeze.

Instalando o Bind9:
#  aptitude update

# aptitude install bind9 bind9-doc dnsutils


Criando os diretórios e permissões:

# mkdir -p /var/chroot/bind9/{etc,dev,var/cache/bind,var/run/bind/run}
# chown -R bind:bind /var/chroot/bind9/var/*


Criando os devices:

# mknod /var/chroot/bind9/dev/null c 1 3
# mknod /var/chroot/bind9/dev/random c 1 8
# chmod 666 /var/chroot/bind9/dev/{null,random}

Movendo diretórios padrões:

# mv /etc/bind /var/chroot/bind9/etc
# ln -s /var/chroot/bind9/etc/bind /etc/bind

Configurando o rsyslog para trabalhar com o chroot

# echo "$AddUnixListenSocket /var/chroot/bind9/dev/log" > \


/etc/rsyslog.d/bind-chroot.conf


Alterando a inicialização do Bind

# vi /etc/default/bind9

de:

OPTIONS="-u bind"

Para:
OPTIONS="-u bind -t /var/chroot/bind9"


Reiniciando os serviços:

# /etc/init.d/rsyslog restart
Restarting system log daemon: syslogd.


# ls -al /var/chroot/bind9/dev/log
srw-rw-rw- 1 root root 0 Set  2 16:46 /var/chroot/bind9/dev/log


Copie suas configurações antigas, acerte os caminhos e:

# /etc/init.d/bind9 start

um abraço...

Referência:
http://www.dmo.ca/blog/20081009143754/

quinta-feira, 1 de setembro de 2011

Sarg no FreeBSD

Dica para não esquecer, basta apenas tem uma breve noção do funcionamento do squid e apache httpd.

Fiz instalação pelo ports FreeBSD 8.2 .

# cd /usr/ports/www/sarg && make install clean

Editando o conf:

# cat /usr/local/etc/sarg/sarg.conf


#############Begin

access_log /var/log/squid/access.log
title "Squid User Access Reports"
font_face Tahoma,Verdana,Arial
header_color darkblue
header_bgcolor blanchedalmond
font_size 9px
background_color white
text_color #000000
text_bgcolor lavender
title_color green
temporary_dir /tmp
output_dir /usr/local/www/data/sarg/
resolve_ip
user_ip no
topuser_sort_field BYTES reverse
user_sort_field BYTES reverse
exclude_users /usr/local/etc/sarg/sarg.users
exclude_hosts /usr/local/etc/sarg/sarg.hosts
date_format u
lastlog 0
remove_temp_files yes
index yes
index_tree file
overwrite_report yes
records_without_userid ip
use_comma yes
mail_utility mailx
topsites_num 100
topsites_sort_order CONNECT D
index_sort_order D
exclude_codes /usr/local/etc/sarg/sarg.exclude_codes
max_elapsed 28800000
report_type topusers topsites sites_users users_sites date_time denied auth_failures site_user_time_date downloads
usertab /usr/local/etc/sarg/sarg.usertab
long_url no
date_time_by bytes
charset Latin1
show_successful_message no
show_read_statistics no
topuser_fields NUM DATE_TIME USERID COcNNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
user_report_fields CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
topuser_num 0
download_suffix "zip,arj,bzip,gz,ace,doc,iso,adt,bin,cab,com,dot,drv$,lha,lzh,mdb,mso,ppt,rtf,src,shs,sys,exe,dll,mp3,avi,mpg,mpeg"

###########EOF

Crie os arquivos necessários para a execução:

# touch /usr/local/etc/sarg/sarg.usertab
# touch /usr/local/etc/sarg/sarg.hosts
# touch /usr/local/etc/sarg/sarg.users
# touch /usr/local/etc/sarg/sarg.exclude_codes
# mkdir /usr/local/www/data/sarg

Criando um script para execução:

# vim /etc/scripts/sarg-dia.sh

#############Begin

#!/usr/local/bin/bash

data=$(date "+%d/%m/%Y")
/usr/local/bin/sarg -f /usr/local/etc/sarg/sarg.conf -d $data-$data 

#############EOF

Dê permissões

# chmod +x /etc/scripts/sarg-dia.sh

No meu caso, ocorreu um erro de permissões no binário do sarg e eu contornei assim:

# chmod u+gx /usr/local/bin/sarg

Execute:

# sh /etc/scripts/sarg-dia.sh



Adicione na crontab:

45 00 * * * sh /etc/scripts/sarg-dia.sh

E um abraço.


OBS: Se trocar os caminhos das conf, funciona com Linux .