DISEÑO WEB UPOLI ESTELI 16-06-2010UNIVERSIDAD POLITECNICA DE NICARAGUA SEDE ESTELI DISEÑO DE PÁGINA WEB ELABORADO POR: FRANKLYN NOEL GARCIA ARMIJO CORREO:
[email protected] ORIENTADO POR: MARIO PASTRANA ESTELI 16 JUNIO DEL 2010 DISEÑO WEB UPOLI ESTELI 16-06-2010 ASP Active Server Pages ( ASP) Active Server Pages (ASP), también conocido como ASP clásico, es una tecnología de Microsoft del tipo "lado del servidor" para páginas web generadas dinámicamente, que ha sido comercializada como un anexo a Internet Information Services (IIS). La tecnología ASP está estrechamente relacionada con el modelo tecnológico de su fabricante. Intenta ser solución para un modelo de programación rápida ya que "programar en ASP es como programar en Visual Basic y C#", por supuesto con muchas limitaciones y algunas ventajas específicas en entornos web. Lo interesante de este modelo tecnológico es poder utilizar diversos componentes ya desarrollados como algunos controles ActiveX así como componentes del lado del servidor, tales como CDONTS, por ejemplo, que permite la interacción de los scripts con el servidor SMTP que integra IIS. Se facilita la programación de sitios web mediante varios objetos integrados, como por ejemplo un objeto de sesión basada en cookies, que mantiene las variables mientras se pasa de página a página. Ha pasado por cuatro versiones mayores: ASP 1.0 (distribuido con IIS 3.0) ASP 2.0 (distribuido con IIS 4.0) ASP 3.0 (distribuido con IIS 5.0) ASP.NET (parte de la plataforma .NET de Microsoft). Las versiones pre-.NET se denominan actualmente (desde 2002) como ASP clásico. En el último ASP clásico, ASP 3.0, hay siete objetos integrados disponibles para el programador: Application, ASPError, Request, Response, Server, Session y ObjectContext. Cada objeto tiene un grupo de funcionalidades frecuentemente usadas y útiles para crear páginas web dinámicas. Desde 2002, el ASP clásico está siendo reemplazado por ASP. NET, que entre otras cosas, reemplaza los lenguajes interpretados como VBScript o JScript por lenguajes compilados a código intermedio (llamado MSIL o Microsoft Intermediate Language) como Visual Basic .NET, C#, o cualquier otro lenguaje que soporte la plataforma .NET. El código MSIL se compila con posterioridad a código nativo. Lista Redireccionar en ASP Sistema de Recomendación en ASP con CDONTS Redirigir al navegador a una URL con ASP al detalle Fechas en Español Proteger paginas con contraseña Obtener la dirección IP Contador simple de aplicación No enviar cookie de sesión DLL para mostrar fechas completas en ASP Cómo hacer zonas aleatorias en asp Trabajo con el buffer DISEÑO WEB UPOLI ESTELI 16-06-2010 de la página Include. Incluir archivos ASP Números aleatórios Validar una fecha con ASP Detección de navegador AspUpload El archivo global.asa Formularios reentrantes en ASP Recoger valor del campo autonumérico después de insertar en ASP Utilizar funciones de VBScript con Jscript Tratar errores en sentencias SQL ejecutadas en ASP Contar usuarios activos en ASP Un Chat en ASP Comillas simples y bases de datos con ASP Validar e-mail con ASP Envío de E-Mails con CDONTS Cortar Cadenas en ASP Cómo crear un XML desde ASP Crear una galería de fotos en ASP Trabajando con Fechas y Horas en ASP FUENTE DE INFORMACIÓN: http://es.wikipedia.org/wiki/Active_Server_Pages http://manualdeasp.com/codigos-asp/indice-codigos.html PHP PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+. PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdorf en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre. Visión general PHP es un lenguaje interpretado de propósito general ampliamente usado, diseñado especialmente para desarrollo web y que puede ser incrustado dentro de código HTML. Generalmente se ejecuta en un servidor web, tomando el código en PHP como su entrada y creando páginas web como salida. Puede ser desplegado en la mayoría de los servidores web y en casi todos los DISEÑO WEB UPOLI ESTELI 16-06-2010 sistemas operativos y plataformas sin costo alguno. PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores, el número de sitios en PHP ha compartido algo de su preponderante sitio con otros nuevos lenguajes no tan poderosos desde agosto de 2005. Este mismo sitio web de Wikipedia está desarrollado en PHP. Es también el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web. La versión más reciente de PHP es la 5.3.2 (for Windows) del 04 de marzo de 2010. El gran parecido que posee PHP con los lenguajes más comunes de programación estructurada, como C y Perl, permiten a la mayoría de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta. También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones. Aunque todo en su diseño está orientado a facilitar la creación de página web, es posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando la extensión PHP-Qt o PHP-GTK. También puede ser usado desde la línea de órdenes, de la misma manera como Perl o Python pueden hacerlo, a esta versión de PHP se la llama PHP CLI (Command Line Interface). Cuando el cliente hace una petición al servidor para que le envíe una página web, el servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará el contenido de manera dinámica (por ejemplo obteniendo información de una base de datos). El resultado es enviado por el intérprete al servidor, quien a su vez se lo envía al cliente. Mediante extensiones es también posible la generación de archivos PDF, Flash, así como imágenes en diferentes formatos. Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite. XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor Web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa está liberado bajo la licencia GNU y actúa como un servidor Web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP esta disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X. DISEÑO WEB UPOLI ESTELI 16-06-2010 PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos, tales como UNIX (y de ese tipo, como Linux o Mac OS X) y Windows, y puede interactuar con los servidores de web más populares ya que existe en versión CGI, módulo para Apache, e ISAPI. PHP es una alternativa a las tecnologías de Microsoft ASP y ASP.NET (que utiliza C# VB.NET como lenguajes), a ColdFusion de la compañía Adobe (antes Macromedia), a JSP/Java de Sun Microsystems, y a CGI/Perl. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres, bajo la licencia GNU, existe además un IDE (entorno de desarrollo integrado) comercial llamado Zend Studio. Recientemente, CodeGear (la división de lenguajes de programación de Borland) ha sacado al mercado un entorno integrado de desarrollo para PHP, denominado Delphi for PHP. Existe un módulo para Eclipse, uno de los IDE más populares. Historia Fue originalmente diseñado en Perl, con base en la escritura de un grupo de CGI binarios escritos en el lenguaje C por el programador danés-canadiense Rasmus Lerdorf en el año 1994 para mostrar su currículum vítae y guardar ciertos datos, como la cantidad de tráfico que su página web recibía. El 8 de junio de 1995 fue publicado "Personal Home Page Tools" después de que Lerdorf lo combinara con su propio Form Interpreter para crear PHP/FI. PHP 3 Dos programadores israelíes del Technion, Zeev Suraski y Andi Gutmans, reescribieron el analizador sintáctico (parser en inglés) en el año 1997 y crearon la base del PHP3, cambiando el nombre del lenguaje a la forma actual. Inmediatamente comenzaron experimentaciones públicas de PHP3 y fue publicado oficialmente en junio del 1998. Para 1999, Suraski y Gutmans reescribieron el código de PHP, produciendo lo que hoy se conoce como motor Zend. También fundaron Zend Technologies en Ramat Gan, Israel. PHP 4 En mayo de 2000 PHP 4 fue lanzado bajo el poder del motor Zend Engine 1.0. El día 13 de julio de 2007 se anunció la suspensión del soporte y desarrollo de DISEÑO WEB UPOLI ESTELI 16-06-2010 la versión 4 de PHP, a pesar de lo anunciado se ha liberado una nueva versión con mejoras de seguridad, la 4.4.8 publicada el 13 de enero del 2008 y posteriormente la versión 4.4.9 publicada el 7 de agosto de 2008. Según esta noticia se dará soporte a fallos críticos hasta el 2008-08-09,...... PHP 5 El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0 (o Zend Engine 2). La versión más reciente de PHP es la 5.3.2 (4 de marzo del 2010), que incluye todas las ventajas que provee el nuevo Zend Engine 2 como: y y y y y y y y y Mejor soporte para la Programación Orientada a Objetos, que en versiones anteriores era extremadamente rudimentario, con PHP Data Objects. Mejoras de rendimiento. Mejor soporte para MySQL con extensión completamente reescrita. Mejor soporte a XML ( XPath, DOM, etc. ). Soporte nativo para SQLite. Soporte integrado para SOAP. Iteradores de datos. Manejo de excepciones. Mejoras con la implementación con Oracle. Aún se siguen publicando versiones de la rama 5.2.X, siendo publicada la versión 5.2.12 el 17 de diciembre de 2009, aunque la mayoría son actualizaciones de seguridad PHP 6 Está previsto el lanzamiento en breve de la rama 6 de PHP. Cuando se lance esta nueva versión quedarán solo dos ramas activas en desarrollo (PHP 5 y 6), pues se abandonó el desarrollo y soporte de PHP 4 el 13 de julio de 2007. Las diferencias que encontraremos frente a PHP 5.* son: y y y y Soportará Unicode; limpieza de funcionalidades obsoletas como register_globals, safe_mode, etc; PECL y eliminación de soporte ereg; mejoras en orientación a objetos; DISEÑO WEB UPOLI ESTELI 16-06-2010 y y y inclusión en el núcleo de xmlReader y xmlWriter así como Fileinfo; return por referencia devolverá un error; se retira el soporte de las bibliotecas FreeType1 y GD21; Características de PHP Ventajas y y y y y y y y y y y y Es un lenguaje multiplataforma. Completamente orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una Base de Datos. El código fuente escrito en PHP es invisible al navegador y al cliente ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable. Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL. Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext's o extensiones). Posee una amplia documentación en su página oficial entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda. Es libre, por lo que se presenta como una alternativa de fácil acceso para todos. Permite aplicar técnicas de programación orientada a objetos. Biblioteca nativa de funciones sumamente amplia e incluida. No requiere definición de tipos de variables aunque sus variables se pueden evaluar también por el tipo que estén manejando en tiempo de ejecución. Tiene manejo de excepciones (desde PHP5). Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar (muchos otros lenguajes tampoco lo hacen), aun estando dirigido a alguna en particular, el programador puede aplicar en su trabajo cualquier técnica de programación y/o desarrollo que le permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de diseño Modelo Vista Controlador (o MVC), que permiten separar el tratamiento y acceso a los datos, la lógica de control DISEÑO WEB UPOLI ESTELI 16-06-2010 y la interfaz de usuario en tres componentes independientes (ver más abajo Frameworks en PHP). Inconvenientes y La ofuscación de código es la única forma de ocultar los fuentes. Aplicaciones desarrolladas con PHP y y y y y y y y y y y y y y y y y y y y y y y y Redes Sociales o Facebook o Tuenti o Bixeando E-Commerce o Magento o OsCommerce o PrestaShop Blogs o WordPress Burning Board CMSformE Dokuwiki Drupal Gallery Project Mambo Open Source MediaWiki (desarrollado para Wikipedia) Moodle Phorum phpMyAdmin PHP-Nuke phpPgAdmin PhpWiki PmWiki Zikula (anteriormente llamado PostNuke) Smarty SPIP SugarCRM vBulletin Xaraya Xoops DISEÑO WEB UPOLI ESTELI 16-06-2010 y y y y y Joomla MODx SMF phpBB UVG SCADA Frameworks en PHP y y y y y y y y y Zend Framework (Oficial, de los desarrolladores de PHP) Kohana Symfony CakePHP PHP Prado CodeIgniter Yii Framework Lithium Sapphire (Otros Frameworks en PHP) IDEs para PHP Algunos de los Entornos de Desarrollo Integrados, en inglés (IDE, Integrated Development Environment), para PHP más conocidos o habituales son: y y y y y y y y Dreamweaver, comercial, de la casa Adobe actualmente en la versión CS5 (11.0.4909) PDT, plugin de Eclipse: GPL - (Sun). NetBeans , libre, multiplataforma, utiliza Symfony, auto-completado de código, auto-identador.. Zend Studio: Comercial - (Zend). Aptana Studio: GPL, existe una versión comercial. Debe instalarse el plugin para PHP. Está basado en Eclipse, pero posee características que lo hacen mas deseable que el Eclipse PDT; entre ellas: auto-completado de código, auto-identador. Komodo IDE: Komodo Edit, libre y gratuito, el IDE es licencia comercial - (Mozilla). NuSphere PhpED: Comercial, para linux y windows. Quanta: GPL y gratuito, para GNU/linux con QT. DISEÑO WEB UPOLI ESTELI 16-06-2010 y y y y y y Bluefish: GPL y gratuito, para GNU/linux con GTK. gEdit: Editor de texto por defecto en Gnome - (Linux). Geany:GPL, para linux y Windows. Sumamente liviano. Incluye autocompletado, autoidentador, soporte para numerosos lenguajes. phpDesigner: Comercial y Freeware, para linux y windows. Incluye integración con el manual, autocompletado en código y viene en varios idiomas. Rapid PHP: Comercial, para windows. AJAX PHP IDE: Entorno de desarrollo para PHP que utiliza funcionalidad AJAX en los eventos de los formularios diseñados. Separación de la lógica y el html. FUENTE: http://es.wikipedia.org/wiki/PHP#Visi.C3.B3n_general Python Python es un lenguaje de programación interpretado creado por Guido van Rossum en el año 1991. Se compara habitualmente con Tcl, Perl, Scheme, Java y Ruby. En la actualidad Python se desarrolla como un proyecto de código abierto, administrado por la Python Software Foundation. La última versión estable del lenguaje es la 3.1.1. Python es considerado como la "oposición leal" a Perl, lenguaje con el cual mantiene una rivalidad amistosa. Los usuarios de Python consideran a éste mucho más limpio y elegante para programar. Python permite dividir el programa en módulos reutilizables desde otros programas Python. Viene con una gran colección de módulos estándar que se pueden utilizar como base de los programas (o como ejemplos para empezar a aprender Python). También hay módulos incluidos que proporcionan E/S de ficheros, llamadas al sistema, sockets y hasta interfaces a GUI (interfaz gráfica con el usuario) como Tk, GTK, Qt entre otros. Python se utiliza como lenguaje de programación interpretado, lo que ahorra un tiempo considerable en el desarrollo del programa, pues no es necesario compilar ni enlazar. El intérprete se puede utilizar de modo interactivo, lo que DISEÑO WEB UPOLI ESTELI 16-06-2010 facilita experimentar con características del lenguaje, escribir programas desechables o probar funciones durante el desarrollo del programa. El nombre del lenguaje proviene de la afición de su creador original, Guido van Rossum, por los humoristas británicos Monty Python.El principal objetivo que persigue este lenguaje es la facilidad, tanto de lectura, como de diseño. Características y paradigmas Python es un lenguaje de programación multiparadigma. Esto significa que más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos: programación orientada a objetos, programación estructurada y programación funcional. Otros paradigmas están soportados mediante el uso de extensiones. Python usa tipificado dinámico y conteo de referencias para la administración de memoria. Una característica importante de Python es la resolución dinámica de nombres; es decir, lo que enlaza un método y un nombre de variable durante la ejecución del programa (también llamado ligadura dinámica de métodos). Otro objetivo del diseño del lenguaje era la facilidad de extensión. Se pueden escribir nuevos módulos fácilmente en C o C++. Python puede incluirse en aplicaciones que necesitan una interfaz programable. Aunque la programación en Python podría considerarse en algunas situaciones hostil a la programación funcional tradicional del Lisp, existen bastantes analogías entre Python y los lenguajes minimalistas de la familia Lisp como puede ser Scheme. Filosofía Los usuarios de Python se refieren a menudo a la Filosofía Python que es bastante análoga a la filosofía de Unix. El código que sigue los principios de Python de legibilidad y transparencia se dice que es "pythonico". Contrariamente, el código opaco u ofuscado es bautizado como "no pythonico" ("unpythonic" en inglés). Estos principios fueron famosamente descritos por el desarrollador de Python Tim Peters en El Zen de Python y Bello es mejor que feo. DISEÑO WEB UPOLI ESTELI 16-06-2010 y y y y y y y y y y y y y y y y y Explícito es mejor que implícito. Simple es mejor que complejo. Complejo es mejor que complicado. Plano es mejor que anidado. Ralo es mejor que denso. La legibilidad cuenta. Los casos especiales no son tan especiales como para quebrantar las reglas. Aunque lo práctico gana a la pureza. Los errores nunca deberían dejarse pasar silenciosamente. A menos que hayan sido silenciados explícitamente. Frente a la ambigüedad, rechaza la tentación de adivinar. Debería haber una -y preferiblemente sólo una- manera obvia de hacerlo. Aunque esa manera puede no ser obvia al principio a menos que usted sea holandés. Ahora es mejor que nunca. Aunque nunca es a menudo mejor que ya mismo. Si la implementación es dificil de explicar, es una mala idea. Si la implementación es fácil de explicar, puede que sea una buena idea. Los espacios de nombres (namespaces) son una gran idea ¡Hagamos más de esas cosas! Tim Peters, El Zen de Python Desde la versión 2.1.2, Python incluye estos puntos (en su versión original en inglés) como un huevo de pascua que se muestra al ejecutar import this. Modo interactivo El intérprete de Python estándar incluye un modo interactivo, en el cual se escriben las instrucciones en una especie de shell: las expresiones pueden ser introducidas una a una, pudiendo verse el resultado de su evaluación inmediatamente. Esto resulta útil tanto para las personas que se están familiarizando con el lenguaje como también para los programadores más avanzados: se pueden probar porciones de código en el modo interactivo antes de integrarlo como parte de un programa. Existen otros programas, tales como IDLE,bpython o IPython, que añaden funcionalidades extra al modo interactivo, como el auto-completar código y el coloreado de la sintaxis del lenguaje. DISEÑO WEB UPOLI ESTELI 16-06-2010 FUENTE: http://es.wikipedia.org/wiki/Python APACHE El servidor HTTP Apache es un servidor web HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Su nombre se debe a que Behelendorf quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de EEUU, y en esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de internet. Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. Era, en inglés, a patchy server (un servidor "parcheado"). El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache presenta entre otras características altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. Apache tiene amplia aceptación en la red: desde 1996, Apache, es el servidor HTTP más usado. Alcanzó su máxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el mundo, sin embargo ha sufrido un descenso en su cuota de mercado en los últimos años. (Estadísticas históricas y de uso diario proporcionadas por Netcraft). La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan sólo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar remotamente en ciertas situaciones, o explotar por los usuarios locales malévolos en las disposiciones de recibimiento compartidas que utilizan PHP como módulo de Apache. Ventajas y Modular DISEÑO WEB UPOLI ESTELI 16-06-2010 y y y y Código abierto Multi-plataforma Extensible Popular (fácil conseguir ayuda/soporte) Módulos La arquitectura del servidor Apache es muy modular. El servidor consta de una sección core y diversos módulos que aportan mucha de la funcionalidad que podría considerarse básica para un servidor web. Algunos de estos módulos son: y y y y y y mod_ssl - Comunicaciones Seguras vía TLS. mod_rewrite - reescritura de direcciones (generalmente utilizado para transformar páginas dinámicas como php en páginas estáticas html para así engañar a los navegantes o a los motores de búsqueda en cuanto a cómo fueron desarrolladas estas páginas). mod_dav - Soporte del protocolo WebDAV (RFC 2518). mod_deflate - Compresión transparente con el algoritmo deflate del contenido enviado al cliente. mod_auth_ldap - Permite autentificar usuarios contra un servidor LDAP. mod_proxy_ajp - Conector para enlazar con el servidor Jakarta Tomcat de páginas dinámicas en Java (servlets y JSP). El servidor de base puede ser extendido con la inclusión de módulos externos entre los cuales se encuentran: y y y y y y y y y mod_cband - Control de tráfico y limitador de ancho de banda. mod_perl - Páginas dinámicas en Perl. mod_php - Páginas dinámicas en PHP. mod_python - Páginas dinámicas en Python. mod_rexx - Páginas dinámicas en REXX y Object REXX. mod_ruby - Páginas dinámicas en Ruby. mod_aspdotnet - Páginas dinámicas en .NET de Microsoft (Módulo retirado). mod_mono - Páginas dinámicas en Mono mod_security - Filtrado a nivel de aplicación, para seguridad. DISEÑO WEB UPOLI ESTELI 16-06-2010 Uso Apache es usado primariamente para enviar páginas web estáticas y dinámicas en la World Wide Web. Muchas aplicaciones web están diseñadas asumiendo como ambiente de implantación a Apache, o que utilizarán características propias de este servidor web. Apache es el componente de servidor web en la popular plataforma de aplicaciones LAMP, junto a MySQL y los lenguajes de programación PHP/Perl/Python (y ahora también Ruby). Este servidor web es redistribuido como parte de varios paquetes propietarios de software, incluyendo la base de datos Oracle y el IBM WebSphere application server. Mac OS X integra apache como parte de su propio servidor web y como soporte de su servidor de aplicaciones WebObjects. Es soportado de alguna manera por Borland en las herramientas de desarrollo Kylix y Delphi. Apache es incluido con Novell NetWare 6.5, donde es el servidor web por defecto, y en muchas distribuciones Linux. Apache es usado para muchas otras tareas donde el contenido necesita ser puesto a disposición en una forma segura y confiable. Un ejemplo es al momento de compartir archivos desde una computadora personal hacia Internet. Un usuario que tiene Apache instalado en su escritorio puede colocar arbitrariamente archivos en la raíz de documentos de Apache, desde donde pueden ser compartidos. Los programadores de aplicaciones web a veces utilizan una versión local de Apache con el fin de previsualizar y probar código mientras éste es desarrollado. Microsoft Internet Information Services (IIS) es el principal competidor de Apache, así como Sun Java System Web Server de Sun Microsystems y un anfitrión de otras aplicaciones como Zeus Web Server. Algunos de los más grandes sitios web del mundo están ejecutándose sobre Apache. La capa frontal (front end) del motor de búsqueda Google está basado en una versión modificada de Apache, denominada Google Web Server (GWS). Muchos proyectos de Wikimedia también se ejecutan sobre servidores web Apache. DISEÑO WEB UPOLI ESTELI 16-06-2010 Configuración La mayor parte de la configuración se realiza en el fichero apache2.conf o httpd.conf, según el sistema donde esté corriendo. Cualquier cambio en este archivo requiere reiniciar el servidor, o forzar la lectura de los archivos de configuración nuevamente. Licencia La licencia de software bajo la cual el software de la fundación Apache es distribuido es una parte distintiva de la historia de Apache HTTP Server y de la comunidad de código abierto. La Licencia Apache permite la distribución de derivados de código abierto y cerrado a partir de su código fuente original. La Free Software Foundation no considera a la Licencia Apache como compatible con la versión 2 de la GNU General Public License (GPL), en la cual el software licenciado bajo la Apache License no puede ser integrado con software distribuido bajo la GPL: Este es software libre pero es incompatible con la GPL. La Apache Software License es incompatible con la GPL porque tiene un requerimiento específico que no está incluido en la GPL: tiene ciertos casos de terminación de patentes que la GPL no requiere. No consideramos que dichos casos de terminación de patentes son inherentemente una mala idea, pero a pesar de ello son incompatibles con la GNU GPL. Sin embargo, la versión 3 de la GPL incluye una provisión (Sección 7e) que le permite ser compatible con licencias que tienen cláusulas de represalia de patentes, incluyendo a la Licencia Apache. El nombre Apache es una marca registrada y puede ser sólo utilizada con el permiso expreso del dueño de la marca FUENTE: http://es.wikipedia.org/wiki/Servidor_HTTP_Apache Internet Information Services(IIS) Internet Information Services , IIS, es una serie de servicios para los ordenadores que funcionan con Windows. Originalmente era parte del Option Pack para Windows NT. Luego fue integrado en otros sistemas operativos de DISEÑO WEB UPOLI ESTELI 16-06-2010 Microsoft destinados a ofrecer servicios, como Windows 2000 o Windows Server 2003. Windows XP Profesional incluye una versión limitada de IIS. Los servicios que ofrece son: FTP, SMTP, NNTP y HTTP/HTTPS. Este servicio convierte a un ordenador en un servidor de Internet o Intranet es decir que en las computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente (servidor web). Los Servicios de Internet Information Services (IIS) proporcionan las herramientas y funciones necesarias para administrar de forma sencilla un servidor Web seguro. Si ha pensado alojar un sitio Web y FTP (File Transfer Protocol, Protocolo de transferencia de archivos) con IIS, configure el servidor como un servidor de aplicaciones. El servidor web se basa en varios módulos que le dan capacidad para procesar distintos tipos de páginas, por ejemplo Microsoft incluye los de Active Server Pages (ASP) y ASP.NET. También pueden ser incluidos los de otros fabricantes, como PHP o Perl. Versiones y y y y y y y y y IIS 1.0, Windows NT 3.51 Service Pack 3 IIS 2.0, Windows NT 4.0 IIS 3.0, Windows NT 4.0 Service Pack 3 IIS 4.0, Windows NT 4.0 Option Pack IIS 5.0, Windows 2000 IIS 5.1, Windows XP Professional IIS 6.0, Windows Server 2003 y Windows XP Profesional x64 Edition IIS 7.0, Windows Vista (Solo Bussines y Ultimate) y Windows Server 2008 IIS 7.5, Windows 7 y Windows Server 2008 R2 Historia IIS fue inicialmente lanzado como un conjunto de servicios basados en Internet para Windows NT 3.51. IIS 2.0 siguió agregando soporte para el sistema operativo Windows NT 4.0 e IIS 3.0 introdujo las Páginas activas de servidor, esta tecnología es una plataforma de scripting dinámico. IIS 4.0 eliminó el soporte para el protocolo Gopher y fue puesto con Windows NT como un CD-ROM de "Paquete Opcional" separado. DISEÑO WEB UPOLI ESTELI 16-06-2010 La versión actual de IIS es la 6.0 para Windows Server 2003 e IIS 5.1 para Windows XP Professional. IIS 5.1 para Windows XP es una versión compacta del IIS que soporta sólo 10 conexiones simultáneas y sólo un sitio web. IIS 6.0 ha agregado soporte para IPv6. Windows Vista viene con IIS 7.0 preinstalado. No limitará el número de conexiones permitidas pero limitará el flujo de tareas basándose en las solicitudes activas concurrentes, mejorando el uso y el rendimiento en escenarios punto-a-punto (peer-to-peer). Historia: Microsoft Internet Information Services (IIS): y 1996 - IIS 1.0 - Añadido para Windows NT 3.51 HTTP y 1996 - IIS 2.0 - Lanzado con Windows NT 4.0 RTM HTTP FTP Gopher y 1996 - IIS 3.0 - Lanzado con el SP3 de Windows NT 4.0 HTTP FTP Gopher y 1996 - IIS 4.0 - Lanzado con Windows NT Option Pack de Internet HTTP FTP SMTP (sólo en el servidor) NNTP (sólo en el servidor) y 2000 - IIS 5.0 - Released with Windows 2000 IIS 5.0 - Lanzado con Windows 2000 HTTP FTP SMTP (sólo en el servidor) NNTP (sólo en el servidor) y 2002 - IIS 5.1 - Released with Windows XP Professional 2002 IIS 5.1 - Publicada con Windows XP Professional HTTP FTP SMTP SMTP y 2003 - IIS 6.0 - Released with Windows Server 2003 DISEÑO WEB UPOLI ESTELI 16-06-2010 IIS 6.0 - Fecha de lanzamiento de Windows Server 2003 HTTP FTP SMTP (Nota: Un servicio POP3 también se incluye con Windows Server 2003, pero no como parte de IIS.) y 2006 - IIS 7.0 - Released with Windows Server 2008 IIS 7.0 - Lanzado con Windows Server 2008 y Windows Vista HTTP FTP IIS 7.5 - Lanzado con Windows Server 2008 R2 y Windows 7 HTTP FTP FUENTE: http://es.wikipedia.org/wiki/Internet_Information_Services IREPORT Introducción a iReport La herramienta iReport es un constructor / diseñador de informes visual, poderoso, intuitivo y fácil de usar para JasperReports escrito en Java. Este instrumento permite que los usuarios corrijan visualmente informes complejos con cartas, imágenes, subinformes, etc. iReport está además integrado con JFreeChart, una de la biblioteca gráficas OpenSource más difundida para Java. Los datos para imprimir pueden ser recuperados por varios caminos incluso múltiples uniones JDBC, TableModels, JavaBeans, XML, etc. Características de iReport La lista siguiente describe algunas de las características importantes de iReport: y y y y y y y y y y 100% escrito en JAVA y además OPENSOURCE y gratuito. Maneja el 98% de las etiquetas de JasperReports Permite diseñar con sus propias herramientas: rectángulos, líneas, elipses, campos de los textfields, cartas, subreports (subreportes). Soporta internacionalización nativamente. Browser de la estructura del documento. Recopilador y exportador integrados . Soporta JDBC. Soporta JavaBeans como orígenes de datos (éstos deben implementar la interface JRDataSource). Incluye Wizard¶s (asistentes) para crear automáticamente informes . Tiene asistentes para generar los subreportes DISEÑO WEB UPOLI ESTELI 16-06-2010 y y Tiene asistentes para las plantillas. Facilidad de instalación. Instalación de iReport El iReport viene como un archivo comprimido. Esto contiene los archivos de distribución principales (clases y fuente), algunas plantillas para el ayudante (wizard), todos los .jar requeridos adicionales. Esta herramienta trabaja de manera integrada con el jasperreport, por lo tanto no se requiere una instalación adicional de jasper. El archivo puede descargarse desde http://sourceforge.net/projects/ireport/ Prerrequisitos Necesitará disponer de lo siguiente: y y y Apache Ant IReport Jassperreport-0.x.x (usar la versión que viene incluida con iReport) Instalación y configuración del ambiente de trabajo Instalación de ANT y y y y y Descargar la versión apache-ant-1.6.2-bin.zip o superior. Descomprimir el archivo zip. Crear un directorio con el nombre ANT_HOME o ANT. En el directorio raiz. C:\. Copiar el contenido de Ant en la carpeta creada. Configurar las variables de entorno: 1. ANT_HOME = C:\ANT_HOME o ANT_HOME = C:\ANT 2. JAVA_HOME = C:\ jdk1.5.0 3. PATH = C:\ANT\bin Instalación de iReport. Descargar la version iReport-0.3.2.zip o superior. DISEÑO WEB UPOLI ESTELI 16-06-2010 Descomprimir el archivo zip Crear un directorio con el nombre iReport en el directorio raiz C:\. Copiar en contenido del iReport en la carpeta creada. Copiar el archivo tools.jar que se encuentra en ³C:\ jdk1.5.0\lib´del jdk al directorio ³C:\iReport\lib´ Colocar el Driver ³classes12.jar´ de oracle en el directorio ³C:\iReport-0.2.2\lib´ (Aplica para cualquier driver JDBC que necesitemos) Configurar las variables de entorno: 1. 2. CLASSPATH: C:\iReport\lib\jasperreports-0.6.0.jar. CLASSPATH: C:\iReport\lib\itext-1.02b.jar (este archivo es para el uso de archivos pdf) y Finalmente deberá compilar los fuentes. Para esto ubíquese en C:\iReport y ejecute el comando ant Levantando el iReport Para levantar la aplicación del iReport, debe dirigirse hasta el lugar donde descomprimió los archivos, ahí ejecutar el comando iReport.bat como se muestra en la siguiente figura: DISEÑO WEB UPOLI ESTELI 16-06-2010 Otra forma de levantar la aplicación es a través de ANT, para ello se debe abrir una ventana de cmd, ubicarse en la ruta donde se encuentra instalado el iReport, ej : C:\iReport y colocar el comando ant iReport, como se muestra en la siguiente figura: La interfaz gráfica de iReport comienza a cargarse: DISEÑO WEB UPOLI ESTELI 16-06-2010 Configurar las opciones: Ir a Tools Options DISEÑO WEB UPOLI ESTELI 16-06-2010 DISEÑO WEB UPOLI ESTELI 16-06-2010 Para configurar el idioma: ir a Tools Options Luego presionar ³Apply´ y por último ³Save´. Notaremos como el idioma de la barra de herramientas ha cambiado en función de nuestra elección. Para empezar con iReports: Seleccionar ³Project New´ DISEÑO WEB UPOLI ESTELI 16-06-2010 Seleccionar ³File New Document´ Aquí deberá definir el nombre del reporte, tamaño de la pantalla, orientación, márgenes, etc. La apariencia del layout (plantilla) de la página del reporte es la siguiente: DISEÑO WEB UPOLI ESTELI 16-06-2010 Donde: y y y y y title Aparece sólo al inicio del reporte. El título se escribe en está sección. Ejemplo: ³Reporte de Desempeño de los empleados´ pageHeader Aparece en la parte superior de cada página. Puede contener información como la fecha y hora, nombre de la organización, etc. columnHeader Sirve para listar los nombres de los campos que se van a presentar (desplegar). Por ejemplo: ³Nombre del Empleado´, ³Hora de Entrada´, ³Hora de Salida´, ³Horas trabajadas´, ³Fecha´, etc. detail En esta sección se despliegan los valores correspondientes a las entradas de campos definidas en la sección anterior. Por ejemplo ³Juan Perez´, ³09:00´, ³18:00´, ³9´,´2005-04-27´ columnFooter Puede presentar información sumarizada para cada uno de los campos. Por ejemplo ³Total de Horas Trabajadas: 180´ DISEÑO WEB UPOLI ESTELI 16-06-2010 pageFooter Aparece en la parte inferior de cada página. Este parte puede presentar, el contador de páginas como ³Página 1/7´ y summary Esta sección se usa para proporcionar información sumarizada de los campos presentes en la sección ³detail´ por ejemplo para el caso de las horas trabajadas de cada empleado se puede definir un objeto gráfico tipo ³pie´ para tener una mejor comparación y comprensión visual de los datos. Los objetos de texto, imágenes, etc pueden ser colocados en la plantilla del documento usando el método de arrastrar y pegar. Para insertar texto puro usar: Para insertar campos (Fields) usar: Cuando insertamos un objeto de texto lo haremos arrastrando el elemento hasta el lugar del documento donde queramos visualizarlo. Seguidamente se presionará clic derecho para editar las propiedades del objeto y así poder definir los valores de fuente, bordes y el contenido mismo del texto. DISEÑO WEB UPOLI ESTELI 16-06-2010 A medida que insertemos objetos de texto (estáticos y campos dinámicos), nuestro reporte empezará a definir la apariencia visual que buscamos. Los documentos que se generan con iReports + jasperreports tienen varios valores que son seteables o configurables, estos son parámetros, campos (Fields) y variables: a)Parámetros: son valores generales como el titulo del reporte / subreporte, ubicación, autor, etc. b)Campos (Fields): son los campos tipo texto que llenaremos desde las consultas lanzadas a la aplicación durante la ejecución del reporte. c) Variables: una variable es un valor calculado como una sumatoria. Para definir los parámetros se tiene que pulsar el botón ³Parameters´ desde la DISEÑO WEB UPOLI ESTELI 16-06-2010 barra de herramientas DISEÑO WEB UPOLI ESTELI 16-06-2010 Los objetos de tipo TextField, deben definir un campo field en su viñeta de propiedades y deben usar el key ³textField´. En general debe configurarse como se indica en las siguientes pantallas. Una vez que hemos terminado de diagramar nuestro reporte, debemos compilar y luego ejecutarlo. La herramienta nos permite tener una vista previa en varios formatos de la apariencia de nuestro documento. DISEÑO WEB UPOLI ESTELI 16-06-2010 Una vez compilado, se tiene que ejecutar el reporte. Para esto iremos a Build à Execute Report DISEÑO WEB UPOLI ESTELI 16-06-2010 Observamos que cuando no definimos un datasource los campos aparecen como null. Conexión con la Base de Datos. Seleccionar DataSource--> Connection/DataSource-->New y y y y y Name: Escribir el nombre de la base de datos. JDBC Driver: Seleccionar el Driver de la base de datos con la cual se realizará la conexión. JDBC URL: escribir la dirección URL de donde se encuentra alojado el ambiente de trabajo de la base de datos. Especificar la cadena de conexión con la base de datos, colocar usuario y password. Salvar la configuración de la conexión. DISEÑO WEB UPOLI ESTELI 16-06-2010 Presionar el botón Test, para verificar que la conexión este correcta, para la cual deberá aparecer la siguiente ventana: Para seleccionar la conexión configurada: Ir al Menú y seleccionar ´ Build à Set Active Connection´. Aparecerá una pantalla como la que se muestra a continuación: DISEÑO WEB UPOLI ESTELI 16-06-2010 Incluir clases en iReport Pasos para incluir un clase java en el iReport: y Agregamos nuestros campos de la Base de Datos: y Creamos la clase que vamos a utilizar: DISEÑO WEB UPOLI ESTELI 16-06-2010 CalculosFecha.java import java.sql.*; import java.util.*; import java.text.*; import net.sf.jasperreports.engine.*; public class CalculosFecha extends JRDefaultScriptlet { public static String user = "xxxxxx"; public static String pasw = "xxxx"; public static String driver = "oracle.jdbc.driver.OracleDriver"; public static String url = "xxxxxx"; public static ResultSet rs = null; public static Statement st = null; public static Connection cn = null; public static PreparedStatement pst = null; public static int per=0; /* Datos del Reporte */ DISEÑO WEB UPOLI ESTELI 16-06-2010 public String hello() throws JRScriptletException { return "Mi Primera clase"; } } y Le indicamos que vamos a usar una clase: Uses this Scriplet class.. Le colocamos el nombre de la clase: CalculosFecha (en este caso) y Agregamos la descripción de la clase en el iReport: DISEÑO WEB UPOLI ESTELI 16-06-2010 TextField Expresión:((CalculosFecha)$P{REPORT_SCRIPTLET}).hello() y Compilamos desde mi servidor web, porque si lo hago directamente del iReport me dara error. Entonces lo compilos desde el WEB-SERVER. <!--/* *************************************************************** ****** * Formulario: scriplet.jsp. * C. Autor: Delia M Medina * * DISEÑO WEB UPOLI ESTELI 16-06-2010 * 2004 Fecha de Creacion: 28-09* *************************************************************** ******* * Funcion: **** *************************************************************** ******* */--> <%@ page import="net.sf.jasperreports.engine.*" %> <%@ page import="net.sf.jasperreports.engine.design.*" %> <%@ page import="net.sf.jasperreports.engine.data.*"%> <%@ page import="net.sf.jasperreports.engine.export.*"%> <%@ page import="net.sf.jasperreports.engine.util.*"%> <%@ page import="net.sf.jasperreports.view.*"%> <%@ page import="net.sf.jasperreports.view.save.*"%> <%@ page import="java.sql.*"%> <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <html> <head><title>Generando Reporte Nomina...............</title> <% DISEÑO WEB UPOLI ESTELI 16-06-2010 System.out.println("Comienza el Reporte----------------------------"); %> <script language="JavaScript"> function regresar(){ history.back(); } function error(){ alert("Error encontrando procesando el periodo: " + periodo); history.back(); } </script> <head> <% try{ ResultSet rs = null; Statement st = null; String sql = null; String driver = "oracle.jdbc.driver.OracleDriver"; String connectString = "********"; DISEÑO WEB UPOLI ESTELI 16-06-2010 String user = "***************** "; String password = "*********"; Class.forName(driver); Connection conn = DriverManager.getConnection(connectString, user, password); ///////////////////////////////////////////// System.out.println("********Compilamos pago_nomina.jrxml OK********"); System.setProperty( "jasper.reports.compile.class.path", application.getRealPath("/WEB-INF/lib/jasperreports0.6.0.jar") + System.getProperty("path.separator") + application.getRealPath("/WEB-INF/classes/") ); System.out.println("*****Cargamos el jasperreports-0.6.0.jar OK*********"); System.setProperty( "jasper.reports.compile.temp", application.getRealPath("/reports/") ); JasperCompileManager.compileReportToFile(application.getRealPath("/repor DISEÑO WEB UPOLI ESTELI 16-06-2010 ts/mipagina.jrxml")); System.out.println("******Fin de la Compilamos el archivos***********"); ///////////////////////////////////////////// File reportFile = new File(application.getRealPath("/reports/mipagina.jasper")); Map parameters = new HashMap(); byte[] bytes = JasperRunManager.runReportToPdf( reportFile.getPath(), parameters, conn ); response.setContentType("application/pdf"); response.setContentLength(bytes.length); ServletOutputStream ouputStream = response.getOutputStream(); ouputStream.write(bytes, 0, bytes.length); DISEÑO WEB UPOLI ESTELI 16-06-2010 ouputStream.flush(); ouputStream.close(); System.out.println("jasperPDF OK.............."); /////////////////////////////////////////////////////////////// System.out.println("Fin del reporte pago_reporte_nomina............."); }catch (JRException e) {System.out.println("Error:" +e.getMessage());} catch (Exception e) { e.printStackTrace(); System.out.println("Error2:" +e.getMessage()); } %> <body > </body> </html> DISEÑO WEB UPOLI ESTELI 16-06-2010 FUENTE:http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagi na=ireport ASP CON APACHE Con este breve texto analizaremos algo que a muchos les parecerá impensable: veremos cómo utilizar los documentos ASP con Apache. Los active Server Pages (ASP) son una aplicación que tuvo origen con la introducción del servidor IIS de Microsoft, y que normalmente no se encuentran en los sistemas Unix que trabajan con un servidor de red diferente DISEÑO WEB UPOLI ESTELI 16-06-2010 del IIS. Sin embargo, no es acaso cierto que todo tiene una solución. Veamos pues. Aquí presentamos la mejor para los que quieran utilizar documentos escritos en ASP, también con Apache. Será suficiente tener un poco de paciencia en la fase de configuración de Apache con respecto a la interacción con el módulo, no inmediata pero bien documentada. Además vista la gran difusión de esta tecnología, es verdaderamente interesante el proyecto de hacer que esta tecnología sea independiente de la plataforma utilizada. Pues sí, ahora tenemos que volver a cuestionar el extraordinario discurso que hicimos a propósito del módulo. Sin embargo, no encuanto al nivel de la potencialidad del mismo que, como vimos poco antes, permite una plena utilización de documentos escritos con tecnología ASP de forma completamente transparente para el usuario que lo implemente. Los "errores" a los que nos referimos son fundamentalmente dos. El primero es una cierta dificultad de instalación y, sobre todo, de configuración del servidor de la red para la interacción con el módulo. Aunque la documentación intente ayudar al usuario lo más posible con muchos ejemplos, no lo servirá para los que no tengan demasiada familiaridad con el servidor de la red de Apache. Realmente serán necesarias profundas modificaciones al archivo access.conf para que la interacción entre servidor de la red, módulo y páginas ASP sea efectiva. Sin embargo, cito de la documentación que, a propósito de los directorios que hay que planificar, Don't set the optional ones if you don't want, the defaults are fine...". Seguramente se necesitará muy poco para que todo funcione. Sin embargo, para una completa y detallada puesta a punto, hay que saber qué planificar y cómo hacerlo: sobre todo para los aparatos utilizados como servidor de la red con sesiones de trabajo elevadas, la puesta a punto global del sistema no sólo se aconseja, sino que es una verdadera necesidad. El segundo aspecto negativo en el que tenemos que centrarnos es la elevada solicitud de recursos del sistema utilizados por el módulo. Comprenderéis que con IIS el servidor de la red interpreta directamente los documentos ASP. En un aparato Unix en cambio las partes involucradas ya no solamente dos, sino que al servidor de la red y a los documentos se interponen el módulo DISEÑO WEB UPOLI ESTELI 16-06-2010 Apache::ASP y, obviamente, el interprete Perl. Si esto os parece todavía poco, reproduzco las primeras líneas del módulo: use Apache(); use MLDBM; use SDBM_File; use Data::Dumper; use File::stat; use File::Basename; use FileHandle; use Fcntl qw( O_RDWR O_CREAT ); use MD5; use HTTP::Date; Otros diez módulos que Apache: ASP tiene que ir a leer para poder interpretar los documentos ASP y visualizar la salida. Es de esperar que, con las próximas releases del módulo, se produzcan mejorías también por lo que se refiere a la ligereza del mismo, evitando así cargas demasiado elevadas para los aparatos. FUENTE: http://www.htmlpoint.com/apache/07.htm PHP CON APACHE En este artículo vamos a explicar cómo instalar PHP como módulo de Apache 2.0 en un sistema Windows. Para las pruebas hemos utilizado Windows XP, pero seguro que con otros sistemas el proceso será muy parecido, aunque, en todo caso, indicaremos las diferencias documentadas en el sitio de PHP. Referencia: Vamos a suponer que el servidor de páginas web Apache 2.0 está instalado en nuestro sistema. No obstante, para los que no lo tengan, les referimos a nuestro manual de instalación y configuración de Apache. DISEÑO WEB UPOLI ESTELI 16-06-2010 Descargar y descomprimir PHP El primer paso consiste en descargar la última versión de PHP. Podremos hacerlo desde la página oficial de PHP, en la sección de descargas. http://www.php.net/downloads.php Debemos elegir la versión "zip package" que contiene todas las funcionalidades de PHP y el módulo necesario para instalarlo en Apache. Una vez descargado el paquete comprimido en .zip de PHP necesitamos descomprimirlo en nuestro disco duro. Podemos utilizar el directorio raíz del disco duro para descomprimir los archivos. En ese caso, se creará un directorio llamado algo como "php-4.3.1-Win32" que colgará de nuestro directorio raíz. Se recomienda cambiar el nombre del directorio creado a algo como "c:php". En todo caso, nos advierten en la página de PHP sobre no colocar ningún nombre de directorio que contenga espacios, pues algún servidor web puede dar problemas. Por ejemplo, cuidado con instalar PHP en un directorio como este "c:archivos de programaphp", pues en la ruta tenemos directorios con espacios. Copia de las DLL A continuación nos informan sobre la necesidad de copiar en nuestro directorio de sistema una serie de librerías (.dll), que encontraremos en el directorio sapi de nuestra instalación de PHP, supuestamente algo como "c:phpsapi", El mencionado directorio de sistema puede variar de unas versiones a otras de Windows. En Windows XP, el directorio de sistema donde debemos copiar las dll, es "C:WINDOWSsystem32". En Windows 9x/ME, el directorio sería "C:WindowsSystem" y en Windows NT/2000 sería el directorio "C:WINNTSystem32" o bien, "C:WINNT40System32". Nota: no se deben mezclar las DLL de diversas versiones de PHP, porque de lo contrario, podría causarnos problemas. Definir un archivo php.ini Otro archivo que debemos copiar, esta vez en nuestro directorio Windows, es el php.ini, que guarda las opciones de configuración definidas para PHP. En la distribución de PHP se incluyen dos archivos php.ini que podemos utilizar directamente en nuestro sistema. Estos dos archivos se llaman "php.ini-dist" y DISEÑO WEB UPOLI ESTELI 16-06-2010 "php.ini-recommended" y contienen unas opciones típicas de configuración de PHP. Se recomienda utilizar "php.ini-recommended", porque viene optimizado para obtener los mejores niveles de seguridad. En cualquier caso, podemos editar en cualquier momento el contenido del archivo para modificar la configuración de PHP a nuestro gusto o necesidades. Para definir el php.ini debemos hacer una copia del archivo de configuración escogido ("php.ini-dist" o "php.ini-recommended") y renombrarlo como el "php.ini". Posteriormente debemos copiarlo en nuestra carpeta Windows, que en sistemas 9x/ME/XP es "c:windows" y en sistemas NT/2000 suele ser "c:WINNT", o bien "c:WINNT40". Editar httpd.conf Posteriormente deberemos editar nuestro archivo de configuración de Apache, llamado "httpd.conf" que está en el directorio "conf" de nuestra instalación de Apache. También podemos encontrar un acceso directo para editar este archivo accediendo a Inicio - Programas - Apache HTTP Server - Configure Apache HTTP Server - Edit httpd.conf configuration file. Debemos añadir un par de líneas de configuración del módulo de Apache. LoadModule php4_module C:phpsapiphp4apache2.dll AddType application/x-httpd-php .php El lugar adecuado para añadir esas líneas es en el bloque de carga de módulos, que podemos encontrar si buscamos por el texto "LoadModule". Podemos añadir las líneas de carga del módulo PHP después de la carga de los otros módulos que vienen ya configurados en archivo httpd.conf de Apache. Si no instalamos PHP en el directorio c:php, debemos editar las líneas a colocar en el httpd.conf para colocar la ruta correcta al directorio donde está la librería php4apache2.dll. Un último paso Antes de acabar y probar si PHP se ha instalado correctamente, necesitamos copiar una dll en el directorio sapi. Concretamente, la dll "php4ts.dll", que podemos encontrar en nuestro directorio de instalación de PHP es la que debemos copiar al directorio sapi, algo como "c:phpsapi". DISEÑO WEB UPOLI ESTELI 16-06-2010 Nota: Esta acción no viene documentada en el manual de PHP, aunque sí no la llevamos a cabo no funcionará. El error que obtenemos al tratar de arrancar el Apache es algo como: Syntax error on line 173 of C:/Archivos de programa/Apache Group/Apache2/conf/httpd.conf: Cannot load C:/php/sapi/php4apache2.dll into server: No se puede encontrar el módulo especificado. Otra configuración que podemos aplicar al archivo httpd.conf es definir también como documento por defecto el archivo index.php en nuestro servidor Apache. El documento por defecto es generalmente index.html, pero lo habitual si vamos a programar con PHP es que también necesitemos definir index.php como documento a mostrar si no se indica otro documento del directorio al que se está accediendo. El documento por defecto se define con la variable DirectoryIndex. Nos quedará una deninición como esta: DirectoryIndex index.html index.html.var index.php Probar si PHP está funcionando correctamente Para terminar, podemos crear una página de prueba de PHP, que colocaremos en nuestro directorio de publicación de Apache, generalmente llamado htdocs, que se aloja dentro del directorio donde se ha instalado Apache, algo como "C:Archivos de programaApache GroupApache2htdocs" Podemos crear un archivo llamado, por ejemplo, "prueba.php", en el que colocaremos dentro el siguiente código: <? phpinfo() ?> Esta función simplemente creará una página de muestra de las configuraciones definidas para PHP en ese servidor. DISEÑO WEB UPOLI ESTELI 16-06-2010 Para acceder al archivo creado desde nuestro explorador, escribiremos en la barra de direcciones esta URL: http://localhost/prueba.php Debería aparecer un resultado como el de la siguiente imagen. PHP CON IIS Descargar archivos de http://www.php.net/downloads.php#v5 Se recomienda bajar los archivos PHP 5.2.1 zip package y las extensiones adicionales PECL PECL 5.2.1 Win32 binaries 1. Crear directorio en C:PHP y extraer los archivos de ph 5.21zip package y extraer los archivos de PECL 5.2.1 WIN32 binaries en el directorio C:PHPEXT. 2. Renombrar el archivio php.ini-recommended como php.ini 3. Modificar archivo php.ini en las siguientes variables short_open_tag = On extension_dir = "c:phpext" cgi.force_redirect = 0 DISEÑO WEB UPOLI ESTELI 16-06-2010 4. Copiar php.ini a c:windows o c:winnt 5. Registrar la DLL regsvr32 php5activescript.dll 6. Agregar ruta de del directorio php y las extenciones en la opcion de Environment Variable de windows2003 7. Configuración en IIS DISEÑO WEB UPOLI ESTELI 16-06-2010 DISEÑO WEB UPOLI ESTELI 16-06-2010 8. Configurando extensiones en IIS DISEÑO WEB UPOLI ESTELI 16-06-2010 9. Probando PHP Crear archivo index.php en C:Inetpubwwwroot DISEÑO WEB UPOLI ESTELI 16-06-2010 Copiar el codigo siguiente en el archivo <<?php // testing sessions // check to see if files are being created // in the session.save_path folder session_start(); ?> <html> <head> <title>PHP Test</title> </head> <body> <p> The browser you're using is <?php echo $_SERVER['HTTP_USER_AGENT']; ?> </p> <p> <!-- test the browscap setup --> Your browser's capabilities are: <br/> <pre> <?php print_r(get_browser(null, true)); ?> </pre> </p> <?php phpinfo(); ?> </body> </html> 2. Abrir IE6 y poner la dirección http://localhost/index.php, si le da error verificar los pasos de la instalación. Si no da error saldra una pantalla con información sobre la versión de php. FUENTE: http://www.desarrolloweb.com/articulos/1380.php ISS CON ASP El Internet Information Server (ISS) es el servidor Web, incluido en Windows. Si bien viene en el CD de Windows, a veces no esta instalado o funcionando en nuestros PC. Es por ello que veremos los pasos para su instalación y puesta a punto. DISEÑO WEB UPOLI ESTELI 16-06-2010 Existen 2 formas de llegar a la instalación de este paquete, estas son: y y Desde el Panel de Control Con el CD de Windows Instalación desde el CD de Windows Insertamos el CD, y vamos a Instalación de Componentes Opcionales de Windows o bien .. Instalación desde el Panel de Control Vamos al Panel de Control (con Inicio, Configuración, Panel de Control, o Mi PC, Panel de Control) DISEÑO WEB UPOLI ESTELI 16-06-2010 Luego Agregar Quitar Programas y Agregar Quitar Componentes de Windows DISEÑO WEB UPOLI ESTELI 16-06-2010 En la ventana de Componentes Adicionales de Windows, debemos elegir Servicios de Internet Information Server, y le damos en Detalle DISEÑO WEB UPOLI ESTELI 16-06-2010 Fuimos a Detalle, para asegurarnos de marcar todos los elementos, de forma que no tengamos inconvenientes de faltantes cuando avancemos con ASP y/o ASP.NET DISEÑO WEB UPOLI ESTELI 16-06-2010 Finalmente, salimos con Aceptar de la ventana de Servicios de IIS, y nuevamente Aceptar en la ventana de Componentes de Windows, y cerramos el Panel de Control Con estos sencillos pasos estaría listo nuestro Servidor Local de Paginas Web's, soportando ASP y ASP.NET En nuestro disco duro, la carpeta por defecto sera c:\inetpub\wwwroot que equivale a http://localhost Hagamos ahora nuestro primer y sencillo ASP para comprobar el funcionamiento de nuestro Servidor Web Local: y y y y Vamos a Inicio Ejecutar escribimos notepad c:\inetpub\wwwroot\index.asp le diremos que queremos crear un archivo (ya que no existe) DISEÑO WEB UPOLI ESTELI 16-06-2010 y y y adentro escribimos <% Response.Write("Nuestro Primer ASP, www.tallerwebmaster.com") %> Y cerramos el Block de Notas, guardando el archivo Solo nos queda probar nuestra pagina recien creada y el funcionamiento del IIS, para esto abrimos nuestro navegador web y digitamos: http://localhost/index.asp Listo !! veremos como en la imagen, nuestro Servidor esta funcionando ;) FUENTE: http://www.tallerwebmaster.com/tutorial/instalacion-de-iis-parapaginas-asp/31/ PROGRAMAS PARA SUBIR ARCHIVOS A MI SERVIDOR WEB DISEÑO WEB UPOLI ESTELI 16-06-2010 FTP: Bueno, para los que terminaron de leer el manual de html y no sepan subir archivos via FTP, aqui va un mini-manual: 1) Escoger un host (el q quieras para tu web). Puede ser: www.geocities.com www.miarroba.com www.shinranet.com www.sponsoradulto.com (sin publicidad) www.iespana.es 2) Cuando crees la cuenta, te van a mandar un mail (o en la web ya están los datos) con datos, que son: -Host: deberia tener algo asi: ftp.dominio.com o ftp.usuario.dominio.com -Usuario: tu nombre de usuario -Constraseña: tu contraseña. 3) Usar un programa para subir los archivos, descarga el FileZilla o el CuteFtp. En este caso va a ser con el FileZilla. 4) Lo instalas y lo abres, vas a aqui una imagen para saber que poner: 5)Le das a QUICKCONNECT para conectarte a tu servidor. 6) Para subir archivos al servidor o bajar archivos del servidor a tu pc, click con el boton derecho del mouse sobre el archivo y despues le das a Upload para subir el archivo o Download para bajarlo DREAMWEAVER: Vamos a subir la página que hemos hecho anteriormente, es muy sencillo, hacerlo con Dreamweaver, debemos tenerlo configurado, tal y como explicamos en el tutorial anterior. DISEÑO WEB UPOLI ESTELI 16-06-2010 Abrimos nuestra página en el Dreamweaver, para subirla tenemos dos opciones, vamos a trabajar las dos: 1.- A través del menú Sitio: Nos fijamos que en la ventana de nuestro documento, está la página que desamos subir a nuestro servidor, y tan solo hay que hacer click en Sitio > Colocar Se nos abre un cuadro de dialogo, preguntandonos si queremos subir los archivos dependientes de nuestra página, esto es, que suba tambien todo lo que forma nuestra página, es decir, las imagenes, fondos, música si la hubiera, es decir cualquier elemento que forme parte de la misma. Como nosotros no hemos subido nada de esta página, le damos a aceptar, para que vaya subiendo todo, si en breve hicieramos cualquier modificación, que no conllevara ninguna modificación en las imagenes u objetos de nuestra página, no tenemos por qué subir esos archivos dependientes, ya que con ellos, ahorrariamos tiempo. Y ya tenemos subida nuestra primera página web. Sencillo verdad? 2.- La segunda posibilidad es a través de la ventana de archivos remotos y locales, damos click en el icono para abrirla: DISEÑO WEB UPOLI ESTELI 16-06-2010 Si no se ve nuestro sitio web, tan solo debemos dar click al icono de conectar, y una vez en las dos ventanas podamos ver los archivos correspondientes a nuestro sitio web y nuestro sitio de trabajo en el pc, tan solo debemos arrastrar nuestra página hacia el sitio web, tambien en esta ocasión nos pedirá si queremos subir tambien los archivos dependientes. Como veis no es nada complicado, la verdad que Dreamweaver, nos facilita mucho el trabajo, y con eso tambien ahorramos tiempo. FUENTE: http://www.simplemachines.org/community/index.php?topic=53856.0 ASP PURO: 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 ara 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) DISEÑO WEB UPOLI ESTELI 16-06-2010 En realidad el código de aqui abajo esta simplificado para explicar ahora un poco como se maneja el upload. El ejemplo que está en el ZIP para descargar está mas completo y mejor, pero para explicar por primera vez, creo mas fácil un ejemplo con menos cosas... Explicacion en detalle del script (el ejemplo) La primera línea importante del script es la linea del Include: <!-- #include file="freeaspupload.asp" --> la cual llama al archivo freeASPUpload.asp (que como dije antes, es el corazon de todo esto). Sin esta linea nada funcionará Luego mas abajo hay un comentario que básicamente lo que dice es que hay que configurar el directorio de destino donde los archivos subidos van a quedar. Esto se hace en una variable que está justo alli, en el ejemplo se llama uploadsDirVar. (Leer el comentario. Habla sobre permisos de escritura, etc.) Luego aparece una funcion llamada SaveFiles y es la que se encarga de efectuar la subida de los archivos. Es la funcion que deberemos llamar para hacer el upload (internamente digamos, esta funcion hace uso del archivo freeASPUpload.asp) Explicacion dentro de la funcion. Hay dos lineas principales e imprescindibles: Set Upload = New FreeASPUpload Upload.Save(uploadsDirVar) La primer linea crea un objeto de la clase FreeASPUpload y la segunda llama al método Save, produciendo el upload de los archivos. Luego restaría explicar un poco de HTML. El formulario tiene que ser asi: <FORM METHOD="POST" enctype="multipart/form-data"> Y luego los campos de texto deben ser algo asi: <INPUT NAME="archivo1" TYPE="FILE"> Todo esto que estoy diciendo, está reflejado en el script de aqui abajo <% option explicit Response.Expires = -1 DISEÑO WEB UPOLI ESTELI 16-06-2010 Server.ScriptTimeout = 600 %> <!-- #include file="freeaspupload.asp" --> <% ' **************************************************** ' Cambiar el valor de la siguiente variable ' para indicar el directorio de destino. ' El directorio indicado debe tener permisos de escritura ' de caso contrario el script fallará mostrando un error. Dim uploadsDirVar uploadsDirVar = "C:\Inetpub\wwwroot\" ' **************************************************** Function SaveFiles Dim Upload, ks, resumen Set Upload = New FreeASPUpload Upload.Save(uploadsDirVar) If Err.Number <> 0 then Exit function ks = Upload.UploadedFiles.keys if (UBound(ks) = -1) then resumen = "No es un nombre valido en el sistema." SaveFiles = resumen end function %> <HTML> <HEAD><TITLE>Test Free ASP Upload</TITLE></HEAD> <BODY> <br> <div style="border-bottom: #A91905 2px solid;font-size:16">Subir archivos</div> <div style='margin-left:150'> <form name="frmSend" method="POST" enctype="multipart/form-data" action="pruebaupload.asp"> Archivo 1: <input name="attach1" type="file" size="35"><br> Archivo 2: <input name="attach2" type="file" size="35"><br> <br> <input type=submit value="Upload"> DISEÑO WEB UPOLI ESTELI 16-06-2010 </form> <BR></div> <% 'solo llamo al UPLOAD si hay envio de formulario if Request.ServerVariables("REQUEST_METHOD") = "POST" then response.write SaveFiles() end if %> </BODY> </HTML> Este ejemplo que manejamos aqui, es una "modificación" de su original, al cual le debemos las gracias. El sitio oficial es este: Free ASP Upload. Aqui hay una explicación (en ingles) del script y explica algunas cosas más. FUENTE: http://www.soloasp.com.ar/vereje.asp?eje=51