Maestros del Web


Estás en Inicio / Editorial / Software Libre

19.10.2003

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 = me@localhost.com

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.

Califica esta nota:

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (32 votos, promedio: 4.59 de 5)
Loading ... Loading ...
Fernando Atanasio Negrete

Sobre el autor

Fernando Atanasio Negrete
Encargado del sitio de Mundo DivX

Si eres nuevo en Maestros del Web y te agradan nuestras publicaciones, te invitamos a suscribirte a nuestro Feed.

Sindícanos en: Google Reader, Bloglines, My Yahoo o My MSN | ¿Qué es el Feed?

Comentarios

1081 comentarios en total.

Páginas: « 13 4 5 6 [7] 8 9 10 11 »

  1. ferny 27.12.2005 - 06:35 - #

    Si los has borrado antes de crear un nuevo usuario, tendrás que volver a instalar MySQL, crear un nuevo usuario y borrar el resto. En el manual está explicado ;-)

    Un saludo :adios:

  2. LuiGerdo 01.01.2006 - 19:09 - #

    Si alguien pudiera ayudarme.
    Hice todos los pasos que mostraba el manual, pero a la hora de abrir el Monitor Apache Servers, me indicó que estaba conectado, pero como ahi decia que se le puede dar en Restart para reiniciar cambios nuevo, pues despues ya no puede conectarlo, el foquito estaba en rojo y ya nunca puede empezar a usarlo, me marca el error: The Requested operation has falied! por favor Ayudenme!!!!!!!!! se los agradeceré bastante!
    luis_kuem5@hotmail.com

  3. Alejandra Lobato 11.01.2006 - 17:23 - #

    ola que tal, saludos!

    Tengo un problema al instalar MySql 4.0

    despues de instalarlo, al abrir el win;ySQLadmin en el area de enviroment, en la ventana central

    dice ;

    MyODBC

    Not Found

    Driver version
    Driver C:\WINDOWS\system32\myodbc3.dll
    API Level
    Set Up C:\WINDOWS\system32\myodbc3S.dll
    SQL Level

    y por lo tanto el semaforo siempre queda en rojo, no me deja iniciar el servicio.

    Espero alguien me pueda ayudar

    Saludos!

  4. ralfaro 20.01.2006 - 08:52 - #

    Cluster, Pues eso .. yo tambien les invito a q lean el [COLOR=blue]manual de instalación de Apache+PHP+Myslq+phpMyadmin (y algo de configuración )+ un “Manager de Apache”[/COLOR] que nos hará mas facil alguas tareas tipicas.

    Den sus opiniones sobre lo q faltaría .. sobraría o de redacción (si algo no se entiende) .. así mejorará y nos será util a todos.

    Un saludo,

    pd: ..jeje veo q al final incluistes lo del Apache Manager xD. Estan buenas las observaciones.

    hola es excelente el manual me ayudo mucho con todas las dudad que tenía pero tengo aún un problema, cuando instale el mysql al cargar el winmysqladmin.exe por primera vez no me pide el usuario y contraseña que pide y por tanto no inicia el mysql, te agradeceré mucho me ayudes con esto mi correo es ralfaro@telefonicamoviles.com.pe muchas gracias adeltantadas

  5. Ricko 23.01.2006 - 12:35 - #

    Primero quiero agradecer por el tutorial, es excelente y me funcionó a la primera ….
    Pero tengo una consulta que hacer …
    Como puedo hacer que el Servidor Apache me reconozca una Intranet y una conexion a Internet a la vez.
    Si cambio las configuarciones del httpd.conf, con respecto al ServerName y el DocumentRoot, pierdo la conexion de mis páginas de Internet.

    Si alguien tiene conocimiento de esto por favor responder, o indicarme como puedo hcer correr mis páginas de internet y mi intranet en el mismo servidor.

  6. pelotero 25.01.2006 - 03:32 - #

    Hola a todos.
    He seguido al pie de la letra todos los pasos para instalar y configurar apache 2, mysql y php 5.
    Apache funciona, hago una prueba con

    < ?
    phpinfo();
    ?>

    y el resultado me sale bien, pero cuando intento acceder a una base de datos con el siguiente codigo

    < ?php
    $link = mysql_connect (”localhost”, “root”, “*******”);
    mysql_select_db(”discos”, $link);
    $result = mysql_query(”SELECT numero, nombre FROM discos2″, $link);
    echo “

    \n”;
    echo “

    \n”;
    while ($row = mysql_fetch_row($result)){
    echo “

    \n”;
    }
    echo “

    Numero Nombre>
    $row[0] $row[1]

    \n”;
    ?>

    y me sale el siguiente error:

    Fatal error: Call to undefined function mysql_connect() in C:\Webs\prueba-php\prueba2.php on line 5

    Por favor, ¡¡¡¡¡ayuda!!!!!

    Me estoy volviendo loco buscando informacion por foros y demas y no encuentro nada que me sirva.

    Un saludo y gracias por adelantado.
    Ah, por cierto, el manual es buenisimo.

  7. ferny 25.01.2006 - 06:49 - #

    Asegúrate de haber activado la librería de MySQL en el php.ini

    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.

    Si lo cambias, acuerdate de copiar el php.ini dentro de la carpeta de windows.

    :adios:

  8. pelotero 25.01.2006 - 07:09 - #

    Gracias Ferny.
    La libreria la tengo activada (sin el ;) y los .dll copiados en la carpeta c:/windows/system32, junto con php.ini, pero ni con esas.
    Si se te ocurre otra cosa que pudiera hacer, te lo agradeceria mucho, aunque estoy pensando que si no consigo hacerlo funcionar, lo mismo lo desinstalo todo e instalo el wamp5_1.6.1, aunque me da rabia no poder solucionar este problema.
    Muchas gracias de nuevo.

  9. pelotero 26.01.2006 - 05:48 - #

    Finalmente he instalado wamp5_1.6.1 y funciona perfectamente. Tal vez fuera algun fallo en la instalacion, no lo se.
    Ahora a hacer prueba y mas pruebas.
    Gracias a todos y un saludo.

  10. turminator 03.02.2006 - 17:48 - #

    Ok! Gracias por la información . He seguido
    este tutorial hasta el punto de configurar el servidor apache. Cuando le doy a reiniciar me sale tres mensajes diciendome:

    PHP Startup: Unable to load dynamic library ‘.C:\PHP\ext\php_gd2.dll’ - No se puede encontrar el módulo especificado.

    PHP Startup: Unable to load dynamic library ‘.C:\PHP\ext\php_msql.dll’ - No se puede encontrar el módulo especificado.

    PHP Startup: Unable to load dynamic library ‘.C:\PHP\ext\php_mysql.dll’ - No se puede encontrar el módulo especificado.

    Que es lo que he echo mal?

    Saludos y siento ser tan pesado.

  11. ferny 04.02.2006 - 08:25 - #

    Tiene pinta de que has indicado mal la ruta de la carpeta de las extensiones.

    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/”

  12. No Registrado 04.02.2006 - 22:59 - #

    Muy buen tutorial. A mi me funcionó todo perfecto utilizando Apache 2.0 y php 5, en windows xp, muchas muchas gracias!.

    pd: viva colombia!

  13. No Registrado 12.02.2006 - 00:51 - #

    Cual MySQL debo bajar ?
    Windows (x86) o Without installer (unzip in C:\)
    Por que el 4.0 y no el mas reciente?

  14. ferny 12.02.2006 - 05:00 - #

    El que quieras. Si quieres bajar la versión más reciente de MySQL, puedes hacerlo, pero bájate el instalador, pq te lo configura fácilmente. Si bajas el without installer da problemas si no es la versión 4.0

    :adios:

  15. No Registrado 12.02.2006 - 07:33 - #

    Windows Essentials (x86) 5.0.18 16.9M
    Si bajo este tendre problemas siguiendo el procedimiento que tienen aqui?

  16. ferny 12.02.2006 - 09:04 - #

    No estoy seguro de si ese vale, a lo mejor si, pero si quieres ir a lo seguro bájate el Windows (x86) de 34.9 M

    Se instala de forma diferente, trae un instalador que es muy fácil de usar, no deberías tener problemas.

    :adios:

  17. No Registrado 12.02.2006 - 09:27 - #

    como borro los archivos dll de php del sistem32?
    alguien aqui tiene gmailtalk o messenger y que sepa bregar con todo esto?

    envez de copiar los dll los pase completos
    que debo hacer? borrarlos o dejarlos y volver a instalar el php sin copiar los archivos por que ya estan alli?

    alguna sugerencia?

  18. ferny 12.02.2006 - 09:32 - #

    dejarlos y volver a instalar el php sin copiar los archivos por que ya estan alli

    Yo me decantaría por eso :si:

  19. No Registrado 12.02.2006 - 09:46 - #

    only one usage of each socket address is normally permitted.
    :make_sock: could not bind to addres 0.0.0.0:80
    no listening sockets available,shuting down
    unable to open logs.

  20. No Registrado 12.02.2006 - 10:16 - #

    alguien me puede decir cual es el valor predeterminado en este apartado en httpd.conf de apache

    #
    # This should be changed to whatever you set DocumentRoot to.
    #

  21. Amedio 15.02.2006 - 13:56 - #

    Buenas, soy nuevo aquí en este foro. Verán mi problema es que llevo dos tardes intentando instalar el Apache y el Php5 pero no hay forma. Varios manuales por Internet que he revisado, y por último el manual de este foro, pero no lo consigo. Tal fue la frustación que desinstalé todo y volví a hacerlo paso a paso tal y como viene en el manual. Cuando terminé pensé que había salido por fin, hice las pruebas y me dio error, así que pensé que era la ruta de DocumentRoot, pero cual es mi sorpresa que al reiniciar otra vez vuelve a darme el mismo error que antes me daba. El error es el mismo: El modulo de php no se carga, el test configure me remite siempre a la misma linea “LoadModule php5_module c:/Archivos de programa/Servidor/PHP/php5apache2.dll”. Bueno lo estoy instalando en WindowsXp, el apache es la versión 2 y el php la versión 5.0.3 (en definitiva son los que indica el manual, ya por desesperación opte hasta descargarme estos indicados, aún sabiedo que daría igual el 5.03 que el 5.1.2). ¿Alguien puede suponer donde estoy equivocandome?, he comprobado las rutas, los directorios, pero no sé donde estoy fallando. Esperando su respuesta, aquí se despide el mono Amedio (mmm, no encuentro los emoticones), bueno pues Adios!!!!! :D :D :D

    Por cierto compañero “No registrado” superior a mi jejeje, es la ruta al directorio htdocs de Apache2 (supongo que en los demás se llamará algo por el estilo para otras versiones). De todos modos DocumenRoot es para la ruta de los ficheros que quieres que sean servidos por el Apache, por lo tanto puedes poner otra ruta sin ningún problema mientras sea donde estén los fihceros que quieres lanzar. Hasta otra!!!

  22. Amedio 15.02.2006 - 14:53 - #

    Espero que esto no resulte en contra de las normas (prometo leermelas), por lo que en vez de editar el mensaje anterior voy a crear este nuevo, para ho hacer el anterior tan largo. Bueno ahora no es un error el que tengo, ahora tengo un poltergeist jajaja. Bueno espero que me puedan explicar esto porque no lo entiendo bien. El problema continuaba, así que viendo que no encontraba solución me da por trasladar el php5apache.dll a los modules de Apache y poner la misma ruta que usan sus modulos. A partir de ahí empezo a funcionar el Apache, pero seguía sin cargar el dll del php5, ¿y si le cambio la extensión dll a su extensión .so?, pues así lo hice y ya conseguí que funcionará php bajo Apache, entonces mi duda es ¿donde está el poltergeist?, porque la ruta era correcta, ¿hay algo en mi configuración que impida que Apache ejecute los archivos dll? es algo absurdo, pero todos sabemos que estos ordenadores pueden sorprendernos cada día más. Bueno, esperando sus aportaciones, yo estaré aquí empapandome de php. Por cierto para hacer una página que creen que es mejor Php5 o php-nuke. Un saludo, y gracias por la ayuda, que al menos el estar releyendo todas estas respuestas me ha dado ideas para ir probando e investigando. Adios!!

  23. ferny 16.02.2006 - 04:57 - #

    Hola Amedio

    Veo que estás usando directorios distintos a los del manual, en este caso estás usando directorios con espacios (C:/Archivos de programa/…). En ese caso, pon el directorio entre comillas “

    O sea, que quede así:

    LoadModule php5_module “c:/Archivos de programa/Servidor/PHP/php5apache2.dll”

    A ver si es eso :adios:

  24. Amedio 19.02.2006 - 11:34 - #

    Sí, Ferny era eso, :borracho: no sé como no me percaté de las comillas jejeje. Gracias!

  25. ferny 19.02.2006 - 13:18 - #

    Tampoco tendrías por qué saberlo, si no viene en el manual. Lo tengo apuntado para añadirlo cuando saque una actualización.

    :adios:

  26. any 19.02.2006 - 13:29 - #

    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.

    estoy desorientado.. cuando abre el MS_Dos dice

    fopen: No such file or directory
    Apache.exe: could not open document config file c:/archivos de programa/apache gropup/apache/conf/httpd.conf
    Note the errors of messages above, and press the key to exit.

    ta y no se.. no dice nada de runing =S ( como se nota no entiendo mucho )

  27. Xixo_14 24.02.2006 - 15:31 - #

    Salu2
    Yo el problema ke tengo eske cuando termino de hacer toda la configuracion de php y apache le doy a reiniciar apache y me diche ke faltan unos dlls en la carpeta de extenssions , voy la abroy estan todos

    ¿eso de ke es?

  28. ferny 24.02.2006 - 16:55 - #

    Xixo_14, Salu2
    Yo el problema ke tengo eske cuando termino de hacer toda la configuracion de php y apache le doy a reiniciar apache y me diche ke faltan unos dlls en la carpeta de extenssions , voy la abroy estan todos

    ¿eso de ke es?

    Lo primero revisa que la ruta de la carpeta de extensiones esté bien puesta, y si es así, puede ser porque hayas activado alguna extensión de la cual no tienes los DLL, pues ¡ojo! No todas las extensiones (archivos DLL) vienen en el paquete de PHP, pero sí vienen listadas en el php.ini. Esas tienes que conseguirlas aparte.

    :adios:

  29. viska 26.02.2006 - 17:40 - #

    Hola!
    He seguido el tutorial, e instalado todo correctamente, de apache la version 1.3.34 y de php la version 5.0.3, no da ningun error, se inicia bien, pone lo de php 5.0.3 running… y tal en la ventana de msdos, en fin, que no detecto ninguna anomalia….
    sin embargo, al acceder al servidor los archivos php les pone un ?, como si no los reconociera, y en efecto, los abro y no sale nada, la pagina en blanco, es decir, que no lee el codigo php… no??

    -asi se ve mi servidor cuando accedo al mismo: http://es.geocities.com/elbronxsanmateo/fallo.JPG
    -y si tengo el ordenador encendido y eso podeis acceder vosotros mismos: http://viska.no-ip.info

    Aver si podeis ayudarme… :’(

  30. ferny 27.02.2006 - 05:03 - #

    Al abrirlos me sale “Hola cara cola” :-D Supongo que eso no es lo que debiera salir ¿no?

    Ignoro el motivo de que te salga que php 5.0.3 está funcionando y sin embargo luego no lo haga. Hace mucho que no toco el Apache 1.3, intenta trabajar con Apache 2.0 a ver si con eso se soluciona, o intenta reinstalar el PHP.

    Revisa sobre todo el php.ini, la parte de los DirectoryIndex que es donde se dicen las extensiones de archivo que son interpretables, ahí deberían figurar las habituales: php, php4, php5

    :adios:

  31. ERIKXO 28.02.2006 - 11:59 - #

    necesito tu ayuda

    cuando creo mi tabla en mysql pongo los campos de mi formulario html y despues escribo my codigo php, pero ala hora de verlo en linea y llenar mi formulario me dice que no tengo acceso que es denegado a mi usuario

    me podrias decir poque mas o menos me dice eso:-)

  32. alaynsync 06.03.2006 - 10:47 - #

    Hola a todos, antes que nada, quiero felicitar al creador de este tutorial, porque es muy directo y no anda con ningun tipo de preambulos, lo cual es muy bueno, porque uno se ahorra tiempo, ademas de que esta correctamente elaborado, porque yo personalmente me encargue de hacerlo y me salio bien, a la perfeccion.

    Ahora bien, sucede lo siguiente, el MySQL al cual se hace referencia en dicho tutorial es al 4.0.23, yo me descargue el MySQL 5.1, bien, sucede que es todo un ambiente nuevo, me gusta cantidad, pero a mi entender tiene como que otra filosofia de trabajo, no se, tan solo es una idea que me da. El hecho es que yo tengo el Apache configurado junto con el PHP tal y como se dice en el tutorial, pero me da la impresion de que el MySQL no esta trabajando conjuntamente con el Apache, porque, por ejemplo, me descargue la ultima version del PhpMyAdmin [2.80] , lo pongo en la carpeta htdocs y cuando lo intento visualizar en el navegador, pues me sale lo siguiente:

    Bienvenido a phpMyAdmin 2.8.0-rc2

    Probably reason of this is that you did not create configuration file. You might want to use setup script to create one.

    Error
    MySQL ha dicho:

    #1045 - Access denied for user ‘root’@'localhost’ (using password: NO)

    Cuando voy a ver ese Setup Script que me icen, pues me sale como un setup, el cual no he querido ni tocar, porque no se y no quiero hecharlo a perder [por decirle de alguna manera].

    La finalidad es que quisiera que alguien me enseñara a levantar el MySQL 5.1 conjuntamente con el Apache y el PHP.

    Desde ya……………….muchas gracias.

    NOTA: A mi tanto el PHP como el Apache me trabajan a la perfeccion, mi problema es con el MySQL 5.1. Incluso el MySQL 4.0.23 tambien me trabaja a la perfeccion, pero quiero tener en vez de esa antigua version, la nueva [5.1].

    Atentamente.

    Yo.

  33. ferny 06.03.2006 - 15:58 - #

    Hola

    En primer lugar asegurate de configurar el phpmyadmin, pq requiere que le cambies algunos valores, la configuración la tienes en el tutorial de maestrosdelweb. Para la versión que vas a usar, el fichero que tienes que editar no se llama config.php sino config.default.php

    En cuanto a lo de MySQL 5.1, es muy simple. Bájate la versión instalador (EXE), no la de descomprimir. El instalador es muy fácil de usar, casi todo es dar a siguiente, siguiente… sólo asegurate de configurar el Mysql como servicio de windows y que arranque automáticamente con windows.

    Una vez instalado el MySQL, si usas php5 asegurate de activar la librería de mysql, y con eso es suficiente. Para poder entrar en el phpmyadmin, tienes que configurarlo con la contraseña que pongas al usuario “root” de mysql (creo recordar). Luego ya dentro de phpmyadmin puedes crear otro usuario, como se dice en el manual

    Un saludo

  34. ferny 06.03.2006 - 16:13 - #

    Acabo de actualizar al phpmyadmin 2.8.0 (antes tenía la 2.7.0) y he visto que han complicado la configuración… Para que puedas hacerla siguiendo el tutorial: en la carpeta libraries tienes un fichero config.default.php, copia este fichero a la carpeta raíz del phpmyadmin, con el nombre config.inc.php

    Luego la configuración de este config.inc.php es como en el manual de maestrosdelweb

    :adios:

  35. alaynsync 06.03.2006 - 17:49 - #

    ok Ferny, muchas gracias, ahora mismo voy a empezar a hacer lo que me dices, ya te contare sobre mi evolucion.

  36. alaynsync 06.03.2006 - 17:57 - #

    Bueno, ya configure el config.inc.php, se me muestra en el navegador el PhpMyAdmin, ahora bien, no veo que se haya mostrado correctamente, porque me dice esto al fondo:

    No se halló la extensión PHP mbstring y al parecer usted está usando tipografía multibyte. phpMyAdmin no puede cortar correctamente las cadenas de caracteres sin la extensión mbstring y podría dar resultados inesperados.

    Estoy empezando a sospechar que se debe a que no he activado la libreria MySQL, en relidad no recuerdo como se hace, pudieras decirme a que se debe ese error que me da ahora el PhpMyAdmin y de paso como es que se activa la libreria MySQL?

    Gracias.

  37. No Registrado 09.03.2006 - 10:37 - #

    cavbmi, ya se que han hablado de esto en mensajes anteriores, de hecho ya me tome la molestia de leerme todos los mensajes del foro

    la cuestion es que cuando instalo el apache inicialmente funciona bien, pero cuando estoy instalando el php y despues de hacer todas las ,odificaciones siguiendo al pie de la letra el manual, presenta el siguiente error:

    cannot load C:/…/phpapache2.dll into server: “no se encontro el proceso especificado”

    y en el otro mensaje dice que hay un error de sintaxis en la linea de LoadModule
    y pues esta identico a como esta en eltutorial…..

    estoy usando apache 2.0.39
    y usando php4.3.4

    gracias por su voluntad de apoyar a la gente en la carrera por el conocimiento….

    Tarde pero seguro,
    lo que tenias que hacer era copiar la DLL php4ts.dll al c:\WINDOWS\system32 y salía andando.

  38. No Registrado 10.03.2006 - 18:36 - #

    Necesito ayuda para instalar mysql, por mas que intento no logro configurarlo.
    Ya instale apache y php que funcionan de maravilla, pero no puedo configurar mysql, cuando bajo el archivo zip, lo descomprimo como indica el manual pero no encuentro la carpeta bin para iniciar la aplicacion.
    Alguien puede ayudarme.
    Les agradecere mucho.

  39. ferny 11.03.2006 - 05:16 - #

    No Registrado, Necesito ayuda para instalar mysql, por mas que intento no logro configurarlo.
    Ya instale apache y php que funcionan de maravilla, pero no puedo configurar mysql, cuando bajo el archivo zip, lo descomprimo como indica el manual pero no encuentro la carpeta bin para iniciar la aplicacion.
    Alguien puede ayudarme.
    Les agradecere mucho.

    A ver si es que bajaste el archivo que no era… Te sugiero bajarte una mysql 5.0 pero la versión instalador (.exe) y no la comprimida (zip). El instalador te lo dejará todo configurado, es practicamente dar todo a siguiente, siguiente…

    :adios:

  40. TolaWare 11.03.2006 - 08:46 - #

    Lo ams seguro es que hayas bajado el archivo equivocado, en la version de descompresion tiene que estar el “bin”, trata de bajar una version diferente.

  41. Montys2 14.03.2006 - 06:22 - #

    Tengo un problema con el modulo php_mysql.dll cuando php(5.1.2) inicia con apache(2.0.55) en el log de php(que configure previamente en php.ini) me aparece “[14-Mar-2006 13:04:48] PHP Warning: PHP Startup: Unable to load dynamic library ‘C:/ext/php_mysql.dll’ - No se puede encontrar el módulo especificado.
    in Unknown on line 0″ y por mas que he cambiado las extensiones de sitio y el extension_dir de php.ini no e consegido iniciar esa extension, ya que algunas otras si que inician como por ejemplo php_gd2.dll si me funciono cuando lo probe… tambien he probado a volver a descargar el fichero php, mysql(5.0.19) funciona correctamente (probado con mysql administrator 1.1.9) yo ya me he vuelto loco buscando la solucion… en la base de datos tengo informacion que no me gustaria tener que borrar…

    Gracias por adelantado….

    Si lo que no me pase a mi

    A por cierto para el no registrado… es muy dificil configurar mysql 5 desde el zip en cambio desde el instalador exe es una cosa de niños…

  42. Montys2 14.03.2006 - 06:32 - #

    alaynsync, Bueno, ya configure el config.inc.php, se me muestra en el navegador el PhpMyAdmin, ahora bien, no veo que se haya mostrado correctamente, porque me dice esto al fondo:

    No se halló la extensión PHP mbstring y al parecer usted está usando tipografía multibyte. phpMyAdmin no puede cortar correctamente las cadenas de caracteres sin la extensión mbstring y podría dar resultados inesperados.

    Estoy empezando a sospechar que se debe a que no he activado la libreria MySQL, en relidad no recuerdo como se hace, pudieras decirme a que se debe ese error que me da ahora el PhpMyAdmin y de paso como es que se activa la libreria MySQL?

    Gracias.

    mbstring es una libreria dinamica de php actibala en php.ini que encontraras en la carpeta de windows. dentro de php.ini la encontraras en las extensiones si entre todas las extensiones no encuentras esa libreria (php_mbstring.dll) si no esta la linea añadela:
    extension=php_mbstring.dll

    Pero comprueba antes que tienes el archivo dentro de la carpeta de extensiones de php, si no bajate el archivo zip de php y descomprime las extensiones que necesites… usa la misma version que el php que tengas actualmente ya que pueden ser incompatibles de una version a otra. y si no actualiza la version de tu php.

  43. ferny 14.03.2006 - 07:19 - #

    Parece que lo que tienes mal configurada es la ruta de la carpeta de las extensiones (el extension_dir), pues fijate que te dice C:/ext/php_mysql.dll cuando la ruta de las extensiones debe ser C:/servidor/php/ext/php_mysql.dll

    Es decir, revisa que tengas esta línea así en el php.ini

    extension_dir = “C:/Servidor/PHP/ext/”

    :adios:

  44. Montys2 14.03.2006 - 09:44 - #

    Dije que probe a cambiar extension_dir miles de veces asi como copiar la libreria en muchos sitios en los que extension_dir decia la carpeta correcta de donde estaba cualquiera de las copias de esta libreria php_mysql.dll..

    Gracias…

  45. El_mayk 17.03.2006 - 21:49 - #

    Estoy configurando PHP5 como modulo interno de apache. Lo tenía en modo CGI y todo bien.. pero necesito usar unas extensiones y es por eso que lo estoy haciendo…

    Bueno, ya seguí los pasos tal cual… no quiero sonar insistente ni mucho menos, pero realmente fueron TAL CUAL…. y hasta otras opciones que encontré en foros y tengo un problema muy grande… que me está volviendo loco…

    al parecer el apache no encuentra el php.ini con la directiva que le estoy dando…. toma un php.ini que está por default o quien sabe de dónde y por tanto cuando modifico el php.ini no lo reconoce el servidor…

    ya probé con todo lo que dice la ayuda de apache,
    con el comando PHPIniDir “C:/php5/” < << ahi tengo mi php y todo
    ya probé poniendo el .ini en el mismo php tal como lo indico
    ya probé poniendo el .ini en el servidor
    ya probé con la variable de entorno PATH
    ya probé con la variable de entorno PHPRC
    ya probé modificando el registro
    ….

    en fin he probado con miles de formas y sigue y sigue el apache tomando un php.ini de quien sabe donde, por ahi me dijo un amigo que es el que toma por default el apache

    y cuando ejecuto el phpinfo() en donde dice “Configuration File (php.ini) Path” siempre me pone “C:\WINDOWS” solamente, ni si quiera me pone algo así como “C:\WINDOWS\php.ini”

    Por favor… para más facil si saben de alguien que haya tenido este problema diganme por lo que más quieran que no se que hacer…

    De antemano, gracias

    P.D. Cabe mencionar que tengo apache 2, php5, WinXP

    Y si puden de paso visiten mi sitio web keysite.com.mx

  46. ferny 18.03.2006 - 13:06 - #

    Precisamente el phpinfo() te está informando de que el directorio (path) donde está el php.ini es c:\windows
    Ahí es donde tienes que copiar tu php.ini, con eso una vez reinicies el apache ya debería funcionar.

    :adios:

  47. Eduardo Kmino 21.03.2006 - 18:59 - #

    Mi problema es el siguiente: al iniciar la instalacion de Apache, cualquiera de las dos
    versiones que en el tutorial figuran, (los archivos que baje y ejecuto son
    apache_1.3.34-win32-x86-no_src.exe y apache_2.0.55-win32-x86-no_ssl.exe),
    cuando aparece la ventana con el titulo
    welcome to the instalation… y empieza a instalarlo sale un mensaje de error
    que dice: Internal Error 2735. ResolveServerName ,
    presiono ok y luego solo me da la opcion de finalizar la instalacion.
    Sin haberse instalado nada y sale de la misma.
    El mismo error ocurre cuando ejecuto los archivos de extension msi.
    Tendran algo que ver los otros archivos que no son exe ni msi que figuran
    en la carpeta Index of /dist/httpd/binaries/win32 desde donde los bajé,
    o tengo que bajar esos archivos tambien, por que hay unos zip que son:
    apache_1.3.34-win32-x86-symbols.zip y apache_2.0.55-win32-x86-symbols.zip,
    ya que en el tutorial solo dice que se debe ejecutar el exe o el msi solamente
    Como puedo solucionar este problema para poder instalar Apache??
    Lo quiero instalar en Windows Me.
    Por favor si me pueden ayudar les agradeceria.

  48. ferny 22.03.2006 - 06:20 - #

    Ni idea de qué puede ser, pero apuesto a que el usar WinME tiene algo que ver… ¿no podrías cambiar la versión de windows?

  49. no registrado 25.03.2006 - 16:16 - #

    Donde esta el famoso manual?

    he instalado ya todo esto en otras pcs, pero recien instalo php 5.1.2 en una nueva pc de 64 bits, y me da el famoso error de fatal error, que la funcion de mysql_connect() no esta definida… no pense que tendria que pasar por esto otra vez.. estoy que hecho chispas…

    Alguna sugerencia??
    Pasos hechos:
    Instalar php 5.1.2
    Modificar el ini para las ext de mysql y mssql
    Variables entorno de path
    El archivo php-cgi cuando lo ejecuto ya no da error.. es decir asimila todas las librerias…

    So… what’s up??… please help (jeje les pregunto a ustedes que son los expertos… :))

  50. No Registrado 27.03.2006 - 10:08 - #

    me super urge tener esto instalado, es muy importante para mi, ya instale apache2 y php 5, pero cuando accedo a localhost desde el navegador me aparece lo siguiente:

    Forbidden
    You don’t have permission to access / on this server.

    Apache/2.0.52 (Win32) PHP/5.0.3 Server at localhost Port 80

    alguien tiene idea de porque?

  51. Antonio_ 27.03.2006 - 11:30 - #

    hola amigos,
    Instalé sin problemas Apache2 todo funciona; pero tengo problemas con PHP5 seguí todos los pasos de instalación, no se si modifique bien los archivos httpd.conf y php.ini, pero cuando verifico la pagina de prueba (ejm. prueba.php con el contenido siguiente scrip < ? phpinfo() ?>), esto me resulta una página en blanco. No se cual es problema instale varias veces para ver si me equivoque en algun lugar pero aun no resuelvo este problema. Ah, tengo instalado en mi maq el Windows XP SP1.

    Forva una ayuda.
    Saludos

  52. ferny 27.03.2006 - 16:47 - #

    No Registrado, me super urge tener esto instalado, es muy importante para mi, ya instale apache2 y php 5, pero cuando accedo a localhost desde el navegador me aparece lo siguiente:

    Forbidden
    You don’t have permission to access / on this server.

    Apache/2.0.52 (Win32) PHP/5.0.3 Server at localhost Port 80

    alguien tiene idea de porque?

    Probablemente porque no habrás creado un fichero index.html o index.php en el directorio principal (DocumentRoot). Si sólo pones http://localhost/ sin especificar un archivo, por defecto el servidor va a buscar un archivo tipo index.html, index.php o default.php, y si no lo encuentra te va a mostrar ese error. Por tanto basta que crees tal archivo, aunque no es necesario, también podrías poner uno hola.php y llamarlo con http://localhost/hola.php

    Antonio_, hola amigos,
    Instalé sin problemas Apache2 todo funciona; pero tengo problemas con PHP5 seguí todos los pasos de instalación, no se si modifique bien los archivos httpd.conf y php.ini, pero cuando verifico la pagina de prueba (ejm. prueba.php con el contenido siguiente scrip < ? phpinfo() ?>), esto me resulta una página en blanco. No se cual es problema instale varias veces para ver si me equivoque en algun lugar pero aun no resuelvo este problema. Ah, tengo instalado en mi maq el Windows XP SP1.

    Forva una ayuda.
    Saludos

    Vamos a ir por partes, primero en ese archivo prueba.php escribe dentro por ejemplo la palabra “hola” y luego llámalo desde el navegador, si sale “hola” es que el servidor apache está funcionando y probablemente el error esté en el php.ini, que sería el archivo que deberías revisar paso por paso.

    Por cierto si haces cambios en el php.ini, acuérdate de que luego lo tienes que copiar en el directorio de windows (salvo que el php.ini que estés editando sea el que ya tienes copiado en el directorio de windows) y reiniciar el apache para que coja los cambios.

    Saludos :adios:

  53. noregistre 30.03.2006 - 17:52 - #

    seguí los paso tal cual los decia el tutorial instale el
    MySQL el apache el php y el phpmyadmin en los directorios que se decia en el toturial que debian instalarse cuando entre a al index de phpmyadmin me apareció esto:

    MySQL ha dicho: Documentación
    #2003 - El servidor no está respondiendo

    no se que pasa si antes ya les habia puesto iniciar a los programas :( :|

  54. kodak 07.04.2006 - 20:57 - #

    Montys2, mbstring es una libreria dinamica de php actibala en php.ini que encontraras en la carpeta de windows. dentro de php.ini la encontraras en las extensiones si entre todas las extensiones no encuentras esa libreria (php_mbstring.dll) si no esta la linea añadela:
    extension=php_mbstring.dll

    Pero comprueba antes que tienes el archivo dentro de la carpeta de extensiones de php, si no bajate el archivo zip de php y descomprime las extensiones que necesites… usa la misma version que el php que tengas actualmente ya que pueden ser incompatibles de una version a otra. y si no actualiza la version de tu php.

    hola tengo un problemilla y leyendo unos post anteriores me di una idea de como solucionarlo pero aun asi siguiendo todo lo que lei parece que esta todo bien pero sigo teniendo elmismo mensaje de error, que es este:

    No se halló la extensión PHP mbstring y al parecer usted está usando tipografía multibyte. phpMyAdmin no puede cortar correctamente las cadenas de caracteres sin la extensión mbstring y podría dar resultados inesperados.

    ya vi que tenia el archivo “php_mbstring.dll” en la carpeta de php y ya cheque tener la linea “extension=php_mbstring.dll” en el archivo php.ini que esta en la carpeta de Windows, lo unico es que esta precedido por un “;” es decir “;extension=php_mbstring.dll” pero aunque se lo quité no paso nada y enonces se lo volvi a colocar.

    Alguna sugerencia?

    Muchas gracias!!!

  55. ferny 08.04.2006 - 14:36 - #

    ya vi que tenia el archivo “php_mbstring.dll” en la carpeta de php y ya cheque tener la linea “extension=php_mbstring.dll” en el archivo php.ini que esta en la carpeta de Windows, lo unico es que esta precedido por un “;” es decir “;extension=php_mbstring.dll” pero aunque se lo quité no paso nada y enonces se lo volvi a colocar.

    Te faltó reiniciar el apache. O sea, quita ese “;” de esa línea, y luego reinicias el apache. Si no sabes reiniciar el apache, basta que reinicies el ordenador.

    :adios:

  56. No Registrado 08.04.2006 - 20:24 - #

    Aisengard, ME parece que en este asunto si que soy un cero a la izquiera, No entiendo y hasta ahora solo tengo bajados los programas mas en la instalacion soy un fracaso! (me rvientan las configuraciones!) :’( :molesto: :no: :neurotico :neurotico

  57. No Registrado 09.04.2006 - 12:09 - #

    Buenas, antetodo agradecer el tutorial muy currado y altamente claro.

    Estoy instalando php5 y apache2.0.54, pero no consigo que arranque el apache porque cuando pongo LoadModule php5_module “c:/PHP/php5ts.dll” en httpd.conf y le paso el test me responde:

    Syntax error on line 134 of C:/Archivos de programa/Apache Group/Apache2/conf/httpd.conf:
    Can’t locate API module structure `php5_module’ in file C:/PHP/php5ts.dll: No error

    parece ser que no encuentra el modulo del php, otra cosa, he modificado php5apache2.dll por php4ts.dll porque es el que tengo en ese directorio donde se instalo el php

    Agradezco la ayuda
    Salu2

  58. ferny 09.04.2006 - 13:51 - #

    Hola

    Vuelve a bajarte y a instalar el PHP, pq parece que te has bajado algo que no es… Si te bajas un PHP5, debes tener el fichero php5apache2.dll y no tienes que renombrar nada :ojotes:
    http://www.php.net/get/php-5.1.2-Win32.zip/from/a/mirror

    :adios:

  59. No Registrado 09.04.2006 - 15:06 - #

    Gracias ferny, me habia bajado un php que no era ya va todo bien

    gracias de nuevo

  60. No Registrado 10.04.2006 - 09:01 - #

    Buenas tardes,

    Excelente manual, todo salio a la perfeccion, solo queria preguntar si ¿conocen algun manual o tutorial que aborde el tema de la seguridad?

    por otra parte, deseo poner tambien un manejador de contenido he pensado en el joomla ¿que opinan?

  61. No Reg Visitante 10.04.2006 - 12:28 - #

    Hola Antonio

    ********************************************************
    Permiteme recordarte que hay cuatro conjuntos de etiquetas que pueden ser usadas para identificar o denotar que estas escribiendo código PHP.
    De estas cuatro, sólo 2 están siempre disponibles y el resto pueden ser configuradas en el fichero de php.ini para que tu intérprete las reconoscas. Es aquí donde radica tu problema PHP 5.1.2 reconoce desde su instalción el conjunto de etiquetas:
    *pues en algun momento me sucedió lo mismo y lo solucioné de esta manera

    < ?php /*codigo PHP ejemplo:*/
    phpinfo();
    /* estamos en presencia de las etiquetas < ?php. . .?>*/
    ?>

    mi función phpinfo() estaba codificada entre etiquetas cortas (< ? phpinfo(); ?>) y no mostraba nada. Te recomiendo que consultes un manual de usuario para que te aporte más información.

    Saludos.

  62. No Registrado 11.04.2006 - 09:50 - #

    Unregistered, 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

  63. Visitante - Dante 12.04.2006 - 04:41 - #

    Hola.
    Un poco tarde pero he descubierto el manual y creo que es muy bueno.
    Sólo tengo un pequeño problema:
    He instalado el Apache 2.0.55 y la variable path_info está desactivada.
    Quisiera activarla, he mirado por la web de apache en AcceptPathInfo; httpd.apache.org/docs/2.0/es/mod/core.html y he probado de activarla de varias maneras pero no he podido.
    Agradecería ayuda.
    Saludos.

  64. Visitante - Dante 13.04.2006 - 00:15 - #

    No Registrado,

    ¿Has hecho esto que dice el manual?
    …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

  65. Visitante7 14.04.2006 - 06:33 - #

    Tengo instalado el Apache, Php y mysql siguiendo el manual.
    Parece que funciona correctamente.
    El problema es que cuando accedo a una página con una foto de por ejemplo 70 Kb. no me la muestra (No disponible). En cambio guardo la misma foto en 40 Kb. y la muestra correctamente.
    Supongo que debe ser alguna tonteria de configuración pero no doy con ella.
    Agradecería ayuda.
    Saludos.

  66. kodak 17.04.2006 - 14:14 - #

    ferny, Te faltó reiniciar el apache. O sea, quita ese “;” de esa línea, y luego reinicias el apache. Si no sabes reiniciar el apache, basta que reinicies el ordenador.

    :adios:

    Muchas gracias, si funciono!

  67. No Registrado 20.04.2006 - 15:52 - #

    sencillo, breve pero muy correcto. Lo intente con appserv pero con este manual me ha sido mucho más sencillo. Además tengo la sensación de haber hecho “bien” las cosas, todo lo contrario que cuando lo intentaba con appserv u otro WAMP. Thanks, saludos desde LEON (España)

  68. No Registrado 27.04.2006 - 03:41 - #

    Lagrimas en mis ojos, de verdad, he llorado de emoción tras tantos días dandole vueltas a la instalación del apache-php-mysql, con este tutorial he conseguido que todo vaya como la seda, impresionante, mil vueltas a otros muchos que hay por la red.

    Enhorabuena!!!!!

  69. Lobo Solitario II 02.05.2006 - 12:40 - #

    El problema despues de haber cambiado o creado usuarios en mysql deesde la version 4 creo, es que los passwords se los debe declarar con OLD_PASSWORD(’aqui va la contraseña’); en este caso si va a funcionar…. hagan la prueba..:)

  70. archkazs 06.05.2006 - 15:54 - #

    primero decir que es un tutorial magnifico, pero le encontre un pequeño fallo jeje (bueno o por lo menos ami, despues no me funcionaba bien el apache)

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

    y yo lo puse
    # Example:
    # LoadModule foo_module modules/mod_foo.so
    #
    LoadModule php5_module “C:/Servidor/PHP/php5apache2.dll”

    con las comillas jeje

    pero ahora viene mi duda…resulta q cree un usuario y borre el root y con el sus privilegios, pero llego mi hermana y cerro la ventana…y ahora, que cree otro usuario me pone q estoi sin privilegios…como los recupero??? ayudaaaa

    xaoooo

  71. ferny 06.05.2006 - 17:19 - #

    Desintala MySQL y vuelve a instalarlo, vuelves a crear tu usuario y ya está…

    En cuanto a las comillas debería dar igual siempre que no tengas un espacio en el nombre de los directorios, en el caso que pones debería funcionar tanto sin comillas como con ellas :pensando: Si no te funcionaba no sé cuál podría ser el motivo, es algo raro… :ojotes:

    :adios:

  72. No Registrado 06.05.2006 - 18:34 - #

    ahi esta el problem, borro todos los arxivos q tengo del programa, lo busco x todos lados y no esta, y segun lo vuelvo a instalar….aparece con los datos de antes, es decir, sin privilegios…joooo

    si alguien tiene tiempo de ayudar a un pobre desgraciao…xD pokito a poko andaba la mula…

  73. ferny 07.05.2006 - 02:35 - #

    Creo que sé donde está el problema, cuando lo desinstalas queda un archivo en la carpeta de windows que se llama my.ini y que curiosamente contiene los datos que configuraste… prueba a borrarlo antes de instalarlo de nuevo

    :adios:

  74. No Registrado 07.05.2006 - 02:44 - #

    :( no, sigo sin los malditos privilegios….se me escapa fijo q algun archivo x ahi …seguire investigando, si se t ocurre algo mas….

    gracias

  75. Reflected_God 07.05.2006 - 07:13 - #

    Buenos dias-tardes.
    Ante todo, felicitaros por el manual, que funciona a la primera, y no da mucho quebradero de cabeza.
    Pero queria preguntar una cosa: ¿Por que si aplico los mismos pasos utilizando el apache 2.2.2, no me deja cargar el modulo “php5apache2.dll”, y con la version 2.0.58 si me deja?

    Eso es todo. Gracias

  76. ferny 07.05.2006 - 10:09 - #

    Reflected_God, Buenos dias-tardes.
    Ante todo, felicitaros por el manual, que funciona a la primera, y no da mucho quebradero de cabeza.
    Pero queria preguntar una cosa: ¿Por que si aplico los mismos pasos utilizando el apache 2.2.2, no me deja cargar el modulo “php5apache2.dll”, y con la version 2.0.58 si me deja?

    Eso es todo. Gracias

    El módulo que viene con php es para apache 2.0 no para apache 2.2
    Sigue con la versión 2.0.58 y recemos para que en la próxima actualización de php venga ya un módulo compatible con la 2.2 :arriba: (yo tb estoy ansioso por actualizar :-D)

    :adios:

  77. jony1 08.05.2006 - 12:15 - #

    Saludos, a ver si alguien me puede echar una mano, bueno después de leer el manual instale apache 2.2.2 es la ultima version de momento y tambien la ultima de php5, pero al configurar el httpd.conf me salio el siguiente mensaje de error

    Syntax errors on lyne 67 of D:/Servidor/Apache2.2/conf/httpd.conf: Can not load d:/servidor/php/php5apache2.dll into server: no se puede encontrar el m\xf3dulo especificado

    Esto es cuando cargamos el modulo php para apache que aparece en la guia
    # Example:
    # LoadModule foo_module modules/mod_foo.so
    #
    LoadModule php5_module D:/Servidor/PHP/php5apache2.dll

    no se pq me sale este error diciendo que no encuentra el modulo especificado, si alguien me puede ayudar se lo agradezco.

  78. No Registrado 08.05.2006 - 12:29 - #

    Perdon, acabo de leer en los post de arriba que ese modulo que mencionaba anteriormente no es compatible con apache 2.2 sino con el 2.0, lo siento es que estoy acostumbrado a los foros que ponen los mensajes recientes al principio y no al final, por este motivo no los habia visto.

    Saludos.

  79. ferny 08.05.2006 - 17:25 - #

    Sip… es lo que hay…

    La verdad no estoy 100% s