terça-feira

Configurando proxy para o yum

Edite o arquivo /etc/yum.conf e insira o seguinte conteudo:
nano /etc/yum.conf
proxy = http://usuario:senha@ip_servidor_proxy:porta

quarta-feira

Instalando Postgres8.4 no centos

Baixando o repositório 

Baixe e adicione o repositorio ao CentOs

$ wget http://yum.pgrpms.org/reporpms/8.4/pgdg-centos-8.4-2.noarch.rpm
$ rpm -Uvh pgdg-centos-8.4-2.noarch.rpm

Instalando o servidor

Execute a instalação do Postgres 8.4
yum install postgresql84 postgresql84-server postgresql84-contrib
service postgresql initdb
service postgresql start
chkconfig postgresql on

Liberando o acesso remoto

Para liberar o acesso remoto edite o arquivo pg_hba.conf e insira o seguinte conteúdo no final:
nano /var/lib/pgsql/pg_hba.conf
host    all         all         0.0.0.0/0             trust

Logo após edite o arquivo postgresql.conf e altere a linha #listen_addresses = 'localhost' para #listen_addresses = '*'
nano /var/lib/pgsql/postgresql.conf
#listen_addresses = '*'
Reinicie o servidor
service postgresql restart
crie a senha do usuario postgres
passwd postgres
Logue no postgres
su postgres
psql -c "ALTER USER postgres WITH PASSWORD 'senha'" -d template1 
edite o arquivo /etc/postgres/8.4/main/postgresql.conf e troque o conteudo
#listen_addresses = 'localhost' 
para
#listen_addresses = '*' 
edite o arquivo /etc/postgres/8.4/main/pg_hba.conf e insira o conteudo
host    all         all         0.0.0.0/0             trust

Configurando proxy para o apt-get

Edite o arquivo /etc/apt/apt.conf e insira o conteúdo:

$ nano /etc/apt/apt.conf

Acquire::ftp::proxy "ftp://usuario:senha@ip-servidor-proxy:porta/";
Acquire::socks::proxy "socks://usuario:senha@ip-servidor-proxy:porta/";
Acquire::http::proxy "http://usuario:senha@ip-servidor-proxy:porta/";
Acquire::https::proxy "https://usuario:senha@ip-servidor-proxy:porta/";

Dê um reload no apt

$ apt-get update 

terça-feira

Configurando Vono no Asterisk

Sip.conf

No sip.conf adicione as seguintes linhas:

Contexto aplicado à todos os sips
;; Adicione no arquivo sip.conf
[general]
udpbindaddr=0.0.0.0:5060
disallow=all
allow=alaw
allow=ulaw
allow=gsm
language=pt_BR
srvlookup=yes
defaultexpirey=1800  ;; importante para não perder registro nas entrantes
maxexpirey=1800      ;; importante para não perder registro nas entrantes
Registro do tronco vono
;; Adicione no arquivo sip.conf
register=>suacontavono:suasenhavono@vono.net.br:1571/suacontavono
Ramal SIP para o softfone ou telefone ip
;; Adicione no arquivo sip.conf
[6000](sip)
callerid = Fabricio <6000>
secret = suasenha
qualify = yes
context = from-internal
type = friend
host = dynamic
call-limit = 1
callgroup = 1
pickupgroup = 1
dtmfmode = rfc2833
canreinvite = no
Tronco da Vono, responsável por realizar e receber ligações
;; Adicione no arquivo sip.conf
[troncovono]
type=friend
secret=suasenhavono
domain=vono.net.br
fromdomain=vono.net.br
host=vono.net.br
context=gvt
disallow=all
allow=alaw
allow=ulaw
insecure=invite,port
qualify=no
port=1571  ;; utilizando a 5060 as entrantes não funcionaram
aut=md5 ;; importante para o registro
nat=yes
canreinvite=no
reinvite=no
dtmfmode=rfc2833
username=suacontavono
fromuser=suacontavono

Extensions.conf

Edite o arquivo /etc/asterisk/extensions.conf e insira o contexto do tronco vono para entrante. No exemplo abaixo o contexto gvt irá direcionar a ligação entrante para o ramal 6000. O contexto gvt é o que está definido no [troncovono] context=gvt dentro do arquivo sip.conf.

;; Adicione no arquivo extensions.conf 
[gvt]
exten => suacontavono,1,Dial(SIP/6000)
exten => suacontavono,n,Hangup()

Exemplo de ligação sainte no contexto from-internal que está setado no ramal 6000

;; Adicione no arquivo extensions.conf 
[from-internal]
exten => _0X.,1,Dial(SIP/${EXTEN}@troncovono,50)
exten => _0X.,n,Hangup() 

segunda-feira

Rodando comando sudo com apache no Linux

Faz um tempo, eu precisei desenvolver um pequeno painel de controle em php para um cliente rodar comandos de baixo nível no Ubuntu 11.04, o processo foi muito simples mas quando precisei implantar o mesmo painel no CentOS5 não funcionou de primeira.

Inicialmente percebi que os usuários do apache são diferentes nas duas distribuições, no Ubuntu é www-data e no CentOS5 é apache. Para descobrí-los executei os comandos:

No Centos
ps axu | grep httpd 

No Ubuntu
ps axu | grep apache2

Até um determinado momento o php não gerava mensagem nenhuma, mas analisando os logs de acesso disponíveis em /var/log/httpd e tentando executar o comando com o usuário apache pelo console, gerou o seguinte erro:

sorry, you must have a tty to run sudo. 

Para solucionar o problema, editei o sudoers e comentei a linha Defaults requiretty
nano /etc/sudoers

Alterei
Defaults    requiretty

Para 
# Defaults    requiretty

e na ultima linha adicionei
apache ALL=(ALL) NOPASSWD:ALL