Opiszemy tutaj problem, na który możemy napotkać gdy posiadamy serwer dedykowany i sami musimy dbać o oprogramowanie na nim zainstalowane.
Omówimy problem w oparciu o architekturę Debiana, chyba najpopularniejszego systemu wykorzystywanego na serwerach dedykowanych.
Na czym polega nasz problem? Otóż gdy tworzymy skrypty oparte o PHP, których zadaniem jest modyfikowanie lub też tworzenie grafiki korzystamy z biblioteki GD, ale niestety jej wersja dostępna w łatwo instalowalnych paczkach .deb nie zawiera pełnej wersji tej biblioteki. Brakuje np popularnej funkcji: imagefilter
Co musimy zrobić, aby móc z niej skorzystać? Musimy przekompilować PHP, utworzyć paczkę deb i ją zainstalować. W tym artykule omówimy to krok po kroku.
Musimy doinstalować niezbędne pakiety. Robimy to poleceniem:
apt-get install build-essential debhelper fakeroot
Następnie przechodzimy do lokalizacji:
cd /usr/src
W której musimy umieścić źródła PHP, wykonujemy to poleceniem:
apt-get source php5
Gdy już wszystko zostanie pobrane musimy doinstalować wszystko co będzie potrzebne do skompilowania ze źródeł PHP. Załatwi to za nas kod:
apt-get build-dep php5
Następnie wchodzimy do katalogu o nazwie zbliżonej do:
cd php5-5.2.3
w którym musimy zedytować plik z lokalizacji
debian/rules
W nim odnajdujemy linię:
–with-gd=shared,/usr –enable-gd-native-ttf
i zamieniamy ją na:
–with-gd=shared –enable-gd-native-ttf
Po tych operacjach nadchodzi czas na kompilowanie i tworzenie paczek deb. Robimy to przy pomocy polecenia:
dpkg-buildpackage -rfakeroot
Proces ten może potrwać nawet kilka kodzin, musimy więc być cierpliwi. Gdy proces zakończy się, wychodzimy katalog wyżej i uruchamiamy paczkę deb w której znajduje się nasze GD przy pomocy polecenia zbliżonego do:
dpkg -i php5-gd_5.2.3-1ubuntu6.3_i386.deb
Po poprawnej instalacji pozostało nam tylko zrestartować apache poleceniem:
etc/init.d/apache2 restart
I możemy cieszyć się pełną bibliotekę GD w naszym systemie. Gratulujemy!