Abaixo descrevo como Instalar e configurar "APACHE2, PHP5, POSTGRESQL e PHPPGADMIN no Linux Ubuntu.
Vamos para a instalação. Abra um terminal console como root e siga os passos abaixo:
Antes de começarmos, vamos atualizar nossa lista de pacotes "sorces list", com o comando já mais que conhecido.
# apt-get update
Agora começar instalando o POSTGRESQL, em seguida vamos as explicações sobre o comando.
# apt-get install postgresql postgresql-contrib postgresql-doc postgresql-client
Vamos as explicações:
* a primeira parte do comando, apt-get install, maneira que vamos instalar. Em outro momento vou mostrar como instala através do "dpkg".
* instalamos o último pacote do POSTGRESQL (postgresql)
* Pacote de facilidades adicionais (postgresql-contrib-8.3)
* Documentação para para o gerenciamento de bases do Postgresql (postgresql-doc)
* Um modo cliente para o PostgreSql (postgresql-client)
Após a instalação do banco "POSTGRESQL" é adicionado automaticamente um usuário ao sistema chamado "postgres" normalmente com senha em branco. Para alterar a senha deste usuário utilizamos o comando:
# passwd postgres
Este usuário é que possui acesso administrativo a todos arquivos, console “psql” e banco PostgreSql.
Para entrar no console psql, entre como usuário postgres:
# su postgres
digite a senha e em seguida abra o console:
# psql
Para definir a senha do usuário administrador do banco de dados do próprio banco de dados PostgreSql digite a sintaxe:
# ALTER USER postgres WITH PASSWORD 'senha';
se o comando for digitado corretamente, após o comando o console vai mostrar "ALTER ROLE".
Esta sintaxe, pode ser utilizado para alterar a senha de qualquer usuário dentro do console "psql".
Saia do console:
# \q
# exit
A configuração padrão do postgresql faz com que apenas conexões locais (via soquete UNIX) sejam permitidas. Para alterar essa condição, acesse o arquivo postgresql.conf, com o seguinte comando:
# nano /etc/postgresql/8.3/main/postgresql.conf
Procure a linha:
listen_addresses = 'localhost'
altere para:
listen_addresses = '*'
Se você quiser limitar o acesso, você pode substituir o "*", por:
localhost = claro, para acesso local;
numero_ip dos computadores que vão acessar o banco.
Após salvar o arquivo, será preciso reiniciar o PostgreSql (não basta apenas fazer um "reload").
# /etc/init.d/postgresql-8.3 restart
ou
# /etc/init.d/postgresql-8.3 strop
# /etc/init.d/postgresql-8.3 start
Agora vamos editar o arquivo pg_hba.conf.
# nano /etc/postgresql/8.3/main/pg_hba.conf
Este arquivo controla:
* Os hosts têm permissão de conexão.
* Como os clientes se autenticam;
* Quais usuários do PostgreSQL podem ser usados;
* Os Bancos de dados que podem ser acessados;
Para o nosso objetivo que é o uso da Aplicação Web PhpPgAdmin bastou garantir as linhas padrões:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all ip_do_servidor/32 md5
Para não deixarmos dúvidas, vamos entender essas linhas de comando, caso você queria muda-las para atender uma necessidade pontual.
* host: Define regras para protocolo TCP/IP, essa opção pode ser:
# host
# local
# hostssl
* all: Define qual banco dados que essa regra se aplica. Se deixarmos "all" será para todos, mas você pode simplesmente adicionar o nome do banco de dados.
* all: Define qual usuário tem permissão para usar essa regra. Se deixarmos "all" será para todos, mas você pode simplesmente adicionar o nome do "usuário".
* ip_do_Servidor/32: Define um ip que pode se conectar ao servidor. Você pode/ deve adicionar o ip do computador que vai se conectar ao banco de dados. Para você não ter que criar uma linha para cada computador, você pode definir uma faixa de ip.
* md5: Método de autenticação: (Abaixo os três metodos que conheço).
# md5 padrão.
# trust para aceitar.
# reject para negar.
antes de Instalar o "phppgAdmin", vamos instalar o apache2, e o php5, até porque os dois programas serão necessarios para executar o "phppgadmin", vamos lá:
Instalando o apache 2:
# apt-get install apache2
Verifique no seu browser seu funcionamento pelo endereço http://localhost/, você deve ver a mensagem "Trabalhando" ou "it work".
Dentro da pasta /var
Por padrão a pasta onde ficam alocados os sites no seu servidor é "/var/www/" .
Instalando o php 5:
# apt-get install php5
Por padrão quando instalamos o "php5", junto é intalado o pacote: "libapache2-mod-php5", para que o apache reconheça páginas ".php"
Reestarte o serviço do apache para que estas alterações sejam reconhecidas
# /etc/init.d/apache2 restart
Agora vamos instalar o "phppgadmin".
# apt-get install phppgadmin
PACOTES OPORTUNISTAS
Aqui também cabe a instalação de pacotes oportunistas que possam melhorar ainda mais o servidor como os pacotes:
* php5-mhash (mhash é uma biblioteca que provê uma interface com um grande número de algoritmos de hash. Um exemplo comum de algoritmo hash é o MD5, que cria um número a partir de um arquivo, para posterior verificação de autenticidade das cópias deste arquivo.)
* php5-odbc (Graças ao ODBC, se tornou possível a aplicações escritas em linguagens diferentes utilizar a mesma lógica para interagir com bancos de diferentes fornecedores.)
* php-pear (Rapositório de extensões e Aplicações Php)
# apt-get install php5-mhash php5-odbc php-pear
Agora os cabeçalhos e os módulos PostgreSql para o Php5
# apt-get install php5-pgsql libpq-dev
O módulo userdir é o que habilita um usuário ter seu site dentro da sua pasta pessoal. É interessante a habilitação deste módulo no apache. Mas aqui se torna opcional.
# a2enmod userdir
# /etc/init.d/apache2 force-reload
Se você agora abrir o browse e digitar "localhost/phpmyadmin", simplesmente não vai funcionar. por injustiça ou nao, o phpmyadmin foi instalado na pasta /usr/share/, e você não consegue acessar através do browse. Assim temos duas opções, ou fazemos uma cópia inteira do diretório, ou criamos um link simbólico, um amigo meu "RENATO ANDALIK" que é um expecialista em LINUX, acha que o Link simbólico é uma maneira mais elegante de permitir esse acesso. Então vamos ao link simbólico:
# ln –s /usr/share/phppgadmin/ phppgadmin
Vamos re-startar o apache.
# /etc/init.d/apache2 restart
Agora o PHPPGADMIN, está funcionando, mas ainda não é possivel logar. Mas vamos manter a calma porque já estamos quase finalizando.
Configurar phppgadmin. Verifique se o módulo auth-pgsql está instalado.
# cd /etc/apache2/mods-available
# ls auth-pgsql /*verificar se ele está aí – auth-pgsqt*/
Ative o módulo editando o arquivo apache2.conf:
# nano /etc/apache2/apache2.conf
Adicione ao fim do arquivo nos includes a linha:
Include /etc/phppgadmin/apache.conf
Para liberar o phppgadmin para acesso a maquinas externas edite o arquivo apache.conf dentro do diretorio "phppgadmin"
# nano /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
Pronto!
Para testar o PhpPgAdmin, acesse http://localhost/phppgadmin, agora está tudo funcionando, menos o acesso do usuário "postgres" através do Browse, isso por motivos de segurança. Se você quiser mudar essa condição, deve editar o arquivo: config.inc.php que está dentro diretorio /phppgadmin/conf.
# nano /usr/share/phppgadmin/conf/config.php
procure pela linha:
$conf['extra_login_security'] = true;
e mude a opção para
$conf['extra_login_security'] = false;
Reestarte o PostgreSql e atualize o endereço no browser.
#/etc/init.d/postgresql-8.2 restart
Boa sorte, e agora tudo deve estar funcionando.
Abraço forte, e bom desenvolvimento.
Rogerio de Paula
Caso você precise de algum outro pacote, utilize o comando de busca
# apt-cache search postgresql
11 comentários:
Cara,
segui todos os seus passo... não sei onde eu me perdi... mas quando eu acesso o //192.168.1.1 eu só consigo ver a frase "it work". eu não consigo acessar o phppgadmim.
O que eu faço???
Na verdade, você seguiu quase todos os passos... essa mensagem que você está vendo é um documento "index.html", criado pelo apache. ele está na pasta /var/www .
É só você remove-lo ou alterar seu nome que vai aparecer a raiz do Apache.
Próximo comentário, coloque seu nome no comentário, assim pelo menos posso de dirigir diretamente a você.
Abraço forte,
Rogerio de Paula
Boa Noite! Sr. Rogério muito obrigado pela ajuda, seu artigo ta bem legal, simples e objetivo, t+, Feliz Pascoa!!!
olá gostaria de saber onde mais precisamente eu colocaria o Include /etc/phppgadmin/apache.conf e mais uma este modulo auth-pgsql nao aparece em /etc/apache2/mods-available aqui no ubuntu 9.04, no aguardo, obrigado!
Vamos lá... Sr. Anonimo.
Você perguntou onde incluir um include...
"/etc/phppgadmin/apache.conf "
Dentro do diretório /etc/apache2, tem um arquivo "apache2.conf", coloque o include na última linha.
Ótimo tutorial.
Consegui configurar aqui.
Precisei apenas alguns ajustes.
O mod auth-pgsql nao vem instalado, e não sei se isto atrapalha, mas de qualquer forma, instalei ele com o comenado:
"apt-get install libapache2-mod-auth-pgsql"
Outro detalhe, precisei colocar o comando "sudo" na frente de todos comandos.
No mais, agradeço pela qualidade e detalhes no tutorial.
# vou testar, depois posto o resultado!
Tutorial muito bom....deu tudo certo.....
Muito bom, funcionou direitinho....
Olá, meu nome é Bruno e você me ajudou muito com esse post. Muito obrigado e parabéns pela clareza e as explicações.
Olá!
Gostaria de te parabenizar por tão importantes tutoriais.
Gostaria de manter contato. Meu trabalho neste momento está em configurar o Apache2, Php5, Postgresql, e outra dispositivo como SQUID3, SAMBA para que tenhamos nosso homeoffice como host de nosso site, www.konger.com, que na verdade será como uma holding. Vamos dar aulas, prestar consultorias, a clientes cadastrados conosco.
Confesso que comecei a estudar tudo isso do "zero", já fiz o script de ipvirtua para usar, inicialmente apenas um SERVER, agora acabo de configurar o apache2-php5, e começar a testar.
Por isso, seria ótimo poder contar com sua expertise nessa área.
Aguardando, antecipo meus sinceros agradecimentos, colocando-ma à disposição no que eu puder ajudar.
Sou adict to Debian Squeezy and Slackware
Darcy
Postar um comentário