Bom, depois de baixado, vamos compilar e instalar os programas.
Primeiro vamos instalar o
PostgreSQL:
# tar jxf postgresql-8.0.2.tar.bz2
# cd postgresql-8.0.2
# ./configure --with-tcl --with-python --with-perl --with-openssl
Com esses parâmetros ele vai habilitar suporte para tcl, python, perl
e openssl e não é preciso definir suporte ao php, não me perguntem o
porque... hehehe.
# make
# make install
Pronto, foi instalado o PostgreSQL, vamos agora para a configuração para
iniciar facilmente e também configurar o usuário que vai acessar o banco como root:
# useradd -d /home/postgres -g users -s /bin/bash postgres
# passwd postgres
Atenção heim, esse é o usuário root do banco de dados, então é preciso
definir uma senha pra poder acessar ele, o PostgreSQL vai buscar a senha
dele no
/etc/shadow.
# mkdir /home/postgres && chown -R postgres.users /home/postgres
# mkdir /usr/local/pgsql/data
# chown -R postgres /usr/local/pgsql/data
# su - postgres
# /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
# /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
# /usr/local/pgsql/bin/createdb test
# /usr/local/pgsql/bin/psql test
Bom, a maior parte dessa configuração foi baseada no arquivo INSTALL. Se
tudo deu certo, no final ele vai entrar na linha de comando do psql.
Para iniciar o banco de dados você deve sempre executar essa linha de comando:
# /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
Ou podemos seguir a dica desse artigo:
e criar um rc.postgresql da seguinte forma:
# cd postgresql-8.0.2/contrib/start-scripts/
# cp linux /etc/rc.d/rc.postgresql
# chmod a+x /etc/rc.d/rc.postgresql
Vamos agora instalar o
Apache.
# tar zxf httpd-2.0.54.tar.gz
# cd httpd-2.0.54
# ./configure --enable-so --enable-ssl
# make
# make install
Daí ele vai ser instalado no /usr/local/apache2, feito isso já vamos
pular pro senhor
PHP:
# tar jxf php-4.3.11.tar.bz2
# cd php-4.3.11
# ./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/apache2/conf \
--with-pgsql=/usr/local/pgsql \
--with-openssl
# make
# make install
# cp php.ini-dist /usr/local/apache2/conf/php.ini
Agora, depois de instalado o php, vamos configurar o arquivo
/usr/local/apache2/conf/httpd.conf, edite ele e adicione as seguintes
linhas:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
A outra linha que carrega o módulo do php normalmente já é inserida
no arquivo de configuração do Apache automaticamente na hora da
instalação, mas caso dê erro, a linha é a seguinte:
LoadModule php4_module modules/libphp4.so
Agora vamos instalar o
PhpPgAdmin:
# tar jxf phpPgAdmin-3.5.3.tar.bz2
# cd phpPgAdmin-3.5.3/conf
# cp config.inc.php-dist config.inc.php
# vim config.inc.php
Dessa maneira vamos editar o arquivo de configuração do phpPgAdmin, os parâmetros que acho necessários:
$conf['servers'][0]['desc'] = 'PostgreSQL';
Nesse acima você pode colocar o nome do banco de dados, pra quando você possuir mais de um servidor de banco dados, você configurar um segundo servidor e assim colocar outro nome pra não confundir.
$conf['servers'][0]['host'] = 'localhost';
Aqui você coloca o ip ou nome da máquina que está o banco de dados, normalmente fica na mesma máquina que o Apache está instalado, então coloque localhost.
Ainda é preciso alterar mais duas coisas na configuração, os dois seguintes campos:
$conf['servers'][0]['pg_dump_path'] = '/usr/bin/pg_dump';
$conf['servers'][0]['pg_dumpall_path'] = '/usr/bin/pg_dumpall';
Como instalamos o pgsql em outro diretório, o bin dele fica no
/usr/local/pgsql/bin, ou seja, esse binários ficam dentro dessa pasta e
não do /usr/bin, existe duas maneiras pra resolver:
- Criar links simbólicos dos binários lá no /usr/bin;
- Alterar a linha para ir no caminho correto.
Eu vou alterar a linha para ela ir no caminho correto do binário,
ficando da seguinte forma:
$conf['servers'][0]['pg_dump_path'] = '/usr/local/pgsql/bin/pg_dump';
$conf['servers'][0]['pg_dumpall_path'] = '/usr/local/pgsql/bin/pg_dumpall';
Agora temos que liberar acesso pro usuário postgres, por padrão o
phpPgAdmin não deixa o postgres fazer logon no sistema de gerenciamento
via web, então vamos alterar a seguinte linha:
$conf['extra_login_security'] = true;
Para:
$conf['extra_login_security'] = false
Agora sim, salve e saia. Agora é preciso colocar o diretório do phpPgAdmin
no diretório de publicação do Apache, que normalmente fica em
/usr/local/apache2/htdocs:
# mv phpPgAdmin-3.5.3 /usr/local/apache2/htdocs/phpPgAdmin
Agora está pronto, basta acessar o link:
http://localhost/phpPgAdmin/
ou
http://ip-do-servidor/phpPgAdmin
e assim deve aparecer a tela para login. Coloque o usuário postgres e
a senha que foi definida na criação do mesmo.