Dicas 20 fev 2007 12:51 am

Instalando Mysql 5 e Php 5 no Fedora Core 4

Recentemente um cliente precisou realizar uma atualização no seu servidor para atender as exigências de um sistema novo. A princípio a tarefa parecia ser simples, atualizar o Mysql e PHP para a versão 5 de ambos no Fedora Core 4.
Depois de pesquisar no google percebi que eu precisaria de um pouco mais do que “yum update && yum install mysql” para fazer as coisas funcionarem.

O primeiro passo foi obviamente fazer um dump de todos os bancos da versão corrente de modo a recriar os bancos caso necessário. Logo após parei o mysql e o desinstalei.

# mysqldump -A > /tmp/dump.sql (use as opções -p para senha e -u para usuário)

# /etc/init.d/mysql stop
# yum remove mysql

O próximo passo é baixar e compilar o RPM.SRC (pacote que contém o source do programa). A versão que utilizei foi a MySQL-5.0.24a-0.

# cd /tmp
# wget http://mysql.mirrors.ilisys.com.au/Downloads/MySQL-5.0/MySQL-5.0.24a-0.src.rpm
# rpmbuild --rebuild MySQL-5.0.24a-0.src.rpm

Antes de instalar a nova versão do Mysql é necessário lidar com alguns pacotes incompatíveis. Eles são:

  • php-mysql
  • perl-DBD-MySQL
  • mod_auth_mysql
  • MySQL-embedded

Com exceção do pacote php-mysql que será provido pela compilação do PHP posteriormente, os demais pacotes devem ser tratados individualmente caso seja necessária a instalação de algum deles. Os passos a serem tomados são semelhantes aos tomados na instalação do PHP.

# rpm -e php-mysql perl-DBD-MySQL mod_auth_mysql MySQL-embedded

Para listar os pacotes incompatíveis tente realizar a instalação com rpm -ivh MySQL-server-5.0.24a-0.glibc23.i386.rpm

# cd /usr/src/redhat/RPMS/i386/
# rpm -Uvh MySQL-shared-5.0.24a-0.glibc23.i386.rpm
# rpm -ivh MySQL-server-5.0.24a-0.glibc23.i386.rpm
# rpm -Uvh MySQL-client-5.0.24a-0.glibc23.i386.rpm
# rpm -Uvh MySQL-bench-5.0.24a-0.glibc23.i386.rpm

Baixe e instale o source do php. Será necessário editar o arquivo .spec para alterar uma dependência.

# wget # ftp://rpmfind.net/linux/fedora/core/updates/4/SRPMS/php-5.0.4-10.5.src.rpm
# rpm --install php-5.0.4-10.5.src.rpm
# vi /usr/src/redhat/SPECS/php.spec

mysql-devel >= 4.1.0 (Troque essa linha pela que segue)

MySQL-devel >= 4.1.0

Ao tentar executar a compilação do php é possível perceber que algumas dependências devem ser resolvidas antes. Alguns pacotes podem ser instalados com o yum, outros precisam ser instalados via rpm pois o yum se recusa a encontrá-los.
O primeiro pacote que não foi possível instalar com o yum foi o httpd-devel. O pacote de desenvolvimento e também as suas dependências podem ser encontradas também no rpmfind.

# cd /tmp
# wget ftp://rpmfind.net/linux/fedora/core/updates/4/i386/httpd-devel-2.0.54-10.4.i386.rpm
# wget ftp://rpmfind.net/linux/fedora/linux/core/updates/4/i386/pcre-devel-5.0-4.1.fc4.i386.rpm
# wget ftp://rpmfind.net/linux/pub/fedora/linux/core/updates/4/i386/apr-devel-0.9.6-3.5.i386.rpm
# wget ftp://rpmfind.net/linux/fedora/core/4/i386/os/Fedora/RPMS/apr-util-devel-0.9.6-2.i386.rpm
# rpm -ivh pcre-devel-5.0-4.1.fc4.i386.rpm
# rpm -ivh apr-devel-0.9.6-3.5.i386.rpm
# rpm -ivh apr-util-devel-0.9.6-2.i386.rpm
# rpm -ivh httpd-devel-2.0.54-10.4.i386.rpm

Outras dependências precisam ser resolvidas para compilar o PHP a menos que seu suporte seja removido no arquivo SPEC


# yum install postgresql
# wget ftp://rpmfind.net/linux/fedora/linux/core/updates/4/i386/postgresql-devel-8.0.8-1.FC4.1.i386.rpm
# rpm -ivh postgresql-devel-8.0.8-1.FC4.1.i386.rpm

# wget ftp://rpmfind.net/linux/fedora/linux/core/updates/4/i386/unixODBC-devel-2.2.11-3.FC4.1.i386.rpm
# wget ftp://rpmfind.net/linux/fedora/linux/core/updates/4/i386/unixODBC-2.2.11-3.FC4.1.i386.rpm
# rpm -ivh unixODBC-2.2.11-3.FC4.1.i386.rpm
# rpm -ivh unixODBC-devel-2.2.11-3.FC4.1.i386.rpm

# yum install net-snmp
# yum install net-snmp-devel
# rpm -ivh lm_sensors-2.9.1-3.FC4.2.i386.rpm

# wget ftp://rpmfind.net/linux/fedora/core/4/i386/os/Fedora/RPMS/dmidecode-2.6-1.14.i386.rpm
# wget ftp://rpmfind.net/linux/fedora/core/4/i386/os/Fedora/RPMS/beecrypt-devel-4.1.2-8.i386.rpm
# wget ftp://rpmfind.net/linux/fedora/core/4/i386/os/Fedora/RPMS/elfutils-devel-0.108-1.i386.rpm
# wget ftp://rpmfind.net/linux/fedora/core/4/i386/os/Fedora/RPMS/elfutils-libelf-devel-0.108-1.i386.rpm
# wget ftp://rpmfind.net/linux/fedora/core/4/i386/os/Fedora/RPMS/libxslt-devel-1.1.14-2.i386.rpm
# wget ftp://rpmfind.net/linux/fedora/core/4/i386/os/Fedora/RPMS/libgcrypt-devel-1.0-2.i386.rpm
# wget ftp://rpmfind.net/linux/fedora/core/4/i386/os/Fedora/RPMS/libgpg-error-devel-1.0-2.i386.rpm
# rpm -ivh dmidecode-2.6-1.14.i386.rpm
# rpm -ivh beecrypt-devel-4.1.2-8.i386.rpm
# rpm -ivh elfutils-devel-0.108-1.i386.rpm
# rpm -ivh elfutils-libelf-devel-0.108-1.i386.rpm
# rpm -ivh libxslt-devel-1.1.14-2.i386.rpm
# rpm -ivh libgcrypt-devel-1.0-2.i386.rpm
# rpm -ivh libgpg-error-devel-1.0-2.i386.rpm

Após instalar todos os pacotes necessários é possível compilar o PHP

# rpmbuild -bb /usr/src/redhat/SPECS/php.spec --nodeps

Após a compilação é possível instalar os pacotes do php gerados em /usr/src/redhat/RPMS/i386/ mas antes é necessário desinstalar os equivalentes da versão instalada.


# rpm -qa|grep -i php

# rpm -e php-ldap
# rpm -e php-mysql
# rpm -e php-pear --nodeps
# rpm -e php

# rpm -ivh php-5.0.4-10.5.i386.rpm
# rpm -ivh php-pear-5.0.4-10.5.i386.rpm
# rpm -ivh php-mysql-5.0.4-10.5.i386.rpm

Fim das instalações. É possível que seja necessário editar o httpd.conf para alterar a referência da biblioteca do php, logo após reinicie o apache.

vi /etc/httpd/conf/httpd.conf

LoadModule php5_module modules/libphp5.so
AddHandler php5-script .php

/etc/init.d/httpd restart

Referência

Compartilhe:

  • Print
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Add to favorites
  • email
  • LinkedIn
  • Netvibes
  • PDF
  • Rec6
  • Reddit
  • RSS
  • Slashdot
  • StumbleUpon
  • Twitter
  • Yahoo! Bookmarks

Posts Relacionados:

Related posts brought to you by Yet Another Related Posts Plugin.

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply

Powered by WP Hashcash