Instalar XCACHE integrado con Lighttpd en CentOS

XCache es un opcode PHP cacher creado por Jan Kneschke creador de Lighttpd. Se ha probado en servidores en produccion con alta carga dando unos resultados francamente buenos.  Según algunos, dando mucho mejor resultado en diversas aplicaciones como Vbulletin que otros como Eaccelerator/APC/IonCube/Zend.

Instalación de Requisitos previos para compilar XCACHE

yum install php-devel

yum groupinstall ‘Development Tools’

yum groupinstall ‘Development Libraries’

Descarga y compilación de XCACHE

cd /tmp
wget http://xcache.lighttpd.net/pub/Releases/1.2.2/xcache-1.2.2.tar.gz
tar xvfz xcache-1.2.2.tar.gz
cd xcache-1.2.2
phpize
./configure –enable-xcache
make
make install

Configurando XCACHE

cp xcache.ini /etc/php.d
vi /etc/php.d/xcache.ini

Opciones de configuración

zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so

* Debemos indicar el lugar donde esta situado el modulo de Xcache

xcache.size = 32M

* Cualquier valor superior a 0 habilita Xcache. 0 lo deshabilita

Todas las opciones de configuración están en la pagina oficial: http://xcache.lighttpd.net/wiki/XcacheIni

Reiniciamos Lighttpd

service lighttpd restart

Si todo ha ido bien, deberíamos tener cargado la extensión de XCACHE para nuestro PHP:

PHP 5.1.6 (cli) (built: Jul 16 2008 19:52:52)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
with XCache v1.2.2, Copyright (c) 2005-2007, by mOo

Instalar VMware en CentOS 5

Este tutorial proporciona instrucciones paso a paso cómo instalar el Servidor VMware en un CentOS 5,0. Con VMware Server puede crear y ejecutar sistemas operativos ( «máquinas virtuales«), tales como Linux, Windows, FreeBSD, etc en base de un sistema operativo anfitrión. Esto tiene la ventaja de que puede ejecutar múltiples sistemas operativos en el mismo hardware que permite ahorrar mucho dinero, y puede mover las máquinas virtuales VMware de un servidor para el otro (o de un sistema que tiene el VMware Player que también es gratuita ).

Además, con VMware Server puede dejar que su antiguo escritorio de Windows (que previamente convertidas en VMware una máquina virtual con VMware Converter, tal y como se describe en este tutorial: http://www.howtoforge.com/vmware_converter_windows_linux) ejecutarse bajo su escritorio de CentOS. Esto puede ser útil si usted dependerá de algunas aplicaciones que existen para Windows únicamente, o si desea cambiar a Linux lentamente.

Quiero decir en primer lugar que esta no es la única manera de establecer un sistema de este tipo. Hay muchas maneras de lograr este objetivo, pero esta es la forma en que tomo. El tutorial no emite ningún tipo de garantía de que esto trabaje para usted!

1 Averiguar la versión de su Kernel

Antes de ir a instalar software adicional, es una buena idea para conocer la versión de kernel, porque en el capítulo 2 se instalar el paquete kernel-devel que necesita el VMware Server. Existen múltiples paquetes kernel-devel disponibles, y para seleccionar el correcto lo que necesita saber la versión de su kernel.

Para obtener más información sobre la versión de su núcleo, abrir un terminal (Aplicaciones> Accesorios> Terminal):


A continuación, convertirse en root ejecutando:

su

Ejecutar

uname -r

La salida debe ser similar a este:

[root@localhost Desktop]# uname -r
2.6.18-8.1.3.el5

Significa que tenemos la version 2.6.18-8.1.3.el5 del kernel instalado.

2 Instalacion de paquetes requeridos

Antes de instalar VMware Server, es necesario instalar algunos prerequisitos. Para instalar lo necesario usar Applicaciones > Agregar/Quitar Software:


Ingrese el password del Root:


El Gestor de paquetes se abre. Ir a la ficha Examinar y seleccione:

  • Desarrollo > Librerias de desarrollo ( Development Libraries)
  • Desarrollo > Herramientas de desarrollo (Development Tools)

A continuación, vaya a la pestaña de búsqueda y búsque xinetd. Seleccione el paquete xinetd para la instalación:

Haga lo mismo para el paquete kernel-devel. Por favor, asegúrese de escoger el paquete kernel-devel que corresponda a su kernel actual (por lo que si kernel es 2.6.18-8.1.3.el5, seleccione el paquete kernel-devel – 2.6.18-8.1.3.el5.i686 ).

Haga clic en Aplicar.

A continuación el gestor de paquetes, resolver todas las dependencias, descargar los paquetes, tal vez, le pida acepte algunas claves desconocidas de software (por favor, acepte), y, por último, instalar los paquetes.

3 VMware Server

Para descargar VMware Server, vaya a http://www.vmware.com/download/server/ y haga clic en Descargar ahora:

Aceptar el acuerdo de licencia haciendo clic en Sí:

A continuación, descargue el VMware Server para Linux. archivo tar.gz archivo (no el archivo rpm!) En su escritorio (por ejemplo, a / home / username / Desktop):



Para obtener el número de serie que usted necesita para ejecutar VMware Server, vaya a http://register.vmware.com/content/registration.html. Rellena tus datos personales. Después usted recibirá una página con un número de serie para VMware Server. Anótelo o imprimelo:

Para instalar VMware Server, abra un terminal (Aplicaciones> Accesorios> Terminal) y convertirse en root:

su

A continuación, vaya al lugar donde ha guardado el archivo VMware Server. tar.gz, por ejemplo, /home/username/Desktop (username sustituir con su propio nombre de usuario!):

cd /home/username/Desktop

Desempaquete el archivo VMware Server. tar.gz y ejecutar el programa de instalación:

tar xvfz VMware-server-*.tar.gz
cd vmware-server-distrib
./vmware-install.pl

El instalador le preguntará un montón de preguntas. Siempre puede aceptar los valores por defecto simplemente pulsando enter. Cuando le pregunte

En el directorio que quieres mantener tu máquina virtual archivos?
[/var/lib/VMware/Máquinas Virtuales]

puede aceptar el valor predeterminado o especificar una ubicación diferente depediendo donde usted tiene más espacio libre en disco, por ejemplo, como /home/edward/virtual_machines, pero esto depende de usted y no es necesario.

Al final de la instalación, se le pedirá que introduzca un número de serie:

Please enter your 20-character serial number.

Type XXXXX-XXXXX-XXXXX-XXXXX or ‘Enter’ to cancel:

Escriba su número de serie para VMware Server.

Después de la instalación con éxito, puede eliminar el archivo de descarga del Servidor VMware y el directorio de instalación:

cd ../
rm -f VMware-server*
rm -fr vmware-server-distrib/

hora se encuentra bajo el Servidor VMware Aplicaciones> Herramientas del sistema:


Al iniciar, seleccione Local host


Después, puede crear máquinas virtuales (o importar su máquina virtual de Windows que ha creado con VMware Converter):

Links

Grabar CD/DVD en Consola con Mkisofs y Cdrecord

Este pequeño tutorial fue probado en CentOS 5 pero funciona para cualquier versión de Linux, al final la consola es igual para todos.

Para quemar en consola, necesitamos contar con una quemadora de CD/DVD, Bastantes CD/DVD donde quemar, lo que queremos quemar y los siguiente programas que instalamos a continuación.

# yum -y install mkisofs cdrecord

Necesitamos crear una .ISO de lo que deseamos quemar. para esto utilizamos el comando mkisofs

# mkisofs -r -l -o imagen_que_quiero_crear.iso /home/data_que_quiero_quemar

Mas o menos nos saldrá la siguiente información

INFO: UTF-8 character encoding detected by locale settings.
Assuming UTF-8 encoded filenames on source filesystem,
use -input-charset to override.
1.98% done, estimate finish Thu Jul 3 10:28:10 2008
3.96% done, estimate finish Thu Jul 3 10:28:10 2008
5.94% done, estimate finish Thu Jul 3 10:28:10 2008
7.92% done, estimate finish Thu Jul 3 10:28:10 2008
9.89% done, estimate finish Thu Jul 3 10:28:10 2008
11.87% done, estimate finish Thu Jul 3 10:28:10 2008
13.85% done, estimate finish Thu Jul 3 10:28:10 2008
15.83% done, estimate finish Thu Jul 3 10:28:10 2008
17.80% done, estimate finish Thu Jul 3 10:28:10 2008
19.79% done, estimate finish Thu Jul 3 10:28:10 2008
21.76% done, estimate finish Thu Jul 3 10:28:10 2008
23.74% done, estimate finish Thu Jul 3 10:28:10 2008
25.72% done, estimate finish Thu Jul 3 10:28:10 2008
27.70% done, estimate finish Thu Jul 3 10:28:10 2008
29.67% done, estimate finish Thu Jul 3 10:28:10 2008
31.66% done, estimate finish Thu Jul 3 10:28:10 2008
33.63% done, estimate finish Thu Jul 3 10:28:10 2008
35.61% done, estimate finish Thu Jul 3 10:28:10 2008
37.59% done, estimate finish Thu Jul 3 10:28:10 2008
39.57% done, estimate finish Thu Jul 3 10:28:10 2008
41.54% done, estimate finish Thu Jul 3 10:28:10 2008
43.52% done, estimate finish Thu Jul 3 10:28:10 2008
45.50% done, estimate finish Thu Jul 3 10:28:10 2008
47.48% done, estimate finish Thu Jul 3 10:28:10 2008
49.46% done, estimate finish Thu Jul 3 10:28:10 2008
51.44% done, estimate finish Thu Jul 3 10:28:10 2008
53.41% done, estimate finish Thu Jul 3 10:28:10 2008
55.39% done, estimate finish Thu Jul 3 10:28:10 2008
57.37% done, estimate finish Thu Jul 3 10:28:10 2008
59.35% done, estimate finish Thu Jul 3 10:28:11 2008
61.33% done, estimate finish Thu Jul 3 10:28:11 2008
63.31% done, estimate finish Thu Jul 3 10:28:11 2008
65.28% done, estimate finish Thu Jul 3 10:28:11 2008
67.26% done, estimate finish Thu Jul 3 10:28:11 2008
69.24% done, estimate finish Thu Jul 3 10:28:11 2008
71.22% done, estimate finish Thu Jul 3 10:28:11 2008
73.20% done, estimate finish Thu Jul 3 10:28:11 2008
75.18% done, estimate finish Thu Jul 3 10:28:11 2008
77.15% done, estimate finish Thu Jul 3 10:28:11 2008
79.13% done, estimate finish Thu Jul 3 10:28:11 2008
81.11% done, estimate finish Thu Jul 3 10:28:11 2008
83.09% done, estimate finish Thu Jul 3 10:28:11 2008
85.06% done, estimate finish Thu Jul 3 10:28:11 2008
87.05% done, estimate finish Thu Jul 3 10:28:11 2008
89.02% done, estimate finish Thu Jul 3 10:28:11 2008
91.00% done, estimate finish Thu Jul 3 10:28:11 2008
92.98% done, estimate finish Thu Jul 3 10:28:11 2008
94.96% done, estimate finish Thu Jul 3 10:28:11 2008
96.93% done, estimate finish Thu Jul 3 10:28:11 2008
98.92% done, estimate finish Thu Jul 3 10:28:11 2008
Total translation table size: 0
Total rockridge attributes bytes: 264
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
252750 extents written (493 MB)

No indica que se ha creado una imagen de 493 MB

Antes de proceder a quemar primero necesitamos identificar el dispositivo (en este caso la quemadora) entonces escaneamos el dispositivo

# cdrecord -scanbus

Linux sg driver version: 3.5.27
Using libscg version ‘schily-0.8’.
cdrecord: Warning: using inofficial libscg transport code version (schily – Red Hat-scsi-linux-sg.c-1.83-RH ‘@(#)scsi-linux-sg.c 1.83 04/05/20 Copyright 1997 J. Schilling’).
scsibus4:
4,0,0 400) ‘HL-DT-ST’ ‘DVD-RAM GSA-H55N’ ‘1.02’ Removable CD-ROM
4,1,0 401) *
4,2,0 402) *
4,3,0 403) *
4,4,0 404) *
4,5,0 405) *
4,6,0 406) *
4,7,0 407) *

Con esto podemos notar que nuestra quemadora esta identificada en 4,0,0 400) ‘HL-DT-ST’ ‘DVD-RAM GSA-H55N’ ‘1.02’ Removable CD-ROM

Procedemos al quemamos, donde en la opción dev=xxx devemos indicar en identificador de nuestra quemadora, que en el paso anterior salio.

# cdrecord -v dev=4,0,0 speed=10 imagen_que_quiero_crear.iso

Using generic SCSI-3/mmc CD-R/CD-RW driver (mmc_cdr).
Driver flags : MMC-3 SWABAUDIO BURNFREE
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R
Drive buf size : 1114112 = 1088 KB
Drive DMA Speed: 129024 kB/s 733x CD 93x DVD
FIFO size : 4194304 = 4096 KB
Track 01: data 493 MB
Total size: 566 MB (56:10.02) = 252752 sectors
Lout start: 567 MB (56:12/02) = 252752 sectors
Current Secsize: 2048
ATIP info from disk:
Indicated writing power: 7
Is not unrestricted
Is not erasable
ATIP start of lead in: -11597 (97:27/28)
ATIP start of lead out: 359849 (79:59/74)
Disk type: Short strategy type (Phthalocyanine or similar)
Manuf. index: 20
Manufacturer: Princo Corporation
Blocks total: 359849 Blocks current: 359849 Blocks remaining: 107097
Starting to write CD/DVD at speed 16 in real TAO mode for single session.
Last chance to quit, starting real write 0 seconds. Operation starts.
Waiting for reader process to fill input buffer … input buffer ready.
trackno=0
BURN-Free is ON.
Turning BURN-Free off
Performing OPC…
Starting new track at sector: 0
Track 01: 493 of 493 MB written (fifo 100%) [buf 93%] 16.4x.
Track 01: Total bytes read/written: 517632000/517632000 (252750 sectors).
Writing time: 224.775s
Average write speed 15.0x.
Min drive buffer fill was 90%
Fixating…
Fixating time: 18.114s
cdrecord: fifo had 8154 puts and 8154 gets.
cdrecord: fifo was 0 times empty and 8011 times full, min fill was

Esto es todo, expulsamos nuestro cd con eject y listo.

Nota: no es necesario ser root para hacer todo estos pasos.

Cómo instalar CentOS remotamente

Es posible instalar centos remotamente, siempre y cuando exista previamente en el servidor grub. No importa el linux que haya.

Supongamos el siguiente escenario:

Requisitos locales:
La laptop mía será la IP 1.2.3.4 y estará con el vncviewer instalado (paquete vnc). Ésta laptop tendrá abierto el puerto 5500 o redirigido ese puerto hacia ella (en caso de que esté detrás de un firewall). La laptop por supuesto tiene linux, CentOS.

Requisitos remotos:
Sé la IP del servidor (1.1.1.2 en el ejemplo), conozco la máscara (255.255.255.248 en caso del ejemplo), y sé de su gateway (1.1.1.1 en el ejemplo). También conozco los DNS que usa ese servidor (1.1.1.1 en el ejemplo).

Por favor, alerta! si se te daña la máquina no me intentes culpar, no es mi culpa que tu hardware se te explote, dañe, queme, destroya, vaporice o lo que sea por el amor de dios si no te funciona es tu culpa, no la mía.

Paso a paso todo:

Sistema LOCAL:

  1. instalar el paquete vnc en tu máquina local: yum install vnc
  2. ponerlo a escuchar: vncviewer –listen
  3. abrir el puerto 5500 en caso de que tengas firewall o redirigir el puerto 5500 hacia tu maquina local.

Sistema REMOTO:

  1. Entrar al servidor remoto por ssh
  2. cambiarte a /boot (cd /boot)
  3. bajar vmlinuz e initrd.img del directorio images/pxeboot (aqui por ejemplo: http://mirror.centos.org/centos-5/5/os/i386/images/pxeboot/

Si tu maquina es de 64 bits, buscar el pxeboot adecuado, si instalaras otro centos (3 o 4) buscar el pxeboot adecuado.

puedes bajarlo con: wget URLDELARCHIVO

7- verifica que en el directorio /boot esté un archivo llamado vmlinuz y otro llamado initrd.img (quizá haya otros de los kernels anteriores, eso no es de importancia para el proceso).

8- Edita tu grub.conf, la idea es que tu grub.conf arranque con el siguiente kernel:

title pxe
root (hd0,0)
kernel /vmlinuz vnc vncconnect=1.2.3.4 headless ip=1.1.1.2 netmask=255.255.255.248 gateway=1.1.1.1 dns=1.1.1.1 ksdevice=eth0 method=http://mirror.centos.org/centos/5/os/i386/ lang=en_US keymap=us
initrd /initrd.img

Como curiosidad: sí, sólo uso teclado en inglés, porque el teclado en español tiene el «/» muy difícil de alcanzar.

vncconnect es la IP de tu máquina local, hacia donde se abrirá la sesión vnc

ip, netmask, gateway y dns son las IPs de tu máquina remota, mascara, gateway y dns.

ksdevice= para indicarle que saldrá por este dispositivo (solo util si tienes más de una eth).
method= de dónde bajará las cosas (de centos directamente, centos 5 en este caso).

9-Santiguarse  y reiniciar la máquina.

Este ultimo paso es muy importante.. es importante que lo tengas claro. TIENES QUE PROBAR LOCALMENTE.

Lo que yo hago siempre, SIEMPRE, es arrancar con pxe alguna máquina de aqui de mi casa, y hacer que abra una sesión de vnc contra mi laptop.. si funciona, entonces ya sé que tengo correctamnete la línea del GRUB y que puedo copiarla al servidor remoto y solamente cambiar las claves.

Lo típico es que te confundas en la IP o algún dato del servidor remoto.

Por favor, si algo te pasa coméntalo aqui para que los otros aprendan.. por mi parte también trataré de aprender con lo que te pase.

Controlar el ancho de banda en Apache con mod_cband en centos 5.2

Aqui os escribo  este tutorial de mod_cband que es un modulo de apache nos permite controlar el ancho de banda usado por los usuarios conectados al servidor, ya sea en forma individual o general.

Instalación:

Descargamos el modulo.
Pagina del proyecto: http://sourceforge.net/projects/cband/

# wget http://downloads.sourceforge.net/cband/mod-cband-0.9.6.1.tgz?modtime=1138205796&big_mirror=0

Descomprimimos las fuentes

# tar -xvf mod-cband-0.9.6.1.tgz

Instalando dependencias necesarias

# yum install http-devel

Compilando las fuentes

# ./configure
# make
# make install

Agregamos el modulo al apache en el archivo httpd.conf, por defecto se agrega automáticamente la linea al compilar, si no fuera el caso, agregar la siguiente linea

# vim /etc/httpd/conf/httpd.conf

LoadModule cband_module modules/mod_cband.so

También es necesario agregar

CBandScoreFlushPeriod 1
CBandRandomPulse On

Reiniciamos el apache

# /etc/init.d/httpd restart

Ahora a configurar los dominios virtuales del apache:

En mi caso lo tengo en /etc/httpd/conf.d/virtual.conf
Se puede dar el caso de tenerlo en el mimos httpd.conf

Configuraciones y Limitaciones por Sitio

CBandSpeed 1024kbps 10 30
CBandRemoteSpeed 20kb/s 3 3

El parámetro CBandSpeed es una configuración Global para dicho Sitio, definimos que lo usuarios no podran sobrepasar los 1024Kbps, 10 respuestas por segundo y 30 conexiones abiertas.

El parámetro CbandRemoteSpeed es una configuración para cada usuario conectado en forma separada, definimos que el usuario en forma individual podra descargar a lo máximo 20Kb/s con 3 peticiones por segundo y 3 conexiones permitida.

Asi quedara nuestro virtual host

# vim /etc/httpd/conf.d/virtual.conf

«<«VirtualHost *:80″>»
DocumentRoot /var/www/html/miweb.com
ServerName miweb.com
ServerAlias www.miweb.com
ErrorLog logs/miweb.com_error.log
CustomLog logs/miweb.com_access.log combined
CBandSpeed 1024kbps 10 30
CBandRemoteSpeed 50kb/s 3 3
LogLevel warn
«<«/VirtualHost»>»

Nota: por alguna razon al poner mayor o menor no sale, asi que agrege «>» y «<«. para para que funcione no deben ir las comillas doble. Mucho ojo con eso.

Reiniciamos el apache

# /etc/init.d/httpd restart

y probamos nuestra web…. recomendaciones, podemos cambiar las variables, reiniciar el apache y probar.

Otras opciones

Podemos limitar el trafico mensual con:

CBandLimit 100M

Podemos ver en Linea el trafico y conexiones, etc (estatus de cband) con:

Creamos la carpeta

# mkdir /var/www/scoreboard

Le damos permisos para el apache

# chown apache:apache /var/www/scoreboard

Y agregamos al virtual host

CBandScoreboard /var/www/scoreboard
CBandPeriod 4W

«<«Location /cband-status»>»
SetHandler cband-status
«<«/Location»>»
«<«Location /cband-status-me»>»
SetHandler cband-status-me
«<«/Location»>»

Todo lo anterior se agrega al dominio virtual, quedando asi:

«<«VirtualHost *:80″>»
DocumentRoot /var/www/html/miweb.com
ServerName miweb.com
ServerAlias www.miweb.com
ErrorLog logs/miweb.com_error.log
CustomLog logs/miweb.com_access.log combined
CBandLimit 1000M
CBandSpeed 1024kbps 10 30
CBandRemoteSpeed 50kb/s 3 3
LogLevel warn
CBandScoreboard /var/www/scoreboard
CBandPeriod 4W
«<«Location /cband-status»>»
SetHandler cband-status
«<«/Location»>»
«<«Location /cband-status-me»>»
SetHandler cband-status-me
«<«/Location»>»
«<«/VirtualHost»>»

Nota: por alguna razon al poner mayor o menor no sale, asi que agrege «>» y «<«. para para que funcione no deben ir las comillas doble. Mucho ojo con eso.

Reiniciamos el apache

# /etc/init.d/httpd restart

De lo anterior limitamos el trafico mensual a 1GB
para ver las estadísticas:

http://miweb.com/cband-status o http://miweb.com/cband-status-me

A probar…
Suerte