APC Alternative PHP Cache Magento (Pócima mágica)
Instalando APC Magento en (dv) Dedicated Virtual 4.0 – Media Temple
1.- Verificar si tenemos los contenidos necesarios (pelc – phpize – apxs):
Código: yum install php-pear
Código: yum install php-devel
Código: yum install httpd-devel
2.- Instalando APC, ir a directorio /usr/local/src
Código: cd /usr/local/src
2.1.- Descargar APC:
Código: wget http://pecl.php.net/get/APC-3.1.6.tgz
2.2.- Descomprimir APC-3.1.6.tgz
Código: gunzip -c APC-3.1.6.tgz | tar xf -
3.- Arracar el comando phpize dentro del directorio APC-3.1.6
Código: cd APC-3.1.6 /usr/bin/phpize
4.- Luego arrancar este comando (sin salir del directorio APC-3.1.6):
Código: ./configure -enable-apc -enable-apc-mmap -with-apxs2=/usr/sbin/apxs -with-php-config=/usr/bin/php-config
4.1.- Luego realizamos comando “make” para que funcione toda nuestra pócima:
Código: make
4.2.- Luego “make test” para chequear que todo va ok (aquí nos pedirá si deseamos enviar el informe de la instalación, pueden decir si o no (y/n) bueno yo he puesto si, osea, “y” dado esto me ha solicitado mi correo que con gusto he escrito):
Código: make test
4.3.- Después que todo el chequeo esta ok (make test) le damos el install de esta manera:
Código: make install
Y nos mandará este mensaje:
Código: Installing shared extensions: /usr/lib64/php/modules/
5.- Ahora debemos decirle a PHP que está listo para usar APC, y lo hacemos de la siguiente manera (creando apc.ini):
Código: cd /etc/php.d/ vi apc.ini
Y le insertamos estas líneas:
Código: extension=apc.so apc.shm_size=128M
5.1 Grabamos el archivo apc.ini y salimos (apretar esc para salir de la edición y luego escribir el comando para grabar y salir):
Código: :w :q
6.- Reiniciamos Apache:
Código: /etc/init.d/httpd restart
7.- Copiamos el archivo “apc.php” a nuestro sitio, para poder ver nuestro cacheo APC opcode, de esta manera (deben de estar aun dentro de directorio “APC-3.1.6”:
Código: cp apc.php /var/www/vhosts/misitio/httpdocs/
7.1- Luego modificar usuario y password alrededor de la línea 41 (del archivo apc.php copiado a su sitio):
Código: defaults('ADMIN_USERNAME','apc'); // Admin Username defaults('ADMIN_PASSWORD','password'); // Admin Password - CHANGE THIS TO ENABLE!!!
8.- Ahora ir a http://www.misitio.cl/apc.php y verán esto:
9.- Ahora Magento está automaticamente cacheando con APC opcode, pero además para dejarlo completamente “rápido y furioso” debemos declarar esto en nuestra tienda Magento en app/etc/local.xml y justo antes de que acabe global ponemos lo siguiente:
Código:apc MAGE_
Acá dejo mi propio local.xml para una mejor referencia:
Código: <?xml version="1.0"?>< ![CDATA[Sun, 13 Feb 2011 06:04:47 +0000]]> < ![CDATA[262835c1561ce17e68c2772fbf7ae23e]]> false < ![CDATA[]]> < ![CDATA[localhost]]> < ![CDATA[fingo_magento]]> < ![CDATA[europa1457]]> < ![CDATA[fingo_magento]]> 1 < ![CDATA[db]]> apc MAGE_ < ![CDATA[admin]]>
Listo!!!… nuestra pócima PHP opcode está lista y nuestro Magento a quedado brutalmente rápido, ver Magento 1.5.0.1 con APC+Compilación aquí: http://www.dvex.cl/tienda/
Nota: 22 de diciembre de 2011.
Si trabajamos con “Soporte para PHP (ejecutado como Aplicación CGI o FastCGI) para módulos como webpay que son binarios (ASCII) nos toparemos que nuestro sitio nos lanza un lindo error así:
“Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.
More information about this error may be available in the server error log.”
Ahora si vamos a ver los “error log” del servidor veremos esto:
Entonces APC no sirve para cuando trabajamos con “Soporte para PHP como aplicaciones CGI o FastCGI” y deben de comentar así # el apc.ini en estas líneas:
#extension=apc.so
#apc.shm_size=128M
Y reinician APACHE y nunca más su sitio se caerá.
Nota2: me demoré como 5 meses en darme cuenta del error…
Atte
Boris Durán R.
Magento Chile Google+