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 (27 votos, promedio: 4.56 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

1069 comentarios en total.

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

  1. patricio molina 30.10.2007 - 22:15 - #

    tengo un error al probar php

    me aparece en el navegador el codigo de php al probar la pagina no como deberia ¿a que se debe? gracias

  2. nestor j fernandez 01.11.2007 - 18:01 - #

    Genial, me venia matando tratando de instalarlo, me salvaste

  3. nestor j fernandez 01.11.2007 - 18:06 - #

    genial, me salvaste

  4. maldoror 02.11.2007 - 17:34 - #

    Magnifico.
    despues de haber comprado diversos libros, totalmente inutiles cuando no escritos claramente por personas legas en la materia, y haber gastado mucho tiempo y paciencia en intentar aprender a montar un lamap (Apache+PHP+MySQL) y cuando ya desesperaba, encontre su manual que es claro y ajustado a la practica. Todo fue coser y cantar. Gracias

  5. david 04.11.2007 - 21:06 - #

    quiero hacer una trabajo en php y trabajar con tablas (mysql) pero a la hora de llamar a las consultas me sale error. mi pregunta es esta mal instalado el mysql o hay q configurarlo ??

  6. Javi 05.11.2007 - 12:58 - #

    Al arrancar Apache, después de configurar el archivo httpd.conf tal y como se explica aquí (muy bien explicado, por cierto), me aparece una pantallita negra que me dice que no ha podido encontrar:
    C:/Servidor/PHP/php5apache2.dll

    Lo he mirado y remirado unas 2134 veces y no veo porque no funciona, esto es lo que he escrito:
    LoadModule php5_module C:/Servidor/PHP/php5apache2.dll

    Alguién sabe por qué Apache no puede cargar este archivo??

    Muchas gracias por la ayuda

  7. Gaston 06.11.2007 - 19:06 - #

    esta de maravillas pero a mi no me salio…

  8. Ramon Bastardo 15.11.2007 - 13:12 - #

    Simplemente EXELENTE!!!!!
    Es un tiro al piso

  9. Jorge 16.11.2007 - 07:20 - #

    Primero felicitaciones por el tutorial, Siguiendo los pasos logra instalar apache 1.3x lo pruevo y funciona a continuacion instalo php 5, relizo las confuguraciones correspondiente en apache, en el achivo php.ini es el ini.dist sin modificaciones
    ejecuto apache funciiona correctamente abre un archivo index.htm de php hasta aqui perfecto el problema biene cuando quiero ejecutar un archivo .php me aparese una ventana intentando descrgar el achivo. Me podrian decir que esta pasando? dede ya muchas gracia

  10. Daniel 18.12.2007 - 09:40 - #

    me sale el siguiente error

    “http.exe: Syntax error on line 67 of C:/Archivo de programas/Apache2.2/conf/http.conf : LoadModule takes two arguments, a module name and the name of a shared objetc file to load it from
    Note the errors or messages above, and press the key to exit.”

    la verdad no se de que es… el LoadMoude lo puse tal cual

    tengo el apache2.2x y quiero instalar el php5

    agradeceria ayuda

    Saludos..Daniel

  11. Elin3t 19.12.2007 - 22:40 - #

    Estoy siguiendo al pie de la letra este manual, (que por cierto esta muy bueno), pero me aparece un error al finalizar el paso 2.3.2 e intentar el paso 2.3, el error es el siguiente :
    “httpd.exe: syntax error on line 67 of C:/Archivos de programa/Apache Software Foundation/Apache2.2/conf/httpd.conf: cannot load: C:/servidor/Php/php5apache2.dll into server no se puede encontrar el m\xf3dulo especificado.”
    con php5.2.5-win32.zip y apache2.2.6

    de antemano gracias

  12. Efrain Rodriguez 22.12.2007 - 10:00 - #

    Gracias por tu tutorial, para los neofitos como yo, les aclara muchas dudas. Tienes material que no he visto en otros sitios y claramente explicado, aunque tengo dudas que no he podido encontrar en ninguna parte.

  13. Fran 25.12.2007 - 09:39 - #

    Yo he instalado las siguiente versiones:
    -apache_2.0.59
    -phpMyAdmin-2.10.0.2
    -mysql-4.1.22
    -php-4.4.6
    …y al intentar entrar en el phpmyadmin me da el siguiente error:

    #1251 - Client does not support authentication protocol requested by server.

    Alguien sabe como solucionarlo?Muchas gracias y enhorabuena por el manual…

  14. Zeus 27.12.2007 - 09:20 - #

    Auxilio….cuando le hago start me da este error: not installed service named “Apache2″.

  15. Diseño grafico 03.01.2008 - 16:42 - #

    la verdad que es super complicado realizar esta configuracion, por lo que si realmente no eres un ingeniero de sistemas, te recomiendo no perder mucho tiempo en instalar esto. existen modulos ya complicados como appserv que funciona a la perfecion y se instala todo junto y muy rapido. Ahora si quieres investigar, revisar las tripas de los sistemas es la mejor manera de aprender, Saludos.

  16. Felipe 03.01.2008 - 21:27 - #

    alguien me podria ayudar?, necesito un codigo que va en el configurador del apache que me permite proteger un sistema en web para que un usuario no registrado no pueda entrar a mi sistema tecleando el nombre de alguna de las paginas en la barra de explorador. Gracias

  17. sergio 04.01.2008 - 07:29 - #

    muy bueno el aporte, pero tengo un problema.
    despues de configurar el httpg.conf me da el error de que no encuentra el archivo “php5apache2.dll”.
    si lo quito no me da ese error y luego si intento probar lo de 127.0.0.0/info.php no me sale nada.
    se pasa todo el rato cargando pero no sale nada

    haver si me puedes ayudar

    un saludo

  18. Claudio 15.01.2008 - 11:07 - #

    Muy agradecido, excelente tutorial, claro y directo, le estuve dando muchas vueltas y por mucho tiempo a lo que es la instalación de php y por fin pude dar con la configuración correcta gracias a este mini-manual, lo seguiré consultando más a futuro si es que lo llego a necesitar, de nuevo muchas gracias.

  19. ricardo 15.01.2008 - 17:02 - #

    gracias por el manual esta muy completo
    pero tengo herrores funciona correctamente el php y todo pero al momento de cargar mis script en localhost\xx\bbb.php
    (ejemplo) me muestra errores en el codigo y si estan bien a lo mejor no se cargaron bien los modulos del php.ini o algo esta mal de este archivo
    gracias

  20. ricardo 15.01.2008 - 17:06 - #

    espero y me pue
    dan contestar

  21. Amaina 16.01.2008 - 08:13 - #

    Ejemplo de web con Mysql, Apache y PHP:
    Venta de telescopios prismaticos microscopios microscopio

  22. juan Camilo 16.01.2008 - 14:26 - #

    que gran ayuda este tutorial felicitacion

  23. Errol 19.01.2008 - 13:00 - #

    Excelente tutorial!!! Fue de mucha ayuda!!

    Gracias !!!!

  24. Trix 23.01.2008 - 13:12 - #

    Hola a todos, necesito ayuda porque por más que leo y releo manuales, busco el error en la web, leo foros y demás, no doy con la solución al error. Puede que ya no lo vea de tanto mirarlo.
    El caso es que estoy añadiendo el módulo php4 a apache 2.2, sobre windows xp sp2. El servidor corre si comento la línea LoadModule php4_module …

    Esto es lo que tengo en httpd.conf:

    LoadModule php4_module C:/php/sapi/php4apache2.dll

    La dll está en esa carpeta, mi versión de apache es la 2 y la 4 de php. Y este es el error que no consigo quitar (arrancando apache desde la consola de windows):
    Cannot load C:/php/sapi/php4apache2.dll into server: No se puede encontrar el módulo especificado.
    Lo único que se me ocurre es que en el directorio del sistema de windows no tenga todas las dll o lib necesarias.
    Gracias.

  25. gudiño norma 24.01.2008 - 09:26 - #

    necesito desactivar el acceso directo a mi correo me voy y quiero que nadie vea micorreo, hay alguna forma de que me pida contraseña para entrar

  26. Dennis 28.01.2008 - 11:19 - #

    no se si puedes ayudarme, quiero pasar de servidor de una version anterior a otra superior y quisiera que mis páginas realizadas en php4 funcionen en php5…. gracias…..

  27. gumer 29.01.2008 - 09:17 - #

    Muy buen manual, largo y tendido, voy a tener que buscar como configurar el php.ini para linux para abilitar el mcryp, que no lo encuentro en ningun lado…

  28. Salim 01.02.2008 - 10:35 - #

    Cvre tu manual, me ayudo bastante. xD

  29. jose 11.02.2008 - 11:40 - #

    quien me puede ayudaar deberdad estoy nuevo en esto tengo instalado en windowsxp este programa wamp5 hago la tabla en mysql pero como hago para hacer el programa en php

  30. Daniela 19.02.2008 - 18:39 - #

    Estoy instalando apache+php+mysql siguiendo sus i nstrucciones; y me quede atrapada en este error al configurar el archivo httpd.conf en la sgte linea:
    LoadModule php4_module C:/Servidor/PHP/sapi/php4apache2.dll
    al ejecutar el apache me sale q no puede abrir el modulo especificado, sin embargo ya lo coloque en esa dirección.
    Alguien q me ayude con esto por favor se los agradecere bastante.

  31. LEXUS 20.02.2008 - 11:47 - #

    Hola Masters!

    Estoy siguiendo este manual al pie de la letra y me encuentro atascado en el punto de intalacions de mySQL 4.0.23 ya que el mismo ya no se encuentra dispònible en el sitio oficial y no encuentro otra fuente. Aguien podria facilitarme el archivo????????????????????????????????

    Muchisimisimas gracias. X

  32. LEXUS 20.02.2008 - 11:58 - #

    el archivo mencionado en este tutorial: mySQL 4.0.23 ya no esta disponible. alguien podria facilitarmelo?? o un Link??

    Gracias

  33. adfgdf 20.02.2008 - 13:17 - #

    asdfads adsfasd fadsfasdfasdfasdfsdaf dsafsadfasd

  34. LEXUS 21.02.2008 - 03:04 - #

    alguien puede ayudarme a encontrar una version de mySQL 4.0.23???????????????

  35. Neftali Arredondo Mendez 26.02.2008 - 20:05 - #

    quiero saber como conecta una base de datos con una pagina en php o html

  36. Miguel Gonzalez Alvarez 03.03.2008 - 09:21 - #

    Hola mi problema ya lo eh leido mas arriba,alguien mas lo tuvo, pero la solucion no esta, me da esta sintaxis:
    httpd.exe: Syntax error on line 59 of C:/Archivos de programa/Apache Software Fo
    undation/Apache2.2/conf/httpd.conf: Cannot load C:/Servidor/PHP/php5apache2.dll
    into server: No se puede encontrar el m\xf3dulo especificado.
    Que puedo hacer para solucionarlo ??

  37. nuri 05.03.2008 - 10:18 - #

    hola
    teno instalado Wamp, se me presetno un proble con apache no lo pude solucionar, lo q hice fue desintalarlo, busque otra version mas actualizada del wamp y lo instale,pero ahora tengo un problema q no me conecta con la base de dato , he reemplazado los archivos anteriores y modifique httpd.conf, ya nada
    cuando quiero acceder ala interfaz web de phpMyadmin me sale esto:

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

    si me pueden ayudar porfav

  38. nuri 06.03.2008 - 09:31 - #

    hola
    tengo un problemon, instale wamp version 2, el proeblema es q instalo todo pero cuando quiero accesar al phpmyadmin me sale este mensaje forbiden You don’t have permission to access /phpmyadmin/ on this server.
    estoy adaptando mi sistema en esta nueva version y no me hace conexion con la base de dato.
    he modificado el httpd.conf, el config.inc.php con los datos anetriores clave usuario y nada,que puedo hacer.anteriormentemente me funcionaba con wamp pero version vieja tube q desintalarlo porq tenia problemas con apache y no pude solucionarlo,por ello instale esta version nueva,pero estoy q no se q hacer para q funcione el sistema q tngo otravez

  39. matias 11.03.2008 - 18:11 - #

    Buenas… primero que todos muy bueno el tutorial, corto, practico y sobre todo facil…
    Pude instalar el apache 2.2 con php 5 en mi pc. Esto lo hice para probar directamente de forma local y no tener que subir al server cada vez que queria correr algo con php…
    Resulta que tengo problemas con algunos codigos que corren bien en el servidor gratis (houstinggratisargentina) que tiene PHP 4.
    En si el problema pasa que no me funciona la $_GET[] que con esto manejo las opciones del menu…
    Please si alguien sabe que cosa tengo que configurar en el ini se lo voy a agradecer….

    Salute !!

  40. Hamstler 13.03.2008 - 17:41 - #

    Hola mi nombre es hamstler y quiero agradecer al creador de este manual por tratar de ser lo mas explicito posible en su desarrollo.
    Me encontre con un problema como el de Sebastian_Rohlf acerca de que no aparecia nada de informacion del servidor Apache y el archivo info.php, me parece importante decir que aparte de modificar el DocumentRoot hay que buscar lo siguiente

    cambiado toda la ruta por “C:/servidor/web” para nuestro ejemplo y con esto logre solucionar mi problema espero les sirva

  41. Hamstler 13.03.2008 - 17:44 - #

    la parte que no se ve es “<directory

  42. Eddie 14.03.2008 - 09:17 - #

    Saben recien estoy instalando la ultima version de php, php 5.2, he configurado el php.ini, todo el procedimiento anterior, entonce, cuando installo algun programa qu funciona con php y mysql, todos los programas me dicen literalmente:
    “”"”"”"”"”"”"”"”"”"”"”"” PHP no ha sido adecuadamente configurado con la extensión MySQL de modo que pueda comunicarse con MySQL. Por favor, compruebe el archivo php.ini o recompile PHP”"”"”"”"”. por favor si ahi alguien qu me ayud.. please

  43. Fernando 16.03.2008 - 01:28 - #

    Hey graxias x el manual jiji me sirvio de mucho, para la gente autodidacta está bacano graxias!

  44. jhonatan 18.03.2008 - 09:49 - #

    cuando uso mi php me sale errores ñ al usar ñ o acentos, no se si es por mi configuracion de apache o php
    ES POR QUE NO ESTA CONFIGURADO MI ISO-8859-1 o es mi computadora

  45. Raul 19.03.2008 - 08:18 - #

    Hola que tal, quiero felicitarlos por este excelente manual.
    Tengo el siguiente problema al instalar el Apache+PHP++MySQL instale el PHP4 pero como tenia que trabajar con zonas horarias tuve que actualizarlo al PHP5, segun como se indica en este manual, y asi lo hice.
    Incluso hice la prueba con el archivo info.PHP al probar optras paginas me sale error que no se carga la libreria de mysql ==> php_mysql.dll (Al entrar al phpMyAdmin sale que no se carga la extension) alguien me pude decir como solucionarlo.

  46. LesmePy 19.03.2008 - 14:33 - #

    Lei el manual y lo segui al pie
    Pero para la prueba del info.php no me sale nada
    volvi a mirar cada paso del manual y todo esta correcto… Mi pregunta es.. En el regedit se configura algo?

  47. LesmePy 19.03.2008 - 14:44 - #

    Cuando decis esto:
    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:

    Cual es la carpeta de nuestra web??
    yo cree una carpeta en C:\Servidor\PHP\WEB y ahi dentro puse el info.php
    Nose si esta bien eso

  48. evan daniel angulo quiñonez 25.03.2008 - 10:56 - #

    ME GUSTARIA PROFUNDIZAR MAS ACERCAD DE PHP Y MYSQL, SOY TECNOLOGO EN SISTEMAS, QUIERO SABER SI EXISTEN ALGUNOS CURSO VIRTUALES PARA INSCRIBIRME

  49. Alejo 31.03.2008 - 19:37 - #

    me tira error de sintaxis en la linea de:
    LoadModule php5_module C:/Archivos de programa/PHP/php5apache.dll

    ya probe con php5apache2.dll y con php5ts.dll (que es lo mas parecido que encontre, ya que el php5apache no lo encontre)

    Ayuda por favor!

  50. darwin 04.04.2008 - 20:32 - #

    espectacular tutorial …. espero encontrar la instalacion a mysql 5

  51. Carlos Jimenez 08.04.2008 - 06:06 - #

    Tengo IIS instalado e instalo MySql y no funciona, dice: “no se pudo cargar la extension mysql”, como puedo solucionar este error?

    Gracias

  52. Ariel 24.04.2008 - 00:16 - #

    Bueno tengo el siguiente problema, necesito tener el IIS (Internet Information Server) y el appserv 2.5.5 y quise cambiar el puerto de salida del Appserv por que hay conflictos con el IIS pero ahora no se cmo conectarme con mi phpmyadmin, alguien sabe como podria conectarme???… por que si pongo Localhost, me direcciona al IIS, por favor si alguien sabe como solucionar el proble lo agradeceria mucho….

  53. Eddy Juarez 29.04.2008 - 12:45 - #

    soy principiante, al tratar de correr el apache, me da este error.
    httpd.exe: Syntax error on line 60 of C:/Archivos de programa/Apache Group/Apach
    e/conf/httpd.conf: Cannot load C:/PHP/php5apache2.dll into server: No se puede e
    ncontrar el m\xf3dulo especificado.

    estoy probando con el apahce 2.2 y php 5, por favor ayudenme.

  54. Yuliann GB 05.05.2008 - 14:42 - #

    Hola!

    Empiezo con esto del Desarrollo Web…
    Y comenze instalando PHP y Apache…
    Pero ya me atorre…
    Instalo Apache 1.3… y Php 5…
    Como ustedes indican en su manual…
    Y el problema que tengo es que cuando quiero entrar a verificar que todo este funcionando correctamente.
    M aparece el error 403… Indicadome que no tengo acceso…
    Ya instale y reinsatle varias veces y nada…
    Por favor si alguien me puede decir que hacer se lo agradeceria… (Estoy trabajando en un entorno WINDOWS XP PROFESSIONAL)

    De antemano Gracias!

  55. wilmer j gonzalez c 19.05.2008 - 14:39 - #

    Excelente el tutorial, la primera vez (hace dos años), lo instale con un software ya todo estaba pre-hecho. Realmente me enseñaron bastante con este tutorial, de hecho tiene uno que configurar otras cosas aparte de las que salen aquí pero funciona perfecto.

    Yo tengo otra necesidad y si alguien me puede ayudar le estaria muy agradecido.

    Al igual que esto lo instale (hace un mes), en linux suse, el apache, el php, mysql, pero aún no he logrado que la base de datos funcione bien cuando le quitas los comentarios a Innodb, siempre da un error.

    Mil Gracias.

  56. guille 19.05.2008 - 20:44 - #

    PROBLEMA CON PHP5MODULE2.DLL

    En las dll de php hay una que se llama php5module2_2.dll y no php5module2. Si utlizan la primera cambiandole el nombre al archivo puede que el problema se solucione, por lo menos es lo que intenté y funciono.
    Todo esto es valido con las ultimas versiones bajadas a la fecha mayo de 2008.
    Espero haber ayudado.

  57. Pablo Cano 20.05.2008 - 15:04 - #

    Estimados tengo un problema que aun no logro solucionar, instale APache 2 y PHP 5 y me sale el siguiente error: httpd.exe: Syntax error on line 60 of C:/Archivos de programa/Apache Group/Ap
    e/conf/httpd.conf: Cannot load C:/Servidor/PHP/php5apache2.dll into server: N
    e puede encontrar el m\xf3dulo especificado.
    creo que salio alguna solucion por ahi pero con la version 1.3 en apache, y 4 en PHP.
    espero me puedan ayudar.

  58. Walter 21.05.2008 - 07:52 - #

    Hola! mira, tengo un problema. Instale Apache y PHP tal cual como indicas en el tutorial, revise varias veces los pasos y todo esta como “debe” ser, pero cuando quiero abrir una pagina en mi localhost no me abre nada me dice que no se puede encotrar la pagina. Y ahora no se porque no puedo iniciar Apache, cada vez que le pongo Start me salta un cartelito que dice “The Requested Operation Has Failed!” y no se porque. Tengo Windows XP SP2… Espero me puedas ayudar. Muchas gracias y excelente tu trabajo.

  59. Walter 21.05.2008 - 08:03 - #

    Mira aca encontre el error me dice que el error esta en la linea 60.

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

    Que no se puede cargar el modulo especificado…

  60. Mauricio 29.05.2008 - 12:36 - #

    sabes configuro apache con php peor al tratar de iniciar apache me sale el siguiente error :
    httpd.exe: Syntax error on line 60 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load C:/servidor/PHP/php5apache2.dll into server: The specified module could not be found.

    y no se ocmo resolverlo, ya que el archivo php5apache2 esta en la carpeta servidor,

    ojala pudieras responder a mi duda,

  61. Sergio 29.05.2008 - 16:45 - #

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

    Yo solucione este error instalando las versiones que aca se indican, pues cuando instale las ultimas versiones disponibles me arrojaba ese error.

    Solo me falta el MySQL 4.0.23 que al parecer ya no esta disponible….

  62. myga 06.06.2008 - 16:48 - #

    hola chicos…por fa tengo un problemita, quiero activar la libreria gd, para ello quito el ; que esta delante de extension=php_gd2.dll, pero como hago para comprobar su activacion, porq al trabajar con las diferentes funciones de esta libreria me da error de que estan no estan definidas,sera que falta algo por configurar?…estoy usando appserver 2.5.9….y felicitaciones por este articulo muy bueno…gracias por su ayudas chicos

  63. Guilleman 08.06.2008 - 00:14 - #

    Definitivamente muy buen tutorial

  64. Lucy 10.06.2008 - 16:37 - #

    Increible, funciona!!!

  65. Victor Hugo 15.06.2008 - 12:02 - #

    solo quiero dar las gracias por este manual q realizaste, en mi caso instale Apache server 2.2.8 y PHP 5.2.5 sin nungun problema y esta corriendo actualmente sobre Windows Vista y Windows XP y con la pase de datos de Postgres

    Gracias

  66. aicir 15.06.2008 - 20:12 - #

    no entendi en donde cambiar los datos para el ususrio nuevo. ya que se mension que en config.inic.php
    pero como soy aprendis no se donde sea esto, alguien podria decirme, se los agradeseria.
    de echo crei que era en el php.ini
    pero no encuentro nada parecido al ejemplo de las variables

  67. Guilleman1 19.06.2008 - 22:07 - #

    muy buen articulo, lo recomiendo, seguramente nos ha servido a muchos ya

  68. cob1979 25.06.2008 - 14:23 - #

    Descargú el phpMyAdmin-2.11.7-all-languages-utf-8-only
    y no veo el fichero config.inc.php por ningún lado…Solo aparece config.sample.inc.php

  69. heriberto 27.06.2008 - 09:55 - #

    oye tengo prblemas al instalar php ya instale apache pero al configurar php no funciona tengo el manual de instalacion de apache,php y mysql y segui las instruciones correctament me podrias ayudar

Deja tu Comentario


Maestros del Web se reserva el derecho de moderación de los comentarios. Evita utilizar palabras soeces, ataques directos, descalificativos, insultos, de lo contrario tu comentario será eliminado.


Boletín

Agrega nuestro feed a  Netvibes
wikio Add to Technorati Favorites

-


Maestros del Web es el punto de encuentro para los entusiastas de la red.

Creative Commons by-nc-sa 3.0 | Política de Privacidad | CMS: Wordpress