lunes, marzo 23, 2009

Permitiendo acceso de apache-php a postgresql con SElinux

para que puedas tener acceso a postgresql desde tus aplicaciones en apache-php y tener levantado SElinux es necesario habilitar la siguiente opcion:


/sbin/setsebool -P httpd_can_network_connect_db 1

domingo, marzo 22, 2009

jueves, marzo 19, 2009

Instalación y configuración básica de vsftpf en fedora

Instalación del paquete vsftpd

yum -y install vsftpd

Para realizar la activación de acceso al home de los usuarios

/usr/sbin/setsebool -P ftp_home_dir 1

Comandos para la ejecución del servicio de vsftpd

/sbin/service vsftpd {start|stop|restart|condrestart|status}

viernes, enero 30, 2009

Evitar el Reinicio Automático en Windows despues de una actualizacion automatica

Para corregir este comportamiento, sólo hay que hacer un sencillo cambio en el editor de directivas del sistema. Para abrirlo, nos dirigimos al menú Inicio/Ejecutar y escribimos en la línea de comando gpedit.msc, tras los que pulsaremos Enter.

En la parte izquierda de la ventana del editor, nos dirigimos a Configuración de equipo/Plantillas administrativas/Componentes de Windows/Windows Update. Aparecerán una serie de opciones en el lateral izquierdo, de entre las que seleccionaremos No reiniciar automáticamente en instalaciones de Actualizaciones automáticas.

Seguidamente, en el nuevo cuadro de diálogo que surge, marcamos la casilla Habilitada, a fin de desactivar el reinicio. Finalmente, aceptamos y salimos del editor, habiendo conseguido salvar nuestro trabajo de innecesarios cortes en la sesión.

Como desintalar messenger 4.7 integrado de windows xp

RunDll32 advpack.dll,LaunchINFSection %windir%\INF\msmsgs.inf,BLC.Remove

Como hacer un respaldo de base de datos en PostgreSQL


pg_dump -cDOx -h“ipServidorPostgresql” -U“nombreDeUsuarioBaseDatos”
-W “nombreDeBaseDatos” > respaldo.`date +%F`.sql


Parametros:
  • c - crea comandos para la limpieza de la estructura de la base de datos
  • D - crea comandos de inserta datos con lo nombre de columnas
  • O - no regenera los permisos de los objetos
  • x - no carga los permisos de grant / revoke
Expliaciones:
  • -cDOx (respaldo en bruto):
  • -cD (respaldo mas aconciencia):
  • -h“ipServidorPostgresql”, por default simpre dejamos este valor de la siguiente forma: localhost
  • -U“nombreDeUsuarioBaseDatos”, usuario con privilegios de administrador
  • “nombreDeBaseDatos”, nombre de la base de datos a respaldar

jueves, enero 29, 2009

Problemas de Acentos y carácteres - Publicación Web

Para solucionar este problema al momento de publicar algo en apache2, php 5, PostgreSQL 8.x
hay que agregar en:

/var/lib/locales/supported.d/local

las lineas:

es_ES@euro ISO-8859-15
es_ES ISO-8859-1

y luego ejecutar:
sudo dpkg-reconfigure locales

Para reconfigurar las locales. Ya terminado esto hay que colocar la instruccion de php:
setlocale(LC_ALL, ‘es_ES’);
al iniciar nuestros archivos para que regresen con la codificación que necesitamos

Configurar PostgreSQL en Windows

Inicializar la bade de datos:


pgsql\bin\initdb -D “pgsql\data” -E “SQL_ASCII” –no-locale -U usuariosql -W

Registrar servicio de PostgreSQL en Windows


pgsql\bin\pg_ctl register -N “PostgreSQL 8.2″ -D “pgsql\data” -l “pgsql\data\pgsql.log”

Arrancar el motor de base de datos


pgsql\bin\pg_ctl start -N “PostgreSQL 8.2″ -D “pgsql\data” -l “pgsql\data\pgsql.log”

Detener el motor de base de datos


pgsql\bin\pg_ctl stop -N “PostgreSQL 8.2″ -D “pgsql\data” -l “pgsql\data\pgsql.log”

Guia de Referencia Data Base Progress

Ebook

* http://jcsantiagous.googlepages.com/ProgressLanguajeReference.pdf

Archivos de Ejemplo

* http://jcsantiagous.googlepages.com/prodoc.zip

Compartir internet con iptable en linux


#!/bin/sh

echo -n "Aplicando Reglas de Firewall...\n"

## FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

## Establecemos politica por defecto
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

# Con esto permitimos hacer forward de paquetes en el firewall, o sea
# que otras máquinas puedan salir a traves del firewall.
# habilito el ip forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# Redirecciona puertos a la ip que se necesite para el origen
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to 10.0.0.23:8080

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -d 10.0.0.0/24 -j ACCEPT
iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT
iptables -P FORWARD DROP

echo -n

Instalar PostgreSQL en Windows Vista

1. Dar click en el botón de inicio
2. teclar “cmd” (sin las comillas)
3. Presionar CTRL + SHIFT + ENTER. Luego de esto nos solicita confirmar que queremos ejecutar como administrador, damos clic en Continuar.
4. Nos aparece la ventana de comandos en modo administrador.
5. Ir al directorio donde se encuentran los archivos de instalación y ejecutar:

  • msiexec /package postgresql-8.2.msi (eso en mi caso por instalar la 8.2, para otras versiones debe variar el número de versión).

6. Listo, arranca el instalador y deja crear las cuentas para el servicio postgres y ejecutar el servidor sin problemas.

Como ver que aplicaciones se estan conectando a internet

Para eso es necesario abrir una ventana de Simbolo de sistemas y ejecutar el siguiente comando:
netstat -banvo
esto te mostrar el nombre nombre de aplicacion, la ip y el puerto a donde esta conectando

Instrucciones en Linea de Comandos (Win XP)

En Windows XP hay muchisimos comandos útiles, pero lo malo de todo esto es su gran desconocimiento. Para poder utilizarlos, debemos abrir la consola de comandos, o la ventanita de MS-dos. En Windows XP, por ejemplo, podemos acceder a ella clickando en:

Inicio –> Ejecutar –>cmd o bien pulsando la tecla “Windows + R

Con todos estos comandos, tambien podemos solicitar una ayuda, añadiendo uno de los siguiente parámetros: /? - /h a nuestra llamada.

Comandos de Archivos y sistemas de ficheros

cacls - Permite modificar los permisos de lectura y escritura en ficheros y carpetas
chkdsk
- Comprueba el estado de una partición y repara los daños en caso de que encuentre alguno. Sin parámetros simplemente escanea e informa de errores. Para que además repare, añadimos el parámetro /F: chkdsk /F
cipher
- Cifrado de datos en particiones NTFS
comp - Compara archivos o carpetas y muestra las diferencias existentes entre ellos
compact - Compresor de archivos. El parámetro para la compresión es /C, el parámetro para descomprimir es /U
convert - Conversor de particiones, convierte particiones FAT16 o FAT32 en particiones NTFS sin perdida de datos
defrag - Defragmentador de archivos
diskpart - Permite crear, eliminar y administrar particiones. Este programa en modo consola debemos utilizarlo con cuidado puesto que es fácil que eliminemos sin darnos cuenta todo el contenido del disco duro o de la partición activa
find y findstr - Comandos de busqueda de ficheros. findstr permite buscar cadenas de caracteres dentro de los archivos
iexpress - Asistente para crear comprimidos .CAB
openfiles - Muestra a un administrador los archivos abiertos en un sistema y permite desconectarlos si se han abierto a través de red

Comandos de Configuración e información del sistema

bootcfg - Configurador de arranque. Simplemente modfica el archivo boot.ini para indicar opciones de arranque
control userpasswords2 - Permite modificar las claves y los permisos de los diferentes usuarios, así como requerir la pulsación de control+alt+suprimir para poder iniciar sesión, haciendo el inicio de sesión más seguro
driverquery - Crea un informe sobre los dirvers instalados en el sistema. Muestra además información detallada de cada uno
dxdiag - Herramenta de diagnóstico de DirectX
gpresult - Información de las políticas de grupo aplicadas a un usuario
gpupdate - Actualizar las politicas de grupo
pagefileconfig - Configuración de la memoria virtual de Windows
prncnfg - Información sobre las impresoras instaladas
prnjobs - Información sobre los trabajos de impresión en cola
reg - Permite ver y modificar valores del registro de Windows. Opciones posibles:
  • reg query: consulta en el registro
  • reg add: añadir entrada
  • reg delete: eliminar entrada
  • reg copy: copiar clave en otro lugar del registro
  • reg save: guardar parte del registro
  • reg restore: restaura el registro
  • reg load: cargar valor o clave desde un archivo .reg
  • reg unload: descargar valor o clave
  • reg compare: comparar valores de registro
  • reg export: exportar registro a un archivo
  • reg import: importar registro a un archivo

sc - Administrador de servicios, podemos detenerlos, ejecutarlos, etc
sfc - Este comando permite buscar archivos del sistema dañados y recuperarlos en caso de que estén defectuosos (es necesario el CD de instalación del sistema operativo para utilizarlo). Para realizar una comprobación inmediata, deberemos ejecutar la orden sfc /scannow
systeminfo - Muestra información sobre nuestro equipo y nuestro sistema operativo: número de procesadores, tipo de sistema, actualizaciones instaladas, etc
taskkill - Permite matar procesos conociendo su nombre o su numero de proceso (PID)
Tasklist - Informe sobre los procesos ejecutados en el sistema

Comandos de Redes

arp - Muestra y permite modificar las tablas del protocolo ARP, encargado de convertir las direcciones IP de cada ordenador en direcciones MAC (dirección física única de cada tarjeta de red)
ftp - Cliente FTP en modo consola de comandos
getmac - Muestra las direcciones MAC de los adaptadores de red que tengamos instalados en el sistema
ipconfig - Muestra y permite renovar la configuración de todos los interfaces de red
nbtstat - Muestra las estadísticas y las conexiones actuales del protocolo NetBIOS sobre TCP/IP, los recursos compartidos y los recursos que son accesibles
net - Permite administrar usuarios, carpetas compartidas, servicios, etc. Para un listado completo de todas las opciones, escribir net sin ningún argumento. Para obtener ayuda sobre alguna opción en concreto, escribier net help opción
netsh - Programa en modo consola permite ver, modificar y diagnosticar la configuración de la red
netstat - Información sobre las conexiones de red de nuestro equipo
nslookup - Aplicación de red orientada a obtener información en los servidores DNS sobre un host en concreto
pathping - Muestra la ruta que sigue cada paquete para llegar a una IP determinada, el tiempo de respuesta de cada uno de los nodos por los que pasa y las estadísticas de cada uno de ellos
ping - Comando para comprobar si una máquina está en red o no
rasdial - Permite establecer o finalizar una conexión telefónica
route - Permite ver o modificar las tablas de enrutamiento de red
tracert - Informa sobre el camino que siguen los paquetes IP desde que sale de nuestra máquina hasta que llega a su destino

Comandos Miscelanea

at - Permite programar tareas para que nuestro ordenador las ejecute en una fecha o en un momento determinado
logoff - Comando para cerrar sesiones, incluso en equpos remotos
msg - Envía mensajes por la red a otros equipos
msiexec - Comando para ejecutar archivos de instalación .MSI
runas - Ejecución de programas como si fueras otro usuario
shctasks - Administrador de tareas programadas
shutdown - Comando para apagar, reiniciar el equipo. Es especialmente útil si hemos sido infectado con el virus Blaster o una de sus variantes para cancelar la cuenta atrás. Para ello, tan sólo tendremos que utilizar la sintaxis shutdown -a

Comandos de Microsoft Management Console (MMC)

Los siguientes comandos no son más que los accesos a cada sección de la MMC, que lanzarán una interfaz gráfica.

ciadv.msc - Permite configurar el servicio de indexado, que acelera las búsquedas en el disco duro
compmgmt.msc - Da acceso a la Administración de equipos, desde donde podemos configurar nuestro ordenador y acceder a otras partes de la MMC
devmgmt.msc - Administrador de dispositivos
dfrg.msc - Defragmentador de disco
diskmgmt.msc - Administrador de discos
fsmgmt.msc - Monitorización y Administración de los recursos compartidos
gpedit.msc - Políticas de grupo
lusrmgr.msc - Administración de usuarios
ntmsmgr.msc - Administración de dispositivos de almacenamiento extraibles
ntmsoprq.msc - Monitorización de las solicitudes de operador de medios extraibles
perfmon.msc - Monitor de sistema
secpol.msc - Configuración de seguridad local
services.msc - Administrador de servicios
wmimgmt.msc - Administador de WMI

scripts para borrar Mailbox en cyrus

Script: borrar_usuario.pl


#!/usr/bin/perl -w
## Borra Mailbox y usuarios de cyrus##

if ($#ARGV < 0) {
print "Uso: $0 username\n";
print "Borra Mailbox y usuarios de cyrus\n";
exit(-1);
}

my $username = $ARGV[0];
my $adminuser = "cyrus";
my $adminpw = "correo";
my $server = "localhost";

use Cyrus::IMAP::Admin;

# Conectando con Cyrus
$imap = Cyrus::IMAP::Admin->new($server)
|| die "Conexion rechazada con el servidor $server";

if (! $imap) {
die "Error al crear Objeto de conexion IMAP\n";
}

$imap->authenticate(-user => $adminuser,
-mechanism => "LOGIN",
-password => $adminpw,);

if ($imap->error) {
print "ERROR: " . $imap->error . "\n";
exit(-1);
}

print "Conexion satisfactoria con el servidor IMAP.\n";

# Verifica la existencia del mailbox
if (! $imap->listmailbox("user.$username")) {
print "ERROR: Mailbox 'user.$username' No existe \n";
exit(-1);
}

# Se obtenienen permisos de borrado sobre el mailbox
$imap->setaclmailbox("user.$username", "cyrus", "c");
if ($imap->error) {
print "ERROR: " . $imap->error . "\n";
exit(-1);
}

# Borrar el mailbox
$imap->deletemailbox("user.$username");
if ($imap->error) {
print "ERROR: " . $imap->error . "\n";
exit(-1);
}

system "saslpasswd2 -d $username";
print "Borrado satisfactorio del mailbox 'user.$username'\n";

Significado de carpetas en un sistema de archivos Linux

En un sistema Unix, todo es un archivo; Si algo no es un archivo, es un proceso.

¿Sabias que significa cada una de las carpetas en un sistema de archivos Linux?. A diferencia de Windows, en Linux los archivos y carpetas se organizan de manera diferente, en Windows cuando instalamos un programa se crea una carpeta donde estarán todos los archivos del programas, en Linux en cambio, la idea es agrupar en carpetas archivos con fines similares, es decir en un sectores todos los ejecutables, en otro las librerías, en otro las configuraciones, etc.

  • / (raíz): Es el nivel más alto dentro de la jerarquía de directorios. De aquí cuelgan el resto de carpetas, particiones y otros dispositivos. Es por esto que donde se instala el sistema, se selecciona la partición deseada y se le indica que el punto de montaje es justamente /.
  • /bin (binarios): Los binarios son los ejecutables de Linux. Aquí tendremos los ejecutables de los programas propios del sistema operativo, entre ellos comandos como cp, mv, cat, chown, etc. No es el único directorio que contiene ejecutables como veremos más adelante.
  • /boot (arranque): Aquí nos encontramos los archivos necesarios para el inicio del sistema, desde los archivos de configuración de Grub Lilo, hasta el propio kernel del sistema.
  • /dev (dispositivos): Linux se basa en la simpleza y en el tratamiento homogéneo de la información. Linux trata los dispositivos como si fueran un fichero más para facilitar el flujo de la información. En esta carpeta tenéis los dispositivos del sistema, por ejemplo los usb, sda (o hda) con sus respectivos números que indican las particiones, etc.
  • /etc (etcétera): Aquí se guardan los ficheros de configuración de los programas instalados, así como ciertos scripts que se ejecutan en el inicio del sistema. Los valores de estos ficheros de configuración pueden ser complementados o sustituidos por los ficheros de configuración de usuario que cada uno tiene en su respectivo “home” (carpeta personal).
  • /home (hogar): Este hogar no es más que un directorio que a su vez contiene otros, uno por cada usuario dado de alta en el sistema. Dentro de dichos directorios es donde el usuario tiene su carpeta personal, donde están los ficheros de configuración de usuario, así como los archivos personales del mismo que puede crear, modificar y eliminar bajo su propio criterio.
  • /lib (bibliotecas): Contiene las bibliotecas (tambien mal conocidas como librerías) del sistema, así como módulos y controladores (drivers).
  • /lost+found (perdido y encontrado): Es una carpeta que nos podemos encontrar en todas las particiones. Cuando por cualquier circunstancia se cierra mal el sistema (un apagón por ejemplo), cuando éste se reinicie comprobaréis que se llamará al programa fsck para restaurar la integridad del sistema de ficheros. En esta carpeta encontraremos la información que se mal-guardó debido a la incidencia.
  • /media (media/medios): Es donde se montan las unidades extraíbles como los dispositivos USB, disqueteras, unidades de CD/DVD y en algunas distros, como Ubuntu, las particiones adicionales.
  • /mnt (montajes): Es un directorio que se suele usar para montajes temporales de unidades.
  • /opt (opcionales): Destinado para guardar paquetes adicionales de aplicaciones.
  • /proc: Información para la virtualización del sistema de ficheros de Linux.
  • /root: Es el /home del administrador. Es el único /home que no está incluido -por defecto- en el directorio anteriormente mencionado.
  • /sbin (binarios de sistema): Son los ejecutables de administración, tales como mount, umount, shutdown…
  • /srv (servicios): Información del sistema sobre ciertos servicios que ofrece (FTP, HTTP…).
  • /sys (sistema): Información sobre los dispositivos tal y como los ve el kernel Linux.
  • /tmp (temporales): Es un directorio donde se almacenan ficheros temporales. Cada vez que se inicia el sistema este directorio se limpia.
  • /usr: Es el directorio padre de otros subdirectorios de importancia:
    • /usr/bin: Conjunto de ejecutables de la mayoría de aplicaciones de escritorio entre otras (por ejemplo firefox).
    • /usr/include: Los ficheros cabeceras para C y C++.
    • /usr/lib: Las bibliotecas para C y C++.
    • /usr/local: Es otro nivel dentro que ofrece una jerarquía parecida al propio diretorio /usr.
    • /usr/sbin: Otra serie de comandos administrativos para el sistema.
    • /usr/share: Archivos compartidos como ficheros de configuración, imágenes, iconos, etc.
    • /usr/src: Tiene en su interior el código fuente para el kernel LInux.
  • /var: Ficheros de sistema como el buffer de impresión, logs…
    • /var/cache: Se almacenan datos cacheados para las aplicaciones.
    • /var/lib: Información sobre el estado actual de las aplicaciones, modificable por las propias aplicaciones.
    • /var/lock: Ficheros que se encargan de que un recurso sólo sea usado por una aplicación determinada que ha pedido su exclusividad, hasta que ésta lo libere.
    • /var/log: Es uno de los subdirectorios más importantes ya que aquí se guardan todo tipo de logs del sistema.
    • /var/mail: Los correos de los usuarios.
    • /var/opt: Datos usados por los paquetes almacenados en /opt.
    • /var/run: Información sobre el sistema desde que se inició.
    • /var/spool: Datos esperando a que sean tratados por algún tipo de proceso.
    • /var/tmp: Otro fichero temporal.

Configurar un DNS con IP dinamica en Ubuntu usando DynDNS

Crearemos el directorio bin, el directorio dyndns y el script:


mkdir ~/bin
mkdir ~/.dyndns
touch ~/bin/dyndns-update.sh
chmod 700 ~/bin/dyndns-update.sh
vi ~/bin/dyndns-update.sh

#!/bin/sh
USERNAME=yourusername
PASSWORD=yourpassword
HOSTNAME=your.domain.name
cd ~/.dyndns
if [ -f ~/.dyndns/ipcheck.dat ]; then
/usr/sbin/ipcheck -r checkip.dyndns.org:8245 \
$USERNAME $PASSWORD $HOSTNAME
else
/usr/sbin/ipcheck –makedat -r checkip.dyndns.org:8245 \
$USERNAME $PASSWORD $HOSTNAME
fi


A continuación agregamos la tarea de actualización a nuestro crontab
crontab -e

Y agregamos la siguiente linea para que se ejecute el script diariamente y asi se actualize la informacion de la ip en nuestra cuenta de DynDNS
* 6 * * * 
bin/dyndns-update.sh

Buscar y Sustituir cadenas en archivos recursivamente con PERL

buscaremos y reemplazaremos en todos los archivos con la extension .html y .php del directorio actual y en sus subcarpetas.


perl -p -i -e ’s[loquebusco][porloquereemplazo]‘
`find ./ \( -name “*.html” -o -name “*.php” \)`;

Advanced Bash-Scripting Guide

Advanced Bash-Scripting Guide
http://tldp.org/LDP/abs/html/

Como instalar Trac en Ubuntu

Una muy buena forma de llevar el control de desarrollo de una proyecto, es tener un control de versiones, en este caso no podemos ayudar del una muy buena combinación de programa s como es Trac y Subversion, ademas de montarlos en un buen sistema operativo: UBUNTU, a continuacion estan varias ligas que nos pueden ser de mucha ayuda para hacer la instalacion:

Doc. oficial de Trac:
http://trac.edgewall.org/wiki/TracOnUbuntu

Phillip@swarchy:
http://philipatswarchy.wordpress.com/2006/12/17/how-to-install-trac-on-ubuntu/

InstallationWiki:
http://www.installationwiki.org/Installing_Trac_and_Subversion