Layer 06

Installare APC su distribuzione CentOS

APC è un “acceleratore” per tutti gli script php, è un metodo di caching che s’infila nel motore di php e fa caching di alcune operazioni. Zend Technologies fa la stessa cosa (anche se ne fa molte altre) ma è a pagamento e a noi smanettoni non piace, sicchè APC è un’ottimo sostituto. Maggiori informazioni su APC le potrete trovare su php.net o direttamente sul sito degli sviluppatori PECL Su siti ad alto traffico l’esperienza ci insegna che avere una macchina perstante non è abbastanza, infatti nel caso di geekissimo.com avere 4 processori XEON e 4 Gb di RAM non serve a nulla se dietro non c’è una buona otimizzazione del sistema. Alle volte nemmeno ottimizzare il sistema è abbastanza, ci si trova di fronte ad un’inutile spreco di risorse dovuto al ricalcolo di php che magari fanno la stessa identica cosa. In nostro aiuto corre APC, un progetto ben fatto e l’installazione sicuramente non è difficile. Andiamo a vedere come agire. Nel caso attuale si tratta della macchinia di geekissimo. su cui abbiamo la seguente configurazione: – Linux CentOS 4.2 – Apache 1.3 PHP 4 Prima di tutto scarichiamo l’ultima release di APC con wget da un terminale: wget http://pecl.php.net/get/APC-n.n.nn.tgz dove n.n.nn è la versione che desideriamo Scomprimiamola con gunzip ed entriamo nella directory che s’è creata. gunzip -c APC-n.n.nn.tgz | tar xf – cd APC-n.n.nn Solitamente si dovrebbero leggere le istruzioni, infatti nel file INSTALL (in inglese) troviamo tutto il necessaro per fare il nostro dovere.  cat ./INSTALL | less Come descritto nel file d’installazione io ho scelto il metodo “QUICK INSTALL (DSO)” come primo approcio, devo dire che m’è andata bene. Prima di procedere all’installazione dobbiamo segnarci un po’ di collocazioni di files che servono per la configurazione di APC, niente di difficle, utilizzando il comando locate possiamo trovare tutte le informazioni che ci servono: questa è la mia lista:

  • httpd.h /usr/include/apache/httpd.h
  • phpize /usr/local/bin/phpize
  • php-config /usr/local/bin/php-config
  • apxs /usr/sbin/apxs
A questo punto procediamo con l’installazione seguendo le istruzioni, ovviamente le istruzioni cambiano a secondo della collocazione dei files che trovato. /usr/local/bin/phpize export CPPFLAGS=”-I/usr/include/apache -DAPC_PHP4_STAT” ./configure –enable-apc –enable-apc-mmap –with-apxs=/usr/sbin/apxs –with-php-config=/usr/local/bin/php-config make make install Una volta installato il pacchetto dobbiamo appuntarci dove è stato copiato il file apc.so /usr/local/lib/php/extensions/no-debug-non-zts-20020429/apc.so Ora dobbiamo modificare il file php.ini che nell’installazione su cui ho lavorato si trova su /usr/local/lib/php.ini Dobbiamo cercare la voce extension_dir, e modificarla come segue: ; Directory in which the loadable extensions (modules) reside. ; extension_dir = “./” extension_dir = “/usr/local/lib/php/extensions/no-debug-non-zts-20020429/” Ora dobbiamo aggiungere altre 2 righe al php.ini: extension = “apc.so” apc.shm_size = 32 Ricordiamo che php va in accoppiata con apache, perciò riavviamo il server httpd: /etc/init.d/httpd restart APC ci fornisce un file php per fare una sorta di reportistica del lavoro che fa, perciò preleviamo il file e copiamolo in un posto dove sia raggiungibile da URL a questo punto ricordiamoci di cambiare la password di default del reset, pena un qualsisasi sconosciuto potrebbe lanciare un reset!!! Testiamo, verifichiamo e godiamoci con tutta tranquillità il php caching]]>