Compilar

Compilando o PostgreSQL

O PostgreSQL é um poderoso gerenciador de bancos de dados. Neste artigo vou mostar como compilar o PostgreSQL em seu sistema operacional Linux. No geral, recomendo a utilização dos pacotes que já vem em sua distribuição, porém se você utiliza alguma distribuição (Ex: Slackware) que não vem com pacote nativo para o mesmo, o processo de compilação é bastante simples.

1) Download do código-fonte

Acesse o site http://www.postgresql.org/ftp/source/ e baixe a versão que deseja compilar. No meu caso irei compilar o 8.3.6.

2) Criação do usuário e grupo “postgres”

Primeiramente vamos criar um grupo denominado “postgres”.

root@slackware: ~# groupadd postgres

Agora iremos criar o usuário denominado “postgres”.

root@slackware: ~# mkdir /var/lib/pgsql
root@slackware: ~# chmod 700 /var/lib/pgsql
root@slackware: ~# useradd -g postgres -G postgres -d /var/lib/pgsql -s /bin/bash postgres

3) Descompactando & Compilando o código-fonte

Entre no diretório onde você efetuou o download do PostgreSQL e descompacte-o.

root@slackware: ~# tar xvjf postgresql-8.3.6.tar.bz2 -C /usr/src/.

Agora vamos compilar!

root@slackware: ~# cd /usr/src/postgresql-8.3.6
root@slackware: /usr/src/postgresql-8.3.6# ./configure –prefix=/usr –sysconfdir=/var/lib/pgsql –localstatedir=/var/lib/pgsql –with-openssl –with-libxml –with-libxslt
root@slackware: /usr/src/postgresql-8.3.6# make
root@slackware: /usr/src/postgresql-8.3.6# make install

PS: Na linha do comando “./configure” acima, as opções “–with-openssl –with-libxml –with-libxslt” não são obrigatórias. Você poderá visualizar a lista completa de opções a serem passadas na compilação do PostgreSQL através do comando “./configure –help“.

Protinho! PostgreSQL devidamente compilado e instalado.

4) Setando as permissões para o usuário “postgres” e inicializando o DB

root@slackware: /usr/src/postgresql-8.3.6# chown -R postgres.postgres /var/lib/pgsql
root@slackware: /usr/src/postgresql-8.3.6# su – postgres
postgres@slackware: ~$ initdb -D /var/lib/pgsql/data

postgres@slackware: ~$ logout

Prontinho! Agora só falta o script de inicialização do PostgreSQL.

5) Configurando o script de incialização

root@slackware: /usr/src/postgresql-8.3.6# cp contrib/start-scripts/linux /etc/rc.d/rc.postgresqld
root@slackware:
/usr/src/postgresql-8.3.6# vi /etc/rc.d/rc.postgresqld

Agora vamos modificar as seguintes linhas:

# Installation prefix
prefix=/usr/local/pgsql

Modifique-a para:
prefix=/usr

# Data directory
PGDATA=”/usr/local/pgsql/data”

Modifique-a para:
PGDATA=”/var/lib/pgsql/data”

Salve e saia! Protinho! Agora é só inicializar o PostgreSQL através do comando:

root@slackware: ~# /etc/rc.d/rc.postgresqld start

PostgreSQL funcionando!

Instalando PHP 5 com suporte a MySQL, PostgreSQL, FirebirdSQL e IBM DB2

Sistema operacional utilizado: Linux CentOS 5.2 (x86_64)
Servidor Web utilizado: Apache 2.2 HTTP Server
Versão do PHP: 5.2.6
Versão do DB2: 9.5

Não é uma tarefa nada difícil.

Primeiro passo é remover os pacotes do PHP do CentOS:

# rpm -e php-cli-5.1.6-20.el5 php-ldap-5.1.6-20.el5 php-5.1.6-20.el5 php-common-5.1.6-20.el5

Agora, atualizamos o sistema e instalamos as dependências:

# yum update

# yum install httpd-devel.x86_64 postgresql-devel.x86_64 postgresql-libs.x86_64 postgresql-server.x86_64 postgresql.x86_64 mysql-server.x86_64 mysql-devel.x86_64 mysql.x86_64 unixODBC.x86_64 libdbi-dbd-mysql.x86_64 mysql-devel.x86_64 mysql.x86_64 mysql-test.x86_64

Resolvendo problemas de link simbólicos do MySQL:

# ln -s /usr/lib64/mysql/libmysqlclient.so.15.0.0 /usr/lib/libmysqlclient.so
# ln -s /usr/lib64/mysql/libmysqlclient.so.15.0.0 /usr/lib/libmysqlclient.so.15

Instalando o pacote do FirebirdSQL baixado do site oficial (www.firebirdsql.org).

# rpm -ihv FirebirdSS-2.0.4.13130-1.amd64.rpm

Compilando o PHP 5.2.6 (Código fonte baixado do site oficial: www.php.net).

# tar xvjf php-5.2.6.tar.bz2 -C /usr/src/.
# cd /usr/src/php-5.2.6

Lendo o profile da sua instância do DB2:

# source /home/db2inst1/sqllib/db2profile

Iniciando a compilação

# ./configure –prefix=/usr –sysconfdir=/etc/php5 –with-apxs2 –with-mod_charset –localstatedir=/var –with-config-file-path=/etc/php5 –with-config-file-scan-dir=/etc/php5/conf.d –disable-debug –enable-pic –enable-dbase –disable-rpath –enable-inline-optimization –with-bz2 –with-db4 –with-curl –with-freetype-dir=/usr –enable-gd-native-ttf –without-gdbm –with-gettext –without-gmp –with-iconv –with-openssl –with-xml –with-expat-dir=/usr –with-zlib –with-layout=GNU –enable-bcmath –enable-exif –enable-ftp –enable-magic-quotes –enable-safe-mode –enable-sockets –enable-shmop –enable-sysvmsg –enable-track-vars –enable-trans-sid –disable-yp –enable-wddx –with-pear –enable-memory-limit –enable-calendar –enable-dbx –enable-dio –with-mime-magic –with-mysql –with-pgsql –with-interbase –with-readline –enable-gd-jis-conv –enable-fastcgi –enable-discard-path –enable-force-cgi-redirect –enable-dba –with-gd –with-jpeg-dir=/usr –with-png-dir=/usr –with-ibm-db2 –with-iodbc

# make

# make install

# cp php.ini-recommended /etc/php5/php.ini

Configurando o Apache

# vi /etc/httpd/conf.d/php5.conf

Inserir o seguinte conteúdo:

# Load PHP5 Module
LoadModule php5_module        /usr/lib64/httpd/modules/libphp5.so

# File types
AddType application/x-httpd-php .php

Editando o HTTPD.CONF

# vi /etc/httpd/conf/httpd.conf

Localizar a linha que contém:

DirectoryIndex index.html index.html.var

Substituir por:

DirectoryIndex index.html index.php index.html.var

Configurando a inicialização do Apache:

# vi /etc/init.d/httpd

Adicionar no inicio:

. /home/db2inst1/sqllib/db2profile

Pronto! Agora crie o seu “phpinfo.php”.

# vim /var/www/html/phpinfo.php

Adicionar o seguinte conteúdo:

<? phpinfo(); ?>

Agora salve e reinicie o seu HTTPD:

# service httpd restart

Agora é só acessar: http://ip.do.seu.servidor/phpinfo.php

Várias customizações podem ser feitas no seu php.ini ou ainda na sua compilação, é só pesquisar.