Dois MySQL’s (versão 4 e versão 5) e dois Apache’s com PHP (versão 4 e versão 5) na mesma máquina
Posted by: Tiago Cruz in Linux
Imagine que você tem um servidor LAMP redondinho, com Apache2, PHP5 e MySQL5 mas que por motivos maiores você precise colocar nesse mesmo servidor um outro apache com PHP4 e MySQL4, por exemplo. Você terá que resolver vários pequenos problemas (porta e IP para escutar, por exemplo) mas o mais chato e menos documentado é com relação ao Socket padrão que o PHP usa para falar com o MySQL correto. Isso precisa ser definido na hora da compilação do MySQL e também no PHP, embora o mesmo tenha opção para alterar pos-compilação, só me parece funcionar adequadamente no PHP5.
Estou usando prefixos customizados mas você não precisa faze-lo. O MySQL5 está com o socket em /tmp/mysql.sock, portanto certifique-se de alterar isso na compilação do MySQL4:
# cat /data/dbms/mysql4/source/compila.sh
#!/bin/bash
./configure \
“–prefix=/data/dbms/mysql4/bin-4.1.22″ \
“–enable-thread-safe-client” \
“–with-pthread” \
“–with-unix-socket-path=/tmp/mysql4.sock” \
“–with-tcp-port=3309″ \
Na compilação do PHP, confirme essas informações:
# cat /data/php/php4+mysql4/source/compila.sh
./configure \
–prefix=”/data/php/php4+mysql4/bin-4.4.7″ \
–with-freetype-dir=”/usr/lib64″ \
–with-zlib \
–with-jpeg-dir=”/usr/lib64″ \
–with-gd \
–with-mysql=”/data/dbms/mysql4/bin” \
–with-mysql-sock=”/tmp/mysql4.sock” \
–with-ttf \
–with-confdata-file-path=”/data/php/php4+mysql4/bin-4.4.7″ \
–with-apxs2=”/data/http_servers/apache2+mysql4+php4/bin-2.2.4/bin/apxs” \
–with-mime-magic=”/data/http_servers/apache2+mysql4+php4/bin-2.2.4/conf/magic” \
Depois apenas verifique se a porta e o socket estão corretos nos arquivos de configuração e no phpinfo:
# cat /data/dbms/mysql4/bin/var/my.cnf
[client]
port = 3309
socket = /tmp/mysql4.sock[mysqld]
port = 3309
socket = /tmp/mysql4.sock# cat /data/php/php4+mysql4/bin-4.4.7/php.ini
mysql.default_port = 3309
mysql.default_socket = /tmp/mysql4.sock
E seja feliz com seu LAMP duplo ![]()

Entries (RSS)
May 18th, 2007 at 6:52 pm
Algumas distribuições podem automatizar o processo. Os “slots” do Gentoo servem justamente para permitir a instalação de determinados pacotes em paralelo a outras versões do mesmo. Pelo menos há alguns anos, o Debian também dava um jeito de permitir o mesmo em alguns pacotes como o não tão saudoso XFree86.
May 18th, 2007 at 7:27 pm
Hahahaha… eu havia lido no planet esse lance do Xorg 7.2
Eu não conheço bem o gentoo, infelizmente, mas conheço bem o ports do BSD na qual ele deve ter se baseado, portanto não duvido da capacidade desse tal “slots” que você citou. Mas, em todo caso, vai na mão mesmo, porque ambientes corporativos gostam de coisas “Enterprises”
Abraços