Editorial
Editorial
Editorial

Apache + PHP + MySql + PhpMyAdmin como módulo de Apache

Éste es un breve manual para una instalación rápida de PHP como módulo de Apache. Recuerda que el PHP también puede instalarse como CGI aunque no es el tipo de instalación que trataremos en este manual.

1 – Instalación de Apache

1.1 – Caso A: Instalación de Apache 1.3.X

1.2 – Caso B: Instalación de Apache 2.0.X

2 – Instalación de PHP

2.1 – Copia de archivos

2.1.1 – Caso A: Instalación de PHP4

2.1.2 – Caso B: Instalación de PHP5

2.2 – Configuración del archivo php.ini

2.2.1 – Caso A: Instalación de PHP4

2.2.2 – Caso B: Instalación de PHP5

2.3 – Configuración del archivo httpd.conf de Apache

2.3.1 – Caso A: httpd.conf para Apache 1.3.X

2.3.2 – Caso B: httpd.conf para Apache 2.0.X

2.4 – Probando nuestro servidor Apache

3 – Instalación de MySQL

4 – Instalación de phpMyAdmin

5 – Configurando los usuarios del servidor MySQL

5.1 – Creación de nuestro usuario para MySQL

5.2 – Borrado de usuarios no deseados

5.3 – Recarga de privilegios

5.4 – Configurar los script para el nuevo usuario

6 – Cómo realizar las actualizaciones a versiones superiores

6.1 – Cómo actualizar Apache

6.2 – Cómo actualizar PHP

6.3 – Cómo actualizar MySQL

6.4 – Cómo actualizar phpMyAdmin

7 – Extra: instalación de un servidor de correo SMTP

8 – Extra: Apache Manager para Apache 1.3.X

9 – Notas finales

ATENCIÓN: esta guía de instalación deja la configuración por defecto de todo el
software de servidor mencionado en la misma. No se centra en el afinamiento de la
configuración ni detalles sobre seguridad. El objetivo es crear un servidor en el PC
para desarrollo y ayuda de los programadores, no para instalar un servidor de cara a
su uso en la red. Quien use esta guía de instalación para lo segundo, corre bajo su
responsabilidad, nosotros sólo podemos sugerirle que haga los ajustes de seguridad
que crea convenientes. En este manual no abordaremos tal tema.

También hay disponible una nota para instalar Apache, Mysql y PHP de forma fácil utilizando paquetes preconfigurados.

1 – Instalación de Apache – Web oficial:
http://www.apache.org

En primer lugar vamos a distinguir dos tipos de Apache, que se corresponderán con
las versiones 1.3.X y 2.0.X de este programa. El motivo de la distinción es que se
usan bastante ambas versiones dependiendo del sistema operativo y la configuración
es ligeramente distinta en ambos. Por ejemplo, ambas versiones son estables en sistemas
Windows XP, pero la 2.0.X puede volverse inestable bajo Windows 98. Por tanto, se
explicará la forma de configuración para ambos y luego serás tú quien decidas con cual
te quedas. Así, si uno te falla siempre podrás utilizar el otro, pues da lo mismo.

Deberemos descargar el Apache en su versión para windows. Para ello podemos acceder
por la siguiente URL: http://httpd.apache.org/download.cgi
En cualquier caso, podemos encontrar cualquier archivo necesario en la carpeta
httpd/binaries/win32 del servidor que usemos para la descarga (pincharíamos
en Other files y eso nos conduciría al servidor seleccionado). Lo que es importante
destacar es que lo que hay que destacar son los Binarios (Binary) para Windows
(Win32), no los códigos fuente.

1.1 – Caso A: Instalación de Apache 1.3.X

Si te decides por utilizar la versión 1.3.X, buscaremos la última versión de
este tipo. En la fecha de actualización de este manual, la última versión estable
era la 1.3.33, y el archivo que tenemos que bajar es: apache_1.3.33-win32-x86-no_src.exe También puede existir el mismo archivo pero con extensión msi, en este caso podríamos
bajarlo si disponemos del Windows Installer, la ventaja es que ocupa menos.

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 opción.

Ejemplo de Apache 1.3

La IP 127.0.0.1 es la dirección IP asociada a nuestra máquina, 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. Asegúrate ahora de tener cerrado el Apache.

1.2 – Caso B: Instalación de Apache 2.0.X

Para esta versión, en la fecha de actualizción del manual la última versión
disponible era la 2.0.53, por lo que el archivo que tenemos que bajar puede ser: apache_2.0.53-win32-x86-no_ssl.exe También puede existir el mismo archivo
pero con extensión msi, en este caso podríamos bajarlo si disponemos del Windows
Installer, la ventaja es que ocupa menos.

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.

For All Users, on Port 80, as a Service: seleccionamos esta opción.

Ejemplo de Apache 2.0

La IP 127.0.0.1 es la dirección IP asociada a nuestra máquina, 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. Asegúrate ahora de tener cerrado el Apache.

2 – Instalación de PHP – Web oficial:
http://www.php.net

2.1 – Copia de archivos

Dependiendo de si estamos instalando una versión 4 de PHP o una versión 5, seguiremos
una parte o la otra.

2.1.1 – Instalación de PHP4

Procedemos a descargar el PHP para Windows. El archivo está localizado en la
sección Downloads, apartado Windows Binaries, y es el Zip Package (no el installer,
aunque éste ocupe menos luego no nos servirá). Para la versión 4.3.10, que es la
versión disponible a fecha de actualización de este manual, es:
PHP 4.3.10 zip package [7,405Kb]
. Según vayan saliendo nuevas versiones podrás
irlas encontrando en la citada sección 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 raíz 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.3.10-Win32\ pero como no nos gusta su nombre procedemos a
renombrarla a C:\Servidor\PHP\

Y ahora hay que coger el php4ts.dll (localizado en C:\Servidor\PHP\php4ts.dll)
y copiarlo al directorio System (en Windows 9x) o System32 (NT,2000,XP,2003) de la
carpeta del Windows. Si hay otro archivo en System o System32 lo sobreescribimos.
Igualmente coger los archivos que están en la carpeta C:\Servidor\PHP\dlls\ y
copiarlos a la carpeta System o System32 igual que hicimos con el archivo
php4ts.dll

2.1.2 – Instalación de PHP5

Procedemos a descargar el PHP para Windows. El archivo está localizado en la
sección Downloads, apartado Windows Binaries, y es el Zip Package (no el installer,
aunque éste ocupe menos luego no nos servirá). Para la versión 5.0.3, que es la
versión disponible a fecha de actualización de este manual, es:
PHP 5.0.3 zip package [7,433Kb]
. Según vayan saliendo nuevas versiones podrás
irlas encontrando en la citada sección 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 raíz del disco duro y que quede así: C:\Servidor\ Dentro de esta carpeta
nos creamos otra carpeta y la llamamos PHP. Luego extraemos los archivos del ZIP
dendro de esa carpeta PHP, tal que los contenidos del ZIP quedarán dentro de la
ruta C:\Servidor\PHP\

Y ahora hay que coger el todos los archivos DLL localizados en la carpeta principal
C:\Servidor\PHP\ y copiarlos al directorio System (en Windows 9x) o System32
(NT,2000,XP,2003) de la carpeta del Windows (los archivos DLL contenidos en la carpeta
EXT no hace falta copiarlos).

2.2 – Configuración del archivo php.ini

Igual que el paso anterior, hay pequeñas diferencias dependiendo de si estamos instalando
PHP4 o PHP5, asi que elije tu caso.

2.2.1 – Instalación de PHP4

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 necesitáramos (lee antes la explicación),
editamos la línea register_globals = Off y la colocamos
el valor: register_globals = On

¿Qué hago con register_globals? ¿ON u OFF?

Activar esta directiva nos permite asumir que las variables son globales y pueden
llegar por cualquier método (POST, GET, COOKIE, SERVER, etc). Así, por ejemplo,
si utilizamos una variable global de sesión o cookie se puede suplantar fácilmente
mediante una variable por url, con lo cual nuestro script no es seguro. Un buen
programador de PHP tendría la directiva en OFF y usaría los arrays globales
($HTTP_X_VARS) o los superglobales $_POST, $_GET, etc., que están disponibles a
partir de la versión 4.1.X de PHP. ¿Y por qué? Pues por esos temas de seguridad
en los script y porque debemos acostumbrarnos a no manejar variables globales ya
que en un futuro el PHP tendrá la opción en OFF por defecto y no podremos cambiarla.
Sin embargo, por temas de compatibilidad con script antiguos o que hagan uso de
variables globales, podría interesarnos activar esta característica, pero repito
que lo deseable sería tenerla en OFF y hacer uso de los arrays globales o superglobales.

A continuación vamos a indicar a PHP dónde 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 configuración de directorios, debes utilizar
esta barra "/" y no esta "\", además de ponerlo entre comillas. O sea, que debe
quedar así:

;Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/Servidor/PHP/extensions/"

Además 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 quisiéramos cargar la extensión gd2.dll (para manejar
las funciones PHP relativas a imágenes) deberíamos cambiar
;extension=php_gd2.dll por extension=php_gd2.dll

Puedes ver para qué sirve cada extensión en el Manual oficial de PHP.
Como nota adicional, resaltar que hay algunas extensiones que requieren de librerías
extra que no vienen en el paquete completo de PHP, y para hacerlas funcionar tendremos
que buscar dichas librerías. No actives todas las librerías a diestro y siniestro porque
luego saldrán errores de que no se encuentra tal archivo; antes de instalar una librería,
comprueba que en la carpeta de PHP tienes los archivos DLL correspondientes.

Ahora, si vamos a hacer pruebas con upload de archivos via HTTP, debemos indicar el
directorio donde los archivos se almacenarán 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
quedará 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 tamaño máximo 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 continuación copiamos el php.ini a la carpeta C:\Windows\ o C:\WinNT\ según nuestra versión de Windows.

¡Ahora vamos a decirle al Apache que tenemos el PHP!

2.2.2 – Instalación de PHP5

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 necesitáramos (lee antes la explicación),
editamos la línea register_globals = Off y la colocamos
el valor: register_globals = On

¿Qué hago con register_globals? ¿ON u OFF?

Activar esta directiva nos permite asumir que las variables son globales y pueden
llegar por cualquier método (POST, GET, COOKIE, SERVER, etc). Así, por ejemplo,
si utilizamos una variable global de sesión o cookie se puede suplantar fácilmente
mediante una variable por url, con lo cual nuestro script no es seguro. Un buen
programador de PHP tendría la directiva en OFF y usaría los arrays globales
($HTTP_X_VARS) o los superglobales $_POST, $_GET, etc., que están disponibles a
partir de la versión 4.1.X de PHP. ¿Y por qué? Pues por esos temas de seguridad
en los script y porque debemos acostumbrarnos a no manejar variables globales ya
que en un futuro el PHP tendrá la opción en OFF por defecto y no podremos cambiarla.
Sin embargo, por temas de compatibilidad con script antiguos o que hagan uso de
variables globales, podría interesarnos activar esta característica, pero repito
que lo deseable sería tenerla en OFF y hacer uso de los arrays globales o superglobales.

A continuación vamos a indicar a PHP dónde 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 ext dentro de PHP.
IMPORTANTE: durante toda la configuración de directorios, debes utilizar
esta barra "/" y no esta "\", además de ponerlo entre comillas. O sea, que debe
quedar así:

; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/Servidor/PHP/ext/"

Además 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 quisiéramos cargar la extensión gd2.dll (para manejar
las funciones PHP relativas a imágenes) deberíamos cambiar
;extension=php_gd2.dll por extension=php_gd2.dll

Puedes ver para qué sirve cada extensión en el Manual oficial de PHP.
Como nota adicional, resaltar que hay algunas extensiones que requieren de librerías
extra que no vienen en el paquete completo de PHP, y para hacerlas funcionar tendremos
que buscar dichas librerías. No actives todas las librerías a diestro y siniestro porque
luego saldrán errores de que no se encuentra tal archivo; antes de instalar una librería,
comprueba que en la carpeta de PHP tienes los archivos DLL correspondientes.

IMPORTANTE: la librería php_mysql.dll es la que permite manejar las
funciones relacionadas con MySQL, y por defecto en PHP5 viene desactivada, por tanto
vamos a activarla de la forma que indicamos antes: buscamos
;extension=php_mysql.dll y le quitamos el ; de delante.

Ahora, si vamos a hacer pruebas con upload de archivos via HTTP, debemos indicar el
directorio donde los archivos se almacenarán 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
quedará 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 tamaño máximo 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 continuación copiamos el php.ini a la carpeta C:\Windows\ o C:\WinNT\ según nuestra versión de Windows.

¡Ahora vamos a decirle al Apache que tenemos el PHP!

2.3 – Configuración del archivo httpd.conf de Apache

Ya que al inicio hicimos una distinción para los casos de Apache 1.3.X y para Apache
2.0.X, no vamos a ser menos ahora y distinguiremos los dos tipos. El motivo
es que la gestión de los módulos es distinta en ambas versiones, por lo que
la configuración no es idéntica. Asimismo cambia algo la configuración si se trata
de PHP4 o PHP5, asi que tenemos 4 casos posibles combinando las dos versiones de Apache
y las dos de PHP. Hay que editar el archivo httpd.conf que encontramos en la carpeta
Conf dentro del directorio del Apache.

2.3.1 – Caso A: httpd.conf para Apache 1.3.X

Buscamos Dynamic Shared Object (DSO) Support que es donde se cargan los módulos.
Ahí vamos a cargar el módulo de PHP para Apache, dando la dirección del archivo
php4apache.dll (PHP4) o php5apache.dll (PHP5) que lo contiene. Encontramos hasta
un ejemplo:

# Example:
# LoadModule foo_module modules/mod_foo.so
#

Y ahora añadimos justo debajo:

- Si estamos instalando PHP4:

LoadModule php4_module C:/Servidor/PHP/sapi/php4apache.dll

- Si estamos instalando PHP5:

LoadModule php5_module C:/Servidor/PHP/php5apache.dll

De tal manera que para PHP4 tiene que quedar así:

# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule php4_module C:/Servidor/PHP/sapi/php4apache.dll

Y para PHP5 tiene que quedar así:

# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule php5_module C:/Servidor/PHP/php5apache.dll

Ahora bajamos un poco por el httpd.conf y llamamos al módulo mod_php4.c en
caso de que estemos instalando PHP4 o al módulo mod_php5.c si estamos
instalando PHP5, de tal manera que para PHP4 quede así:

ClearModuleList
AddModule mod_php4.c
#AddModule mod_vhost_alias.c

Y para PHP5 debe quedar así:

ClearModuleList
AddModule mod_php5.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 línea 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 más nombres si lo
prefieres. Se ejecutarán 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 línea, 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 añadimos debajo estas líneas (en la primera de ellas, si estamos instalando
PHP5 también podemos añadir la extensión .php5 además de las que aparecen):

 AddType application/x-httpd-php .php .php3 .php4 .phtml
AddType application/x-httpd-php-source .phps

La primera indica las extensiones que serán interpretadas por el Apache. Por ejemplo
podemos añadir la extensión .htm o .html para que el Apache ejecute el código PHP
contenido en esas páginas (es decir, el uso de código PHP no está limitado exclusivamente
a archivos *.PHP). La segunda sirve para que si entras en una página loquesea.phps entonces se muestra el código PHP a color, muy útil si queremos por ejemplo mostrar el código fuente a color en una página. 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 páginas es el htdocs del Apache:

C:\Archivos de programa\Apache Group\Apache\htdocs\

Pero podemos cambiarlo fácilmente. 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 deberán 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

2.3.2 – Caso B: httpd.conf para Apache 2.0.X

Buscamos Dynamic Shared Object (DSO) Support que es donde se cargan los módulos.
Ahí vamos a cargar el módulo de PHP para Apache, dando la dirección del archivo
php4apache2.dll (PHP4) o php5apache2.dll (PHP5) que lo contiene. Encontramos hasta
un ejemplo:

 # Example:
# LoadModule foo_module modules/mod_foo.so
#

Y ahora añadimos justo debajo:

– Si estamos instalando PHP4:

LoadModule php4_module C:/Servidor/PHP/sapi/php4apache2.dll

– Si estamos instalando PHP5:

LoadModule php5_module C:/Servidor/PHP/php5apache2.dll

De tal manera que para PHP4 tiene que quedar así:

 # Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule php4_module C:/Servidor/PHP/sapi/php4apache2.dll

Y para PHP5 tiene que quedar así:

 # Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule php5_module C:/Servidor/PHP/php5apache2.dll

El directorio predeterminado para guardar nuestras páginas es el htdocs del Apache:

C:\Archivos de programa\Apache Group\Apache\htdocs\

Pero podemos cambiarlo fácilmente. Buscamos DocumentRoot y nos sale esto:

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
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 deberán estar localizados en esta carpeta. Por ejemplo
nos creamos una carpeta WEB dentro del directorio del servidor:

DocumentRoot "C:/Servidor/WEB/"

Por lo que construiremos toda nuestra página dentro de ese directorio, que equivale
al directorio raíz de nuestro host local.

Ahora buscamos el DirectoryIndex y nos sale algo como esto:

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents. The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex index.html index.html.var

Modificamos la última línea 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 más nombres si lo
prefieres. Se ejecutarán 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 línea, 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 index.html.var

Ahora le añadimos debajo estas líneas (en la primera de ellas, si estamos instalando
PHP5 también podemos añadir la extensión .php5 además de las que aparecen):

AddType application/x-httpd-php .php .php3 .php4 .phtml

AddType application/x-httpd-php-source .phps

La primera indica las extensiones que serán interpretadas por el Apache. Por ejemplo
podemos añadir la extensión .htm o .html para que el Apache ejecute el código PHP
contenido en esas páginas (es decir, el uso de código PHP no está limitado exclusivamente
a archivos *.PHP). La segunda sirve para que si entras en una página loquesea.phps entonces se muestra el código PHP a color, muy útil si queremos por ejemplo mostrar el
código fuente a color en una página. De tal forma que al final todo queda así:

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents. The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex index.html index.htm index.php index.php3 index.php4 index.phtml index.html.var
AddType application/x-httpd-php .php .php3 .php4 .phtml
AddType application/x-httpd-php-source .phps

Y ya podemos guardar el archivo httpd.conf

2.4 – Probando nuestro servidor Apache

Ahora vamos a probar el Apache y PHP, para lo cual deberemos arrancar el Apache.

Para Apache 1.3.X sólo 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.

Para Apache 2.0.X accederemos desde los accesos directos que se crean en el menú de inicio al acceso directo Monitor Apache Servers y aparecerá un icono al lado del reloj. Pinchando en el icono, sale un menú desde donde podremos iniciar, apagar y reiniciar el Apache. Como queremos encenderlo, si no lo hace automáticamente le daremos a Start. Si ya estaba encendido le daremos a Restart útil si cambiamos alguna configuración de PHP "al vuelo") para que al reiniciarlo nos coja los cambios que hemos hecho.

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 dirección 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 página de información de PHP. Si no sale, algo ha
fallado, revisa los pasos.

Ejemplo de PHP info.php

Como has podido observar, para acceder a nuestro servidor local y así poder probar
nuestros script y las páginas de nuestra web, siempre accederemos con la dirección 127.0.0.1 o localhost (sin WWW) en el navegador pues esta es la dirección
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 sólo podemos hacer llamadas a script PHP, sino también
a páginas HTML, descarga de archivos, imágenes, etc., tan solo poniendo la dirección
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.

3 – Instalación de MySQL – Web oficial:
http://www.mysql.com

Vamos a hacer la instalación de una versión 4.0.X, por lo que en este caso buscaremos
la versión que corresponda en los downloads para Windows.
En la fecha de actualización de este manual, la versión utilizada fue la 4.0.23 Y repito
que usamos una versión 4.0.X, no una 4.1.X, pues la 4.1.X no funcionará si sigues los
pasos de este tutorial.

Existen dos tipos de archivo descargable, en ZIP y en EXE. Yo prefiero el ZIP porque es
descomprimir y listo, y luego para actualizar la versión es más sencillo. El instalador
EXE lleva un setup muy majo, por defecto se instala en C:\MySQL\ Recomiendo elegir
otra ruta de instalación, y por ejemplo lo vamos a hacer en C:\Servidor\MySQL\ para tener el PHP y MySQL en la misma carpeta. Una vez finalizada la instalación,
solo hay que llamar al winmysqladmin.exe que estaría en C:\Servidor\MySQL\bin\ y la primera vez que lo ejecutemos nos pide un nombre de usuario y contraseña,
que introduciremos sin mayor complicación. Por ejemplo podemos poner el usuario "Pepe" y la contraseña "hola", pero tú ponlo a tu gusto. Ahora
al lado del reloj saldrá un semáforo. Si el semáforo se pone en verde, perfecto,
si no, algo ha fallado.

Ejemplo de MySQL

Por defecto, MySQL crea un usuario de nombre root y sin contraseña, y éste
es el usuario que usaremos en nuestros script o en las aplicaciones que nos lo pidan
(foros, PHP Nuke, etc.). Sin embargo, al final de esta guía se expone cómo crear
nuestro propio usuario con nuestra propia contraseña, para así evitar usar este
usuario que se crea "por defecto" y conseguir un nivel de seguridad mayor. Pero
vayamos por partes, pues antes tendremos que instalar el phpMyAdmin, una aplicación
que nos simplificará la vida en el manejo de las bases de datos.

4 – Instalación de phpMyAdmin – Web oficial:
http://www.phpmyadmin.net

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, añadir registros, hacer copias de
seguridad, etc. Es una aplicación tan útil que casi todos los hosting con MySQL
disponen de ella, por ello se analizará su instalación. Además, vamos a usarlo para
crear los usuarios MySQL para así poder utilizar las bases de datos de forma segura.
Al ser una aplicación escrita en PHP, necesita de Apache y MySQL para poder funcionar.

Si accedemos a la página oficial, nos encontramos en la sección de downloads con
una lista de links, y el que tenemos que elegir es el ZIP de la última versión.
En nuestro caso vamos a utilizar la versión 2.6.1 de esta aplicación, que es la versión
disponible en la fecha de actualización de este manual.

La instalación es relativamente sencilla: extraer todo el ZIP en la carpeta raíz
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 extraño a la carpeta,
mejor la renombramos a phpmyadmin, de forma que quedaria algo así: C:\Servidor\WEB\phpmyadmin\

Ahora vamos a hacer una pequeña configuración del phpMyAdmin. Para ello debemos editar
el archivo config.inc.php y, leyendo de arriba hacia abajo, buscamos la primera
aparición de la siguiente línea:

$cfg['PmaAbsoluteUri'] = ”;

Debemos darle la ruta absoluta donde tenemos el phpMyAdmin. En nuestro caso sería
así:

$cfg['PmaAbsoluteUri'] = ‘http://localhost/phpmyadmin/’;

Recuerda que podemos poner localhost o 127.0.0.1 (a gusto del consumidor). Ahora
buscamos si nos aparece algo como esto:

$cfg['blowfish_secret'] = ”;

Le pondremos una cadena de caracteres cualquiera, que servirá de semilla para la
encriptación de contraseñas al usar la autentificación con cookies:

$cfg['blowfish_secret'] = ‘aqui puedes poner lo que quieras’;

Y guardaremos el archivo, pero no lo cerraremos. Puedes probar phpMyAdmin para ver
si funciona, ya sabes: http://localhost/phpmyadmin/

5 – Configurando los usuarios del servidor MySQL

Si has llegado hasta aquí, ya tenemos todo instalado y listo para funcionar. Recuerda
que ahora nuestro usuario de MySQL es root sin password. Con esto podría
valernos para hacer pruebas utilizando MySQL en nuestro host local. Sin embargo,
en este paso vamos a ver cómo eliminar el usuario "por defecto" y cómo crear nuestro
propio usuario con contraseña, ya que así evitamos la brecha de seguridad que
produce el tener el usuario root y dotamos de cierta seguridad a nuestro
host local. Lo haremos mediante la utilidad phpMyAdmin.

Ahora entramos a phpMyAdmin mediante la dirección http://localhost/phpmyadmin/index.php (recuerda tener MySQL y Apache activos para que phpMyAdmin funcione). Básicamente vamos
a realizar las siguientes tareas:

– Crear nuestro propio usuario.

– Borrar usuarios no deseados (ej. el usuario root).

– Aplicar los cambios realizados.

– Configurar phpMyAdmin y los script para el nuevo usuario.

5.1 – Creación de nuestro usuario para MySQL

Desde la portada de phpMyAdmin podemos seleccionar el idioma castellano si lo deseamos.
A continuación, pinchamos en el link Privilegios y en la siguiente pantalla
damos a Agregar nuevo usuario. Ahora vamos a agregar nuestro usuario
y contraseña, que será el que usemos luego en nuestros script locales que hagan
uso de MySQL. Por ejemplo, podemos poner el mismo usuario y contraseña que tenemos
en nuestro Hosting, pues así tendremos menos cosas que recordar. Como ejemplo,
pongamos el usuario Pepe y la contraseña hola.

Introduciremos el nombre de usuario y contraseña, le daremos acceso a "Cualquier servidor"
(para que se pueda acceder a MySQL desde cualquier IP, incluidas las externas
a nuestro ordenador) o a "Local" (si sólo queremos que se acceda desde nuestro
ordenador donde hemos instalado MySQL) y le daremos todos los permisos y privilegios
(marcando todas las casillas que aparecen).

5.2 – Borrado de usuarios no deseados

Una vez creado nuestro usuario o usuarios, vamos a borrar aquellos que se crean "por
defecto" y que conviene borrar para evitar brechas de seguridad, sobre todo
si vamos a usar el PC como servidor hacia Internet y no sólo para hacer pruebas
desde nuestro hogar. Por ejemplo, vamos a borrar todos los usuarios excepto el
que acabamos de crear. Lo hacemos de una forma rápida y sencilla desde el mismo
link Privilegios de antes: seleccionar los usuarios que no queramos y
eliminarlos.

5.3 – Recarga de privilegios

Una vez eliminados, debemos buscar un link que sirve para recargar la página de
privilegios y pulsar en él para que los cambios sean efectivos. De todas formas
podemos hacer el anterior paso y éste de una vez: al eliminar usuarios, asegúrate
de marcar la casilla que indica que se eliminarán los usuarios y posteriormente
se cargará la página de privilegios. Este paso es importante, pues si no
recargas los privilegios, ningún cambio anterior habrá sido efectivo.

5.4 – Configurar los script para el nuevo usuario

Una vez borrado el usuario root y recargados los privilegios, phpMyAdmin deja de
funcionar. ¿Por qué? Pues porque phpMyAdmin venía configurado para usuario root sin password, y éste lo acabamos de eliminar. Entonces ahora tendremos que cambiar
dicha configuración de phpMyAdmin para que funcione con el nuevo usuario.

Volvemos al config.inc.php del phpMyAdmin, que no habíamos cerrado y localizamos
la primera aparición de estas variables:

$cfg['Servers'][$i]['auth_type']
$cfg['Servers'][$i]['user']
$cfg['Servers'][$i]['password']

Y les cambiamos su valor. En la primera ponemos config para que no nos
pida contraseña al entrar (útil si somos el único usuario que va a disponer
de este phpMyAdmin), o si queremos que nos la pida, ponemos http para
autentificación HTTP o bien cookie para autentificación y navegación
con cookies. A la segunda le damos el nombre de usuario y a la tercera la contraseña
del usuario que acabamos de crear.

$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'Pepe';
$cfg['Servers'][$i]['password'] = 'hola';

NOTA: phpMyAdmin tiene un fallo (bug conocido) en esta zona. Al usar autentificación
HTTP, un usuario que acaba de abandonar la sesión no puede volver a entrar con
el mismo nombre. Para solucionarlo, se deben cerrar todas las ventanas del navegador
que estén abiertas, y a continuación si abrimos una nueva ventana y volvemos
a intentar entrar nos debería dejar sin problemas. Si quieres poner contraseña
a phpMyAdmin y para evitar este problema, te recomiendo que de los dos métodos
elijas el de cookies.

Si ahora desde tu navegador, y con el Apache y MySQL activos, accedes a la dirección http://localhost/phpmyadmin/index.php podrás empezar a utilizar phpMyAdmin
con tu nuevo usuario y contraseña. Si elegiste pedir contraseña, cuando accedas
a phpMyAdmin tu usuario y tu contraseña serán las que pusiste al crear el usuario: Pepe y hola en nuestro caso. Lo primero que harás será crearte una
nueva base de datos para meter ahí lo que quieras.

De la misma forma, en nuestros script PHP que usen MySQL usaremos el usuario y contraseña
que nos hemos creado, de tal forma que al hacer la conexión a MySQL quede algo
como esto:

<?php
// .....Funciones PHP.....
mysql_connect("127.0.0.1","Pepe","hola");
// .....Más funciones PHP.....
?>

O bien, si estamos instalando un prefabricado como PHP Nuke o un foro, o incluso
cualquier aplicación en la que nos solicitan un host, usuario y contraseña,
los datos que deberemos indicar son esos: 127.0.0.1 o localhost
como servidor, Pepe como usuario, hola como contraseña, y el nombre
de la base de datos que hayamos creado con phpMyAdmin. No obstante, se recomienda
tener unos conocimientos básicos sobre MySQL en PHP para manejar correctamente
estas funciones.

6 – Cómo realizar las actualizaciones a versiones superiores

Como nos gusta ir a la última y continuamente hay actualizaciones de seguridad,
voy a poner unas notas de cómo actualizar estos elementos una vez los tengamos
instalados y saquen una nueva versión. Ten en cuenta que al sacar una nueva versión
puede que haya cambios grandes en la forma de instalación, pues estas notas se harán
suponiendo que la forma de instalación no cambia de una versión a otra, lo cual es
habitual.

6.1 – Cómo actualizar Apache

Para actualizarlo lo primero será cerrar todos los procesos que usan Apache, incluidos
los que se ejecutan ocultos como servicio del sistema. Lo más sencillo es ir
al menú CTRL + ALT + Supr y cerrar todos los procesos en que esté involucrado
el Apache. Después desinstalaremos el programa desde el Panel de Control – Agregar
o Quitar Programas. A continuación borraremos manualmente aquellas carpetas
del Apache que el desinstalador no haya borrado. Y finalmente, instalaremos
la nueva versión de Apache y configuraremos el httpd.conf igual que se explica
en los pasos anteriores, usando las mismas carpetas que usaste en la versión
anterior de Apache para que nada cambie.

6.2 – Cómo actualizar PHP

Empezaremos cerrando todos los procesos de Apache y MySQL de la forma citada en el párrafo
anterior. A continuación eliminaremos la carpeta PHP que se encuentra en C:\Servidor\PHP\ Luego instalaremos la nueva versión de PHP como se dice arriba,
configuraremos el nuevo php.ini, y en los pasos que se dice que copiemos ciertos
archivos a los directorios de Windows, sobreescribiremos todos archivos existentes con
los nuevos, incluido el nuevo php.ini Ya sólo te queda arrancar de nuevo el Apache
y MySQL y ver si todo ha ido bien.

6.3 – Cómo actualizar MySQL

Al igual que antes, cerraremos todos los procesos activos que tengan que ver con
MySQL para evitarnos problemas. Después copiaremos el directorio data (que está dentro de la carpeta de MySQL y es el que contiene nuestras bases
de datos, tablas, etc. que queremos guardar) a otro directorio cualquiera de
forma temporal. Luego desinstalaremos MySQL, ya sea desde el Agregrar o Quitar
Programas si usaste la versión que trae instalador, o bien borrando el directorio
si usaste la versión que viene sin instalador. A continuación instalaremos la
nueva versión, tras lo cual volveremos a copiar el directorio data de
nuevo a la carpeta de MySQL sobreescribiendo el que haya, y de esta forma no se
pierden los datos de nuestras bases de datos. Y finalmente sólo queda reiniciar
MySQL, ver si el semáforo se pone verde y comprobar si los script y phpMyAdmin
siguen funcionando.

6.4 – Cómo actualizar phpMyAdmin

Éste es el más sencillo de actualizar, pues lo único que hay que hacer es borrar
el anterior y luego instalar y configurar el nuevo como se cita más arriba.
Además, asegúrate también de cambiar el usuario y contraseña para que luego
funcione.

7 – Extra: instalación de un servidor de correo SMTP

Si vamos a hacer pruebas con envío de correos o bien vamos a usar nuestro PC como
servidor de nuestra web, es posible que nos interese instalar un pequeño servidor
de correo para poder usar la función mail() de PHP. Con uno de estos
servidores podremos enviar correos desde PHP, pero obviamente no podremos recibir
nada ya que se tratan de servidores SMTP (enviar) y no POP/IMAP (recibir). Vamos
entonces a ello. En principio no hay que cambiar nada en el php.ini ya
que éste viene por defecto configurado para un servidor de correo instalado
en el localhost, que es de lo que trata este manual. Pero sí podremos cambiar
la variable sendmail_from, que será el remitente que le aparecerá a la
persona que reciba el correo si no ponemos el campo FROM en las cabeceras del
email mediante la función mail()

[mail function]
; For Win32 only.
SMTP = localhost
; For Win32 only.
sendmail_from = [email protected]

Lo que sí hay que tener en cuenta es que para que estos servidores de correo funcionen,
hay que tener conexión a internet. Una opción de servidor sería el QK SMTP que
encontramos en www.qksoft.com Este servidor es instalar y listo. Sólo queda tenerlo abierto y ya podremos
enviar correos mediante PHP. Este servidor tiene una versión trial.

Otro servidor interesante sería el Argosoft Mail Server. Este servidor es gratuito
aunque requiere una pequeña configuración. En un artículo de la Asociación de
Internautas explican cómo configurar este servidor para enviar correo con Outlook,
pero dicha configuración también funciona con PHP, asi que nos sirve plenamente.
La dirección del artículo es la siguiente:
www.internautas.org/article.php?sid=167
En dicha página encontraremos la
descarga del programa y cómo configurarlo.

8 – Extra: Apache Manager para Apache 1.3.X – Web oficial:
http://moonspot.net/apmgr.html

Ejemplo de Apache ManagerEl
Apache Manager para Windows es una pequeña utilidad que permite ejecutar 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. Además permite cerrar, pausar y reiniciar el
Apache si por ejemplo estamos haciendo una configuración. Este programa se distribuye
en un ZIP que contiene un ejecutable y más archivos; estos archivos son el código
fuente, pero el archivo que nos interesa es el apmgr.exe que copiaremos
en la misma carpeta que esté el apache.exe A continuación, basta llamar al a
apmgr.exe para arrancar el Apache. Si lo acemos desde un acceso directo, en
el destino podemos poner C:\Ruta-del-Apache\apmgr.exe -r donde el -r indica que arranque automáticamente el Apache al iniciar el apmgr.exe Bajo Windows
XP ha funcionado la versión 1.0 del Apache Manager pero no la 2.1, y bajo Windows
98 parece que todas las versiones funcionan.

9 – Notas finales

¡Y por fin, ya está todo! Largo, pero merece la pena. Ahora ya puedes empezar a
hacer tus pruebas en PHP y MySQL. Recuerda que estamos trabajando con programas
servidores, con lo cual estos programas tienen que estar activos cuando vayamos
a hacer nuestras pruebas. Esto quiere decir que el Apache debe estar conectado
(debe estar activado para poder interpretar los script) y que el script debe estar
dentro de la carpeta especificada anteriormente en Documentroot, además también
MySQL debe estar funcionando para trabajar con bases de datos, y debemos tener
tener el servidor de correo funcionando con conexión a internet si vamos a usar
funciones de envío de email.

Una nota importante es que tanto Apache 2.0.X como MySQL pueden ejecutarse como
servicio del sistema. Esto quiere decir que, aunque no veamos ningún icono en
la barra de tareas, ambos están funcionando de forma oculta. Esto puede resultar
útil si los usamos a menudo, pues nos evitamos el tener que ejecutar Apache
y MySQL para hacer las pruebas. Pero si deseas quitarlo, deberemos usar la utilidad msconfig para evitar que arranquen de inicio: Inico – Ejecutar – msconfig
y en la pestaña Servicios desmarcaremos el Apache y MySQL. Al reiniciar
el ordenador, ya no se ejecutarán como servicio del sistema y tendremos que
arrancarlos manualmente.

Si no usamos estos servidores como servicio, habrá que arrancarlos manualmente.
MySQL se arranca ejecutando el winmysqladmin.exe que está en la carpeta bin
del directorio de MySQL. El Apache 2.0.X se arranca desde el acceso directo Monitor Apache Servers que se crea en el grupo de iconos en el menú Inicio.
Y el Apache 1.3.X se arranca también desde un acceso directo que se crea al
archivo apache.exe Para el servidor de correo no tendremos problemas, abrir
o cerrar el programa y listo.

Asimismo, resaltar que todo este tutorial y configuraciones han sido elaborados bajo un
sistema Windows XP Home Edition. Si tenemos un programa cortafuegos instalado en el
ordenador, es posible que tengamos que abrir los puertos que se nos soliciten para
que funcione el invento. También debemos tener cuidado si tenemos el IIS funcionando,
para que no se peguen el Apache y el IIS entre sí.

Un agradecimiento por la colaboración de Cluster en la elaboración de este tutorial.

Fernando Atanasio Negrete para Maestros del Web.
Agrega tu comentario | Enlace permanente al artículo

Síguenos en: Twitter @maestros | Facebook Fan page

1.175 comentarios

Comentarios

Páginas: « 14 5 6 7 8 [9] 10 11 12 »

  1. Carlitos

    Muy bueno el tutorial. Yo lo he seguido hace rato ya y la verdad es que todo me anda a la perfección. Eso si… Hay que conseguir exactamente las versiones de los programas que se detallan en el tuto para que la cosa funcione.
    Ahora… Mi duda está en el tema base de dats, ya que, si bien he seguido al pié de la letra todo, está instalado el MySQL, la verdad es que estoy terriblemente en “bolas” a la hora de crear una base de datos y ejecutarla. He curioseado en cientos de páginas y la verdad es que todas intentan explicar como hacer la bbdd pero, me parece, olvidan explicar correctamente, despacio, de a poquito y con ejemplos concretos como “ligar” la bbdd con una página (supongo que php). Busco un ejemplo, un tutorial que explique a las mínimas como hacer esto de modo sencillo, utilizando un ejemplo cualquiera ara crear cualquier mínima cosa y la verdad es que no lo encuentro. Si alguien sabe de algo agradecería enormemente la ayuda. Muchas gracias y felicitaciones al autor de este tutorial que está EXCELENTE, sin más.

    Carlos.

  2. Rogelio Huerta

    Felicidades por el magnífico tutorial que tienen aquí, es muy sencillo de seguir, excepto por que hay que instalar exactamente las versiones que aquí se reseñan, si no, encontrarán algunos archivos faltantes en las nuevas versiones.

  3. diego

    hola soy nuevo en esto y me surge un problemita al intentar entrar en phpmyadmin. es que pon el usuario y la contraseña q me pidio en la instalacion y me dice que estoy equivocado, ya lo probe como tres veces.
    bueno espero que me puedan ayudar y los felicito por la pagina q esta muy buena.

  4. Carlos Jesus

    De verdad me encanto, en mi caso soy principiante en estas herramienta, aunque con experiencia en programcion, muy agradecido, continua, persona com estas alimentan el conocimiento y motivacion de las demas personas

  5. guarus

    Hola a todos, tengo un problema y quisiera que me ayuden, he querido instalar el apache en mi PC, para poder comenzar a trabajar con PHP, pero no he podido Instalarlo, por que cuando lo estoy instalando me arroja los siguientes errores:

    Solo se permite permite un uso de cada direccion de socket(protocolo/direccion de red/puerto) make_sock: could not bind to address 0.0.0.0:80

    Agredecia cualquier ayuda, estoy siguiendo los pasos que indican para este punto.

  6. guarus

    Hola a todos, tengo un problema y quisiera que me ayuden, he querido instalar el apache en mi PC, para poder comenzar a trabajar con PHP, pero no he podido Instalarlo, por que cuando lo estoy instalando me arroja los siguientes errores:

    Solo se permite permite un uso de cada direccion de socket(protocolo/direccion de red/puerto) make_sock: could not bind to address 0.0.0.0:80

    Agredecia cualquier ayuda, estoy siguiendo los pasos que indican para este punto.

  7. guarus

    Hola a todos, tengo un problema y quisiera que me ayuden, he querido instalar el apache en mi PC, para poder comenzar a trabajar con PHP, pero no he podido Instalarlo, por que cuando lo estoy instalando me arroja los siguientes errores:

    Solo se permite permite un uso de cada direccion de socket(protocolo/direccion de red/puerto) make_sock: could not bind to address 0.0.0.0:80

    Agredecia cualquier ayuda.

  8. orbytes

    disculpen las mlestias espero ke me puedan ayudar, pero esoti buscando una guia de como instalar bine php en netware, si alguien es tan amable de decirme como o pasarme untutorial se lo agradeceria mucho.
    escribanme a mi correo electronico:

    [email protected]

    en verdad se los agradeceria mucho he buscado por todas partes y no encuentro y es practica para examen en mi tecnologico ya le dimos guelta a la web y no hemos encontrado nada, por su atencion mil gracias
    pero porfavor escribanme a mi correo se los agradeceria muchisimo

  9. Krlos

    Hola man tu tutorial me servio en grande y logre hasta el final. pero solo no me funciona una cosa, y es la q mas me interesa el

    mail()

    cuando envio un mail me sale un error de

    Warning: mail() [function.mail]: “sendmail_from” not set in php.ini or custom “From:” header missing in C:\Servidor\WEB\envio_prueva.php on line 79

    lo que mirando el archivo la linea 79 vendria a ser

    mail($mail, $asunto, $msg, $headers);

    haber si me dan una mano en eso

    de antemano mil gracias

  10. croma2

    Hola,
    he seguido las instrucciones y finalmente el http.conf de Apache 2.2 cuando llega a la línea de carga del módulo de PHP da un error y no arranca Apache: “The requested operation has failed!”

    Recuerdo que siempre que he intentado instalar PHP cómo módulo (en Windows) he tenido problemas similares para finalmente tener que instalarlo como CGI… aunque entonces ya no sé si vale la pena usar Apache o con IIS me vale para desarrollo.

    En fin…

    // http://www.croma2.com/ //

  11. Eduardo

    Excelente trabajo claro y exacto
    me encantaria que realices un tutorial con versiones actuales tanto de PHP, MySql como el php 5.0 y el Mysql 5.0.24

  12. luis angel

    es un excelente manual y muy claro para todas aquellas personas que al igual que yo, nos encontramos habidos de informacion sobre este tema

  13. Carlos Godoy

    Me interesa mucho tener mi propio servidor, instale el php 5 y me habre bien sin embargo no se cumple el ultimo ejercicio, que es visualizar la pagina de prueba

  14. Victor Guzman

    exelente tutorial los felicito pero seria bueno tener un tutorial = de bueno o mejor pero para aprende a utilizar estos recursos

  15. Master

    Pues yo despues de cambiar la confi del httpd.conf como dice ahi arriba me da fallo y ni me quiere iniciar el servicio el server, asi que de ahi ya lo deje de leer, no podias aver colgado el archivo ya modificado pa bajarlo directo :S??

  16. n00b

    Krlos;1676313, Hola man tu tutorial me servio en grande y logre hasta el final. pero solo no me funciona una cosa, y es la q mas me interesa el

    mail()

    cuando envio un mail me sale un error de

    Warning: mail() [function.mail]: “sendmail_from” not set in php.ini or custom “From:” header missing in C:\Servidor\WEB\envio_prueva.php on line 79

    lo que mirando el archivo la linea 79 vendria a ser

    mail($mail, $asunto, $msg, $headers);

    haber si me dan una mano en eso

    de antemano mil gracias

    Tio me pasas por el msn o email tu httpd.conf?? porfavor que nose pk he realizado los cambios siguiendo el tuto pero me da error y no me inicia el server, mi email es [email protected]

  17. Antonio

    La verdad que esta muy muy bien, me he atrancado en algunos lados PERO MUY BUENO.

  18. Daniel Parra

    Dios te bendiga, soy un principiante del php El tutorial esta muy bien. Breve y preciso.

  19. Ash

    por fin un tutorial que funciona y facil!!!! asi me gusta muy bien os felicito

  20. anrnewton

    Muy bien, excelente diría yo, felicidades!!!!, está muy bueno el tutorial fácil, conciso y preciso.

    Es mi primer tour con el Apache y el PHP, pues yo soy del Tomcat y Java.

    Gracias.

  21. pyllo

    buen tutorial como quiesiera que algunos otros tutoriales fueran siquiera la mitad de este. Todo biene explicado para que salga a la primera.

  22. Javier Ramirez

    Excelente muy bueno esta ayudagracias

    // http://www.telematicaje.com //

  23. Mariano

    segui todos los pasos bien,, pero cuando borre los usuarios del phpmyadmin ,, me dejo de funcionar ! cuando pongo http://localhost/phpmyadmin/ me sale phpMyAdmin intentó conectarse con el servidor MySQL, y el servidor rechazó esta conexión. Deberá revisar el host, nombre de usuario y contraseña en config.inc.php y asegurarse que corresponden con la información provista por el administrador del servidor MySQL.

  24. keko

    Magnifico tutorial para introducirse en el maravilloso mundo de PHP, y aplicaciones dinámicas, para personas nuevas en estos lares, me ha sido de gran ayuda, muchas gracias, eres un tio grande, yo añadiria un apartado para novatos que no se menciona, y es que cuando llegas, al MySQL, no me ha funcionado, hay dos versiones, el zip, no lleva semaforo o yo no lo he visto, y el instalador si lo lleva, pero no funciona hasta que te bajas un Driver o Conector de MySQL, el MySQL ODBC 3.51 Driver, entonces reinicias y se te pone en verde el semaforo. Espero que le serva de ayuda esta aportación a alguien.

    Muchas gracias por el tutorial

    Keko

  25. Mauro

    Disculpa, no entiendo porque cuando quiero abrir el archivo php desde mi explorador me salta un cartel para abrir o guardar, si pongo abrir me abre el dreamweaver para editar el PHP, ocea que cuando pongo http://localhost/phpmyadmin/index.php no puedo hacerme un nuevo usuario ni nada…

    Sera algun problema del explorer?? si alguien me puede ayudar gracias!

  26. Eze

    Excelente manual, mejor aún que instalar el wanp5.

  27. @ndres

    Hola amigos!!!

    Estoy tratando de poner a funcionar el Apache HTTP Server v2.23 con el PHP PHP v5.16 y no ha sido posible… Me sale error en el Apache de que no encuentra la librería php5apache2.dll

    Ya no se que hacer. He copiado dicha libería en varios directorios del Sistema y nada!!!

    ¿Alguien me puede ayuda?

    Muchas Gracias!!!

    ATTE.

    @ndres

    Pereira
    Colombia

  28. melvin

    hola mi nombre es melvin estoy creando una pagina web y queria ponerle un chat y foro pero el problema que tengo es que el host q compre no tine cpanel ni phpmyadmi nada por el estilo solo tengo el nombre de usuario la contraseñna y el ftp no se si ustedes pueden desirme como creo una base de datos en dicho host

    no se si estoy confundido pero quiero que me corrijan el programa de phpmyadmin tengo que subirlo a mi host para crear una base de datos o no???

  29. Lucas Daniel Feliz

    tegno un problema yo realice todos los pases bien pero me da un error cuando quiero correr el servidor y dise que no puede cargar el modulo c:/servidor/php/php5apache2.dll
    y cuando le pongo un # delante el servidor corre bien. si pueden decirme como resuelvo este problema se lo agradeceria mucho
    mi correo es : [email protected]

  30. cris....

    un articulo muy util.. gracias!

  31. nenesio

    para el que quiere instalar el servidor en linux tiene que usar le yast y descargar manualmente mysql por el terminal en la pagina de novell esta un tutorial para la instalcion del servidor

  32. nenesio

    por ahora no se puede usar php 5 y mysql 5.1 por una cuestion de lcencia mas ayuda te doy en http://www.websmastersforo.ya.st

  33. Victor CEli

    He instalado Apache 2.2.3 con Php 4.4.4. He seguido paso a paso tu guia pero al configurar el apache, me genera un error en la linea:
    LoadModule php4_module “C:/php/sapi/php4apache.dll”

  34. nelson murillo

    Muchas gracias fernando relamente este paso a paso esta muy bueno lo segui y tengo mi plataforma de desarrollo en mi propio servidor sin estar conectado a la web. te felicito por la claridad y lo preciso del documento.

  35. Igush

    Gracias por el tutorial, tenia un problema con el phpmyadmin y gracias a ti esta solucionado.

    Gracias. Un saludo

  36. No Registrado

    He seguilo los pasos del manual y al reiniciar el servicio de apache dice lo siguiente:

    httpd: Syntax error on line 122 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load C:/php/php5apache2.dll into server: The specified module could not be found.

  37. jam1138

    ¿Versiones?…
    Hay incompatibilidad entre Apache 2.x y PHP 5.14 (y superiores tengo entendido),, se ha mencionado en este thread, ve algúnos mensajes anteriores para ver la solución aunque recomendaría utilizar versiones anteriores (las que se mencionan en dicho tutorial).

    :adios:

  38. jcarlol

    La version de php es 5.1.6 y la de apache es la 2.2.3….

    Son las mas recientes que encontré, pero ya probé con php 4.4.4

    gracias…

  39. ferny

    Las versiones de Apache 2.2.X NO FUNCIONAN debido a que cambia la API en la versión 2.2 respecto a la versión 2.0. Eso es un bug de php que se supone que se solucionará en la versión 5.2.0 de php, pero hasta entonces si quereis instalar apache 2.2.X teneis que hacer algunos cambios mencionados en la página 24: http://www.forosdelweb.com/showpost.php?p=1555226&postcount=698

    Eso, o bien instalar una versión 2.0.X de Apache. Con los cambios que ahí menciono, tengo funcionando Apache 2.2.3 + PHP 5.1.6 sin problemas.

    :adios:

  40. jcarlol

    Gracias a quienes contestaron, instalado y funcionando con la versiòn de dll para Apache 2.2….

  41. Jorge Romero

    Segui todos los pasos de la guia de instalacion y al intentar iniciar el servidor apache me dice que no encuentra el modulo especificado de php5apache2.dll

  42. jcarlol

    Las indicaciones de ferny (3 mensajes atras) me funcionaron bien…

  43. jcarlol

    Saludos Señores del Foro.

    Si alguien pudiera ayudarme con lo siguiente:

    Ya tengo instalado Apache 2.2.3 y php 5.1.6 en windows 2000. También tengo instalado el cliente de Oracle 8.1.7, pero al activar la extensiòn php_oci8.dll y reiniciar el apache me tira el siguiente mensaje:

    The procedure entry point OCIStmtPrepare2 could not be located in the dynamic link library OCI.dll.

    El dll mencionado lo tuve que copiar de orabin a system32, de lo contrario no lo encontraba.

    Alguien tiene idea de que puedo hacer?

    Siempre gracias.

  44. JD

    disculpa, cuando dices:
    crear un archivo llamado por ejemplo info.php dentro de la carpeta de nuestra web.
    Lo creas con qué? con el block de notas de windows??
    El Apache no me acepta el:
    LoadModule php5_module D:/servidor/php/php5apache2.dll
    alguna sugerencia?

  45. No Registrado

    Unregistered;514064, Estoy usando la versión 1.3.x (tengo w98). He quitado # de la línea donde me da error:

    Syntax error on line 177 of c:/archivos de programa/apache group/apache/conf/htt
    pd.conf:
    Cannot load c:/php/sapi/php4apache2.dll into server: (1157) No se puede hallar u
    no de los archivos de biblioteca necesarios para ejecutar esta aplicaci¾n:

    y la ruta en la que yo tengo el dll (y lo he comprobado) es C:\php\sapi

    Si me podeis ayudar os lo agradecería mil :)

    P.D: Si la versión del manual actualizada es la del 20-10-2003 05:54 AM (mensaje por cvdhs), entonces estoy usando la versión “nueva”

    Laru

  46. ferny

    Al que ha escrito encima mío :-D

    Si usas una versión 1.3.X de Apache, no tienes que usar la librería php4apache2.dll sino la php4apache.dll Prueba cambiando el nombre, y sobre todo revisa que la ruta del archivo sea la correcta.

    La versión más actualizada del manual es esta: http://servidor.hostrocket.com

    :adios:

  47. dam3k

    no se ke hago mal pero no me conecta al local host… -.- lo he revisao mil veces

  48. Pola

    Por qué al probar la página en el explorer me aparece en blanco???

  49. No Registrado

    Mejor dejense de problemas y usen Windows Vista, con servidor IIS, Lenguaje ASP.Net y una base de datos Microsoft SQL Server 2005, van a ver que padres paginas les quedarán… Salu2.

  50. Ashriot

    segun yo ya busque en los puntos anteriores de este post, pero sin sin salir de la duda… de por que utilizan el metodo de:

    Y ahora hay que coger todos los archivos DLL localizados en la carpeta principal C:\Servidor\PHP\ y copiarlos al directorio System (en Windows 9x) o System32 (NT,2000,XP,2003) de la carpeta del Windows (los archivos DLL contenidos en la carpeta EXT no hace falta copiarlos).

    siendo que en el mismo manual de php 5.1.6. mencionan que:

    Upgrading from a previous PHP version: Previous editions of the manual suggest moving various ini and DLL files into your SYSTEM (i.e. C:\WINDOWS) folder and while this simplifies the installation procedure it makes upgrading difficult. We advise you remove all of these files (like php.ini and PHP related DLLs from the Windows SYSTEM folder) before moving on with a new PHP installation. Be sure to backup these files as you might break the entire system. The old php.ini might be useful in setting up the new PHP as well. And as you’ll soon learn, the preferred method for installing PHP is to keep all PHP related files in one directory and have this directory available to your systems PATH.

    solo es eso, curiosidad :si: porque de ahi en fuera se me ha hecho genial el tuto, tal vez el despiste al momento de utilizar la version mas resiente de apache :borracho: pero solo fue un momento, genial trabajo :aplauso:

  51. ferny

    Eso es sólo otra forma de hacerlo, la que sugieren ellos, por supuesto no es la obligatoria. La del manual de aquí también funciona, al menos llevo haciéndolo así desde hace 4 años con muchisimas versiones de PHP4 y PHP5, y nunca tuve problemas para actualizarla ;-) Simplemente al poner una nueva versión de PHP, se sobreescriben los archivos existentes.

    :adios:

  52. RUCA

    VAMOS AVER COMO ME VA CON ESTE TURORIAL; DE TOADAS FORMAS SE VE MUY BUENO Y EXPLICITO.

  53. chelo

    me gustaria que explicaran como se hace la instalación de apache cuando esta instalado ya el IIS en el mismo equipo, gracias

  54. luis rojas

    muy util sobre todo pra la instalacion e implementacion

  55. WizardRPG

    Weno yo empese ase poquito con el php y me gustaria q me agreguen a mi msn y si alguien me puede explicar un pardecosas ya q el php me parese entretenido y wenisimo aparte lo nesesito aprender para poder aser un juego q simpre quise aser y aser registro de usuarios etc.. para mi web sobre creacion de juegos con el rpg maker !!! weno este es mi msn = [email protected] weno espero que alguien me ayude desde ya muchisimas gracias ;-) bye

  56. @ndres

    El Apache No carga la última versión de PHP… :-(

  57. Mon

    Gran manual,Con este he podido instalar xfin el servidor!Gracias

  58. @ndres

    Instalación: Apache v2.23 + PHP v5.16

    Después de tanto voltiar por la Web encontré la solución :-)

    Amigos, para que les funcione la instalación de estas versiones deben reemplazar la DLL respectiva (php5apache2.dll)…

    Este es el link: http://www.apachelounge.com/download/mods/php5apache2.dll-php5.1.x.zip

    Yo lo instalé e inmediatamente dejó de presentar problemas el Apache 2 con la última versión del PHP :-D

  59. Porfirio Juarez Delfin

    Es un muy buen curso. No tendras por ahi alguno de Delphi, VB6, VB.Net, Crystal report

  60. jose mari

    Me gustaria saber como puedo agregar imagenes a los campos de mi base de datos MySQL una vez instalado phpmyadmin. Se añadir datos, textos, numeros…pero para cargar una imagen? un jpg o gif por ejemplo? que tendria que configurar y hacer? quizas escribir la ruta donde esta la imagen en mi PC tal que: C:/mis documentos/mis imagenes/imagen.jpg? Y como conseguir ademas que esa imagen lleve un link asociado?

  61. mondmon

    Me gustaria saber xq no me deja ejecutar la el mysql.exe para introducir los comandos a mano,una vez que todo tira bien y eh creado el nuevo usuario,me dice:Error acceso denegado a odbc@localhost(password:No)a la base de datos al ejecutar el mysql.exe de la carpeta donde esta el winmysqladmin—>

  62. Soulofwar

    gracias… muy vuen tutorial

  63. Eda

    EXCELENTE ARTICULO, FELICIDADES, NO PUDE HABER ENCONTRADO INFORMACION MAS CLARA Y FACIL DE COMO INSTALAR Y CONFIGURAR ESOS PROGRAMAS Y EN MI IDIOMA ESPAÑOL

  64. carlos

    cuando cambio la linea en el archivo httpd de apache para instalar el modulo php5 me causa error

  65. nelson

    tenia instalado apache 1 lo desistale para instalar el 2 pero se quedo ejecutando en servicios. y me causa conflicto entre los dos, le doy la ruta, pero igual esa ruta no existe.
    Que Hago. emergencia

  66. Sebastian

    La guia es muy completa y llevadera para alguien entusiasmado en el tema como yo pero como muchos fueron en su momento yo soy como se dice un newbie, eh bajado versiones mas actualizados y eh seguido paso a paso y de todas maneras nu me anda ni para atras ni para adelante, la causa debe ser esa, a ver descargado versiones mas nuevas. Bueno veré que hago, ya me di bastante la cabeza contra la pared. Y en verdad necesito esto para poder practicar. Saludos

  67. alejandro

    Yo tengo el apache 2.2 sigo al pie de la letra las instucciones y cundo le doy iniciar me sale un error.
    Me voy a apache http server 2.2.3 configure apeche server test configuration y me dice que hay un error en la linea 69 que es:
    LoadModule php5_module C:/Servidor/PHP/php5apache.dll me dice que no puede encontrar el modulo especificado pero si esta en la carpeta servidor/php/php5apache.dll ayudenme

  68. mexican

    Con PHP5 la configuración peta en al abrir la dll de php5apache2.dll

  69. Guaki

    Se que ha pasao mucho tiempo desde que se publico esto y no se si alguien estara por aqui para responder, pero tengo un problema, al añadir la linea del loadmodule el apache no arranca, lo he intentado arrancar desde cmd y me sale este error:

    httpd: Syntax error on line 67 of C:/Archivos de programa/
    Apache Software Foundation
    /Apache2.2/conf/httpd.conf: Cannot load C:/php/php5apache2.dll into server:
    No se puede encontrar el m\xf3dulo especificado.

    Si alguien sabe el porque de este error, se agradece ^^.

  70. No Registrado

    Weno ya veo que he preguntao lo que muchos otros antes jeje, lo puse en otra parte de la web y no vi este foro (lo que hace el no leer). Probare otras versiones a ver si es eso de las incopatibilidades

  71. Kanino

    este sitio la lleva a la hora de configurar php, apache y mysql en forma basica de aprendisaje, solo siguiendo los pasos se logra no hay que ser un genio para seguir las indicaciones esto es muy wen aporte se las mandaron, aps pa los que preguntan de como se instala en linux, pues linux viene con un servidor instalado por defecto solo deben instalar los paquetes de apache, mysql server, php server y la configuracion la hace sola, a manera de usuario base estoy hablando bueno saludos :)

    // http://kazenofirms.tk //

  72. Canela

    muy buen tutorial, aunque por obvias razones no está actualizado, solo por lo del apache2_2.dll que es lo que haría que no jalara con versiones recientes del apache (siendo hoy 24-Oct-2006), pero eso se arregla en la misma pagina de php.net bajando el CVS correspondiente (de hecho solo sacar de ahí el php5apache2_2.dll y pegarlo igual como dice este tutorial) BUEN TRABAJO

  73. Guaki

    Y serias tan amable de poner el enlace de descarga para el cvs ese que dices?, pq alguno somos cortitos (yo en particular) y no hay forma de encontrarlo. Gracias ^^

  74. No Registrado

    Hola, yo hoy segui los pasos de este manual pero no me carga el apache al parecer es por el cvs (que para variar no tengo idea que es y no puedo encontrar de donde se descarga en la pagina de php)
    Tengo el apache 2.2.3 y el PHP 5.1.6-win92
    Espero que sepan ayudarme
    Gracias

  75. konkdekilo

    hay miles de tutoriales que no me sirvieron con este por fin he conseguido arrancar mi PHP espero ke pronto mi pajina lo pueda tener incluido gracias tio

    // http://konkdekilo.es.kz //

  76. ferny

    No Registrado;1752593, Hola, yo hoy segui los pasos de este manual pero no me carga el apache al parecer es por el cvs (que para variar no tengo idea que es y no puedo encontrar de donde se descarga en la pagina de php)
    Tengo el apache 2.2.3 y el PHP 5.1.6-win92
    Espero que sepan ayudarme
    Gracias

    ¿Qué te has bajado exactamente? Pon los link…

    Si sale algún error, copialo tal cual, pq eso del cvs no me suena de nada :stress:

  77. Hernán Pazmiño

    Configurando PHP sobre win 2003, cuando adiciono la línea LoadModule para php5, al reiniciar apache este me muestra un error indicando que el módulo no se ha encontrado, pese a que la librería php5apache2.dll, se encuentra en el directorio que se indica, comprobada la ruta carácter a carácter. Qué puede suceder?

  78. No Registrado

    Para que queres los links de donde baje el apache y el PHP? te pongo la version que tengo de cada uno Apache v.2.2.3. y PHP 5.1.6win92(este ultimo lo descargue de php.net, el Apache no me acuerdo de donde)
    Yo segui los pasos del manual y puede hacer todo bien hasta que llegue a la parte: 2.3.2 – Caso B: httpd.conf para Apache 2.0.X la parte de DirectoryIndex no esta como en el manual,en el manual figura asi:
    #
    # DirectoryIndex: sets the file that Apache will serve if a directory
    # is requested.
    #
    # The index.html.var file (a type-map) is used to deliver content-
    # negotiated documents. The MultiViews Option can be used for the
    # same purpose, but it is much slower.
    #
    DirectoryIndex index.html index.html.var

    y en el mio figura asi:

    #
    # DirectoryIndex: sets the file that Apache will serve if a directory
    # is requested.
    #

    DirectoryIndex index.html

    Entonces lo que hice yo fue agregar lo que dice en el manual en la parte q dice DirectoryIndex index.html y me quedo asi:

    #
    # DirectoryIndex: sets the file that Apache will serve if a directory
    # is requested.
    #

    DirectoryIndex index.html index.htm index.php index.php3 index.php4 index.phtml index.html.var
    AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
    AddType application/x-httpd-php-source .phps

    Pero para mi esto es lo que hace que cuando abro el apache y pongo start me dice esto: The request oparation has failed!

    Bueno espero que puedan ayudarme ahora grax!!!

  79. ferny

    A ver las versiones de apache 2.2 y apache 2.0 son distintas, te has bajado la que no debías… Busca la versión 2.0.59 que es la última de la saga 2.0, esa sí te saldrá como en el manual.

    :adios:

  80. karloselmaster

    me parece interesante, lo e probado pero me falla algo, no me sale ninguna dll, y cuando he configurado todo y voy a arrancar el apache me dice ke error LoadModule, y eso es donde le das la dll. ke ago? me descargo la dll de algun sitio???

  81. ruben

    Lo instalo todo correctamente y cuando hago http://localhost/phpmyadmin/index.php me dice que no puede cargar la extension mysql. He mirado mil veces el php.ini y esta todo correctamente. Alguien puede ayudarme por favor.

  82. Richard

    Estupenda la guia!

    pero no me funciona la configuracion de cargar el modulo php5apache2.dll me da un error al arrancar el apache:

    httpd.exe: Syntax error on line 116 of D:/Apache/conf/httpd.conf: Cannot load D:
    /Php/php5apache2.dll into server: No se puede encontrar el m\xf3dulo especificado.

    pero lo mas interesante es que la DLL está ahí mismo.

    Alguna sugerencia?

  83. daniel

    hola esta pagina me sirvio mucho para configurar mi servidor de correo SMTP gracias el programa que recomienda QK SMTP es muy bueno..GRACIAS y sigan asi..:D

  84. Guaki

    Pues yo asi de casualidad he encontrado en softonic un programita que se llama WAMP, que te instala el apache2, php5, mysql5 y phpmyadmin todo junto sin mas problemas ni comederos de cabeza. Tambien lo podeis mirar en la web del autor www . wampserver.com/en/index.php

  85. hosting gratuito

    en mc-servidores.com damos hosting gratuito de 5 1 gb de espacio y 100 gb de transferencia para todo el mundo, con dominio .com gratis y sin publicidad, ahora estamos modificando l sistema y aceptaremos pocos hosting mas, pero pronto relanzaremos todo. visita la web pra informarte. http://www.mc-servidores.com

  86. archivos-pc.com

    Es mi nuevo proveedor de hosting de mi web archivos-pc.com. Tengo al dia mas de 50000 visitas y no se cae jamas ni nada mc-servidores. EL MEJOR PROVEEDOR DE HOSTING Q JAMAS HE TENIDO Y SIN PAGAR NI UN CENTIMO Y ELLOS ME REGALAN LA CUOTA TAMBIEN DE MI DOMINIO .coM Y ADEMAS SIN PUBLICIDAD!!

  87. furtivo

    Richard seguramente estas usando el apache 2.2.x , pues el php no esta preparada para esa version del apache tiene que bajarte el nuevo

    code:

    apachelounge.com/download


  88. iozan

    la verdad es que esta muy bien este tutorial, pero me ha aparecido 1 problema a la hora de instalar el apache. he seguido paso a paso la configuracion del httpd.conf en apache 2 y al intentar resetearlo me dice: “the requested operation has failed”

    estoy seguro de haber hecho todos los pasos (de hecho, los hice 1 vez, y los rehice para asegurarme!!)
    alguien me puede ayudar?

    saludos y gracias ^^

  89. iozan

    disculpen, leyendo este foro hacia arriba, vi la solucion a mi problema… por lo visto mi version es la mas actual, 2.2.X
    hay alguna manera de adaptar mi version al manual? he de hacer algo extra??

    gracias y saludos ^^

  90. ferny

    necesito ayuda para instalar apache;1761987, pues no se que onda con el apache para que me funcione como un servidor virtual, y asi correr las aplicaciones php. Si sabeis como mandarme un mail por favor a [email protected]

    Si te refieres a virtualhosts, aquí tienes cómo, es el mismo manual pero actualizado y más completo: http://servidor.hostrocket.com

  91. ferny

    iozan;1763118, disculpen, leyendo este foro hacia arriba, vi la solucion a mi problema… por lo visto mi version es la mas actual, 2.2.X
    hay alguna manera de adaptar mi version al manual? he de hacer algo extra??

    gracias y saludos ^^

    Lo diré una vez más… :-D
    http://www.forosdelweb.com/showpost.php?p=1555226&postcount=698

    Qué ganas tengo de que salga PHP 5.2, le falta nada… y trae soporte para Apache 2.2 :arriba:

    :adios:

  92. iozan

    hola, perdon si lo habias dicho antes… evidentemente no he leido las 952476348 paginas de este post xD

    muchas gracias por esa adaptacion, ahora me faltara saber pq cuando abro el localhost me pone “not found” … ¬¬

    ojala tuviera el messenger o el email de alguien que sepa tanto de estos temas como vosotros, me solucionaria bastante la vida!!

    muchas gracias por contestar (y tan rapido!!)

    saludos ^^

    p.d: si no consigo saber pq me pone el not found, hay alguna manera de contactar contigo?

    p.p.d: eres el amo!! :D

  93. iozan

    wiiiiiiiiiiiii lo he conseguido!!! solo tenia que poner la # delante de lo de VirtualHosts, osea, no hacer caso de ese punto…

    de todas maneras, en un futuro quisiera poner mi web en un servidor, habra alguna repercusion?

  94. ferny

    de todas maneras, en un futuro quisiera poner mi web en un servidor, habra alguna repercusion?

    ¿De qué tipo? Eso depende de cómo programes tu web… Yo por ejemplo me hice un fichero php de configuración para las variables que son distintas en mi servidor local y en el de pago, luego hago un include() de ese fichero. En él guardo el host, usuario y contraseña de mysql, o la ruta de los archivos (documentroot). De esta forma los archivos son exactamente los mismos en mi ordenador y en el servidor de pago, el único que es distinto es ese

    :adios:

  95. iozan

    yo hare una web con “mambo”, un gestor de contenidos (creo que por lo que he oido es algo parecido al “phpnuke”) evidentemente tendra diferentes tipos de usuarios, los no registrados (visitantes) los registrados, los preferentes y los “administradores”
    de todos modos, mi tutor de proyecto me comento que el mismo mambo gestionaba el solito estos temas… aunque agradeceria que me lo corroboraras! :D

    vuelvo a darte las gracias por contestar, y por hacerlo tan rapido!!

  96. ferny

    Mambo no lo conozco, mi web está hecha a mano salvo el foro… en los dos casos llevan un fichero de configuración como el que dije, ese es el único que es distinto en mi PC y en el servidor. Posiblemente en Mambo sea igual, si no registrate en el foro y ve al subforo “Aplicaciones prefabricadas” y pregunta ahí, seguro que te responden.

    Por cierto una gran noticia… si lo sé hago el comentario antes :-D Acabo de recibir la notificación de la salida de PHP 5.2 :arriba:
    http://www.php.net/downloads.php

    Habrá que probarlo… Si te interesa hacerlo ya estoy practicamente convencido de que la instalación es igual que lo comentado hasta ahora, salvo que el fichero DLL ya no hay que bajarselo de la web de apachelounge sino que viene ya incluido en el paquete de php, nombrado como php5apache2_2.dll

    :adios:

  97. ferny

    Confirmado, funciona exactamente igual, ya tengo mi localhost bajo Apache 2.2.3 y PHP 5.2 :-D :arriba:

    Instalación en tiempo record :-D

Los comentarios de este post están cerrados. Si quieres seguir la discusión, debatir, criticar, sugerir o expandir el tema te invitamos a hacerlo en tu propio blog, en twitter o donde puedas publicar. No olvides enlazar a este post para que sigamos la conversación y se genere un trackback.