Då har man uppdaterat servern (en Mac Mini 1,83 GHz Core 2 Duo med 3Gb ram) men det blev lite extra jobb, trots att jag testade och kompilerade på en annan maskin före 🙂
Men så är det i datans värld, alltid något oväntat som dyker upp!
Uppdateringen blev endast av mjukvara och började med byte från Mac OS X 10.5 (Leopard) till 10.6 (Snow Leopard) samt alla uppdateringar till denna. Största ändringen är att nu körs i princip allt i 64bit.
Sedan blev det dags att börja kompilera lite mjukvara, visserligen är Apache och php som följer med rätt bra men vissa av grejerna som körs på servern kräver lite extra kompileringsalternativ för att fungera.
Tänkte till en början att bara kompilera om php och lite annan mjukvara och lämna Apache orörd men då visade det sig att Apache inte klarade att köra igång min egen-kompilerade php. Läste någonstans på nätet att Apples Apache (men även andra unix program) som är ”fet” binär, d.v.s. PPC, PPC64, i386 och X86-64 inte gillar att ladda andra binärer som bara är X86-64, icke ”fet” med andra ord.
Så det var bara att kompilera egen Apache 🙂
Började med att kompilera libjpeg v8 och libpng v1.2.43 (v1.4.x funkar inte så bra när php ska kompileras).
Kompilerade båda med:
./configure --disable-shared sedan make och sudo make install
Sedan kompilering av gettext v0.17 (behövs till Gallery 2 för att använda svenska bl.a.), libgd v2.0.35 (för php bl.a.), ImageMagick v6.6.0 (som används av Gallery 2) samt libmcrypt v2.5.8 (till php bl.a.).
Kompilerade dessa med:
./configure make och sudo make install
Sedan Apache v2.2.15, här uppstod lite problem som krävde många omkompileringar innan det fungerade 🙂
Huvudproblemet var apr biblioteket som är inkluderat i Apache och i v2.2.15 är apr i v1.4.2, så jag provade med v1.3.9 men problemen försvann inte förrän jag gick ned till v1.3.8. Så, nyast är inte alltid bäst.
Kompilerade med Darwin layouten, så den ersätter Apples Apache:
./configure -enable-layout=Darwin -enable-mods-shared=all -with-ssl=/usr -with-mpm=prefork -disable-unique-id -enable-ssl -enable-dav -enable-cache -enable-proxy -enable-logio -enable-deflate -with-included-apr -enable-cgi -enable-cgid -enable-suexec -enable-disk-cache -enable-mem-cache make och sudo make install
Sedan installering av MySQL v5.1.45 (X86-64), här använde jag mig av färdigt paket från MySQL.com, så det var bara att doppel klicka för att installera.
Vidare till php v5.2.12, prövade v5.3.2 men fick massa segmentation faults i httpd processerna, gick ned till v5.3.1 men då visade det sig att RoundCube inte kan hantera php v5.3.x, så jag gick ned till v5.2.13 men då var det problem att kompilera, så det fick bli v5.2.12 🙂
Blev en hel del omkompileringar innan man fick ordning på problemen.
Innan man kompilerar v5.2.12 så måste man ändra i en fil i php paktet, nämnligen i: ext/iconv/iconv.c på rad 185 (eller där ikring) från
#define iconv libiconv till #define iconv iconv
annars misslyckas kompileringen.
Kompilerade med:
./configure -prefix=/usr/local/php5 -mandir=/usr/share/man -infodir=/usr/share/info -sysconfdir=/etc -with-zlib -with-zlib-dir=/usr -with-openssl -enable-exif -enable-ftp -enable-mbstring -enable-mbregex -enable-sockets -with-mysql=/usr/local/mysql -with-mysqli=/usr/local/mysql/bin/mysql_config -with-apxs2=/usr/sbin/apxs -with-gd -with-gettext -enable-fastcgi -enable-cgi -with-jpeg-dir=/usr/local -with-png-dir=/usr/local -with-mcrypt make och sudo make install
Sedan kompilerade jag Postfix 2.6.5 och även här måste man ändra i en fil annars går det inte att kompilera.
Filen som behöver ändras är: src/util/sys_defs.h
och där måste man avkommentera följande på rad 206:
#define RESOLVE_H_NEEDS_NAMESER8_COMPAT_H till /* #define RESOLVE_H_NEEDS_NAMESER8_COMPAT_H */
Sedan dessa kompileringsalternativ:
make makefiles CCARGS="-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -I/usr/local/BerkeleyDB.4.7/include" AUXLIBS="-L/usr/lib -lsasl2 -lresolv -L/usr/local/BerkeleyDB.4.7/lib -ldb"
make och sudo make install
Sedan blev det att kompilera lite annat smått och gott samt konfigurera allt och föra tillbaka all data.
Tog drygt två dagar att slutföra, hade kanske gått på 1 dag men det dök upp problem som jag inte hade räknat med 🙂
Använde mig av två mycket bra program för att sätta upp DNS, mail och FTP som kan rekommenderas varmt:
DNS Enabler Snow , MailServe Snow och PureFTPd Manager
Gjorde även belastningstest av servern och fixade bl.a. ett cache plugin till WordPress och justerade php inställningarna samt MySQL databasen och det gjorde ganska stor skillnad! Inte för att jag förväntar mig jätte många samtidiga besökare men det är ju roligt att modda och mecka runt 🙂