Twitter Flickr Pinterest LinkedIn YouTube Google Maps E-mail RSS
formats

Montando un servidor web Apache sobre Windows 10 con MySQL y PHP al detalle. WAMPSERVER

Esta entrada promete ser larga, por eso, os recomiendo paciencia a la hora de leerla, ya que como todas las cosas, uno comienza escribiendo y se acaba con 20 páginas. Pero creo que debe ser así, si se quiere explicar bien que es lo que deseamos hacer.

El propósito de este post es hablaros sobre como montar un servidor de paginas web de forma gratuita sobre Windows 10 (aunque funcionaria igual sobre otras versiones del Sistema Operativo), que soporte Apache, PHP y MySQL, y todo ello de forma “extremadamente” sencilla.

Gracias a WampServer (aunque existen alternativas y también bastante buenas, como XAMP, MAMP, etc.).

Wamp-Server-introduccion

 

Pero claro, aunque instalar el servidor sobre Windows, simplemente supone instalar una aplicación o un ejecutable, y es algo trivial, entender todos los parámetros configurados por defecto, no es sencillo, ya que existen muchas configuraciones posibles y opciones que es necesario explicar y entender. Es por ello que he creado esta entrada, para aclarar cada apartado y su significado, ya que no queda del todo bien documentado.

La web oficial del producto es www.wampserver.com, desde ahí podemos descargar el programa. El autor es el francés Romain Bourdon

WampServer es un entorno de desarrollo web, que nos permite crear o desplegar aplicaciones web usando el servidor Apache2, el lenguaje más extendido PHP y el gestor de bases de datos MySQL. Además dispone de un set de herramientas disponibles para gestion de la base de datos. Es el trinomio que posibilita crear ampliaciones WAMP, acrónimo de (Windows Apache MySQL y PHP) a diferencia de las conocidas como L (Linux)AMP.

El proceso de instalación nos ofrece más información sobre lo que vamos a instalar.

Wamp-Server

wampserver-1

Podemos ver las versiones de las aplicaciones que están incluidas en la instalación de WampServer 2.

Apache, Mysql, PHP, los gestores web sobre navegador de bases de datos PhpMyAdmin y Sqlbuddy y el debugger.

wamp-2

La ventana superior muestra donde se va a instalar WAMP.
wampsever-3

Esta otra ventana superior muestra el proceso de instalación. Contiene todos los archivos que son bastantes usados por cada una de las aplicaciones.

wamp-4-ruta-por-defecto

Podemos establecer el navegador por defecto para emplearlo con WAMP.

Observa que he usado la ruta donde se encuentra instalado el ejecutable de Google Chrome.

c:\Users\(usuario)\AppData\Local\Google\Chrome\Application\chrome.exe

wamp-5

También nos solicita especificar el servidor saliente de correo empleado por la función mail de PHP y la dirección de correo.

Una vez instalado, podremos ejecutarlo y nos aparecerá un icono en la barra de tareas inferior.

Este menú le explicaré con detalle.

wamp-6-servicios

 

Lo primero de todo si abrimos localhost, se nos abrirá el navegador establecido por defecto en la instalación, para mostrar las opciones disponibles. Os he capturado una imagen para que veáis que es lo que disponemos.

WAMP-Server-modulos-explicados

 

Todas estas extensiones y su descripción vienen establecidas por defecto una vez instalado WAMP.

Os dejo una pequeña ayuda a cada una de ellas ausente en la página localhost de entrada. Proporciono enlaces en castellano apuntando a cada sección de la página oficial php.net.

Son 55 las extensiones de PHP que establece por defecto WAMP, explicaré un poco las más interesantes. Recuerda también que desde la propia página inicial puedes acceder a una dirección que posee la función phpinfo(), para analizar en detalle otros aspectos PHP. Por ejemplo, core no lo he analizado como extensión, pero ofrece información valiosa sobre directivas.  En la parte inferior se muestra información los créditos y los autores de cada uno de los módulos y/o extensiones.

Un dato muy importante que ofrece phpinfo, son el valor de las variables de entorno. Justo encima de los créditos, dos apartados con los términos de PHP Variables y Environtment. Observa que las variables de entorno, al ser una instalación sobre Windows, ofrecen rutas hacia archivos (tipo SET).

 

Estas son las extensiones PHP de la página localhost:

apache2handle

Es una extensión de PHP para Apache
https://github.com/vpj/PHP-Extension-API/tree/master/php5/sapi/apache2handler

En Apache 2.0, disponemos de controladores que generan contenido (como leer un script de disco). El contenido va a través de una cadena de filtros. PHP puede actuar como un filtro, para procesar el script y gestionar la sadida hacia el siguiente filtro. El modulo gestiona de forma segura los modulos php externos.

com_dotnet

Es un modulo que cuando se encuentra cargado, permite crear instancias de un objeto COM compatible con OLE, de tal forma que podremos llamar a sus métodos y propiedades.
http://php.net/manual/es/book.com.php

La extensión se activa en el PHP.ini de esta forma

[PHP_COM_DOTNET]
extension=php_com_dotnet.dll

Date

Permite activar funcionalidades para la gestión de la fecha y la hora.
File info
Información sobre los ficheros.

Gettext
Consultar un mensaje en el domino actual
http://php.net/manual/es/function.gettext.php

Imap

Funciones para trabajar con servidores de correo mediante protocolo Imap
http://php.net/manual/es/ref.imap.php

Mcrypt
Funciones de encriptación y desencriptación.
http://php.net/manual/es/book.mcrypt.php

Mysqlnd
http://php.net/manual/es/book.mysqlnd.php
Controlador nativo de Mysql

PDO
Objeto de datos en PHP. Define una interfaz ligera para acceder a bases de datos en PHP.
http://php.net/manual/es/book.pdo.php

Reflection
API que añade capacidades para realizar ingeniería inversa de clases, interfaces , funciones, métodos y extensiones.
http://php.net/manual/es/book.reflection.php

Soap
Permite usar servidores y clientes SOAP desde PHP y sus diversas especificaciones. Esta extensión de PHP implementa el soporte para expat de James Clark en PHP. Este conjunto de herramientas permite analizar, pero no validar, documentos XML
http://php.net/manual/es/book.soap.php

xml
Soporte para tratamiento y manipulación de XML.
http://php.net/manual/es/book.xml.php

Xsl
La extensión XSL implementa el estándar XSL, realizando » transformaciones XSLT usando la » biblioteca libxslt
http://php.net/manual/es/book.xsl.php

Gmp
Estas funciones permiten trabajar con números enteros de longitud arbitraria usando la biblioteca MP de GNU
http://php.net/manual/es/book.gmp.php

Json
Esta extensión implementa el formato de intercambio de datos » JavaScript Object Notation (JSON) La decodificación se realiza mediante el análisis sintáctico basado en la implementación de JSON_checker por Douglas Crockford.
http://php.net/manual/es/book.json.php

Mhash
Estas funciones están destinadas a trabajar con » mhash. Mhash puede ser utilizada para crear sumas de comprobación, resúmenes de mensajes, códigos de autentificación de mensajes, y más.
http://php.net/manual/es/intro.mhash.php

Odbc
Para conectividad de bases de datos abiertas.

Pdo_mysql
PDO_MYSQL es un controlador que implementa la interfaz de Objetos de Datos de PHP (PDO) para permitir el acceso de PHP a bases de datos de MySQL 3.x, 4.x y 5.x. PDO_MYSQL aprovechará el soporte nativo de sentencias preparadas presente en MySQL 4.1 y superior. Si se utiliza una versión anterior de las bibliotecas cliente de MySQL, PDO las emulará.
http://php.net/manual/es/ref.pdo-mysql.php
session

El soporte para sesiones en PHP consiste en una forma de preservar cierta información a lo largo de accesos subsiguientes.

A un visitante que accede a un sitio web se el asigna un id único, también llamado id de sesión. Éste es almacenado en una cookie en la parte del cliente o se propaga en el URL.

El soporte para sesiones permite almacenar los datos entre peticiones en el array superglobal $_SESSION. Cuando un visitante acceda a un sitio web, PHP comprobará automáticamente (si session.auto_start está establecido a 1), o sobre su petición (explícitamete a través desession_start()), si se ha enviado un id de sesión específico con la petición. Si éste es el caso, se recrea el entorno anteriormente guardado.
http://php.net/manual/es/intro.session.php

sockets
http://php.net/manual/es/book.sockets.php

La extensión socket implementa una interfaz de bajo nivel para las funciones de comunicación de sockets basadas en los populares sockets de BSD, proporcionando la posibilidad de actuar tanto como servidor como cliente del socket.

Tokenizer
http://php.net/manual/es/book.tokenizer.php
Las funciones de la extensión tokenizer proporcionan una interfaz para la creación de tokens de PHP integrada en el Motor Zend. Utilizando estas funciones se pueden escribir herramientas propias de análisis o de modificación de código fuente de PHP, sin tener que hacer frente a las especificaciones del lenguaje a nivel léxico

Xmlreader
http://php.net/manual/es/book.xmlreader.php
La extensión XMLReader es un analizador de XML. El lector actúa como un cursor yendo hacia delante en el flujo del documento y deteniéndose en cada nodo del camino.

Zip
http://php.net/manual/es/book.zip.php
Esta extensión permite leer o escribir de forma transparente archivos comprimidos ZIP y los ficheros que hay dentro.

bz2
Permite trabajar con archivos comprimidos bz2.

Ctype
Comprobación del tipo de carácter.
http://php.net/manual/es/book.ctype.php
Las funciones proporcionadas con esta extensión comprueban si un carácter o string caen dentro de una cierta clase de caracteres según la configuración regional en uso (véase también setlocale()).

Ereg
Trabajo con expresiones regulares. Para realizar búsquedas y trabajo con patrones.
http://php.net/manual/es/function.ereg.php

ftp
Trabajo con el protocolo de acceso a los servidores FTP.
http://php.net/manual/es/book.ftp.php

hash
Motor para cifrar mensajes (hash). Permite la transformación directa o incremental de mensajes de longitud arbitraria usando una variedad de algoritmos hash.
http://php.net/manual/es/book.hash.php

libxml
http://php.net/manual/es/book.libxml.php
Estas funciones/constantes están disponibles a partir de PHP 5.1.0. Biblioteca de funciones para trabajar con XML.

Openssl
http://php.net/manual/es/book.openssl.php
Este módulo utiliza las funciones de » OpenSSL para la generación y verificación de firmas y para sellar (encriptar) y abrir (desencriptar) datos. OpenSSL ofrece muchas características que este módulo no soporta actualmente. Algunas de éstas podrían añadirse en el futuro.

pdo_sqlite
http://php.net/manual/es/ref.pdo-sqlite.php
PDO_SQLITE es un controlador que implementa la interfaz Objetos de Datos de PHP (PDO, siglas en inglés de PHP Data Objects) para habilitar el acceso a bases de datos de SQLite 3.

Shmop
Shmop es un conjunto de funciones que permiten a PHP leer, escribir, crear y borrar de forma sencilla segmentos de memoria compartida de tipo UNIX.
Nota: Las versiones de Windows anteriores a Windows 2000 no son compatibles con la memoria compartida.
http://php.net/manual/es/book.shmop.php

SPL
La Biblioteca Estándar de PHP (SPL por las siglas de Standard PHP Library en inglés) es una colección de interfaces y clases pensadas para solucionar problemas comunes.

No es necesaria ninguna biblioteca externa para construir esta extensión. Está disponible y compilada de forma predeterminada en PHP 5.0.0.

SPL proporciona un conjunto de estructuras de datos estándar, un conjunto de iteradores para recorrer objetos, un conjunto de interfaces, un conjunto de excepciones estándar, varias clases para trabajar con ficheros, y un conjunto de funciones como spl_autoload_register()
http://php.net/manual/es/book.spl.php

Wddx
http://php.net/manual/es/book.wddx.php

Acrónimo inglés, “The Web Distributed Data Exchange”, tecnología abierta XML que permite crear aplicaciones web con cualquier plataforma para intercambiar datos de forma sencilla a través de la web. WDDX puede ser usado sobre los protocolos HTTP, SMTP, POP, FTP

Xmlrpc
http://php.net/manual/es/book.xmlrpc.php

Estas funciones se pueden usar para escribir servidores y clientes XML-RPC

Zlib
http://php.net/manual/es/book.zlib.php

Este módulo permite leer y escribir ficheros comprimidos con gzip (.gz) de forma transparente, a través de las versiones de la mayoría de las funciones de sistemas de ficheros que trabajan con ficheros comprimidos con gzip (y también con ficheros descomprimidos, pero no con sockets).

Calendar
http://php.net/manual/es/book.calendar.php
La extensión Calendario presenta una serie de funciones para simplificar la conversión entre diferentes formatos de calendario.

Curl
http://php.net/manual/es/book.curl.php

PHP soporta libcurl, una biblioteca creada por Daniel Stenberg que permite conectarse y comunicarse con diferentes tipos de servidores y diferentes tipos de protocolos. Actualmente, libcurl admite los protocolos http, https, ftp, gopher, telnet, dict, file y ldap. libcurl también admite certificados HTTPS, HTTP, POST, HTTP PUT, subidas mediante FTP (también se puede hacer con la extensión FTP de PHP), subidas basadas en formularios HTTP, proxies, cookies, y autenticación usuario+contraseña.

Exif
http://php.net/manual/es/book.exif.php

Con la extensión Exif (siglas en inglés de Exchangeable image information) se puede trabajar con metadatos de imágenes. Por ejemplo, se pueden usar las funciones de exif para leer los metadatos de fotografías tomadas con cámaras digitales, trabajando con la información almacenada en las cabeceras de imágenes JPEG y TIFF.

Gd
http://php.net/manual/es/book.image.php

Permite trabajar con imágenes. PHP no está limitado a crear únicamente salidas HTML. También se puede usar para crear y manipular ficheros de imágenes en una variedad de diferentes formatos de imagen, incluyendo GIF, PNG, JPEG, WBMP y XPM. Aún más práctico es que PHP puede transferir flujos de imagen directamente al navegador. Necesitará compilar PHP con la biblioteca de funciones de imágenes GD para que esto funcione. GD y PHP también pueden requerir otras bibliotecas, dependiendo de los formatos de imagen con los que se quiera trabajar.

Se pueden usar las funciones de imagen de PHP para obtener el tamaño de imágenes JPEG, GIF, PNG, SWF, TIFF y JPEG2000.

Con la extensión anterior exif, se puede trabajar con información almacenada en cabeceras de imágenes JPEG y TIFF. De esta manera se pueden leer metadatos generados por cámaras digitales. Las funciones de exif no requieren la biblioteca GD.

Iconv
http://php.net/manual/es/book.iconv.php

 


 

Al margen de todas estas extensiones, la pagina inicial Wamp, ofrece el acceso directo a la aplicación previamente instalada phpmyadmin para la gestión de bases de datos mysql desde la web.

Otra herramienta ya instalada es el phpsysinfo que son unos scripts que nos ofrece información sobre nuestro sistema, pero ya mas a nivel físico, maquina, espacios, ocupaciones de disco, consumos de memoria, etc.

Tanto esta herramienta, como el interfaz de wamp, acceso a phpmyadmin, pueden ser mostrados en castellano.

No con eso, también WAMP nos instala de forma predeterminada la utilidad sqlbuddy

http://sqlbuddy.com/

Es otra interfaz para la administración via web de bases de datos mysql. Similar a phpmyadmin. Esta herramienta también puede ser usada en castellano, con una apariencia liviana y sencilla.

La última herramienta instalada es webgrind.
https://code.google.com/p/webgrind/

Es una aplicación que se usa a través del navegador en PHP para realizar “PROFILING” de un sistema web.
El profiling es una análisis de rendimiento de software, se puede traducir como perfilaje. Se investiga el comportamiento del programa, para averiguar ciertos factores que podemos luego optimizar.

La herramienta es en realidad una cara (frontend) para Xdebug. Por lo tanto nos muestra datos que nos ofrece xdebug.

Para trabajar con proyectos, WAMP te anima a crear uno, en el directorio www, para ello crea una carpeta con el administrador de archivos y comienza a trabajar creando paginas en php, html o js, etc. Puedes acceder directamente a este directorio, en el icono del menú de opciones. Asi de sencillo.

Iconv
http://php.net/manual/es/book.iconv.php

Este módulo contiene de un interfaz a la utilidad de conversión de conjuntos de caracteres iconv. Con este módulo se puede convertir un string representado por un conjunto de caracteres local en uno representado por otro conjunto de caracteres, el cual puede ser el conjunto de caracteres Unicode. Los conjuntos de caracteres admitidos dependen de la implemtación de iconv del sistema.

Mbstring
http://php.net/manual/es/book.mbstring.php

Aunque existen muchos idiomas en los cuales cada carácter necesario puede ser representado por una referencia uno a uno a un valor de 8 bits, existen también bastantes idiomas que requieren tantos caracteres para la comunicación escrita que no pueden ser representados dentro del rango que un mero byte puede codificar (un byte se compone de ocho bits. Cada bit puede contener solamente dos valores distintos, uno o cero. Debido a esto, con un byte solo se pueden representar 256 valores únicos (2 a la 8ª potencia)). Los esquemas de codificación multibyte fueron desarrollados precisamente para expresar más de 256 caracteres en el sistema de codificación regular a nivel de bits.

Cuando se manipulan cadenas de caracteres (trim, split, splice, etc.) en una codificación multibyte, es necesario utilizar funciones especiales, ya que dos o más bytes consecutivos pueden representar un único carácter en tal esquema de codificación. Si, de lo contrario, se usa una función que no considera caracteres multibyte con la cadena de caracteres, es probable que falle al detectar el comienzo o el final del carácter multibyte, y que se termine con una cadena de caracteres corrupta que probablemente pierda su significado original.

mbstring proporciona funciones específicas para cadenas de texto multibyte que ayudan a tratar codificaciones multibyte en PHP. Además, mbstring controla la conversión de la codificación de caracteres entre los posibles esquemas de codificación. mbstring está diseñada para manejar codificaciones basadas en Unicode, tales como UTF-8 y UCS-2, y, por conveniencia, varias codificaciones de un solo byte.

Mysqli
http://php.net/manual/es/book.mysqli.php

Extensión Mysql mejorada. La extensión mysqli (mysql improved) permite acceder a la funcionalidad proporcionada por MySQL 4.1 y posterior.

Pcre
http://php.net/manual/es/book.pcre.php

Expresiones regulares compatibles con Perl.

Phar
http://php.net/manual/es/book.phar.php

La extensión phar proporciona una manera de colocar aplicaciones PHP enteras dentro de un único fichero llamado “phar” (PHP Archive) para una distribución e instalación sencillas. Lo archivos Phar están mejor caracterizados como una forma conveniente de agrupar varios ficheros en un único fichero. Como tal, un archvo phar proporciona una forma para distribuir una aplicación PHP completa en un único fichero y ejecutarla desde ese mismo fichero sin necesidad de extraerlo en el disco. Además, los archivos phar pueden ser ejecutados por PHP fácilmente al igual que cualquier otro fichero, tanto desde la línea de comandos como desde un servidor web. Phar a web server. Phar es como una memoria USB para aplicaciones PHP.

SimpleXML
http://php.net/manual/es/book.simplexml.php

La extensión SimpleXML proporciona un conjunto de herramientas muy simple y fácil de usar para convertir XML a un objeto que pueda ser procesado con selectores de propiedades normales e iteradores de arrays.

Sqlite3
http://php.net/manual/es/intro.sqlite3.php

Soporte para bases de datos SQLite versión 3.

Xmlwriter
http://php.net/manual/es/book.xmlwriter.php

Esta es la extensión XMLWriter. Envuelve a la API xmlWriter de libxml.

Esta extensión representa un escritor que provee medios no almacenados en caché de sólo avance para la generación de flujos o ficheros con datos XML.

Esta extensión se puede usar con el estilo orientado a objetos o con el procedimental. Cada método documentado describe la llamada procedimental alternativa.

Short Open Tags

Si se encuentra activo, PGP permite abreviaturas cortas tipo <?  ?>. No obstante si se encuentra desactivada siempre se puede usar la otra versión corta <?php ?>

Expose PHP

Indica a todos los visitantes o curiosos que PHP se encuentra instalado en el servidor, ya que incluye en la cabecera HTTP el Powered by

Display Errors

Determina si los errores deberían ser impresos en pantalla como parte de la salida u ocultarse al usuario.

Display startup errors

Si se encuentra activo, los errores que ocurren en la secuencia de arranque PHP no se muestran. Se recomienda mantener desactivado esto, excepto para la depuración.

Log errors

Indica si los mensajes de error del script php deberían registrase en el servidor o en el error_log. Es una opción específica para servidores.

Report memleaks

Si se encuentra activo, que así es por defecto, mostrará un informe de perdida de memoria detectado por el gestor de memoria Zend. En Windows, será enviado al depurador usando OutputDebugString(), y podrá ser visto con herramientas como » DbgView.

Track errors

Si está habilitado, el último mensaje de error siempre estará presente en la variable $php_errormsg.

File uploads

Permite la subida de ficheros.

Allow url fopen

Esta opción habilita las envolturas fopen de tipo URL que permiten el acceso a objetos URL como ficheros. Las envolturas predeterminadas están proporcionadas para el acceso de ficheros remotos usando los protocolos ftp o http, algunas extensiones como zlib pueden registrar envolturas adicionales.

Desactivadas por defecto

Xdebug
Permite depuración de aplicaciones en PHP. Lo comentaré después.

Es necesario aclarar que todos estos módulos se pueden activar en el PHP.ini. Se edita desde el menú de opciones, se abre automáticamente el editor de texto predeterminado.

Por otro lado, el  PHP, no se desactivan como servicio. Esto no es así con el apache y la base de datos Mysql.

Además de estas extensiones, existen unos ajustes de configuración que debemos conocer. Mostraré primero los que vienen activos (foto). Ver foto php.ini

Xdebug – Profiler

Es una poderosa herramienta que nos ofrece la capacidad de analizar el código PHP y determinar cuellos de botella o ver partes de código que corren lento o necesitan un aumento de velocidad. Para activar esta directiva el valor que se necesita establecer en el php.ini es:

xdebug.profiler_enable = 1;

Existe la posibilidad de activar el generador de perfiles del navegador, para el control de las cookies, se puede establecer a true la entrada
xdebug.profiler_enable_trigger = 1;

También puede configurarse la depuración remota, estableciendo la máquina, el puerto, el manejador, y activando esta característica (viene desactivada)

xdebug.remote_enable=On

xdebug.remote_host=”localhost”

xdebug.remote_port=10000

xdebug.remote_handler=”dbgp”

ASP tags

Permite usar las etiquetas cortas tipo asp <%%>

ASP-tags-off

Output buffering

Activa el buffer de salida para todos los ficheros. Si se encuentra activo puedes usar ob_start() cuando quiers para comenzar el buffer y ob_Flush para detenerlo.

El buffer de salida es un mecanismo que en lugar de enviar la salida directamente al navegador, se envía al buffer, el cual puedes llamar una vez que el contenido este listo. Por defecto, PHP envía la respuesta a los navegadores, para ello usamos echo o print. Pero si activamos el buffer el contenido no se enviará al cliente.
http://www.sitepoint.com/php-streaming-output-buffering-explained/

Implicit flush

Activa el volcado implícito. Vacia el buffer del sistema.

Zlib Output compression

La extensión zlib ofrece la opción de comprimir de manera trasparente las páginas sobre la marcha, si el navegador que hace la solicitud lo soporta. Existen tres opciones en el archivo de configuración php.ini.
http://php.net/manual/es/zlib.configuration.php

Ignore repeated errors

No muestra los errores si son repetidos o se producen en la misma línea.

Ignore repeated source

No muestra la fuente del error en los errores repetidos.

Register argc argv

Permite registrar parámetros de entrada en línea de comandos.

Enable dl

Permite cargar extensiones de php durante la ejecución.

Allow url include

Si se encuentra desactivada no permitirá al código PHP del servidor incluir ficheros remotos. Por lo tanto, permite al programado incluir código mediante URL en sus scripts. Hay que tener cuidado puede ser un motivo de fallo de seguridad, por eso muchos proveedores de hosting lo desactivan. Ejemplo de inclusión:

<?php include(“http://example.com/includes/example_include.php?var=example”); ?>

 

MENU DE OPCIONESwamp-6-servicios

Si has usado o administrado una maquina desde línea de comandos o interprete, te darás cuenta que muchas cosas son bastante rápidas de realizar. También nos posibilita entender lo que estamos realizando. Pero el inconveniente es que tienes que tener muy buena memoria o experiencia para ejecutar cada cosa sin error.

Gracias a estas herramientas gráficas, el acceso a esos comandos, se puede realizar de forma sencilla y solo con un clic.

Esta es una de las grandes ventajas de usar WAMPSERVER, todo está al alcance de la mano, para usuarios sin mucha experiencia. Podemos para servicios, ver configuraciones existentes de apache, php, mysql, acceso a directorios de datos, desactivar módulos o extensiones, con un solo clic.

Localhost -> Abre la pagina inicial, donde se encuentra el pequeño backend de administración

My projects -> Puedes ver las diversas carpetas creadas para cada proyecto dentro del servidor.

PhpMyAdmin -> Carga la herramienta gráfica del navegador para administrar bases Mysql.

Directorio www- > Muestra la carpeta donde se encuentran los diversos proyectos.

APACHE ->
En este apartado me detendré para comentar cada una de las opciones.

Wamp-server-opciones-apache

Versión nos muestra la versión de PHP de apache que tenemos instalada.

Service nos posibilita detener o reiniciar el servidor web de Apache.

Los módulos nos ofrecen diversas opciones de configuración de Apache. Todos los que se encuentran marcados con una verificación se encuentran activos. Podremos editarles a mano, mediante el fichero de texto httpd.conf.

Recuerda que podemos hacer un overriding o sobre configuración de las opciones de apache mediante el archivo .htaccess situado en cada directorio.

El archivo .htaccess es un archivo de configuración distribuida, donde se pueden definir directivas de configuración específicas para cada directorio, sin necesidad de tocar Apache. Sus usos más frecuentes permiten otorgar autorización y autenticación, creación de URLs amigables, restricciones de acceso, listados de directorio, crear páginas personalizadas, control de cache, crear redirecciones estáticas, etc.

También podremos ver los errores tanto de Apache como de acceso. Estos errores son generados por apache en forma de log.

Los módulos de Apache2 son diversos, explicaré los que se encuentran activos por defecto.

Access_compat_module
https://httpd.apache.org/docs/2.4/mod/mod_access_compat.html

Autorizaciones de grupo basadas en host

Actions_module
https://httpd.apache.org/docs/2.4/es/mod/mod_actions.html

Ejecuta scripts CGI basados en el tipo de medio o método de peticion

Alias_module
https://httpd.apache.org/docs/2.4/es/mod/mod_alias.html

Proporciona el mapeo de diferentes partes del sistema de archivos del host en el árbol de documentos y para las redirecciones URL. Usado por el sistema de alias anteriormente comentado.

Allowmethods_module
https://httpd.apache.org/docs/2.4/es/mod/mod_allowmethods.html

Este módulo permite restringir de forma sencilla que métodos HTTP pueden ser usados en el servidor.

Asis_module
https://httpd.apache.org/docs/2.4/es/mod/mod_asis.html

Envía ficheros que contienen sus propias cabeceras HTTP.

Auth_basic_module
https://httpd.apache.org/docs/2.4/es/mod/mod_auth_basic.html

Modulo que proporciona autenticación HTTP básica, para restringir accesos.

Authn_core_module
https://httpd.apache.org/docs/2.4/es/mod/mod_authn_core.html

Autenticación del núcleo. Proporciona capacidades  para permitir o denegar accesos a diversas partes de la web.

Authn_file module
https://httpd.apache.org/docs/2.4/es/mod/mod_authn_file.html

Autenticación de usuarios usando ficheros de texto.

Authz_core_module
https://httpd.apache.org/docs/2.4/es/mod/mod_authz_core.html

Autenticación del núcleo.

Authz_groupfile_module
https://httpd.apache.org/docs/2.4/es/mod/mod_authz_groupfile.html

Autorización de grupo usando ficheros de texto plano.

Authz_host_module
https://httpd.apache.org/docs/2.4/es/mod/mod_authz_host.html

Grupos de autorización basados en host.

Authz_user_module
https://httpd.apache.org/docs/2.4/es/mod/mod_authz_user.html

Autorización de usuario.

Autoindex_module
https://httpd.apache.org/docs/2.4/es/mod/mod_autoindex.html

Genera índices de directorio de forma automática.

Cache_disk_module
https://httpd.apache.org/docs/2.4/es/mod/mod_cache_disk.html

Módulo de almacenamiento basado en disco para el filtrado de cache HTTP.

Cache_module
https://httpd.apache.org/docs/2.4/es/mod/mod_cache.html

Filtro de cache HTTP compatible con la RFC 2616 (las RFC son documentos técnicos que especifican normas o recomendaciones (Request For Comments), creadas por el IETF

Cgi_module
https://httpd.apache.org/docs/2.4/es/mod/mod_cgi.html

Ejecución de scripts CGI. La CGI define una forma para que los servidores web interactúen con programas para la generación de contenido.

Deflate_module
https://httpd.apache.org/docs/2.4/es/mod/mod_deflate.html

Comprime el contenido antes de ser enviado al cliente. Ahorro de ancho de banda.

Dir_module
https://httpd.apache.org/docs/2.4/es/mod/mod_dir.html

Proporciona una barra diagonal que redirige y sirve ficheros del índice de directorios.

Env_module
https://httpd.apache.org/docs/2.4/es/mod/mod_env.html

Modifica el entorno para pasar los scripts CGI y las paginas SSI

File_cache_module
https://httpd.apache.org/docs/2.4/es/mod/mod_file_cache.html

Cachea una lista estática de ficheros en memoria. Es una técnica para reducir la carga del servidor.

Include_module
https://httpd.apache.org/docs/2.4/es/mod/mod_include.html

Este modulo ofrece un filtro que procesará los ficheros antes de que sean enviados al cliente. Actuando de parseador de documentos HTML.

Isapi_module
https://httpd.apache.org/docs/2.4/es/mod/mod_isapi.html

Extensiones de apache para soporte de Windows. Este módulo implementa el API  ISAPI.dll

Log_config_module
https://httpd.apache.org/docs/2.4/es/mod/mod_log_config.html

Almacenamiento y auditoria de las peticiones realizadas al servidor.

Mime_module
https://httpd.apache.org/docs/2.4/es/mod/mod_mime.html

Asocia las extensiones de archivo con el comportamiento del fichero. Para peticiones de realizadas por HTTP, aplicaciones que se asocian a tipos de archivo. Lo que se conoce como tipos MIME. Este es un campo bastante extendido y usado, se pueden agregar nuevas extensiones para la correcta gestión.

Negotiation_module
https://httpd.apache.org/docs/2.4/es/mod/mod_negotiation.html

Selecciona el documento que mejor encaja con las capacidades del cliente, de varios documentos disponibles.

Php5_module
Soporte de PHP 5. Esencial.

Setenvif_module
https://httpd.apache.org/docs/2.4/es/mod/mod_setenvif.html

Permite establecer las variables de entorno.

Vhost_alias_module
https://httpd.apache.org/docs/2.4/es/mod/mod_vhost_alias.html

Posibilita crear dinámicamente host virtuales.

Los directorios alias, permiten definir directorios virtuales. Podremos dar un nombre que deseemos para la ruta donde se encuentran almacenadas las páginas. Estas directivas se encuentran dentro del archivo de configuración httpd.conf, aunque con wampserver las podremos definir desde esta opción.

PHP

Este apartado le he comentado anteriormente, tanto las extensiones como las opciones. Además PHP no admite reinicio de servicio.

configuracion-del-php

 

MYSQL

En este menú, podremos gestionar las características de MySQL. Principalmente parar el servicio, reiniciarle. También podremos ver la versión del motor de bases de datos que estamos empleando.

Podremos gestionar mysql desde el interprete de comandos mediante una ventana cmd.

consula-de-comandos-administrar-mysql

Quick Admin

Permite iniciar, detener o reiniciar todos los servicios anteriormente mencionados a la vez.

Mysq-wampserver

Ultimando.

Una vez montado el servidor, podremos usarle para realizar pruebas, proyectos locales.

Pero si lo que deseamos es que accedan los usuarios desde el exterior, tendremos que ofrecer una IP pública a los demás y para ello existen diversas posibilidades.

Si nos encontramos detrás de un router, tendremos que tocar los parámetros del mismo, sobre todo el NAT, para que las peticiones realizadas al puerto HTTP que por defecto son el 80, vayan hacia el 80 de nuestra maquina con IP privada.

Por otro lado, para asociar un dominio, tendremos que tener en cuenta 2 cuestiones.

Primero si poseemos ya un control de DNS parciales, tendremos que tocar las de tipo A www, o el nombre para que apunten a la IP externa de nuestro router.

Existe otra posibilidad, sin necesidad de tener un servidor DNS, ni de pagar por un dominio, de asociar nuestra IP a un dominio  gratuito de  tipo dinámico.  Por ejemplo DynDNS, DonDNS, Namecheap FREEDNS, etc.

Para finalizar, la próxima entrada, instalaré un WordPress en WAMPSERVER y explicaré la potencia del plugin TYPES y VIEWs.
Os aseguro que nos dará una nueva perspectiva para crear estructuras de datos dentro de wordpress sin necesidad de programar.

Etiquetas:, , ,

Una respuesta

  1. Muchas gracias al editor de esta publicacion, ya que me ha ayudado en mi trabajo 


Usted debe ser Registrado para publicar un cometario

Home Mysql Montando un servidor web Apache sobre Windows 10 con MySQL y PHP al detalle. WAMPSERVER
© www.palentino.es, desde el 2012 - Un Blog para compartir conocimientos ...

Uso de cookies en mi sitio palentino.es

Este sitio web utiliza cookies para que tengamos la mejor experiencia de usuario. Si continúas navegando estás dando tu consentimiento para la aceptación de las mencionadas cookies y la aceptación de la política de cookies

ACEPTAR
Aviso de cookies