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 updateAgora começar instalando o POSTGRESQL, em seguida vamos as explicações sobre o comando.
# apt-get install postgresql postgresql-contrib postgresql-doc postgresql-clientVamos 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 postgresEste 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 postgresdigite a senha e em seguida abra o console:
# psqlPara 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# exitA 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.confEste 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 md5host all all ip_do_servidor/32 md5Para 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 apache2Verifique 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 php5Por 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 restartAgora vamos instalar o "phppgadmin".
# apt-get install phppgadminPACOTES OPORTUNISTASAqui 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-pearAgora os cabeçalhos e os módulos PostgreSql para o Php5
# apt-get install php5-pgsql libpq-devO 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-reloadSe 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 restartAgora 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.confAdicione ao fim do arquivo nos includes a linha:
Include /etc/phppgadmin/apache.confPara liberar o phppgadmin para acesso a maquinas externas edite o arquivo apache.conf dentro do diretorio "phppgadmin"
# nano /etc/phppgadmin/apache.confProcure por:
order deny,allowdeny from allallow from 127.0.0.0/255.0.0.0Para:
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 allPronto!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.phpprocure 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 restartBoa 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