Copiar archivos y carpetas de un equipo a otro RCP

Posted by xaviclave | Consola | Miércoles 19 Noviembre 2008 11:13 am

Para copiar archivos de un equipo a otro en linux se utiliza el comando RCP.

# rcp origen destino

Origen /home/usuario/archivo.txt

Destino: 80.25.44.21:/home/usuario/archivo.txt

# rcp /home/usuario/archivo.txt 80.25.44.21:/home/usuario/archivo.txt

Copiaria el archivo.txt a la misma carpeta en el equipo 80.25.44.21. Al ejecutar la orden nos pedirá la contraseña de root.

Ejemplo para copiar una carpeta.

# rcp /home/usuario 80.25.44.21:/home

Copiará la carpeta usuario en el directorio home del equipo remoto.

# rcp -r /home/usuario 80.25.44.21:/home

Copiará la carpeta usuario en el directorio home del equipo remoto y todos los archivos y subcarpetas que contiene.

Cpu al 100% con Imagemagick Windows

Posted by xaviclave | Image Magick | Miércoles 12 Noviembre 2008 2:04 pm

Algunas veces con equipos lentos o procesadores de un solo núcleo al convertir una o varias imagenes con Imagemagick notamos que el procesador trabaja al 100%. Esto puede provocar bloqueos temporales en el sistema y si nuestra máquina está como servidor web todavia el desastre puede ser peor.

Normalmente tenemos instalado el paquete ImageMagick-x.x.x-x-Q16

El paquete Q16 trabaja a 16 bits por pixel y el consumo de recursos es muy alto ya que trabaja con mucha mas precisión.

Solamente por probar hemos instalado el paquete ImageMagick-x.x.x-x-Q8

Este paquete trabaja a 8 bits por pixel y en nuestras pruebas hemos podido observar que no hay una gran diferencia para imagenes de mediano tamaño pero si hemos observado un bajo consumo de CPU y memoria y al realizar varias conversiones a la vez no ha provocado problemas.

Imagen convertida a 200×200 16 bits/pixel

Imagen convertida a 200×200 8 bits/pixel

Para descargar la vesión de 8 bits x pixels Aquí

Obtener numero de serie del disco duro en Visual Basic

Posted by xaviclave | Visual Basic | Martes 11 Noviembre 2008 10:12 am

Algunas veces tendremos que proteger algún programa para que no sea copiado en Visual Basic. Con leer el número de serie del disco duro y compararlo al inicio de la ejecución será suficiente.

Para ello tendremos que activar la referéncia Microsoft Scripting Runtime y añadir un botón llamado command1 en el formulario.

El código es el siguiente:

Declaraciones:

Dim dr As Scripting.Drive ‘objeto drive
Dim FSO As New Scripting.FileSystemObject ‘Objeto Filesystemobject

Código:

Private Sub Command1_Click()
For Each dr In FSO.Drives
If UCase$(dr.DriveLetter) = “C” Then
Numerodeserie = CStr(dr.SerialNumber)
Exit For
End If
Next

MsgBox Numerodeserie

End Sub

Veis que sencillo es?

Utilización del comando CP de Linux

Posted by xaviclave | Consola | Lunes 10 Noviembre 2008 11:07 am

El comando CP se utiliza para copiar archivos o carpetas en linux.

CP origen destino

Para copiar un archivo en la misma carpeta con otro nombre

CP archivo1.c archivo2.c

Para copiar un archivo a otro directorio (con esto copiariamos archivo1.c a la carpeta /home/usuario)

CP archivo1.c /home/usuario

Para copiar un archivo manteniendo sus permisos

CP -p archivo1.c /home/usuario

Para copiar una carpeta completa con todos sus archivos y subcarpetas.

CP -r /home/usuario2/ /home/usuario2

Copiar archivos o carpetas con espacios en blanco en consola:

/home/usuario/jose maria/

Es fácil: /home/usuario/jose\ maria/

Instalación de eaccelerator en Debian

Posted by xaviclave | Instalaciones | Domingo 9 Noviembre 2008 12:48 pm

Una de las formas de mejorar sustancialmente el rendimiento de la ejecución de PHP es utilizar eaccelerator. Su funcionamiento se basa en almacenar los resultados en un caché, para evitar repetidas consultas a la base de datos y ejecución de scripts PHP.

Su instalación es bastante sencilla y la describimos a continuación paso a paso.

Antes de nada tendriamos que instalar la versión 5 de PHP. Si no la tienes actualizada puedes leer actualizar a PHP5

1- Bien, a continuación tendremos que instalar eaccelerator en Debian. Necesitaremos descargar el paquete de archivos para compilar eaccelerator.

#apt-get install php5-dev

2 - Seguidamente vamos a bajarnos eaccelerator.

#wget http://bart.eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2

3 - Extraeremos los archivos con el siguiente comando.

#tar jxvf eaccelerator-0.9.5.2.tar.bz2

Si no funciona tendremos que instalar bzip2. De lo contrario podemos pasar directamente al paso 4

#apt-get install bzip2

y volvemos al paso 3

4 - Entramos a la carpeta que nos ha creado

#cd eaccelerator-0.9.5.2

Vamos a crear la configuración necesaria.

#phpize

#./configure –enable-eaccelerator=shared –with-php-config=/usr/bin/php-config

5 - Vamos a dar las ordenes de recompilar

#make

#make install

Con ésto se completa la instalación. En caso de que Make no funcione deberemos también instalarlo, si ha funcionado correctamente pasamos a paso 6.

#apt-get install make

6 - Necesitaremos editar el archivo /etc/php5/apache2/php.ini y añadir las siguientes lineas al final.

extension=”eaccelerator.so”
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”/tmp/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″

7 - Crearemos la carpeta necesaria para el caché con los permisos correspondientes.

#mkdir /tmp/eaccelerator

#chmod 0777 /tmp/eaccelerator

8 - Y por último crearemos un archivo llamado compatible.php con el siguiente código:

<?php phpinfo(); ?>

9 - Ya podemos reiniciar el apache

#apache2ctl restart

10 - Para visualizar si se ha instalado correctamente basta con poner la dirección en el explorador http://midominio.com/compatible.php y tendriamos que ver lo siguiente un poco mas abajo.

Actualizar de PHP4 a PHP5 en Apache2 Debian

Posted by xaviclave | Actualizaciones | Domingo 9 Noviembre 2008 12:25 pm

Primero de todo vamos a desinstalar PHP4

# apt-get remove - -purge php4*

# apt-get autoremove

Y ahora vamos a instalar PHP5

# apt-get install php5 php5-mysql php5-gd php5-pgsql

Reiniciamos apache y listo.

# apache2ctl restart

Tendriamos que tener un archivo en la raiz de nuestro servidor llamado compatible.php con el siguiente código.

<?php phpinfo(); ?>

Al escribir en nuestro explorador http://midominio.com/compatible.php apareceria la cabecera con nuestra nueva versión.

Conectar via SSH con maquinas virtuales Vmware Server desde el exterior.

Posted by xaviclave | Vmware Server | Jueves 6 Noviembre 2008 11:53 am

Uno de los problemas que se nos plantea es poder conectar via SSH , FTP etc… desde el exterior a diferentes maquinas virtuales, ya que en un principio solo es accesible el equipo anfitrión.

La configuración de red de la maquina virtual es Vmnet8: /dev/vmnet8 (NAT)

/etc/network/interfaces

auto eth0
iface eth0 inet static
address 192.168.0.101
netmask 255.255.255.0
gateway 192.168.0.2
nameserver 80.58.0.33 80.58.32.97

Deberemos editar el archivo /etc/vmware/vmnet8/nat/nat.conf

[incomingtcp]

10921=192.168.0.101:21
10922=192.168.0.101:22

Ésto traducirá en tráfico que entra por el puerto 10921 del equipo anfitrión al puerto 21 (FTP) y el puerto 10922 al puerto 22 (SSH) de la maquina virtual.

Podemos añadir los que queramos.

Al conectarse deberemos especificar el puerto 10922 para acceder.

Tener varios servidores web con Vmware y una sola ip.

Posted by xaviclave | Instalaciones, Vmware Server | Jueves 6 Noviembre 2008 11:40 am

Como hemos conseguido enviar el tráfico a los servidores internos en un sistema Vmware Server bajo Debian ?

La maquina anfitrión deberá tener instalado un servidor web Apache.

Las maquinas virtuales tendrán también cada una un servidor web y estarán conectadas con 2 targetas de red Vmnet8 en una y Vmnet1 en otra.

Anfitrión

Vamos a ver la configuración de la red del anfitrión.

Ifconfig

Veremos la configuración de la red.
eth0      Link encap:Ethernet  HWaddr xxxxxxxxxx
inet addr: (Ip principal)  Bcast:(Pe principal)  Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:43002 errors:0 dropped:0 overruns:0 frame:59
TX packets:56456 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5618716 (5.3 MiB)  TX bytes:48686778 (46.4 MiB)
Interrupt:18 Base address:0xec00

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:670 errors:0 dropped:0 overruns:0 frame:0
TX packets:670 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:76958 (75.1 KiB)  TX bytes:76958 (75.1 KiB)

vmnet1    Link encap:Ethernet  HWaddr xxxxxxxxxx
inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:585 errors:0 dropped:0 overruns:0 frame:0
TX packets:2538 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

vmnet8    Link encap:Ethernet  HWaddr xxxxxxxxxx
inet addr:192.168.1.1 Bcast:192.168.1.255  Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:1738 errors:0 dropped:0 overruns:0 frame:0
TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Vmnet1 será la que se encargue de enviar el tráfico a las maquinas virtuales.

Para poder acceder a los diferentes servidores deberemos activar proxy_http

a2enmod proxy_http

El archivo etc/apache2/sitesavailable habria que añadir las siguientes lineas.

<VirtualHost *:*>

ServerName midominio.com
ServerAdmin webmaster@midominio.com

ProxyPreserveHost On
ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass               / http://192.168.0.100/
ProxyPassReverse        / http://192.168.0.100/

ErrorLog /var/log/error.log
TransferLog /var/log/access.log

</VirtualHost>

Con esto enviariamos el tráfico del dominio a la dirección interna 192.168.0.100

Podemos añadir varios mas repitiendo el proceso.

Recordar reiniciar el apache.

apache2ctl restart

Equipo vitual

Recordar que la maquina virtual tendrá 2 targetas de red.

Vmnet8: /dev/vmnet8 (NAT)

Vmnet1: /dev/vmnet1 (Host-only)

En el equipo virtual editar la siguiente configuración de red en el archivo: /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.101
netmask 255.255.255.0
gateway 192.168.0.2
nameserver 80.58.0.33 80.58.32.97

auto eth1
iface eth1 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.2
nameserver 80.58.0.33 80.58.32.97

Vemos que eth1 es la dirección por donde pasará el tráfico que viene del equipo anfitrión.

Deberiamos reiniciar la red o el sistema para que los cambios rengan efecto.

Resumen

A partir de éste momento todas las peticiones hacia midominio.com irán al equipo virtual con dirección 192.168.0.100

No se pueden enviar imagenes en Wordpress

Posted by xaviclave | Solución de errores | Martes 4 Noviembre 2008 3:16 pm

Sorry, there has been an error.
Unable to create directory /home/usuario/wp-content…. Is its parent directory writable by the server?

Bueno este es uno de los primeros problemas que me he encontrado.

La solución es:

debian:~# chmod 777 /home/servidor/wp-content/

Y ya podemos enviar imagenes como ésta

Servidor montado y funcionando

Posted by xaviclave | Instalaciones | Martes 4 Noviembre 2008 10:19 am

Ya he montado el primer servidor.

Distribución Debian + APACHE2+PHP+SQL+FTP+AWSTATS+WORDPRES

Procesador 2.66 Ghz, 128 Megas de Ram 8 Megas de disco

No es para tirar cohetes pero aqui podemos ver su estado.

Y sus estadísticas

Y encima funciona y todo.

Gracias a Forat para quien quiera montar el suyo.

De momento participamos:

Budha

Josemi4

Redribera

Xaviclave

Cada uno dispone de un servidor independiente con un procesador de 2.8 Ghz 128 megas de memoria y 8 gigas de disco.

Bueno a ver si os animais a hacer el vuestro e iremos explicando los problemas que nos vayan surgiendo.

Actiweb topsites