Está en la página 1de 13

Montar Un Servidor Web Con Apache, PHP y MySQL y PHPmyAdmin con Windows XP

Por ozharu

NDICE: Montar Un Servidor Web Con Apache, PHP y MySQL y PHPmyAdmin con Windows XP Instalacin de Apache 1.3.X Instalacin de PHP 4 Configuracin del archivo php.ini Configuracin del archivo httpd.conf de Apache Probando nuestro servidor Apache Instalacin de MySQL

Instalacin de phpMyAdmin

Apache Manager para Apache 1.3.X

Montar Un Servidor Web Con Apache, PHP y MySQL y PHPmyAdmin con Windows XP
Bueno pues fijense que algunos de los miembros del Fenix Team nos vimos en la necesidad de instalar un servidor Web y nos dimos cuenta de que ningun manual daba la suficiente informacin tcnica que se necesita y que es mucho ms facil de lo que uno piensa si se siguen los pasos a la perfeccin. Ahora este manual es para Montar el PHP como Modulo de Apache por 3 razones, la primera es que es una de las manera ms facil de configurar el PHP en apache, la segunda es que es la configuracin que mayor estabilidad tiene, y la tercera es que esta configuracin es la que la mayoria de los servers usa y es la que use yo. Tambien se puede configurar muy facil como CGI usando la libreria FastCGI pero es altamente inestable y es un suicidio si queremos probar nuestros scripts bien. Ahora tambien podemos hacer que jale php usando IIS de Microsoft, pero es una lata, es inestable, hay que instalar mil cosas a windows, de las cuales solo usaras una pero que a huevo te instala todas, en resumen mejor echale un cerillo a tu PC antes de usar IIS, adems lo cobran. As que pondre este tutorial para que tu montes tu propio servidor en tu pc da manera facil y gratuita y puedas probar tus script's de php, probar tus bases de datos, etc, ahora pondre los links a los programas que yo mismo use para que luego no se diga que pongo una cosa y uso otra, as no abra pierde, y tambien pondre mis experiencias personales. Antes de empezar cabe aclarar que este manual es para instalarlo en Windows XP, no me hago responsable por cualquier otra versin de Windows, aunque deberia de funcionar igual, no es mucha ciencia en realidad. Ahora si empecemos con todos los pasos:

Instalacin de Apache 1.3.X


Yo me decidi por la versin 1.3.X ya que es la ms sencilla a mi juicio de instalar, buscaremos la ltima versin de este tipo. Yo estoy usando la version 1.3.37 la cual hasta el momento es la ultima ms estable de la serie 1.3.x, y el archivo que tenemos que bajar es: Cdigo: http://archive.apache.org/dist/httpd/binaries/win32/apache_1.3.37win32-x86-no_src.msi

En este punto hay un punto como comentario, no se porque pero Apache para esta version solo saco en MS o sea que necesita Windows Installer, no saco un exe lo cual se me hace raro, pero si alguien encuentra una version anterior (no tan vieja) que si sea ejecutable pues adelante, pero recomiendo esta en especial porque es muy ligera a diferencia de los Ejecutables Bien, una vez que lo tengamos, ejecutamos el instalador y vamos recorriendo las pantallas hasta que salga una donde nos piden unos datos, en cuyo caso pondremos: Network Domain: 127.0.0.1 Server Name: 127.0.0.1 Administrator's Email Address: nuestro e-mail, aunque no es totalmente necesario. Run when started manually, only for me. Seleccionamos esta opcin. Tal y como se muestra a continuacion

La IP 127.0.0.1 es la direccin IP asociada a nuestra mquina, es decir el host local o vulgarmente conocido como Localhost. Es importante decir que a la hora de probar tus scripts en modo local, da igual que pongas 127.0.0.1 o localhost. Finalmente, recordar que el Apache se instala por defecto en la carpeta: C:\Archivos de programa\Apache Group\Apache\ Bien, ahora vamos a instalar el PHP. Asegrate ahora de tener cerrado el Apache.

Instalacin de PHP 4
Ahora instalaremos el PHP4, y procedemos a descargar el PHP para Windows. El archivo es el siguiente Cdigo: http://mx2.php.net/distributions/php-4.4.6-Win32.zip

Igualmente y como prometi, yo use la version 4.4.6 que es la versin disponible hasta esta fecha. Segn vayan saliendo nuevas versiones podrs irlas encontrando en php.net en la seccin downloads. Una vez descargado todo el ZIP, nos creamos una carpeta en el sitio donde queramos instalar los archivos del servidor (PHP, MySQL...), por ejemplo nos creamos una carpeta en la raz del disco duro y que quede as: C:\Servidor\ Ahora extraemos los archivos del ZIP de PHP dendro de esa carpeta. En este caso se crea la carpeta C:\Servidor\php-4.4.4-Win32\ pero como esta muy largo el nombre y poco operativo para un servidor, procedemos a renombrarla a C:\Servidor\PHP\ Y ahora hay que seleccionar el php4ts.dll (localizado en C:\Servidor\PHP\php4ts.dll) y copiarlo al directorio System32 de la carpeta del Windows. Si hay otro archivo en System32 lo sobreescribimos. Igualmente seleccionar los archivos que estn en la carpeta C:\Servidor\PHP\dlls\ y copiarlos a la carpeta System32 igual que hicimos con el archivo php4ts.dll Ahora otro comentario, yo en lo personal no use php5 porque an le falta cierta compatibilidad con los foros y blogs, as que es preferible que instales la 4 que jala perfecto con cualquier sistema de foro si es esto lo que quieres echar a andar en tu servidor.

Configuracin del archivo php.ini


El siguiente paso es configurar el php.ini. Renombramos o copiamos el archivo C:\Servidor\PHP\php.ini-dist y le ponemos php.ini Ahora lo editamos con el mismo block de notas. Si lo necesitramos (lee antes la explicacin), editamos la lnea register_globals = Off y la colocamos el valor: register_globals = On A continuacin vamos a indicar a PHP dnde se guardan las extensiones. Dentro del php.ini buscamos extension_dir y le ponemos la carpeta que contiene los archivos php_xxx.dll, que por defecto es la carpeta extensions dentro de PHP. IMPORTANTE: durante toda la configuracin de directorios, debes utilizar esta barra "/" y no esta "\". O sea, que debe quedar as: ; Directory in which the loadable extensions (modules) reside. extension_dir = C:/Servidor/PHP/extensions/ Adems podemos activar las extensiones que queramos o necesitemos, para lo cual buscamos Windows Extensions y para cargar las extensiones les quitamos el ; de delante. Por ejemplo, si quisiramos cargar la extensin gd2.dll (para manejar las funciones PHP relativas a imgenes) deberamos cambiar ;extension=php_gd2.dll por extension=php_gd2.dll Puedes ver para qu sirve cada extensin en el Manual oficial de PHP. Como nota adicional, resaltar que hay algunas extensiones que requieren de libreras extra que no vienen en el paquete completo de PHP, y para hacerlas funcionar tendremos que buscar dichas libreras. En Mi caso yo tengo activadas extension=php_mbstring.dll, extension=php_gd2.dll, extension=php_gettext.dll. Ahora, si vamos a hacer pruebas con upload de archivos via HTTP, debemos indicar el directorio donde los archivos se almacenarn temporalmente. Para ello buscamos upload_tmp_dir y le damos el valor de una carpeta que exista. Por ejemplo, en nuestro directorio C:\Servidor\PHP\ creamos una carpeta uploads, por lo que pondremos "C:/Servidor/PHP/uploads/", quedando algo as: ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). upload_tmp_dir = C:/Servidor/PHP/uploads/ Si queremos cambiar el tamao mximo de los archivo que pueden subirse via HTTP, buscamos upload_max_filesize y cambiamos el valor por defecto que trae, 2M (2 MB), por el que queramos. No se recomienda poner un valor alto. ; Maximum allowed size for uploaded files. upload_max_filesize = 2M Para trabajar con sesiones, debemos especificar un directorio donde se guarden los archivos temporales. Al igual que 2 pasos antes, buscamos session.save_path y le damos el valor de un directorio que exista (o lo creamos): session.save_path = C:/Servidor/PHP/sessions/ A continuacin copiamos el php.ini a la carpeta C:\Windows\ de nuestro Windows XP. Ya teniendo todo esto es momento de decirle a apche que ya esta listo el PHP

Configuracin del archivo httpd.conf de Apache


Buscamos Dynamic Shared Object (DSO) Support que es donde se cargan los mdulos. Ah vamos a cargar el mdulo de PHP para Apache, dando la direccin del archivophp4apache.dll (PHP4) que lo contiene. Encontramos hasta un ejemplo: # Example: # LoadModule foo_module modules/mod_foo.so # Y ahora aadimos justo debajo: LoadModule php4_module C:/Servidor/PHP/sapi/php4apache.dll De tal manera que tiene que quedar as: # Example: # LoadModule foo_module modules/mod_foo.so # LoadModule php4_module C:/Servidor/PHP/sapi/php4apache.dll Ahora bajamos un poco por el httpd.conf y llamamos al mdulo mod_php4.c, de tal manera que quede as: ClearModuleList AddModule mod_php4.c #AddModule mod_vhost_alias.c Vale, ahora buscamos en el httpd.conf el modulo mod_dir.c y nos sale esto: <IfModule mod_dir.c> DirectoryIndex index.html </IfModule> Modificamos la lnea central para que si entramos en un directorio tipo http://127.0.0.1/directorio/ nos autoejecute el index predeterminado (si existe) y no nos salga un mensaje de error. Puedes usar ms nombres si lo prefieres. Se ejecutarn por orden: si no encuentra el primero, pasa al segundo; si no est el segundo, pasa al tercero, y as sucesivamente hasta que si no encuentra ninguno entonces da error. En la siguiente lnea, si en nuestro directorio tenemos un index.htm y un index.php, por defecto se ejecutar el index.htm ya que est antes. DirectoryIndex index.html index.htm index.php index.php3 index.php4 index.phtml Ahora le aadimos debajo estas lneas: AddType application/x-httpd-php .php .php3 .php4 .phtml AddType application/x-httpd-php-source .phps La primera indica las extensiones que sern interpretadas por el Apache. Por ejemplo podemos aadir la extensin .htm o .html para que el Apache ejecute el cdigo PHP contenido en esas pginas (es decir, el uso de cdigo PHP no est limitado exclusivamente a archivos *.PHP). La segunda sirve para que si entras en una pgina loquesea.phps entonces se muestra el cdigo PHP a color, muy til si queremos por ejemplo mostrar el cdigo fuente a color en una pgina. De tal forma que al final todo queda as: <IfModule mod_dir.c> DirectoryIndex index.html index.htm index.php index.php3 index.php4 index.phtml AddType application/x-httpd-php .php .php3 .php4 .phtml AddType application/x-httpd-php-source .phps </IfModule> El directorio predeterminado para guardar nuestras pginas es el htdocs del Apache: C:\Archivos de programa\Apache Group\Apache\htdocs\ Pero podemos cambiarlo fcilmente. Buscamos DocumentRoot y nos sale esto: DocumentRoot "C:/Archivos de programa/Apache Group/Apache/htdocs"

Nosotros sustituimos la carpeta htdocs del Apache por la que queramos. Todos los archivos que vayas a probar con el Apache debern estar localizados en esta carpeta. Por ejemplo nos creamos una carpeta WEB dentro del directorio del servidor: DocumentRoot "C:/Servidor/WEB/" Y ya podemos guardar el archivo httpd.conf

Probando nuestro servidor Apache


Ahora vamos a probar el Apache y PHP, para lo cual deberemos arrancar el Apache. Para Apache 1.3.X slo tenemos que arrancar el apache.exe de la carpeta del Apache para iniciar el servidor, con lo cual nos sale una ventanita de MS-Dos donde nos indicar que est activo (running) o no. Basta cerrar la ventanita de MS-Dos para desactivar el Apache. Si todo ha ido bien, podemos crear un archivo llamado por ejemplo info.php dentro de la carpeta de nuestra web cuyo contenido sea exclusivamente el siguiente: <? phpinfo(); ?> Si accedemos mediante nuestro navegador a la direccin http://127.0.0.1/info.php o http://localhost/info.php (recuerda que 127.0.0.1 = localhost) con el Apache activo deberemos visualizar una pgina de informacin de PHP. Si no sale, algo ha fallado, revisa los pasos.

Algo as debera aparecerte. Como has podido observar, para acceder a nuestro servidor local y as poder probar nuestros script y las pginas de nuestra web, siempre accederemos con la direccin 127.0.0.1 o localhost (sin WWW) en el navegador pues esta es la direccin del host local de nuestro ordenador. En general, para visualizar o acceder a cualquier archivo (PHP, HTML, TXT, ZIP, GIF, JPG, etc.) que tengamos en nuestra carpeta de la web, lo haremos de la siguiente forma: http://localhost/CARPETA/ARCHIVO.EXT Donde CARPETA es la carpeta (o serie de carpetas) relativas a la raiz en que se encuentra el ARCHIVO.EXT. Por tanto resaltar que no slo podemos hacer llamadas a script PHP, sino tambin a pginas HTML, descarga de archivos, imgenes, etc., tan solo poniendo la direccin

correcta en el navegador. Es simplemente un servidor. De esta forma, podemos tener nuestra web funcionando en nuestro propio ordenador para construirla desde cero o bien hacer las pruebas que necesitemos sin tener que estar conectados a Internet.

Instalacin de MySQL
Vamos a hacer la instalacin de una versin 5.0.X, por lo que en este caso buscaremos la versin que corresponda en los downloads para Windows.Hasta este momento la ultima ms estable es la versin 5.0.37 y el archivo que uso es: Cdigo: http://mysql.sd2.mirrors.redwire.net/Downloads/MySQL5.0/mysql-5.0.37-win32.zip

Existen dos tipos de archivo descargable, en ZIP y en EXE (el link aunque este en zip, dentro trae el instalador. Yo prefiero el ejecutable porque es ms facil de configurar, por defecto se instala en C:\Archivos de programa\MySQL\MySQL Server 5.0\, se recomienda elegir otra ruta de instalacin, y por ejemplo lo vamos a hacer en C:\Servidor\MySQL\ para tener el PHP y MySQL en la misma carpeta. Nos dara la bienvenida a MySQL

Nos preguntara que tipo de instalacin queremos, por supuesto seleccionamos custum(personalizada) para poder cambiar la ruta de instalacin

Nos lleva a la ventana de custum y aqui damos click al botos de Change y le damos la nueva ruta la cual sera C:\Servidor\MySQL\ para tener cmo habiamos dicho PHP y MySQL juntos.

Ya solo le damos next y en la ultima ventana le damos al Boton Install y eso es todo en esta Parte

Una vez finalizada la instalacin, nos mostrara un mensaje el cual te dira que si quieres configurar MySQL server ahora, selecciunalo y le das finish, te abrira otra ventana la cual es para configurar el password de root, creo que no te deja mantenerlo vacio por seguridad, ya que esto acarrea problemas as que acuerdate bien de que contrasea pones sino tendras que desinstalarlo y volverlo a instalar.Antes al lado del reloj te salia un semforo. Si el semforo se pona en verde, perfecto, si no, algo habia fallado fallado, ahora es diferente ya que mysql se instala como un servicio de windows en modo automtico por defecto, o sea que cada que inicias windows se inicia MySQl, esto es muy conveniente cuando solo vamos a usar la PC como servidor, pero si solo lo vamos a usar como medio de prueba de nustros scripts, el que siempre se este ejecutando MySQL gasta recursos que podriamos utilizar con otras aplicaciones, asi que lo que yo hago es ir a inicio->ejecutar y tecleo services.msc, busco el servicio MySQL le doy click con el boton derecho, selecciono propiedades y en esa ventana voy a tipo de inicio, selecciono Manual tal cmo aparece en la imagen y listo

Y para no estar a cada rato llendo a inicio->ejecutar etc, creo un acceso directo al escritorio a servicios y as puedo iniciar y para MySQL cuando quiera.

Instalacin de phpMyAdmin
PhpMyAdmin es una utilidad que nos sirve para inteactuar con una base de datos de forma muy sencilla y desde una interfaz web. Nos sirve por ejemplo para crear bases de datos, tablas, borrar o modificar dados, aadir registros, hacer copias de seguridad, etc. Es una aplicacin tan til que casi todos los hosting con MySQL disponen de ella, por ello se analizar su instalacin. Adems, vamos a usarlo para crear los usuarios MySQL para as poder utilizar las bases de datos de forma segura. Al ser una aplicacin escrita en PHP, necesita de Apache y MySQL para poder funcionar. La versin ms estable y la cual yo estoy utilizando es la 2.10.0.2 y su link de descarga es el siguiente: Cdigo: http://easynews.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin2.10.0.2-all-languages.zip

La instalacin es relativamente sencilla: extraer todo el ZIP en la carpeta raz de nuestra web. OJO: en la carpeta de nuestra web, C:\Servidor\WEB\ y no dentro de la carpeta del PHP o similares. Como pone un nombre extrao a la carpeta, mejor la renombramos a phpmyadmin, de forma que quedaria algo as: C:\Servidor\WEB\phpmyadmin\ y esto es porque cambiamos la ruta de DocumentRoot en el archivo httpd.conf, a menos que hayan especificado otro nombre deberan ponerlo. Primero que nada vamos a ir a C:\Servidor\WEB\phpmyadmin\libraries y abriremos el archivo config.default.php con nuestro block de notas y luego seleccionaremos todo el contenido y lo copiaremos a otro pgina en blanco del mismo blok de notas y lo nombraremos config.inc.php que es nuestro archivo que debemos configurar y el cual pondremos en la carpeta C:\Servidor\WEB\phpmyadmin\. Ahora vamos a hacer una pequea configuracin del phpMyAdmin. Para ello debemos editar este archivo que acabamos de crear (el archivo config.inc.php) y, leyendo de arriba hacia abajo, buscamos la primera aparicin de la siguiente lnea: $cfg['PmaAbsoluteUri'] = ''; Debemos darle la ruta absoluta donde tenemos el phpMyAdmin. En nuestro caso sera as: $cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/'; Recuerda que podemos poner localhost o 127.0.0.1 Ahora buscamos si nos aparece algo como esto: $cfg['blowfish_secret'] = ''; Le pondremos una cadena de caracteres cualquiera, que servir de semilla para la encriptacin de contraseas al usar la autentificacin con cookies: $cfg['blowfish_secret'] = 'aqui puedes poner lo que quieras'; Y guardaremos el archivo. Para probar que se instalo correctamente vamos a http://localhost/phpmyadmin/ y deberia darnos una ventana como esta

Ya con esto podemos crear usuarios, bases de datos, modificarlas, etc. Para evitar que todos tengan acceso a tu phpmyadmin y lo modifiquen o lo vean sin tu permiso, Primero en la carpeta de phpmyadmin buscamos el archivo de configuracin (config.inc.php), lo abrimos y buscamos el siguiente parametro: $cfg['Servers'][$i]['auth_type'] = 'config'; , as debe estar por default. Bueno, en donde dice config, en el mismo parametro de configuracin podemos poner 3 valores diferentes para fines parecidos pero con formas de ejecutarse distintas: 1. config: toma los valores del archivo de configuracin (usuario y pass)y no pide logueo de ninguna especie, util cuando vs a usar el servidor solo para pruebas internas y no requieres loguearte a cada rato. 2. http: este es un logueo por autentificacin http, tal y como si fueras a accesar a una carpeta protegida, es algo incomodo por la ventanita pero muy util porque es muy dificil usar la fuerza bruta para violarlo. Te Mostrara una ventana como la que pongo a continuacin, la primera es la ventana que muestra en Firefox y la segunda es la que muestra en Internet Explorer v7

3. cookie: de manera personal mi favorito, te abre una pgina web como la que muestro a continuacin, si pudiste accesar una vez, guarda la cookie y esto tambien lo puedes configurar, as cuando inicies siempre te pedira el logueo.

Nota personal: si les llegara a dar el siguiente error a la hora de abrir phpmyadmin: esto es por una incompatibilidad con los nuevos protocolos de autentificacin y se resuelve muy facil, simplemente ve a la consola de DOS de mysql y has lo siguiente: 1) Escribir: mysql -u root -pontucontrasea 2)Escribir: mysql>use myslq; mysql>update user set password=old_password( tucontrasea ) where user= root ; mysql>flush privileges; mysql>exit; Y listo, reinicia apache(por precuacion) y tambien reinicia mysql y listo.

Apache Manager para Apache 1.3.X


Primero que nada lo descargamos de: Cdigo: http://www.4shared.com/file/12807101/d8e73b7/apmgr.html

Con esta aplicacin podremos manegar apache ms facilmente, iniciarlo, pararlo, reiniciarlo, adems se ejecuta el Apache 1.3.X como un icono al lado del reloj y no como una ventana de Ms-Dos que puede llegar a ser molesta. Adems permite cerrar, pausar y reiniciar el Apache si por ejemplo estamos haciendo
No se pude mostrar la imagen v inculada. Puede que se hay a mov ido, cambiado de nombre o eliminado el archiv o. Compruebe que el v nculo seala al archiv o y ubicaciones correctos.

Este programa se distribuye en un ZIP que contiene un ejecutable y ms archivos; estos archivos son el cdigo fuente, pero el archivo que nos interesa es el apmgr.exe que copiaremos en la misma carpeta que est el apache.exe A continuacin, basta llamar al a apmgr.exe para arrancar el Apache. Si lo hacemos desde un acceso directo, en el destino podemos poner C:\Ruta-delApache\apmgr.exe -r donde el -r indica que arranque automticamente el Apache al iniciar el apmgr.exe. Esta es la configuracin a mi parecer ms idonea y la que mejor me ha funcionado, si desean ms informacin, les adjunto el manual completo de donde saque la informacin y si an as tienen dudas pues ponganlas aqui y con gusto se las resolveremos: Cdigo: http://www.4shared.com/file/12807125/38d5d52c/InApPHMyPhMyAp.html Si a alguien a la hora de actualizar el PHPMy Admin le sale el error no se pudo cargar la extension mcrypt, <br/>por favor revise su configuracin de PHP, tecnicamente no es un error sino una advertencia, es porque el nuevo PHPMyAdmin una este codigo de cifrado para encriptar los usuarios y los passwords de mysql a la hora de usarlos para consulta, con el fin de aumentar el nivel de seguridad y corregir bugs que se consideraban graves (creo),

MCrypt es un reemplazo para el viejo paquete de comandos crypt() y crypt(1), con extensiones. Permite que los desarrolladores utilicen una amplia gama de funciones de cifrado, sin realizar cambios drsticos a su cdigo. Esto permite que los usuarios cifren archivos o las secuencias de datos sin tener que ser criptgrafos. Sobretodo, permite

que se mantenga el cdigo realmente limpio en su mquina. El compaero de MCrypt es Libmcrypt, que contiene el cifrado real y con el que funciona por si mismos, y proporciona un mecanismo estandardizado para tenerles acceso. Simplemente descarga la siguiente libreria: Cdigo: http://www.4shared.com/file/13869614/a85829db/mcrypt.html Deben leer el archivo Fenix_Team - LEEME.nfo que adjunto, alli vienen las instrucciones, de todos modos se las pongo tambien aqui, as no hay pierde.

También podría gustarte