tutoriales

Apache 2+CentOS 5.3+Firebird+MySQL+PHP

Aquí muestro los pasos a seguir para realizar configuración de Centos 5.3 + Apache 2 + Interbase + MySQL
1. Descargamos los paquetes fuentes de Apache, PHP, Firebird.

Escojamos el mirror que mas os convenga..

Apache:

http://www.apache.org/dyn/closer.cgi

PHP:

http://mx2.php.net/get/php-5.2.9.tar.gz/from/a/mirror

Firebird:

Nota.- Se recomienda para Linux, bajar la versión Super Server..

http://www.firebirdsql.org/index.php?op=files&id=engine_203

El paquete que se utilizo en esta instalación fue: FirebirdSS-2.0.3.12981-1.nptl.i686.rpm

2 . Instalamos Firebird

#rpm -ivh FirebirdSS-2.0.3.12981-1.nptl.i686.rpm

Se instalará en la siguiente ruta: /opt/firebird

El demonio se creara en /etc/rc.d/init.d/firebird

Podemos probar el servicio:

#service firebird start
3. Instalamos Apache
#tar -zxvf httpd-*.tar.gz
b. Ingresamos a la carpeta creada
#cd httpd

Configuración, Compilación & Instalación Apache

#./configure –prefix=/usr/local/apache2 –enable-module=so

#make
#make install

La carpeta donde se encontraran nuestros documentos web se encuentran en /usr/local/apache2/httdocs, sin embargo podemos modificar esto ingresando al archivo de configuración

#vim /usr/local/apache2/conf/httpd.conf
Modificamos la siguiente linea por la carpeta donde nosotros deseemos, por ejemplo /var/www:
DocumentRoot “/usr/local/apache2/htdocs”

Ahora probamos nuestro servidor apache ingresando en nuestro navegador http://localhost/ o bien desde otra estación poner la dirección ip del servidor Web en el navegador.

4. Instalamos PHP:

#tar xzvf php-*.gz
#cd php-5.2.1

Configurando, Compilando & Instalando:

./configure –with-interbase=shared,/opt/firebird –with-gd –with-zlib –with-apxs2=/usr/local/apache2/bin/apxs –prefix=/usr/local/php –with-jpeg-dir=/usr/lib/ –with-png-dir=/usr/lib/ –with-mysql

Si ocurre algún error como este:

If configure fails try –with-jpeg-dir=

configure: error: libpng.(a|so) not found.

Entonces quiere decir que nos hacen falta algunos paquetes, realizar lo siguiente: #yum install libjpeg-devel libpng-devel. -y

#make
#make install
Checamos el archivo php.ini se encuentra en el directorio

#ls /usr/local/php/lib/php.ini
Si no existe el archivo lo copiamos desde el directorio donde hemos compilado PHP

#cp php.ini-dist /usr/local/php/lib/php.ini
Editamos el archivp php.ini

Checamos que se haya creado el siguiente directorio:

/usr/local/php/lib/php/extensions/no-debug-non-zts-*

#vim /usr/local/php/lib/php.ini
Buscamos la linea que contenda extension_dir =”./”
y le proporcionamos el path del módulo de la extension que queramos añadir, en este caso el de interbase.so

extension_dir =”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613?”

Ahora en el mismo archivo php.ini encontraremos “Dynamic Extensions” allí añadimos nuestra extensión:
extension=interbase.so

5. Apache & PHP:

Solo nos resta añadir los parámetros de AddType en el httpd.conf
#vim /usr/local/apache2/conf/httpd.conf
añadiendiremos:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

Reiniciamos apache

#/usr/local/apache2/bin/apachectl restart

6. Comandos básicos para adminsitración firebird:

./gsec -user sysdba -pass masterkey -mo sysdba -pw masterkey

Nota.- Si no funciona masterkey debemos de examinar el password que nos pone por default firebird en:

#cat /opt/firebird/SYSDBA.password

obtenemos algo así, estos datos se crearon durante la instalación del firebird…:

ISC_USER=sysdba

ISC_PASSWD=xhra45j

Ingresamos de nuevo como sysdba:

#./gsec -user sysdba -password xhra45j

GSEC>

Modificando desde el CLI la contraseña de sysdba

GSEC>modify sysdba -pw

GSEC>quit

In gresando a una base de datos:

./isql “/opt/firebird/DATOS.GDB” -u sysdba -p

Recomendamos bajar el ibwebadmin, muy al estilo de phpmyadmin de MySQL, solo lo descomprimimos en el directorio que tengamos especificado en DocumentRoot de la configuración de nuestro apache.

http://sourceforge.net/project/showfiles.php?group_id=25198

Capturando paquetes con Libpcap -parte II-

� continuación el código de un sniffer, utilizando libreria libpcap y de netinet.� Este programa nos muestra las cabeceras Ethernet, TCP, IP,� ya sea todas o las que le especifiquemos, además de mostrarnos datos capturados por nuestra interfaz en modo “promiscuo”.

Código del sniffer

Reconstruir Zaptel, para reconocimiento de tarjeta Fxo en Asterisk (how to rebuild Zaptel for Asterisk)

El tutorial que tenemos a continuación nos es útil, en los casos en los que nuestro zaptel no nos haya reconocido nuestras tarjetas fxo, o bien el trixbox (antes asterisk@home).

En este caso usamosun sistema con las siguientes caracteristicas:
– trixbox 2.2
– kernel 2.6.9-34.0.2.EL
– S.O. el ya conocido Centos
– tarjeta fxo tipo intel x100p

Los pasos a seguir son los siguientes:
Checamos cual es la versión de nuestros módulos, esto es para saber que versión de zaptel bajar.
$rpm -qa | grep zaptel-modules

Una vez vista la versión de zaptel-modules, bajar el paquete desde el sitio digium necesario.

$cd /usr/src
$wget http://ftp.digium.com/pub/zaptel/releases/zaptel.x.x.x.tar.gz (suplantar las x por la version necesitada)
$tar xzvf zaptel.x.x.x.tar.gz
$cd zaptel
$vi README ( no hay que olvidar siempre leer este archivo )
$./install_prereq test

Después de ejecutar este último comando, nos aparecerá algo como esto:
#############################################
## test: test mode.
## Use the commands here to install your system.
#############################################
# Kernel source not found. Installing kernel-devel-2.6.9-34.0.2.EL
# if you get an error for the following command, consider
#
#yum install -y kernel kernel-devel
#
# and then reboot to upgrade to the newly installed kernel.
yum install -y libusb-devel c
#############################################
## test completed successfully
## (in test mode)
#############################################

Después de observar cuales son los requisitos para la instalación ejecutamos:
#./install_prereq install

O bien:
#yum install kernel kernel-devel newt-devel gcc libusb-devel -y

Ahora configuramos, creamos, instalamos, por último los arvhivos de inicio…
$./configure
$make
#make install
#make config

Creamos el archivo fsotune.conf
$touch /etc/fxotune.conf
$/sbin/fxotune -s

Después de ejecutar el último comando, nos devolverá algo así:
fxotune: successfully set echo coeffecients on FXO modules

Reiniciamos
#reboot

Se recomienda también realizar lo siguiente una vez reiniciado el sistema:
$ vi /usr/src/kernels/2.6.9-34.0.2.EL-i686/include/linux/spinlock.h
en la linea 407 cambiar ‘rw_lock_t por “rwlock_t”
#rebuild-zaptel

También recomendamos realizar lo siguiente por si ocurre algo como “all circuits are busy now”…
$vi /etc/asterisk/zapata.conf
cambiar en la linea donde se encuentre lo siguiente
;usedistinctiveringdetection=no
por:
usedistinctiveringdetection=yes

Generamos de nuevo el zaptel
#genzaptel -r

Terminamos.

Cómo obtener el código Ensamblador y el bytecode de un programa en Linux.

Para poder realizar esta sencilla practica necesitamos compilador GCC (Gnu Compiler Collection)

En este caso vamos a analizar la llamada al sistema execve, usando el siguiente programa:
local.c

Tenemos el programa local.c, para compilarlo usamos lo siguiente:
gcc -o local -ggdb -static local.c

Aqui usamos ggdb para poder debuggear el programa poseriormente…

Si queremos saber el codigo ensamblador que se ejecuta, usamos:
gcc -o2 -S -c local.c

Para obtener el byte code de linea por linea, usamos:
gcc -c -g -Wa local.c > local.lst

Con lo que obtendremos un listado similar a:

-----------------------------------------------------------------------
 
GAS LISTING /tmp/ccUpmVKR.s 			page 1
 
 
   1              		.file	"local.c"
   9              	.Ltext0:
  10              		.section	.rodata
  11              	.LC0:
  12 0000 2F62696E 		.string	"/bin/sh"
  12      2F736800 
  13              		.text
  14              	.globl main
  16              	main:
  17              	.LFB2:
  18              		.file 1 "local.c"
   1:local.c       **** #include <unistd.h>
   2:local.c       **** 
   3:local.c       **** int main(void){
  19              		.loc 1 3 0
  20 0000 55       		pushl	%ebp
  21              	.LCFI0:
  22 0001 89E5     		movl	%esp, %ebp
  23              	.LCFI1:
  24 0003 83EC18   		subl	$24, %esp
  25              	.LCFI2:
  26 0006 83E4F0   		andl	$-16, %esp
  27 0009 B8000000 		movl	$0, %eax
  27      00
  28 000e 83C00F   		addl	$15, %eax
  29 0011 83C00F   		addl	$15, %eax
  30 0014 C1E804   		shrl	$4, %eax
  31 0017 C1E004   		sall	$4, %eax
  32 001a 29C4     		subl	%eax, %esp
   4:local.c       **** char *arg[2];
   5:local.c       **** arg[0] = "/bin/sh";
  33              		.loc 1 5 0
  34 001c C745F800 		movl	$.LC0, -8(%ebp)
  34      000000
   6:local.c       **** arg[1] = NULL;
  35              		.loc 1 6 0
  36 0023 C745FC00 		movl	$0, -4(%ebp)
  36      000000
   7:local.c       **** execve("/bin/sh", arg, NULL);
  37              		.loc 1 7 0
  38 002a 83EC04   		subl	$4, %esp
  39 002d 6A00     		pushl	$0
  40 002f 8D45F8   		leal	-8(%ebp), %eax
  41 0032 50       		pushl	%eax
  42 0033 68000000 		pushl	$.LC0
  42      00
  43              	.LCFI3:
  44 0038 E8FCFFFF 		call	execve
  44      FF
  45 003d 83C410   		addl	$16, %esp
   8:local.c       **** 
   9:local.c       **** }
  46              		.loc 1 9 0
  47 0040 C9       		leave
  48 0041 C3       		ret
  49              	.LFE2:
  91              	.Letext0:
GAS LISTING /tmp/ccUpmVKR.s 
-----------------------------------------------------------

cheo-wimax

cheo-wimax

Farid Bielma

Página de Farid Bielma López, un buen amigo asiduo programador y entusiasta del software libre / open source.

http://www.fbielma.org

Capturando paquetes con la biblioteca Libpcap -parte I-

/**********************************************************

Programa bajo licencia GNU/GPL http://www.gnu.org/licenses/lgpl.html
Autor: Eliseo OV
Proposito: Educativo, mostrar algunas funciones de la biblioteca libpcap
y captura de 1 paquete

Requerimientos: