Blog de tecnologia
Archivo de octubre, 2009
Como instalar eAccelerator con PHP
31 oct
eAccelerator es un acelerador, optimizador y cache de contenido dinámico para PHP.
Aumenta el rendimiento de los scripts PHP "cacheándolos" en su estado compilado, de manera que la sobrecarga de la compilación se elimina casi completamente. También optimiza las secuencias de comandos para acelerar su ejecución. eAccelerator típicamente reduce la carga del servidor y aumenta la velocidad de su código PHP por 1-10 veces.
eAccelerator nació en diciembre de 2004 como una derivación del proyecto de la MMCache Turck. Turck MMCache fue creado por Dmitry Stogov y gran parte del código eAccelerator todavía se basa en su trabajo.
eAccelerator guarda los scripts PHP compilados en la memoria compartida y ejecuta el código directamente de ella. Se crea bloqueos sólo por un corto tiempo, mientras que la búsqueda de un script PHP compilado en la caché, por lo que un script se pueden ejecutar simultáneamente por varios motores. Solamente los archivos que no caben en la memoria compartida se guardan en caché en el disco.
eAccelerator está todavía en desarrollo. La última versión, 0.9.5.3, soporta PHP 4 y todas las versiones de PHP 5 como 5.2. En versiones previas, el codificador sólo funcionan con versiones de PHP de la rama 4.xx. eAccelerator no funciona con otras versiones de PHP.
Proceso de Instalación
El primer paso es instalar algunos paquetes necesarios
aptitude install build-essential php5-dev bzip2
descargamos y compilamos eAccelerator
mkdir /root/eaccelerator
cd /root/eaccelerator
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
tar xvfj eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3
phpize
./configure
make
make install
Creamos el directorio donde se guardara el cache y le damos los permisos correspondientes
mkdir -p /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator
Buscamos donde quedo instalado la libreria eaccelerator.so
updatedb
locate eaccelerator.so
Tocamos el php.ini para que carge eAccelerator. Lo que se ve en rojo deberá ser reemplazado por lo que devolvió el comando locate ejecutado en el paso anterior
zend_extension="/usr/lib/php5/20060613+lfs/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
Finalmente reiniciamos Apache con el siguiente comando
/etc/init.d/apache2 restart
Para verificar que eAcellerator quedo bien instalado generaremos un archivo info.php con el siguiente contenido
<?
phpinfio();
?>
Si navegamos la pagina creada en el paso anterior tenemos que ver lo siguiente en la parte media de la pagina
Como remplazar un texto por otro en un archivo desde la consola
31 oct
Para reemplazar una palabra por otra en un archivo utilizaremos el comand "sed". Para este articulo generaremos un archivo llamado /ejemplo.txt con el siguiente contenido
Prueba en la linea 1
Prueba en la linea 2
Prueba en la linea 3
Prueba en la linea 4
Prueba en la linea 5
El objetivo de nuestro ejemplo es reemplazar las ocurrencias de la palabra Prueba por la frase PRUEBA DE REEMPLAZO y para esto ejecutaremos el siguiente comando
sed 's/Prueba/PRUEBA DE REEMPLAZO/g' /ejemplo.txt
La salida sera la siguiente
PRUEBA DE REEMPLAZO en la linea 1
PRUEBA DE REEMPLAZO en la linea 2
PRUEBA DE REEMPLAZO en la linea 3
PRUEBA DE REEMPLAZO en la linea 4
PRUEBA DE REEMPLAZO en la linea 5
Cabe aclarar que el archivo original no es modificado y la salida es solo a pantalla. para generar un archivo modificado haremos
sed 's/Prueba/PRUEBA DE REEMPLAZO/g' /ejemplo.txt > ejemplo_modificado.txt
No debemos redirigir la salida al mismo archivo porque este quedara vacío siempre hay que enviarlo a otro y luego renombrarlo de ser necesario.
Como saber a que pais pertenece una IP en Ubunu
30 oct
Para averuguar de que Pais proviene una conexion podemos hacerlo a traves de la direccion ip.
Para esto necesitamos instalar la herramienta GEOIP mediante el siguiente comando.
sudo apt-get install geoip-bin
Luego con el siguiente comando averiguaremos de donde es la IP
geoiplookup 200.190.50.50
A lo que no respondera
GeoIP Country Edition: BR, Brazil
Disponible libro electrónico 'Implementación de Servidores con GNU/Linux' edición septiembre 2009.
30 oct
ha terminado la versión de septiembre de 2009 de su libro electrónico «Implementación de Servidores con GNU/Linux.» Esta edición tiene un total de 614 páginas y acumula 10 años de experiencias y trabajo. La obra se publica con licenciamiento Creative Commons Reconocimiento - NoComercial - CompartirIgual 2.1 (es decir, se puede hacer prácticamente todo excepto lucrar con la obra sin el consentimiento del autor; los interesados en licencia comercial de esta obra, pueden contactarme). El libro en formato electrónico está disponible sin costo a través de la zona de descargas de Alcance Libre en este enlace. Lista de documentos añadidos/modificados, que en su mayoría añaden o corrigen configuración para SELinux, a continuación.
* Cómo instalar GroupOffice en CentOS.
* Cómo configurar un servidor DHCP en una LAN.
* Breve lección de mandatos básicos.
* Cómo configurar OpenLDAP como libreta de direcciones.
* Cómo instalar y configurar la herramienta de reportes Sarg.
* Cómo configurar OpenLDAP como servidor de autenticación.
* Cómo instalar y configurar el programa vacation para responder avisos automáticos en vacaciones.
* Introducción a AWK
* Cómo configurar un servidor de OpenVPN en CentOS 5
* Configuración básica de Apache.
* Ejercicio: Servidor DNS dinámico, servidor DHCP, Servidor Intermediario (Proxy) y Shorewall.
* Cómo configurar un servidor de nombres de dominio (DNS).
* Apéndice: Asignando cuotas de disco.
* Cómo utilizar Netcat (nc)
* Cómo configurar y utilizar Sudo.
vía Disponible libro electrónico 'Implementación de Servidores con GNU/Linux' edición septiembre 2009..
Como Instalar Google Chrome en Ubuntu 9.10
30 oct
La nota que escribimos hace unos dias acerca de Google Chrome en Ubuntu 9.0.4 aplica perfectamente para la version 9.10 del Sistema Operativo. En mi caso de una instalacion nueva por defecto de Ubuntu 9.10 solo tuve que agregar previamente tres paquetes que no se instalaron.
Entonces para los paquetes faltantes corremos en la consola
sudo apt-get install gconf2-common libgconf2-4 liborbit2
y luego seguimos los pasos de la version 9.0.4
Como instalar Apache+Mysql+PHP en Ubuntu 9.10
30 oct
El proceso es bastante sencillo y rápido desde la consola.
Primero instalamos Mysql con el comando
sudo apt-get install mysql-server-5.1
Luego Apache con el comando
sudo apt-get install apache2
Luego PHP con el comando
sudo apt-get install php5
Finalmente conectamos Mysql con Apache y PHP con los comandos
sudo apt-get install php5-mysql
sudo apt-get install libapache2-mod-auth-mysql
Para asegurarnos reiniciamos Mysql y Apache con los comandos
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/mysql restart
Para verificar que todo quedo bien instalado pondremos un archivo llamado info.php en la carperta /var/www/ con el siguiente contenido
<?
phpinfo();
?>
Abrimos el navegador de internet y navegamos la URL http://127.0.0.1/info.php y deberiamos ver algo asi
en particular para verificar que PHP tenga soporte para Mysql en la zona media tenemos que encontrar un bloque de Mysql parecido al de la imagen que se ve a continuación
Ya esta diponible Ubuntu 9.10
29 oct
Desde hoy esta disponible la versión 9.10 de Ubuntu y pude ser descargada desde aqui

Proteger con usuario y contraseña una carpeta de Apache
29 oct
Este tema esta bastante trillado en Internet pero llegado el momento de necesitarlo no me funcionaron el 90% de las explicaciones de como hacerlo; asi que aporto aqui mi experiencia.
El primer paso es generar el archivo de usuarios y contraseñas. Recomiendo hacerlo en una carpeta que no este en la parte publica de apache ( en caso contrario si hay que hacerlo en la parte publica cambiarle el nombre)
En este ejemplo usaremos /home/.htpassword y para crearlo usamos el siguiente comando.
htpasswd -cb /home/.htpasswd test test123
Luego para agregarle nuevos usuarios usaremos
htpasswd -b /home/.htpasswd test21 test123
El archivo generado queda con el siguiente contenido
test:fCJ1HKeOVJpTQ
test1:p0FqAmNIDcfRQ
Luego creamos la carpeta a proteger en mi caso pricada
mkdir /usr/local/apache2/htdocs/privada
cd /usr/local/apache2/htdocs/privada
En esta carpeta creamos un archivo .htaccess con el siguiente contenido
AuthUserFile /home/.htpasswd
AuthName Technoblog
AuthType Basic
require valid-user
Hasta acá lo que dicen el 90% de las explicaciones en Internet pero como dije no me funciono.
Si planea usar archivos
.htaccess, necesitará tener una configuración en el servidor que permita poner directivas de autentificación en estos archivos. Esto se logra con la directivaAllowOverride, la cual especifica cuáles directivas, en caso de existir, pueden ser colocadas en los archivos de configuración por directorios.
En particular en nuetro caso la directiva que nos interesa es Authconfig asi que lo que tenemos que hacer es agregar en el archivo httpd.conf lo siguiente
<Directory "/usr/local/apache2/htdocs/privada">
AllowOverride AuthConfig
Options None
Order allow,deny
Allow from all
</Directory>
Y ahora si funcionó
Como se imaginaran este método es bastante engorroso si se quieren autorizar muchos usuarios. Mas adelante veremos como agregar usuarios al archivo .htpasswd desde un script de PHP o incluso como autenticar desde una tabla de MYSQL.
Continuara.............
Ahhh me olvidaba el comando htpasswd viene en el paquete apache2-utils
Ocultar información peligrosa en Apache
27 oct
Cuanto mas se sabe de los servidores que están en Internet mas vulnerables son. Una cosa es no saber nada y otra muy distinta es saber que software y versiones tiene instalado.
En referencia a lo hablado en el párrafo anterior hay muchas instalaciones de apache que muestran mas informacion de lo conveniente. Y aca explicaremos un par de trucos para mejorar esta situación.
Frecuentemente con solo navegar una pagina inexistente de un servidor nos da esta informacion
Como vemos estamos revelando El tipo de sistema operativo ademas del tipo de servidor Web, su version y por si esto fuera poco la version de php.
Por otro lado algo que no es tan facil ver es que esta informacion tambien viaja en los HTTP Response Header, la podemos ver aqui.
Para enseñarle discrecion a nuestro Apache alcanza con poner (o modificar si estuvieran) estas dos lineas en el httpd.conf y reiniciar el servidor usando /etc/init.d/httpd restart o/etc/init.d/apache2 restart (Este comando pude diferir de instalacion en instalacion aunque estos 2 son loas mas comunes).
ServerSignature Off
ServerTokens Prod
Los posibles valores de ServerTokens son los siguientes
ServerTokens Prod #Server sends (e.g.): Server: Apache
ServerTokens Min #Server sends (e.g.): Server: Apache/1.3.0
ServerTokens OS #Server sends (e.g.): Server: Apache/1.3.0 (Unix)
ServerTokens Full #Server sends (e.g.): Server: Apache/1.3.0 (Unix) PHP/3.0 MyMod/1.2
Una vez hecho las imagenes anteriores se veran como estas
Nueva version de MySQL (5.0.87)
26 oct
Esta diponible una nueva version Comunitaria de MySQL en la rama 5.0. La version 5.0.87
Esta version está disponible tanto en código fuente como en binarios para un número de plataformas en nuestra página de descarga en
http://dev.mysql.com/downloads/
No todos los sitios réplica puede encontrarse al día en este punto, así que si usted no puede encontrar esta versión en algún espejo, por favor, inténtelo de nuevo más tarde o elige otro sitio de descarga.
En este enlace podemos ver los cambio realizados de la version 5.0.86 a 5.087









Últimos Comentarios