domingo, 9 de agosto de 2009

Servidor Web com Postgresql e PHP no Ubuntu9.04

Este tutorial abrange a instalação e configuração de um Servidor Web Apache, SGDB PostgreSql, Php5 e ferramentas de administração e manutenção do sistema, para uso com o CakePHP.

Para testá-lo usei um Ubuntu 9.04 recém instalado.

Para começarmos, vamos abrir um terminal (alt+F2 - gnome-terminal - executar), para mudar para administrador digite:
$ sudo bash
após a senha o prompt mudará para # e estaremos logados como administrador

Instalar o apache

# apt-get install apache2

Confirmar se o apache está rodando
reiniciar o apache
# /etc/init.d/apache2 restart

Alt+F2 - Firefox - executar

digitar http://localhost na barra de localização
Se tudo estiver bem aparecerá a mensagem : It works!

Para tirar esta mensagem e ver a pasta raiz do apache, basta renomear ou excluir arquivo index.html em /var/www

Ativar o modo rewrite do apache, necessário para o CakePHP trabalhar

# ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

# gedit /etc/apache2/sites-available/default

Libere as permissões AllowOverride para a pasta www mudando de none para All

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

Reiniciar o apache

# /etc/init.d/apache2 restart


Instalar o PHP
# apt-get install php5

Instalar o Postgresql
# apt-get install postgresql postgresql-contrib postgresql-doc postgresql-client


Instalar o phppgadmin - para gerenciar o Postgresql

# apt-get install phppgadmin


Liberar o phppgadmin para aceitar logon do usuário postgres, vem desativado por padrão

# gedit /etc/phppgadmin/config.inc.php

Procure a linha
$conf['extra_login_security'] = true;
e troque por false
$conf['extra_login_security'] = false;

Alterar a senha do postgres - Após a instalação o Postgresql adicionou automaticamente um usuário ao Sistema chamado “postgres” . Para alterar a senha deste usuário podemos efetuar os comandos:
# su postgres

o prompt muda para $ agora vamos abrir o terminal do postgresql
$ psql

o prompt muda para =#
para criar ou mudar a senha:
=# \password postgres
neste exemplo, altere para postgres e confirme
Para sair do psql
=# \q
Para voltar prompt do root
$ exit

Testar o PhpPgAdmin - abra o firefox e digite na barra de localização
http://localhost/phppgadmin/

No logon digitar usuário postgres, senha postgres

Para liberar o phppgadmin para acesso a maquinas externas
# gedit /etc/phppgadmin/apache.conf

Procure por:
order deny,allow
deny from all
allow from 127.0.0.0/255.0.0.0

Para:
order deny,allow
#deny from all (ficou em comentário)
#allow from 127.0.0.0/255.0.0.0 (ficou em comentário)
allow from all

*Se quiser restringir alguns Ips para terem acesso ao PhpPgAdmin - troque o all pelos números de Ips liberados

Pgadmin3 - uma opção interessante ao PhpPgAdmin para uso local

# apt-get install pgadmin3

Instalar o Webmin - administrador de sistemas via Web

Baixe a versão .deb do Webmin da página de donwloads http://www.webmin.com/download.html

Clique no pacote baixado, que será aberto pelo Gdebi, e depois clique em instalar; acrescente sua senha e aguarde o Gdebi baixar as dependências necessárias e fazer a instalação.Para acessar o Webmin - abra o firefox no endereço:
https://localhost:10000

Atenção: Será necessário criar uma exceção para o firefox abrir o protocolo de segurança do Webmin.

Se o Firerox oferecer a exceção, é só aceitá-la, caso ele não ofereça. Vá em preferências - avançado - certificados - Na aba servidores, clique em adicionar exceção.


Configurações extras - não utilizei, mas a informação pode ser útil

A configuração padrão do PostgreSQL faz com que apenas conexões locais (via soquete UNIX) sejam permitidas. Vamos alterar Para que ele aceite conexões de outros micros da rede
# gedit /etc/postgresql/8.32/main/postgresql.conf
Edite o arquivo e procure a linha

listen_addresses = ‘localhost’
altere para:
listen_addresses = ‘*’

Agora vamos editar o arquivo que controla quais hosts terão permissões de conexão, como os clientes se autenticam, quais usuários do PostgreSQL podem ser usados e que bancos de dados eles podem acessar.
# gedit /etc/postgresql/8.3/main/pg_hba.conf

A sintaxe é a seguinte:
host all all ip_do_servidor/32 md5

Para o nosso objetivo não se precisou alterar nada no arquivo, bastou garantir as linhas padrões:

# IPv4 local connections:
host all all 127.0.0.1/32 md5


Criar um novo usuário
para login com o phppgadmin

$ su postgres
o prompt muda para $
abrir o terminal do postgresql
$ psql
para criar um novo usuario chamado francisco
=# CREATE ROLE francisco;
para definir senha para usuario francisco
=# \password francisco
para dar permissões para o usuário francisco criar banco de dados
=# ALTER ROLE francisco CREATEROLE CREATEDB;

FranciscoLima

terça-feira, 29 de julho de 2008

Novo serviço de internet da Embratel no Linux

Há umas duas semanas, contratei o novo serviço de internet da Embratel que atualmente está disponível na Grande São Paulo, e que, segundo dizem, brevemente chegará ao interior de São Paulo.
O sistema se chama Giro e usa o mesmo aparelho celular Nokia 2115, usado pelo Livre, sistema de telefonia da Embratel.
Para quem usava a Internet Ilimitada da Telefônica, com uma conexão que não passava de 31 kbps e que atualmente estava quase impossível de se usar de fato, a notícia de uma internet de até 150 kbps por um preço menor me atraiu imediatamente.
Na hora de fazer a aquisição do serviço, temos que informar se usamos Windows XP, ou Windows 2000, não há nenhuma outra opção. Bom..., mandei colocar na ficha Windows XP, só para não deixar em branco.

Bom, nem preciso dizer que a conexão é bem melhor do que a antiga, mesmo que raramente chegue aos 150 kbps, consegue ficar por volta de uns 64kbps, o que já é o dobro do que tinha.
Mas, vamos aos fatos...

Como usar o celular, digo, modem no Linux

Junto com o aparelho vem um USB, o CA-42, que faz a conexão do telefone com o micro.
Fiz o teste no Ubuntu 8.04, Kurumin 7.0 e Fedora 8.0 e em todos a internet funcionou sem problemas e com poucas configurações.

Basicamente, temos que incluir no final do arquivo /etc/ppp/options, as linhas:
nobsdcomp
nodeflate
#---<End of File>---

Estas duas opções desabilitam os recursos de compressão de dados que são padrões no ppp, mas que por algum motivo que desconheço travam a conexão quando estão habilitadas, ficando impossível de ser usada.

No Ubuntu, se você não tiver instalado o kppp ou gnome-ppp, pode usar o wvdial, que é um bom discador para terminal.

O modem USB, nos três sistemas foi reconhecido na porta /dev/ttyACM0, se quiser confirmar use o wvdialconf.
abra um terminal de sua preferência e digite:
sudo wvdialconf /etc/wvdial.conf
O wvdialconf vai gravar as informações básicas do modem, no arquivo /etc/wvdial.conf, o único trabalho que temos depois é editar este arquivo acrescentando o login e senha para acesso ao giro, deixando como abaixo:

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
Baud = 230400
New PPPD = yes
Modem = /dev/ttyACM0
ISDN = 0
Username = giro@giro.click21.com.br
Password = giro
Phone = #777
Stupid Mode = 1

Depois é só digitar wvdial no terminal e sair navegando.

No Kurumin 7.0, como o Wvdial não está instalado por padrão, podemos usar o kppp, preenchendo as informações como acima.
Se o Kppp insistir em não conectar, limpe o arquivo de configuração dele. No meu caso, as configurações antigas, do meu slmodem, impediram a conexão. Você pode apagar o arquivo kppprc em ~/.kde/share/config/ou /root/.kde/share/config/, segundo o caso. Com o kppprc apagado é só abrir o kppp e refazer a configuração. Atente principalmente ao init2, o kppp não inseriu a linha quando fiz a consulta ao modem (perguntar ao modem), tive que inserir manualmente, como também o caminho do modem (/dev/ttyACM0).

O Gnome-ppp se saiu melhor neste ponto, foi só usar o botão detectar que as configurações do modem foram carregadas.

Como podem perceber, é algo muito simples. Basicamente é alterar o arquivo /etc/ppp/options e criar a conexão dial-up normal, como se faria com um outro modem qualquer.

OBS: para que o meu win-modem não atrapalhasse no processo de auto-detecção do wvdial, desativei ele via console; como uso um smartlink o comando foi:
sudo /etc/init.d/sl-modem-daemon stop
Isto foi só para gerar o /etc/wvdial.conf, pois como os dois modens usam portas diferentes, um não atrapalha o outro.

Qualquer dúvida que tenham é só postar, que procurarei ajudar da melhor forma possível.

FranciscoLima

domingo, 29 de junho de 2008

Usando o apt-get offline (para quem usa conexão discada)

Nós que usamos conexão discada, às vezes passamos um aperto na hora de atualizar nosso sistema. Um dia desses, passei por isto. Após o update normal do apt-get, vi que teria que baixar quase 200MB para atualizar meu Ubuntu 8.04, como estava sem paciência de ficar esperando 2 dias para fazer as atualizações, resolvi usar um artigo que havia visto no LinuxDicas, sobre como usar o apt offline. Não lembrava onde estava o link, mas uma busca no Google e ficou tudo resolvido:
http://www.linuxdicas.com.br/article610.html

Realmente a dica é interessante, o uso do apt-get -qq --print-uris upgrade facilitaria as coisas. O problema é que em uma parte do artigo, indicava alterar o arquivo gerado no Windows, usando comandos de DOS, e eu prefiro uma solução onde possa fazer a maior parte no Linux e só usar o Windows ou outro Linux para baixar os pacotes.

Como gosto de Shell Script, resolvi fazer um programinha simples para automatizar a tarefa:

#!/bin/bash
#apt_off ---> Script para utilizar o apt-get offline para quem tem conexão lenta

#1º passo: gerar o arquivo com os links
sudo apt-get -qq --print-uris dist-upgrade >> /tmp/$$apt

#2º passo: deixar só os links e criar o arquivo
cut -f2 -d\' /tmp/$$apt > ~/links.txt

#3º passo: remover o arquivo temporário
rm -f /tmp/$$apt



Desta forma, após rodar o script, tenho a lista com os endereços dos arquivos que precisarei baixar. De posse desta lista entra em cena o wget, se você for usar a Internet Banda Larga de um amigo que já possui Linux, basta o comando abaixo dentro de uma pasta criada para guardar os pacotes:
wget - i links.txt

Se você for usar a internet na casa de um amigo que usa Windows ou num cibercafé, pode baixar o wget para Windows em um destes links:
http://superdownloads.uol.com.br/download/147/wget-windows/
http://www.interlog.com/~tcharron/wgetwin-1_5_3_1-binary.zip


Eu fiz da seguinte forma:
Após baixar o wget, descompactei numa pasta em meu pen-drive, onde copiei o arquivo links.txt, gerado pelo script. No ciber, coloquei o pen-drive, abri o emulador de terminal DOS no Windows, naveguei até o pendrive com um d:, entrei na pasta com um cd: nome da pasta e digitei o comando como faria no Linux:
wget.exe - i links.txt

Os pacotes debian foram baixados no próprio pen-drive, em pouco mais de meia hora já estava em casa. Daí foi só copiar todos os pacotes para /var/cache/apt/archives e atualizar o sistema com um apt-get dist-upgrade

Com um pouco de criatividade este pequeno script pode ser alterado para baixar aplicativos também.