Fazer o Apache usar o PHP compilado em vez do pacote bundled no Debian

5

Meu objetivo final é instalar OwnCloud na minha caixa Debian, um squeeze de 64 bits.

Minha configuração é bem simples. Eu instalei o OpenPanel que por sua vez instala todos os módulos LAMP necessários via APT-GET. Isso instala o PHP5.3.7 no meu sistema e aponta o Apache2 para usá-lo, tudo de bom e apropriado.

No entanto, o OwnCloud requer que o mbstring esteja habilitado no PHP. Isso requer que eu compile minha própria versão do PHP com a opção de configuração --with-mbstring , já que o PHP empacotado nos repositórios do Debian aparentemente não terá isso, e não existe tal pacote como php-mbstring ou php5-mbstring como lá foi usado estar com PHP4.

Eu compilei o PHP usando o tutorial encontrado aqui , omitindo o APXS2 da configuração ( como eu não consegui fazer isso funcionar pelo amor de mim) e substituindo 5.2 por 5.4. No entanto, o Apache2 instalado pelo APT-GET (em /etc/apache2 ) não reconhecerá isso e continuará dizendo "5.3.7".

Eu também tentei primeiro compilar o PHP e depois instalar o OpenPanel, sem sucesso.

Ter o OpenPanel é essencial, pois ajudará meus clientes a gerenciar seus DNSs, domínios e bancos de dados, bem como o acesso ao Shell.

Também é necessário ter o OpenCloud, porque meus clientes exigem o uso de um conjunto de colaboração de código aberto.

Como faço para isso?

(Anteriormente perguntado em stackoverflow.com, mas percebi que não pertencia lá.)

    
por Milad Naseri 21.10.2012 / 16:01

1 resposta

2

O Debian pode realmente ajudá-lo aqui - apt-get tem um modo para fazer o download das dependências de origem e de compilação para um pacote, que você pode ajustar e construir sozinho. Em teoria, o setup deve ser idêntico ao que o repositório do Debian contém, então ele deve se integrar bem com sua versão do Apache.

Eu achei originalmente que esta é a PHP Magazine onde eles usaram para customizar a versão do GD que eles estavam compilando com o PHP. Mas você poderia usá-lo para alterar outros flags de construção com a mesma facilidade.

link

Como o site original não está mais disponível (o link acima é através da Way Back Machine), estou reproduzindo as instruções aqui:

# Install build tools, debian helpers and fakeroot
apt-get install build-essential debhelper fakeroot
# Get PHP source (it should go into /usr/src)
cd /usr/src
apt-get source php5
# Install all packages required to build PHP5
apt-get build-dep php5

#Now what we need is to update compile options,
# so we need to edit debian/rules file:
cd php5-5.2.6.dfsg.1
vim debian/rules
# locate the line having "--with-gd=shared,/usr --enable-gd-native-ttf \"
# replace with "--with-gd=shared --enable-gd-native-ttf \"
# that's remove reference to /usr so that bundled library is used

# compile (drink some coffee, walk you dog, see the latest House episode)
dpkg-buildpackage -rfakeroot

# install the new php5-gd package
cd ..
dpkg -i php5-gd_5.2.6.dfsg.1-3ubuntu4.2_i386.deb

# finally restart apache
/etc/init.d/apache2 restart

Obviamente, altere o número da versão para corresponder à versão que você está realmente compilando e substitua os sinalizadores pelos que você realmente quer.

    
por 24.10.2012 / 20:47