Você está na página 1de 8

Introduo

Montar um servidor web PHP 5 com suporte ao MySQL 5 no to simples como parece. Ns d
escobrimos isso da pior maneira possvel: gastamos literalmente um dia inteiro ten
tando fazer isto. O principal problema que o PHP 5 no vem com suporte nativo ao M
ySQL, e o MySQL 5 no oferece um mdulo cliente independente pronto para download e
instalao. Neste tutorial passo-a-passo ns mostraremos como compilar e instalar o Ap
ache 2, o PHP 5 com suporte ao MySQL 5 e um otimizador e cache para o PHP (Xcach
e) no Linux. Portanto lendo este tutorial voc poder montar seu prprio servidor web
em questo de minutos
e no em questo de horas, como aconteceu conosco.
Ns nos deparamos com vrias mensagens de erro ao longo do processo e publicaremos a
qui as mensagens de erro mais comuns, de modo que voc saiba o que fazer caso se d
epare com alguma delas.
A coisa mais importante que voc precisa fazer o upgrade da verso do Linux que voc e
stiver usando para a ltima verso ou pelo menos verificar se o arquivo libstdc++.so
.6 est instalado. Este arquivo deve estar no diretrio /usr/lib/ (voc pode tambm tent
ar o comando locate libstdc++.so.6). Se voc no encontrar este arquivo, voc receber a
seguinte mensagem de erro durante o processo:
error while loading shared libraries: libstdc++.so.6: cannot open shared object
file: No such file or directory
Este erro acontece porque seu servidor tem uma verso antiga da biblioteca do C++,
provavelmente a libstdc++.so.5. A soluo atualizar a biblioteca do C++. Acontece q
ue como praticamente tudo no Linux depende do C++, voc ter de fazer o upgrade de m
uitas outras coisas. No Debian, a distribuio do Linux que estvamos usando, simplesm
ente mais fcil atualizar todo o sistema com os seguintes comandos:
apt-get update
apt-get dist-upgrade
Esses comandos atualizaro no apenas a biblioteca do C++, mas tambm atualizar seu Deb
ian para a verso mais nova. Ns recomendamos que voc execute esses comandos antes de
iniciar o processo de instalao e configurao.
Outro truque para usurios do Debian editar o arquivo /etc/apt/sources.list e veri
ficar de qual servidor o Debian far o download dos arquivos usando comandos apt,
como o apt-get. Por padro, voc ver o http://ftp.debian.org sendo listado, mas este
servidor normalmente sobrecarregado. Voc pode comentar as linhas que apontam para
o debian.org e adicionar novas linhas apontando para um servidor mais rpido, por
exemplo:
deb http://ftp.uwsg.indiana.edu/linux/debian stable main
deb-src http://ftp.uwsg.indiana.edu/linux/debian stable main
Uma lista de servidores disponveis pode ser encontrada aqui: http://www.debian.or
g/mirror/list. Role a tela e prefira usar um servidor secundrio, j que eles so norm
almente menos sobrecarregados, o que facilita seu processo de instalao e upgrade e
specialmente para fazer o upgrade de todo o sistema operacional, como recomendam
os.
Aps essas explicaes preliminares, vamos para o nosso tutorial passo-a-passo. Note q
ue os seguintes passos precisam ser feitos na mesma ordem em que escrevemos: voc
no pode tentar compilar e instalar o PHP 5 antes do MySQL 5 no vai funcionar.
Configurando e Instalando o Apache 2
O primeiro passo fazer o download, configurar e instalar o Apache 2, que o progr

ama servidor web. Esta a parte mais fcil de nosso tutorial. Faa o download da verso
mais nova em http://httpd.apache.org/download.cgi. Escolha o servidor mais prxim
o do servidor que voc est montando. Voc tem a opo de escolher entre as sries 2.2.x e 2
.0.x, isto fica a seu critrio. A verso que voc precisa fazer o download a unix sourc
e . Em seguida, na linha de comando, digite algo assim, dependendo do link que voc
obteve nesta pgina:
cd /root
wget http://www.apache.org/dist/httpd/httpd-2.0.59.tar.gz
Aps o dowload, rode esses comandos:
tar -xvzf httpd-2.0.59.tar.gz
cd httpd-2.0.59
./configure --prefix=/usr/local/apache2 --enable-deflate --enable--ssl --enablesuexec --with-suexec-caller=apache --with-suexec-docroot=/ --with-suexec-datadir
=/www/ --enable-mods-shared=most
make
make install
Claro que voc pode adicionar outros parmetros de configurao que achar necessrio para
a sua instalao em particular. A dica certificar-se de usar --enable-deflated para
instalar o mod_deflate, que um plug-in para o Apache que habilita a compresso HTM
L, o que faz com que seu servidor web apresente pginas mais rpidas e tambm economiz
e largura de banda.
Note tambm o local onde ns instalamos o Apache: /usr/local/apache2
Edite /etc/profile e adicione :/usr/local/apache2 no final da declarao do caminho
(comando PATH).
Voc precisar tambm editar /usr/local/apache2/conf/httpd.conf para configurar seu se
rvidor web. Este procedimento de configurao, no entanto, foge do escopo deste tuto
rial.
isso. Agora ns precisamos instalar e configurar o MySQL 5. Como dissemos, isto pr
ecisa ser feito antes da configurao e instalao do PHP 5.
Configurando e Instalando o MySQL 5
Este passo necessrio porque o PHP 5 no vem mais com suporte ao MySQL. Mesmo que vo
c no v instalar um servidor MySQL na mesma mquina do seu servidor web, este passo ne
cessrio de modo a instalar o cliente MySQL 5 para permitir ao PHP 5 conectar-se a
servidores MySQL 5.
A primeira coisa que voc precisa saber que o MySQL 5 no traz pacotes separados par
a as configuraes de cliente e de servidor, como acontece com o MySQL 4
tudo est den
tro do mesmo pacote. Alm disso, o procedimento para instalar um cliente MySQL dif
erente da instalao de um servidor MySQL.
Se voc no quer um servidor MySQL 5 rodando na mesma mquina do seu servidor web
o qu
e desejvel para sites grandes, isto , voc ter um servidor web rodando o Apache e o P
HP e outro servidor rodando exclusivamente o MySQL voc precisar instalar apenas um
a verso cliente do MySQL 5.
Se voc quer um servidor MySQL 5 rodando na mesma mquina do seu servidor web, ento v
oc precisar instalar o servidor MySQL 5 completo.
O procedimento para esses dois cenrios muito diferente e portanto voc precisa sabe
r qual caminho seguir.

De qualquer forma, para ambos os cenrios a primeira coisa que voc precisa fazer de
sinstalar qualquer verso do MySQL que possa existir instalada em seu servidor.
No Debian voc pode fazer isto rodando (assumindo que a verso antiga era a 4.1, cla
ro):
apt-get remove mysql-server-4.1
apt-get remove mysql-client-4.1
No Fedora voc pode fazer isto rodando:
rpm -e <nome_do_mdulo>
Com rpm -qa | grep MySQL voc pode descobrir os mdulos do MySQL que voc tem instalad
o e que voc precisar remover.
Voc pode ainda, s como precauo, mover as bibliotecas antigas do MySQL que podem ter
ficado no servidor para um local de backup, com:
mv /usr/lib/libmysql* /root
Dessa forma, se algo der errado voc ainda ter esses arquivos.
Agora vem a parte complicada. Se voc quer instalar apenas o mdulo MySQL 5 cliente,
voc precisar fazer o download do cdigo fonte. O problema que o cdigo fonte a ltima
oisa na pgina de downloads do MySQL e muita gente faz o download dos binrios, que
contm o servidor MySQL, no o cliente.
Se voc quer instalar o servidor MySQL 5 no mesmo servidor do seu servidor web, vo
c precisar fazer o download tanto do cdigo fonte quanto dos binrios. Claro que voc po
de compilar o cdigo fonte para obter os binrios, porm aqui vai uma dica importante:
de acordo com o site do MySQL, se o seu servidor usa um processador Intel, os b
inrios compilados com o compilador Intel far seu servidor MySQL 5 rodar 20% mais rp
ido do que caso voc instale os binrios padro compilados com o gcc. Como nosso servi
dor era um dual-Xeon, ns optamos por fazer o download da verso compilada para proc
essadores Intel em vez de compilarmos o MySQL 5 por conta prpria.
Dessa forma, para ambos os cenrios voc precisar criar um cliente MySQL 5. Como menc
ionamos, isto feito fazendo o download do cdigo fonte do MySQL 5 em http://dev.my
sql.com/downloads/mysql/5.0.html
ele est na parte inferior desta pgina. Faa o downl
oad da verso Compressed GNU TAR archive (tar.gz) .
O download, configurao e a seqncia de instalao a seguinte:
cd /root
wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.37.tar.gz/from/http:
//mysql.orst.edu/
tar -xvzf mysql-5.0.37.tar.gz
cd mysql-5.0.37
./configure --without-server
make
make install
Voc pode ver se sua instalao foi feita com sucesso verificando se as novas bibliote
cas mysql foram instaladas em /usr/lib:
ls /usr/lib/libmysql*
O resultado deve ser algo como:

/usr/lib/libmysqlclient_r.so.15 /usr/lib/libmysqlclient.so.15
/usr/lib/libmysqlclient_r.so.15.0.0 /usr/lib/libmysqlclient.so.15.0.0
Se voc no pode encontrar esses arquivos ou se eles esto usando uma verso inferior 15
, voc deve voltar aos procedimentos acima, certificando-se de rodar o comando mak
e clean antes de reiniciar o procedimento.
Agora seu cliente MySQL 5 est instalado. O prximo passo instalar o servidor MySQL,
caso voc queira ter um servidor MySQL na mesma mquina do seu servidor web. A inst
alao do servidor MySQL 5 muito simples.
Faa o download dos binrios compilados em http://dev.mysql.com/downloads/mysql/5.0.
html e instale-os. Como dissemos anteriormente, se seu servidor possui um proces
sador Intel, voc deve fazer o download da verso Linux (non RPM, Intel C/C++ compile
d, glibc-2.3) downloads . Esta a verso que utilizamos e o passo-a-passo de instalao d
este pacote o seguinte:
cd /root
wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.37-linux-i686-icc-gl
ibc23.tar.gz/from/http://mysql.orst.edu/
tar -xvzf mysql-5.0.37-linux-i686-icc-glibc23.tar.gz
mv mysql-5.0.37-linux-i686-icc-glibc23 mysql
groupadd mysql
useradd -g mysql mysql
mv mysql /usr/local
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .
bin/mysqld_safe --user=mysql &
Note que o caminho onde o MySQL ser instalado: /usr/local/mysql.
Edite /etc/profile e adicione :/usr/local/mysql/bin no final da declarao do caminh
o (comando PATH).
Configurando e Instalando o PHP 5
Agora a vez de fazer o download, configurar e instalar o PHP 5. Voc precisa insta
lar o cliente MySQL 5 ANTES de configurar o PHP 5, caso contrrio voc obter uma srie
de mensagens de erro. Portanto, se voc veio diretamente para esta pgina, por favor
, volte para a pgina anterior e siga dos passos l descritos.
Antes de compilar o PHP 5, voc precisa instalar vrias dependncias, caso elas j no est
ejam instaladas. Elas so o Zlib, o Jpeg e o Png. Elas so necessrias caso voc queira
rodar o GD, que um mdulo para edio de imagens. Ns recomendamos que voc habilite o sup
orte ao GD, portanto ns instalaremos esses trs itens.
Para o zlib, faa o download da ltima verso em http://www.zlib.net/ e siga os seguin
tes passos:
cd /root
wget http://www.zlib.net/zlib-1.2.3.tar.gz
tar -xvzf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --prefix=/usr/lib
make
make install

Para o suporte ao png, faa o download do Libpnp em http://www.libpng.org/pub/png/


libpng.html e siga os seguintes passos:
cd /root
wget http://prdownloads.sourceforge.net/libpng/libpng-1.2.16.tar.gz?download
tar -xvzf libpng-1.2.16.tar.gz
cd libpng-1.2.16
./configure --prefix=/usr/lib
make
make install
Para o suporte ao Jpeg:
cd /root
wget ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
tar -xvzf jpegsrc.v6b.tar.gz
cd jpegsrc.v6b
./configure --prefix=/usr/lib
make
make install
Essas so as bibliotecas de suporte para o GD. Em nossa instalao no Debian ns precisa
mos instalar as seguintes bibliotecas para resolver erros de dependncias na compi
lao do PHP 5.
Apt-get
Apt-get
Apt-get
apt-get
dpkg -s

install libxml2
install libxml2-dev
install libxml2-utils
install autoconf
autoconf

Agora a vez de fazer o download, configurar e compilar o PHP. O PHP pode ser bai
xado em http://www.php.net/downloads.php. O passo-a-passo o seguinte:
cd /root
wget http://www.php.net/get/php-5.2.1.tar.gz/from/us2.php.net/mirror
tar -xvzf php-5.2.1.tar.gz
cd php-5.2.1
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/bin
/mysql_config --with-mysqli=/usr/local/bin/mysql_config --prefix=/usr/local/apac
he2/php --with-config-file-path=/usr/local/apache2/php --with-zlib-dir=/usr/lib
--with-gd --with-imap=/usr/local/imap-2004a --with-xml --enable-shmop --with-zli
b --with-png --with-jpeg-dir=/usr/lib --enable-gd-native-ttf --enable-exif --wit
h-kerberos --with-imap-ssl
make
make install
cp php.ini-dist /usr/local/apache2/php/php.ini
Claro que esta configurao a que precisamos baseada nos scripts do PHP que iremos e
xecutar; os parmetros para o seu comando configure podem ser diferentes.
O principal macete aqui o uso dos parmetros --with-mysql e --with-mysqli. Eles tm
de apontar para a localizao do arquivo mysql_config: ele pode estar em /usr/local/
bin/ ou em /usr/local/mysql/bin, dependendo se voc instalou apenas o cliente MySQ
L ou se instalou cliente e servidor MySQL, respectivamente. O maior problema co
m a configurao do PHP 5 com suporte ao MySQL 5 est nesses dois parmetros. Se eles fo
rem configurados incorretamente, voc obter mensagens de erro tais como:
configure: error: Cannot find MySQL header files under /usr/bin/mysql.
Note that the MySQL client library is not bundled anymore.

ou
configure: error: mysql configure failed. Please check config.log for
more information.
Note que o php foi instalado em /usr/local/apache2/php.
Agora voc precisa configurar o arquivo httpd.conf para adicionar o suporte ao PHP
5. Execute vi /usr/local/apache2/conf/httpd.conf e procure a linha abaixo:
LoadModule php4_module modules/libphp4.so
Caso ela exista, adicione um # na sua frente. Agora verifique se a linha abaixo
existe e se ela est sem um # na frente. Caso ela no exista, adicione o seguinte:
LoadModule php5_module modules/libphp5.so
Tambm procure pela seguinte linha:
AddHandler php-script php
Se ela existir, adicione um # na frente dela. Agora verifique se a linha abaixo
existe e se ela est sem um # na frente. Se ela no existir, adicione o seguinte:
AddHandler php5-script php
Agora procure pela seguinte linha e se ela est sem um # na frente. Se ela no exist
ir, adicione o seguinte:
AddType text/html php
Saia do vi (Esc wq <Enter>) e reinicie o Apache com o seguinte comando:
/usr/local/apache2/bin/apachectl restart
Agora voc precisa verifica se a instalao do PHP 5 com suporte ao MySQL 5 foi realiz
ada com sucesso criando um arquivo chamado phpinfo.php com o seguinte contedo:
<?
Echo phpinfo();
?>
Coloque este arquivo no diretrio raiz do seu servidor web (por exemplo /www/seu-s
ite) e chame-o com seu navegador (http://www.seu-site.com.br/phpinfo.php). Claro
que voc precisa ter configurado o httpd.conf primeiro para fazer com que o Apach
e saiba em que diretrio ele deve usar para o seu site. Mesmo que voc ainda no tenha
uma URL apontando para o endereo IP do seu servidor ou se o servidor que voc est m
ontando um servidor local na sua prpria rede, voc pode configurar o Apache (em seu
arquivo httpd.conf) para responder requisies baseadas no endereo IP do servidor. D
essa forma voc pode usar http://192.168.0.2/phpinfo.php (onde 192.168.0.2 obviame
nte o endereo IP do seu servidor).

Voc deve obter uma descrio detalhada de como o PHP est configurado em seu servidor.
Se voc vir esta tela, parabns, o Apache e o PHP esto configurados e funcionando. Vo
c deve procurar se as seguintes sesses existem nesta pgina (abaixo de Configuration )
e se elas esto habilitadas: mysql ( MySQL Support: Enabled e se Client API version a m
esma verso que voc instalou, 5.0.21 no exemplo que usamos em nosso tutorial), mysq
li ( MySQLi Support: Enabled e se Client library version a mesma verso que voc instalo
, 5.0.37 no exemplo que usamos em nosso tutorial) e GD ( GD Support: Enabled ). Se v

oc no encontr-los, verifique o processo de configurao e instalao.


Se tudo estiver o.k. com a sua instalao do Apache e do PHP 5 com suporte ao MySQL
5, voc deve ir para o passo final, que a instalao de um cache e otimizador PHP, que
um mdulo que economizar recursos de processamento do seu servidor web, aumentado
o seu desempenho.
Configurando e Instalando o Xcache
Existem vrios mdulos de cache disponveis para o PHP
ele ajudam a economizar recurso
s de processamento do seu servidor , alguns vm ainda com um otimizador PHP, que au
menta o desempenho dos scripts PHP: PHP-Accelerator, Mmcache, APC e Xcache so alg
uns desses otimizadores. Ns mostraremos a voc como configurar e instalar o Xcache,
j que ele vem com suporte nativo para o PHP 5, e portanto voc no encontrar nenhum p
roblema de incompatibilidade.
Procure em http://210.51.190.228/pub/XCache/Releases/ a verso mais nova do Xcache
lanada na srie 1.2 (1.2.0 no momento que este tutorial estava sendo escrito) no f
ormato tar.gz.
A seqncia de download, configurao e compilao a seguinte:
cd /root
wget http://210.51.190.228/pub/XCache/Releases/xcache-1.2.0.tar.gz
tar xvzf xcache-1.2.0.tar.gz
cd xcache-1.2.0
/usr/local/apache2/php/bin/phpize
./configure enable-xcache enable-xcache-optimizer with-php-config=/usr/local/apache
2/php/bin/php-config
make
make install
Preste ateno no resultado mostrado na tela para ver onde o mdulo Xcache foi instala
do. Em nosso caso, ele foi instalado em /usr/local/apache2/php/lib/php/extension
s/no-debug-non-zts-20060613/.
Agora edite o php.ini (vi /usr/local/bin/apache2/php/php.ini) e adicione as linh
as abaixo, mudando a primeira linha de acordo com o local onde o mdulo xcache foi
instalado.
[xcache-common]
zend_extension = /usr/local/apache2/php/lib/php/extensions/no-debug-non-zts-2006
0613/xcache.so
; required for >=php5.1 if you turn XCache on
auto_globals_jit = Off
[xcache.admin]
xcache.admin.user = admin
; paste the output of md5( password ) below
xcache.admin.pass =
[xcache]
xcache.size = 32M
xcache.count = 1
xcache.slots = 8K
xcache.mmap_path = /dev/zero
xcache.cacher = On
xcache.optimizer = On

Voc pode instalar uma interface para administrao web que vem como Xcache. Para isto
, voc precisa preencher a varivel xcache.admin.pass com uma senha no formato MD5 (
clique aqui para converter uma senha em texto para o formato MD5) e ento copie o
diretrio admin do diretrio de instalao do Xcache para um diretrio no seu servidor we
b, por exemplo:
cd /root/xcache-1.2.0
mv admin /www/your-website/xcache
Com isto a interface de administrao do Xcache ser acessada atravs do endereo http://w
ww.seu-site.com.br/xcache
Reinicie o Apache com /usr/local/apache2/bin/apachectl restart e verifique novam
ente o resultado do comando phpinfo, desta vez procurando pela sesso Xcache ( Xcach
e session: Enabled ). Se ela estiver l, voc ter seu servidor web configurado e funcio
nando com PHP5, suporte ao MySQL 5 e cache e otimizador PHP. Caso contrrio, repit
a novamente os procedimentos descritos nesta pgina.

Você também pode gostar