Archive for the ‘servidor’ Category

Mason HQ:módulos de Apache para embeber Perl

March 2, 2008

Con mason HQ es posible embeber Perl en codigo html.

Ejemplo simple:

Consider this simple Mason component:

    % my $noun = 'World';
Hello !
How are you?

The output of this component is:

    Hello World!
How are you?

El "embedded" tag retorna el valor de la evaluacion de la expresion perl.

Other web server light: lighthttpd

February 22, 2008

http://www.lighttpd.net/

Open source licensed.

Estos pasos son tomados de: http://www.pensandoenred.com/2008/02/10/instalacion-de-lighttpd-pronunciado-lighty/

Descargamos y descomprimimos Lighttpd:

wget http://www.lighttpd.net/download/lighttpd-1.5.0-r1992.tar.gz
tar xvzf lighttpd-1.5.0-r1992.tar.gz
cd lighttpd-1.5.0/

Configuramos:

./configure
make
make install

// Copiamos el directorio de los sources de lighttpd en /usr/src por seguridad, por si necesitamos
desinstalarlo y demás algún día.

cp lighttpd-1.5.0 /usr/src/ -R

Ahora vamos a crear el directorio de configuración si no existe (/etc/lighttpd) y copiar en el el fichero principal de configuración, que se encuentra entre los directorios del código fuente

mkdir /etc/lighttpd
cp doc/lighttpd.conf /etc/lighttpd/

Vamos a editar el fichero lighttpd.conf y ver las partes más importantes.

nano /etc/lighttpd/lighttpd.conf

Módulos del servidor:

Se estrablecen los módulos activos dentro de la directiva server.modules(), de esta forma:

server.modules = (”mod_rewrite”,”mod_alias”,”mod_accesslog”)

De momento utilizaremos solo estos modulos. mod_rewrite para las normas de rewrite, mod_alias para los alias del servidor, mod_access para denegar el acceso a ciertos archivos y mod_accesslog para los log de acceso y error.

Configuración básica del servidor:

server.document-root = “/home/web/htdocs” # Directorio raiz del servidor
server.errorlog = “/var/log/lighttpd/error.log” # Archivo de log de errores
index-file.names = ( “index.phtml”, “index.php” ) # Archivos de índice y su orden.
accesslog.filename = “/var/log/lighttpd/access.log” # Log de acceso del servidor.
url.access-deny = ( “~”, “.inc” ) # Deniega la descarga de los archivos con las extensiones indicadas.
static-file.exclude-extensions = ( “.php”, “.phtml”) # Extensiones que el servidor tratará como dinámicas.
#server.port = 81 # Puerto por defecto. Si está comentado usa el 80
#server.bind = “grisu.home.kneschke.de” # Host del que escuchará peticiones por defecto. Si está comentado acepta todos.
server.error-handler-404 = “/missing.phtml” # Archivo que mostrará cuando se produzca un error 404 (No se encuentra la página)

Para empezar, con estas opciones nos vale.
Importante:
Si queremos incluir algun fichero;

include “lighttpd-inc.conf”

El fichero debe estar situado en /etc/lighttpd/

Por último, vamos a configurar nuestro servidor para que funcionen las páginas en php 5. Para ello necesitamos instalar el paquete php5-cgi y activar el módulo “mod_proxy_backend_fastcgi”.

apt-get install php5-cgi

Para que todo funcione aún mejor, añadimos al fichero php.ini de /etc/php5/cgi la siguiente linea:

server.modules = (”mod_rewrite”,”mod_alias”,”mod_accesslog”,”mod_proxy_backend_fastcgi”,”mod_proxy_core”,)

Y ahora configuramos el módulo:

$PHYSICAL[”existing-path”] =~ “.php$” {
proxy-core.allow-x-sendfile = “enable”
proxy-core.protocol = “fastcgi”
proxy-core.backends = ( “unix:/tmp/php-fastcgi.sock” )
proxy-core.max-pool-size = 16
}

En nuestro caso, como tambien utilizamos archivos phtml haremos una copia:

$PHYSICAL[”existing-path”] =~ “.phtml$” {
proxy-core.allow-x-sendfile = “enable”
proxy-core.protocol = “fastcgi”
proxy-core.backends = ( “unix:/tmp/php-fastcgi.sock” )
proxy-core.max-pool-size = 16
}

*Importante: por último para que se lanzen los procesos php ejecutar desde un script: spawn-fcgi -s /tmp/php-fastcgi.sock -f /usr/bin/php-cgi -u www-data -g www-data -C 5 -P /var/run/spawn-fcgi.pid

Otros detalles “sin importancia”:

modulo rewrite: Son totalmente convertibles las máscaras del rewrite de apache a lighttpd sin demasiado esfuerzo, solo cambia la sintaxis dentro de lighttpd.conf (mejor hacer un include)
más info acerca del rewrite en: http://trac.lighttpd.net/trac/wiki/Docs%3AModRewrite

modulo alias: Creas alias virtuales para poder acceder a directorios que estan fuera del docroot (por ejemplo) o acortar rutas (por ejemplo tambien)

Ejemplo: alias.url = ( “/cgi-bin/” => “”/home/web/htdocs/rg/cgi-bin/” )

Ya tenemos un servidor lighttpd sencillo que soporta procesa php.

Web server en java: NanoHTTPD y mp3HTTPD (mp3 streaming)

February 9, 2008

NanoHTTPD es un servidor web escrito en java y es de un solo archivo. Muy sencillo y ademas un buen ejemplo de como programar servidores en java.

Para correrlo en linux se ejecuta lo siguiente:

Linux binary: run gcj -o nanohttpd NanoHTTPD.java –main=NanoHTTPD

Yo lo probe en puppy linux previamente compilado (de hecho lo compile en un entorno windows y lo corri en el puppy sin ningun problema) usando jamvm NanoHTTPD

Mp3HTTPD is a tiny special purpose HTTP server for MP3 streaming. Esta basado en NanoHTTPD, y se ejecuta de la misma forma que el NanoHTTPD.

http://elonen.iki.fi/code/nanohttpd/

http://elonen.iki.fi/code/nanohttpd/mp3httpd.html


Servidor Web GHTTPD en puppy linux

December 4, 2007

Este sencillo pero potente servidor web anda a las mil maravillas en puppy linux sobre un pentium I, una maquina que debo reconocer es algo anticuada pero con puppy rejuvenecio unos cuantos años.

La forma de conseguir el GHTTPD tambien conocido como gaztek httpd es:

http://gaztek.sourceforge.net/index.html

Otro web server basado en java que he probado puppy linux

November 3, 2007

Otro web server que corri sobre un pentium I con puppy linux, me baje el .class y lo corri con jamvm y funciono perfectamente.

http://fizmez.com/?useCase=viewProduct&product=webServer

Corriendo un servidor web hecho en java sobre puppy linux

November 3, 2007

Ahora he probado un servidor web hecho en java sobre un pentium I corriendo puppy linux. Puppy no trae por default la maquina virtual de java, asi que baje una de install pet que se llama JamVM, importe los .class que habia ya generado en una maquina windows (pude haber compilado sobre linux pero ya eso lo hare luego) y desde la consola ejecute:

jamvm NanoHTTPD

eso es todo.

Esto es lo maravilloso de java: es multiplataforma, con la maquina virtual y los .class se puede correr en cualquier sistema operativo y en cualquier equipo que tenga la maquina virtual (por suspuesto).

Con esto queda demostrado que una maquina tan pauperima como esta puede correr tres tipos de servidores web:

1.- XAMPP (apache, fillezilla, MySQL y servidor SMTP y POP3)
2.- Monkey web server (compatible con PHP y MySQL)
3.- Y ahora una amplia gama de servidores web desarrollados en java.

Ahora hablemos un poco de JamVM:

JamVm es una maquina virtual java GNU y ligera, motivo por el cual fue escogida para puppy linux, aqui dejo algunas referencias que encontre en su pagina web: http://jamvm.sourceforge.net/

Latest version is JamVM 1.5.0, released on 28th October 2007. See the release notes for the changes since 1.4.5.

JamVM is a new Java Virtual Machine which conforms to the JVM specification version 2 (blue book). In comparison to most other VM’s (free and commercial) it is extremely small, with a stripped executable on PowerPC of only ~180K, and Intel 150K. However, unlike other small VMs (e.g. KVM) it is designed to support the full specification, and includes support for object finalisation, Soft/Weak/Phantom References, class-unloading, the Java Native Interface (JNI) and the Reflection API.

You can download the latest release of JamVM from the download area or have a look at the project summary page. This contains links to the public forums and facilities for bug reporting and feature requests.

Probando un web server muy pequeño hecho en java: NanoHTTPD

November 2, 2007

NanoHTTPD A free, simple, tiny (1 java file!), nicely embeddable HTTP server in Java.

Lo consiguen por aqui:

http://elonen.iki.fi/code/nanohttpd/

Tienen un ejecutable en la misma web, preferi bajarme el .java y estudiarlo un poco, luego lo compile con:

javac NanoHTTPD.java

Para ejecutar:

java NanoHTTPD

Y listo, funciona de maravilla como servidor web. La prueba la hice con una maquina con windows xp, hay un detalle que no se por que pasa: solo se visualiza desde mozilla firefox, no desde internet explorer.

Proximo paso: compilarlo en algun sistema linux minimalista con gcj a ver que pasa, creo que lo hare en puppy linux y damn small linux, ya lo publicare. Me parece que es una opcion muy buena, pero hay que agregarle algo de seguridad adicional. Anteriormente he probado sobre estos mini distros el xampp y el monkey web server.

Open Web Servers in java

November 2, 2007

http://java-source.net/open-source/web-servers

Esta es una lista util e interesante sobre servidores web construidos a partir de java, algunos son tan pequeños que son bien utiles como servidores web embebidos.

Tambien consegui el jaminid, tambien es otro web server especial para “embedded systems”, lo consiguen por aqui:

http://jaminid.sourceforge.net/

Proximo paso probar algunos de estos web server.

como montar un web server en Puppy Linux

October 19, 2007

En puppy linux se puede instalar un servidor apache muy funcional y sencillo, el paquete se llama xampp, lo pueden bajar de:

http://www.apachefriends.org/en/xampp.html

Version para linux, existen varias, asi que deben buscar en sourceforge hasta que den con la 1.5.5a la cual esta probada que si funciona bien en puppy y con maquinas viejitas (lo tengo activo en un pentium I), luego lo desempaquetan con:

tar xvfz xampp-linux-1.6.4.tar.gz -C /opt

Para activarlo deben estar como superuser:

su
chmod 755 /opt/lampp/lampp

Arranque:

/opt/lampp/lampp start

Eso es todo.

Pillen esto, esta muy interesante, para servidor web se puede usar XAMPP, lo tome de:

http://www.murga-linux.com/puppy/viewtopic.php?t=21550

Extraido textual:

Como hay dificultad a veces tener un linux en castellano, decidí hacer
todo esto para facilitar la vida a los demás que tuviesen el mismo problema.
Y para ello he hecho todo esto.

A partir del iso:

puppy-2.13-seamonkey-fulldrivers.iso

y de los paquetes de idioma castellano:

langpack-es-213-fix-05feb7.pup
Unofficial-langpack-es-213.pup

y agregandole el paquete de Midnight Commander

que obtuve siguiendo los download de puppy
y los foros de este mismo, he generado el siguiente iso castellano:

puppy-2.13-seamonkey-fulldrivers-es.iso

Y a partir de éste, he generado este otro, que difiere en la
cantidad de ttys que pueden usarse (tty2 a la 6), cambiando
LANG a es_AR, los permisos del directorio de /tmp y forzando
en el modo de caracteres a la elección de TERM=linux en vez
de xterm como estaba, al cual le tuve que poner la modificación
propuesta por un usuario (andrei) para el archivo snapmergepuppy
porque cuando funcionaba en un pen drive, los archivos los
copiaba sin el propietario, el cual pasaba a ser root y provocaba
que nunca funcionase en ciertas condiciones:

puppy-2.13-seamonkey-fulldrivers-es-ttys.iso

Esto hizo que mayormente los menúes y programas ya pasen a castellano.

Finalmente, necesitaba un linux portátil que tuviera herramientas
de programación web, Se agregó en el PATH los ejecutables de xampp
como /opt/lampp/bin. Y al arrancar puppy hago ejecutar el script
para que inicialice apache y mysql. Lo mismo pero a la inversa, al
apagarse. De paso, en htdocs también puse al portal hecho con
Postnuke en el directorio “pn” con un montón de módulos y bloques:

puppy-2.13-seamonkey-fulldrivers-es-ttys-xampp.iso

Si no te interesa programar con html y php, te recimendo que solo
bajes puppy-2.13-seamonkey-fulldrivers-es-ttys.iso

Lugares de donde obtuve los parches y programas:

Foro de murga-linux:
Hecho por el usuario WOW:
langpack-es-213-fix-05feb07.pup desde http://www.murga-linux.com/puppy/viewtopic.php?mode=attach&id=3220

Unofficial-langpack-es-213.pup desde ftp://puppy:linux@ftp.servage.net/Localization-project/spanish/puppy-213/Unofficial-langpack-es-213.pup

Midnight Commander desde http://dotpups.de/dotpups/File_Managers/Midnight.Commander.Plus.pup

XAMPP desde http://www.apachefriends.org/es/xampp.html y en particular la versión 1.5.5a

snapmergepuppy desde http://www.murga-linux.com/puppy/viewtopic.php?mode=attach&id=3466
por el usuario andrei desde el foro murga-linux

Postnuke 7.6.4 desde dev-postnuke.com, como así también bloques y módulos ya integrados en el directorio pn.
PostNuke-0.764+lang_Spa.zip

Bloques para Postnuke 7.6.4:
dp-Block[StaffStatusLite_1.2].zip
dp-ContactUs_0_1_horizontal.tgz
dp-Visitas_0_1.zip
pnCalculadora-v01.zip

Módulos para Postnuke 7.6.4:
dpUpload_v0.2.tgz
dp-Mod[Calendar_0.2].zip
dp-Mod[Docs_0.3].zip
dp-Mod[PrvMsg_1.1].zip
dp-Mod[StaffStatus_2.1-pn0760].zip
dp-Mod[Welcome_0.1].zip
dpPHPFreeChat.zip
htmlpages_2.1.tgz
pnEasyNews.zip
PostWrap_2_5.zip
PNphpBB2-1.2i-patch3-diff.tar.gz
PNphpBB2_1.2i_Spanish.tar.gz
PNphpBB2_1.2i.tar.gz
PNphpBB2_1.2i.tar.gz.md5
hpnPostCards.tgz
pnWebLog_0.40.tar.gz
pnWebLog_0.40-spa.tgz

Todo se encuentra en el directorio “archivos”

He cambiado el fondo de pantalla por uno que se ve la imagen
satelital nocturna de Buenos Aires y alrededores, que incluye a
la ciudad de La Plata.

Espero que todo le sirva. No doy ningún tipo de garantías.
Sólo puedo decir que en mi caso, todo me funcionó, aunque hay cosas
que todavía debo resolver. A otras personas todo esto puede fallarles
o corromperles datos, no lo sé. Úsenlo con precaución.

Alejandro Fernández

Upload de archivos en ASP

October 19, 2007

Extraido de: http://soloasp.com.ar/vereje.asp?eje=51

Upload de archivos

Permitirle al cliente subirle archivos al servidor es algo muy comun y cada vez mas necesario para que los sitios web sean mas dinámicos y configurables. Veremos una solucion rapida para realizar esta misión

Existen componentes para realizar la tarea (algunos muy buenos y recomendables) pero si no queremos hacer uso de ellos porque no siempre nuestro hosting permite instalarlos (algunas veces hay que pagar adicinonales), podemos hacer un upload por ASP PURO

Para el ejemplo, vamos a usar un script que lo pueden Descargar Aqui
El ZIP contiene 2 archivos.

freeASPUpload.asp Corazon del upload. Clase implementada con sus metodos y propiedades
(no hace falta que entendamos o miremos este archivo, salvo que nos interese, por supuesto)
PruebaUpload.asp Ejemplo de upload. (es el código que está aqui abajo)

Follow

Get every new post delivered to your Inbox.