Un espacio para los entusiastas del web

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

Publicado el 19 de Octubre, 2003

É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.

¿Te gustó?

¡Sí, me gusta! Le ha gustado a 118 personas
Loading ... Loading ...

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

Síguenos en: @maestros | Fan page

Comentarios

Páginas: [1] 2 3 4 5 6 7 8 912 »

  1. ferny

    Les dejo esta pequeña joya.
    http://www.maestrosdelweb.com/editorial/phpmysqlap/
    Agradecería que lo probaran y dieran sus comentarios.
    En especial saludo a Cluster que colaboró en su desarrollo. :pensando:

    IMPORTANTE
    La última actualización del manual y que conviene seguir está localizada en http://servidor.hostrocket.com

    Responder
  2. 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.

    Responder
  3. cvander

    Muy buen tutorial. Me gusta su brevedad y que va al grano. Las ilustraciones le dan ese toque ilustrativo muy bueno.

    Sigue con el buen trabajo y gracias por compartirlo.

    Responder
  4. Cluster

    Pero has seguido todas las indicaciones y te has bajado las versiones de todo el software que indica la guía de instalación?

    Lo de las versiones (siempre que sean superior a PHP 4.3.0 hasta la fecha) no importa mucho (por si estas instalando PHP 4.3.2 RC4 por ejemplo .. la última versión estable a la fecha) .. Eso sí .. que sea el .zip que contiene todas esas extensiones y .dll que se requieren.

    Un saludo,

    Responder
  5. manolo88

    Encuentro muy buena la información que se muestra para utilizar MYSQL+PHP+APACHE en Windows, aunque mi duda se centra en LINUX, estoy tratando de instalar un pequeño paquete de software con estas herramientas, pero tengo problemas con mysql, quisiera saber si alguien me puede ayudar; ojalá tenga alguien las instrucciones necesarias para poder instalar paso a paso: MYSQL+PHP+APACHe en Linux, gracias… :serio:

    Responder
  6. Cluster

    manolo88 … Para Linux:

    Puedes preguntar en el foro de forosdelweb.com (foro PHP o mejor en el de Sisitemas Operativos -> Linux ..)

    Pero si quieres ir empezando tu mismo, revisa estas guías de instalación del amigo Ferdy (UIno de los Administradores de forosdelweb.com):

    http://www.ferdyx.org/temas.php

    Un saludo,

    Responder
  7. 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

    Responder
  8. Cluster

    Aisengard

    Pues lamentablemente en PHP cuanto mas sepas de su configuración (y de Apache recomendable) mejor dominaras el lenguaje y lo que tienes entre manos …. (Luego llegan los problemas cuando PHP “suelta” algún error al intentar usar tal o cual función que no se instaló soporte o no se configuró …)

    Existen multitud de aplicaciones tipo “WAMP” (Windows+Apache+Mysql+PHP) que en “teoría” te instalan una versión de todo esto con una determinada configuración .. Buscalos (ejemplo: AppServ, FoxServ, PHPtriad … etc.. etc).

    Incluso algunos de esos “WAMP” instalan hasta el “PHP-Nuke” por si es ese el fín que le vas a dar a tu “PHP” ..

    Sólo acuerdate del “tío Cluster” cuando veas que PHP te dá algun error tipo: Function tal “undefined” o errores mas “catastróficos” … y tengas que irte a tu php.ini a ver que tocas …

    Un saludo,

    Responder
  9. esturion

    buenas…
    ante todo gracias por el tuto, que hasta un tio como yo que no tiene casi idea del html a logrado a la primera instalar todo segun el tutorial y que le funcione…
    todo, menos por una pegua, esta es la siguiente…
    cuando llamo al phpmyadmin/index.php esta pantalla me sale, me da la bienvenida y me invita a poner mi usuario y contraseña, lo introduzco pero no se mueve la pantalla, bamos… que ni hace atisbos por moverse y ahi me quedo, a que se debe?
    decir que cuando pasa eso me aseguro de que el apache y mysql estan en marcha claro…
    gracias…

    Responder
  10. cvander

    Se ha actualizado el manual recientemente. Disfrútenlo.

    Responder
  11. esturion

    pues efectivamente puse de manera cookies, lo e modificado a http y al llamarlo ya me pide usuario y contraseña y directamente entro en el panel de control, pero me vuelve a pasar lo mismo, en el panel solo me funcionan los enlaces a documentacion y esas cosas lo demas ni se menea, yo creo que sera cosa de la bd aunque el semaforo esta en verde, no se… volvere a instalarla…
    gracias
    este manual lo segui yo antes de ayer…

    Responder
  12. Isildur

    que pena tio, estas tan perdio como Adan en el dia de la madre, ojala alguien te ayude -a mi tambien- :-(

    Responder
  13. Cluster

    Más explicito? .. Ok, si es así .. indiquen donde hay que ser más explicito ..

    Creo que es una “Guía” paso-a-paso .. Solo hay un “poco” de teoría en el apartado de que decidan si usar register_globals a ON o a OFF de su php.ini .. Por lo demas .. lo que se indica es lo básico para que Apache+PHP+Mysql funcione .. No se tratan témas de configuración y “afinamiento” de PHP o de Mysql .. o de Apache… que eso sería parte de otro “tutorial” …

    Un saludo,

    Responder
  14. esturion

    si… la verdad es que es un tutorial muy simple y muy facil de entender, pero a lo mejor si se podria extraer algo de ayuda en algun apartado del mismo para novatos, como por ejemplo, preguntas mas frecuentes o algo asi, desde luego ese seria otro tema diferente al tutorial en si, pero seria de gran ayuda.
    ejemplo: MYSQL me dice que no e obtenido el OK y no me funcionan los scripts.
    bueno, pues me he tirado tres dias leyendo y traduciendo para llegar a la conclusion, de que no importa que te salga ese mensage, si funcionan los scripts, algo aria mal yo, pero si ese error estiviera reflejado en algun pequeño de errores comunes, hubiera sido de gran ayuda.
    por que la version 4.0 de MYSQL bajo windows XP

    Responder
  15. chikatilo

    Te felicito por el tutorial, está todo explicado de manera muy clara aunque yo soy torpe :-D , aquí dices:

    A continuación vamos a indicar a PHP dónde se guardan las extensiones. Buscamos extension_dir y le ponemos la carpeta que contiene los archivos php_xxx.dll

    Yo no encuentro extension_dir y eso que lo introduje en el explorador :stress:

    Responder
  16. ferny

    Hola chikatilo

    Si no encuentras extension_dir, prueba buscando esto:

    [color=blue]; Directory in which the loadable extensions (modules) reside.[/color]

    De forma que quede así:

    [color=blue]; Directory in which the loadable extensions (modules) reside.
    extension_dir = c:/php/extensions/[/color]

    De todas formas deberías encontrarlo, está en el php.ini

    Saludos :adios:

    Responder
  17. chikatilo

    Hola ferny, no entiendo el rollo, dices que extension_dir está en php.ini. El tutorial dice: “le ponemos la carpeta que contiene los archivos php_xxx.dll”.

    ¿Como se puede colocar una carpeta dentro de php.ini?

    Debo de llevar mucho tiempo delante de la pantalla :borracho: :borracho: :borracho: :borracho: :borracho: :borracho:

    Responder
  18. ferny

    Puede que lleves tiempo delante de la pantalla… :-D :arriba:

    Lo que tienes que hacer es editar el php.ini con el mismo block de notas y buscar esas lineas ahí y editarlas ahí :o jotes: O sea dentro del php.ini colocar en el apartado correspondiente la ruta de la carpeta que contiene las extensiones. :pirata:

    ¿Era eso? :pensando: Creo que lo que intentabas era buscar la carpeta extension_dir ¿no? No es eso… es editar el php.ini y buscarlo ahí :arriba:

    :adios:

    Responder
  19. Cluster

    esturion

    Ok, ok .. pues esas FAQ’s se hacen así como lo has empezado tu .. Osease, los usuarios aportan sus inquietudes y sus soluciones o de aquí mismo de las preguntas que se van haciendo se puede ir refinando la guía de instalación …

    Un saludo,

    Responder
  20. chikatilo

    Hola, efectivamente habia pasado mucho tiempo delante de la pantalla.:risa:

    He seguido todo el manual hasta

    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 gd.dll deberíamos cambiar ;extension=php_gd.dll por extension=php_gd.dll. Puedes ver para qué sirve cada extensión en el manual oficial de PHP.

    Esto no lo entiendo :pensando:

    Otra cosa, aquí dice:

    A continuación copiamos el php.ini a la carpeta C:/windows/

    Tengo el 2000 professional y la unica carpeta C/windows que tengo tiene otra dentro “temp”, solo eso. En archivos de programa tengo windowsNT y windowsUpdate, no veo mas. :stress:

    * Si conseguís que instale el lote completo os propondré para una medalla ;-)

    Responder
  21. ferny

    Lo de las extensiones, si quieres, no lo toques… sirve para aumentar las funcionalidades del php. Por ejemplo si quieres crear imágenes con php pues tienes que activar la libreria php_gd.dll para lo cual basta quitar el ; que lleva delante… pero si no vas a usarlo, simplemente ignoralo.

    Y bueno… ahí dice la carpeta windows… en la proxima actualización habrá que cambiarlo, se refiere a la carpeta DEL windows… que en windows 2000 creo que es C:\WINNT

    De todas formas te cuento que yo traté de instalar el PHP en un Win2000 Pro y no me funcionó debido (creo) a que estaba el IIS (el servidor de M$) funcionando… quizá si lo desinstalase sí funcione… (pero no lo probé :borracho: )

    Esto habría que mirarlo más a fondo, tu de momento sigue los pasos normales a ver qué sucede.

    Saludos :adios:

    Responder
  22. chikatilo

    Voy a seguir entonces, a ver si no me cargo todo. :-(

    el primer load lo puse como en el tutorial, sin almohadilla?
    LoadModule php4_module c:/php/sapi/php4apache.dll
    #LoadModule vhost_alias_module modules/mod_vhost_alias.so

    Añadi
    AddModule mod_php4.c
    #AddModule mod_vhost_alias.c
    debajo de ClearModuleList

    Cree un arhivo info.php y la guardé en C/miweb
    Al abrir el apache inicio>programas>apache>start apache in console, me sale una ventana ms2 diciendo que hay error en la linea 176 y que no se puede encontrar el modulo especificado.

    Que es lo que hago mal? :neurotico

    Responder
  23. ferny

    Pues la verdad no se que es… quizá algún error en la configuración… Revista toda la configuración del httpd.conf a ver si se te ha pasado algún error… o si no reinstala el apache y empieza de nuevo con el httpd.conf
    Por cierto, supongo que no estarás usando la versión 2 del apache ¿no? Pues era distinta que la 1.3.27 que hay en el manual :pensando:

    Responder
  24. chikatilo

    He instalado el que ponia el manual, el 1.3.27.

    Como se que el apache está activo? a mi no me aparece ningún icono.

    Si introduzco http://127.0.0.1/info.php en el navegador no aparece nada. :pensando:

    Si accedo desde inicio>programas>apache http server>Star apache in console, me aparece: Apache/1.3.27 (win32) php 4.3.3 running

    Cuando ejecuto setup.exe del mysql-3.23.56-win a mi no me pide user name ni password ni se me instala nada :no:

    Aunque creo que he avanzado algo :risa: :risa: :risa: :risa:

    Responder
  25. ferny

    Pues parece que el php te lo ha cogido bien… Ahora lo que debes hacer es dejar el Apache activo, o sea dejar abierta esa ventana de msdos.
    Luego en el directorio donde vas a meter la página creas un archivo llamado info.php con el contenido[COLOR=red]< ? phpinfo(); ?>[/COLOR] y entonces entras desde el navegador a ver si te sale…

    Y del mysql… pues no se qué pasará… a ver si no te has bajado el archivo bueno… miralo de nuevo pues es un instalador normal y corriente :pensando:

    Responder
  26. chikatilo

    pues creo que hice todo al pie de la letra, voy a tener que empezar desde el principio :’( :’( :’( :’( :’(

    Como siga así voy a empezar a programar en php cuando las ranas crien pelo. :serio:

    He vuelto a empezar por el principio y ya está correcto el apache y el php :si: pero el mysql :no: . Seguí los pasos del manual, fuí a mysql, me bajé la versión 3.23.56 en los downloads para Windows desde un sitio portugués, lo guardé en c:/php, lo descomprimí, le di a setup pero a mi no me pide ni nombre de usuario ni contraseña y sigue el proceso dandole a siguiente hasta que finaliza.
    :o jotes: esto es raro, sigo con lo que dice el manual o no funcionaria sin el login y el password? :pensando:

    Responder
  27. ferny

    Pues haz una cosa. Borra el mysql. Luego vas a la carpeta del windows y buscas el archivo my.ini y lo eliminas. Luego vuelve a instalar mysql.
    Saludos :adios:

    Responder
  28. chikatilo

    no tengo ningun my.ini, ni mysql.ini en el disco duro. :no:

    Responder
  29. ferny

    Pues ni idea… ¿no será que bajaste un archivo distinto? El bueno es este:

    http://www.mysql.com/downloads/mysql-3.23.html
    Windows downloads -> 3.23.56 13.4M
    Descarga: http://www.mysql.com/downloads/download.php?file=Downloads%2FMySQL-3.23%2Fmysql-3.23.56-win.zip&mirror=ftp%3A%2F%2Fftp.telepac.pt%2Fpub%2Fmysql%2F

    Ese ocupa 13.4 Mb

    Miralo y si no funciona espera que Cluster venga por aquí… o mandale un mensaje privado :’(

    Saludos

    Responder
  30. chikatilo

    He vuelto a probar otra vez bajandomelo de nuevo y al darle a setup no aparece ni login ni password por lo tanto no segui con lo que dice en tutorial :stress:

    Responder
  31. Cluster

    chikatilo

    No se te va a pedir ningun password ni usuario hasta que no ejecutes: winmysqladmin.exe por primera vez .. justametne por qué ese “programa” crea el my.ini si no lo está .. con los datos que ahí le des ..

    Osese . una vez instalado (vía el setup) Mysql .. debes ejecutar ese programa .

    La instalación es válida hasta con Mysql 4.0.13 que no hace mucho que lo probé y es exactamente lo mismo ..

    Un saludo,

    Responder
  32. kawoq

    Saludos amigos, en la oficina tengo intalado PHP, y me llamo mucho la atenciòn este tutorial, ya que trae y habilita algunas opciones que no he podido realizar en la computadora de mi oficina. Ahora que estoy en la casa lo he intentado, he hecho todo lo que acà me dicen he instalado:
    apache_1.3.27-win32-x86-no_src (es una aplicacion no se si sea .exe o la otra extension)
    php-4.2.3-Win32
    y el mysql indicado.

    pero he tenido este problema al momento de arrancar apache.

    Syntax error on line 311 of c:/archivos de programa/apache group/apache/conf/htt
    pd.conf:
    Invalid command ‘‘, perhaps mis-spelled or defined by a module not in
    cluded in the server configuration
    Note the errors or messages above, and press the key to exit. 2..

    y en la linea 311 tengo esto
    [PHP]
    # First, we configure the “default” to be a very restrictive set of
    # permissions.
    #
    //linea 311
    Options FollowSymLinks
    AllowOverride None

    #
    [/PHP]

    Que podra estar pasando.

    Saludos y Gracias, ahh, y al poner en un explorador http://localhost, este no funciona.

    Saludos.

    Responder
  33. chikatilo

    Hola cluster, gracias a tus indicaciones he conseguido acabar de intalar el mysql, parace que está bien (toca madera) :arriba: . Esto no se si os habrá pasado a vosotros, no es posible guardar en mysql cuando se da a setup porque durante la instalación no deja abrir php para ponerlo en la carpeta mysql, tuve que ponerlo así: C:/php/bin/mysqld-nt.exe

    Otra cosa, en el tutorial se dice de bajar la versión phpMyAdmin-2.5.1-rc1-php.zip, pero lo mas parecido que hay es: phpMyAdmin-2.5.1-php.zip y phpMyAdmin-2.5.1-php3.zip, tambien hay lo mismo con extensión tar.bz2 o tar.gz, aparte de las versiones anteriores. Yo me bajé la primera.

    La guardé dentro de miweb, al descomprimir aparece una carpeta con el nombre ese tan largo que según entendí hay que renombrar a phpmyadmin, pues bien, dentro de esta aparece otra con el mismo nombre, que hay que hacer? renombrar esta y eliminar la carpeta anterior del mismo nombre para dejar solo una? (yo probé de las dos formas al ver que no funcionaba). :no:

    El resto de las indicaciones las seguí como ahí dice, cookie, nombre y contraseña.

    Pegué http://127.0.0.1/phpmyadmin/index.php en el navegador y me sale lo tipico de no se puede encontrar la página.

    Que error puedo haber cometido durante todo el proceso? :pensando:

    Como vereis voy lento pero pasito a pasito voy montando el tenderete, con vuestra ayuda por supuesto si no la llevaba clara. :aplauso:

    Responder
  34. ferny

    Para kawoq
    Pues estuve revisando el httpd.conf y CURIOSAMENTE la línea inmediatamente anterior a que no esté comentada es la de documentroot. Checa de nuevo lo del documentroot a ver si has dejado la comilla sin cerrar o has puesto una carpeta no válida.

    Y confirmo lo que dijo Cluster antes: NO PIDE USUARIO NI CONTRASEÑA hasta que ejecutes por primera vez el winmysqladmin.exe que está en la carpeta bin de mysql. Habrá que modificar eso en la próxima actualización del manual :arriba:

    Saludos :adios:

    [center]———- EDITADO ———-[/center]

    ¡Vaya, casi chocamos! :golpeado:

    El phpmyadmin que buscas es el Download phpMyAdmin-2.5.1-php.zip, lo que pasa es que han actualizado de RC1 a la versión definitiva (vaya, otro cambio más pal manual). Si se te mete en una carpeta más arriba, osea en /phpmyadmin/phpmyadmin/ sólo coge todos los archivos y muevelos de carpeta, directamente a /phpmyadmin/

    Responder
  35. chikatilo

    El que no se puede elegir directorio es mysql.

    httpd.conf? yo edité config.inc.php

    Responder
  36. ferny

    Mysql sí se puede elegir el directorio mientras lo estás instalando :o jotes: Te tiene que dejar elegirlo mientras lo instalas
    Lo del httpd.conf no iba para ti, era para otro usuario anterior ;-)

    Responder
  37. chikatilo

    Esto no tiene explicación, en teoria lo mas facil de instalar y no hay manera, ya lo he instalado y confugurado 4 veces el myadmin 4 veces desde el principio y al pie de la letra como dice en el tutorial y nada. :’( :’( :’( :’( :’( :’(

    Responder
  38. kawoq

    Bueno gracias Ferny por la respuesta, todo esta bien, la sintaxis esta bien, afectará que antes tuviera instalado Apache 2, luego lo desinstale, e instale el recomendado del tutorial?

    Para probar apache le doy
    Star in console? esto es correcto. O tengo un apache diferente al indicado.

    Los directorios de el documentroot, se escriben asi
    DocumentRoot “C:\ruta\paginas”
    o así
    DocumentRoot “C:/ruta/paginas”
    Saludos y gracias

    Responder
  39. Cluster

    Kawoq ..
    Las versiones de Apache 1.3.x no varian en nada con respecto a la instalación (la que varía es si usases Apache 2.0.x que no es el téma de este guía de instalación ..)

    Para iniciar Apache .. si, usa el “start in console” .. que es lo mismo que ejecutar tu Apache.exe de \Apache

    Por lo demas en windows .. DocumentRoot “C:/directorio/directorio”

    Y .. ese:
    que tenías por ahí (no sé porqué está así pues por defecto sale como:)

    Debe ser:

    Un saludo,

    Responder
  40. Alan Martienz (Colo)

    Estimado amigo
    He estado tratando de instalar el php y me ha sido imposible hacerlo. Su explicaciòn me ha permitido hacerlo. gracias

    Responder
  41. kawoq

    Gracias Cluster, ayer probe, hacer lo que me dijiste y nada de nada, te entendi esto

    [PHP]
    # First, we configure the “default” to be a very restrictive set of
    # permissions.
    #
    //linea 311
    Options FollowSymLinks
    AllowOverride None
    //ojo cambio de el cierre.

    #
    [/PHP]

    Si es así como me dijiste. No funciona, sigo teniendo el mismo problema.

    Estaba revisando, y tenia instalado el PHP 2 veces uno en C:/php y el otro en C:/PHP4, pero no creo que esto afecte, ya borre la ultima que mencione. Revise el DocumentRoot, y si existe la carpeta. Bueno no se que es lo que pasa. si fueran tan finos de ayudarme se los agradecería.

    Saludos.
    ahh, podría ser:
    1. desinstalar todo y volver a hacerlo.
    2. Que talvez si fuera posible, que Ferny o tu amablemente me pudieran mandar su httpd.conf, para compararlo con el mío, si fuese así, estaría bien a computo@munikat.com.

    Un saludos y gracias

    Responder
  42. Unregistered

    muy bueno, todo funciono casi a la perfección.

    Responder
  43. Carlos

    Me ha parecido muy útil. Ha funcionado todo a la primera. Muchas gracias,

    Responder
  44. kawoq

    Bueno, a mi me funciono solamente quitandole el código donde me marcaba error, no se si esto afecte el deseñpeño de los componentes instalados, pero ya corrio, seguire intentandolo, ahh lo que quite o borre fue del httpd.conf, y fue esto:

    //linea 311
    Options FollowSymLinks
    AllowOverride None
    //ojo cambio de el cierre.

    Saludos

    Responder
  45. Cluster

    kawoq .. ya te dije que tenías que indicar en

    //linea 311
    Options FollowSymLinks
    AllowOverride None

    el / toma como raiz de tu “DocumentRoot” ..

    Eso son “directivas” y cada directiva va precedida de un “tag” de apertura y otro de cierre .. Ademas esa directiva define propiedades sobre tus directorios ..

    Y ya te comenté que no sé por qué la tenias así, pues por defecto que me acuerde va ya predefinida.

    Un saludo,

    Responder
  46. esturion

    ferny
    mysql si te deja elegir el directorio mientras lo instalas, pero para poder instalarlo en c:/php/mysql como recomienda el tutorial, primero hay que crear la carpeta mysql dentro del directorio c:/php/ y despues instalar…
    queta faltao decirlo…

    Responder
  47. Unregistered

    No me hace falta crear la carpeta… el programa la hace solo. O sea, el programa me dice: “la carpeta c:\php\mysql no existe, ¿desea crearla?” y yo le digo que :si:
    Realmente es una instalación como cualquier otro programa, lo “interesante” es configurarlo despues.
    Salu2 :adios:

    Responder
  48. chikatilo

    Hola a todos, sigo teniendo el problema con el phpmyadmin. He seguido el manual exactamente. Me bajé el phpMyAdmin-2.5.1-php.zip, lo guardé en c:/miweb/, lo renombré a phpmyadmin, en config.inc.php cambié a $cfg['PmaAbsoluteUri'] = ‘http://127.0.0.1/phpmyadmin/’; y $cfg['Servers'][$i]['auth_type'] = ‘cookie’;
    $cfg['Servers'][$i]['user'] = ‘Pepe’;
    $cfg['Servers'][$i]['password'] = ‘Hola’;
    Pero al introducir http://127.0.0.1/phpmyadmin/index.php me sale lo tipico de que no encuentra la página. He probado un montón de veces ya nada. Sabeis a que puede ser debido esto?

    Responder
  49. ferny

    ¿Y el PHP te funciona bien? O sea, ¿hiciste la prueba del phpinfo() y funciono? Si ya te funcionó la prueba del phpinfo(), sera seguramente algun fallo en las carpetas donde este metido el phpmyadmin, revisa los nombres… Y si no funcionó el phpinfo(), ¡¡¡primero habrás de hacerlo funcionar!!!
    Por cierto, para que phpmyadmin funcione, tienes que tener activado el Apache y el MySQL ya que phpmyadmin trabaja con ello.
    Salu2, ferny

    Responder
  50. chikatilo

    Hola ferny, el php funciona, el apache y el mysql están abiertos.

    Como no daba con el problema eliminé todo y me bajé el pack appserv 2.0, lo instalé sin problemas, pero al introducir “nuke” y darle a crear una nueva base de datos en el myadmin me sale lo siguiente: (está en gallego)
    Banco de Datos nuke a rodar no servidor localhost
    Erro

    comando SQL :

    CREATE DATABASE `nuke`

    Mensaxes do MySQL:

    Can’t create database ‘nuke’. Database exists
    Voltar

    No se cual puede ser el problema, pero cuando reinicio el ordenador me sale el siguiente aviso:
    la unidad o conexión de red a la que se refiere el acceso directo “winmysqladmin.ink” no está disponible. Asegurese de haber insertado el disco correctamente o de la disponibilidad del recurso de red y vuelva a intentarlo.

    Creo que eliminé todo el myadmin anterior, pero es posible que me quedase algo y por eso no pueda crear nuke?

    Esto ya parece un gafe.

    Responder
  51. ferny

    Te dijo que la base de datos ya existe, posiblemente quedó la instalación anterior… Mejor borra todo y empieza de cero…
    Pero es muy raro, si apache, php, y mysql funcionan, por lo menos el phpmyadmin no daría error de página no encontrada (podría dar otro error, pero ese precisamente no)

    Responder
  52. chikatilo

    claro que es raro, pero no se lo que voy a borrar, porque eliminé todo completamente y partí de 0 con el pack, a no ser que me quedase algo en alguna carpeta y no me de cuenta. :stress:

    Responder
  53. vic_mx

    Excelente

    Responder
  54. Saulo

    Fernando Gracias por escribir tu articulo me servido de mucho a la hora de configurar mi servidor.
    Att. Saulo D. León Q.
    En hora buena.
    Gracias

    Responder
  55. Irene

    Hola, me ha parecido muy bueno el artículo por lo detallado que está, así que mi enhorabuena para el autor, pero tengo tengo un problema: a la hora de instalar PHP 4.3.2 no se me muestra localhost. He hecho todos los cambios que pones, pero no hay manera. Agradecería que me ayudaras porque me estoy iniciando con esto de PHP que tengo mucho interés. Mi correo es: irenusky02@hotmail.com
    Por favor, escríbeme porque necesito de tu ayuda. Gracias.

    Responder
  56. Unregistered

    Cluster dame una mano! mira, baje todas las versiones ke decias en tu manual e hice todas las modificaciones necesarias.. pero cuando cargo el aPACHE me dice:
    Syntax error on line 176 of c:/archivos de programa/apache group/apache/conf/httpd.conf:
    Cannot load c:/php/sapi/php4apache.dll into server: (127) No se encontr¾ el proceso especificado:

    Note the errors or messages above, and press the key to exit. 19…

    Ayudame PLis
    Suerte

    Responder
  57. Cristian

    Excelente tutorial!!

    Responder
  58. Machitopeleon

    Me gustaria muchisimo que pudieran indicarme donde puedo encontrar un articulo tan excelente como este pero para Linux.

    Gracias de antemano.

    Responder
  59. ferny

    ¿De phpmyadmin? Se configura igual que en el manual :arriba:

    Responder
  60. Fornico

    que bueno el manual, toda la mañana buscando por la red y nada, gracias a vosotros y a ese pedazo de manual me habeis solucionado el problema, gracias gracias gracias

    Responder
  61. Unregistered

    Felicidades al creador de este manual, me saco de muchas desveladas, sigue asi de detallista en tus otros articulos

    Responder
  62. Seerkan

    Hola,

    He encontrado lo siguiente en el httpd.conf:

    [PHP]
    #
    # This should be changed to whatever you set DocumentRoot to.
    #

    [/PHP]

    Supongo que tambien habrá que modificarlo, no? :pensando:

    Un saludo,
    Seerkan

    Responder
  63. Cluster

    TIP:

    Por cierto .. para el que quiera instalar soporte PHP (4.3.x) para Apache 2.0.xx .. tan sólo tiene que sustituirel php4apache.dll que hace referencia el tutorial .. por php4apache2.dll y .. (importante) NO usar la referencia a: AddModule mod_php4.c

    Por lo demás .. todo igual … En W98 .. no se instalará como servicio por defecto .. en NT/2000/XP se instalará como servicio (Apache me refiero) y lo pueden ejecutar/parar/resetear desde el Apache Manager que incorpora dicha versión de Apache.

    Un saludo,

    Responder
  64. txarly

    Es un Tutorial EXCELENTE :aplauso: :aplauso: :aplauso:
    Una pena no haberlo conocido antes. Mis felicitaciones a Ferny & Cluster.
    Muchas gracias.

    Salu2 :adios:
    Txarly

    Responder
  65. Cluster

    Alvaro ..

    Estás instalando Apache 2.0.x?

    (te lo comento por qué el tutorial está enfocado a Apache 1.3.x .. De todas formas .. dos mensajes arriba del tuyo tienes un comentario mio al respecto para instalar soporte PHP a Apache 2.0.x ..)

    En resumen ..simplemente si usas Apache 2.0.x .. no uses esa línea que hace referencia al mod_php4.c

    Un saludo,

    Responder
  66. Sapet

    Enhorabuena por realizar un articulo tan claro y eficiente. Me ha sido de mucha utilidad. Gracias.

    Responder
  67. Sebastian_Rohlf

    Mensaje Original por lisheng
    hola amigos… ya hice todo los anterior para instalar el php pero me sale error cuando abro el apache.. cuando estaba instalado el php cerre la ventana del apache que es como una ventana parecida a la del ms-Dos, pero cuando le doy en Ctrl+Alt+Supr me aparece el apache, dice: Apache.exe tengo windows xp haaaaa y otra cosa como puedo crear y en donde el archivo info.php… esque casi no entendi esa parte.. cuando escribo esto http://127.0.0.1/info.php en el IE me sale no se puede mostrar la pagina.. pero si le escribo http://127.0.0.1 ahi me dice que el apache esta instalado.. espero que me puedan responder lo mas rapido posible lishengc@hotmail.com

    Problema similar: Hasta ahora fracaso en poner en el navegador esto: http://127.0.0.1/info.php
    Me vota error y no me sale lo que en el manual indica… que puede haber pasado si segui paso a paso las indicaciones?

    Responder
  68. ferny

    Me parece que tu error es porque no has cambiado el documentroot correctamente. Pues escribiendo http://127.0.0.1 en principio el apache lo que hace es buscar un archivo index.algo y mostrarlo, y si te muestra que el apache ha sido instalado, es porque tu documentroot actualmente es el directorio htdocs del apache, pues fijate que dentro del citado directorio hay archivos index.algo cuyo contenido es precisamente indicar que el apache ha sido instalado.
    Por tanto: vuelve a editar tu httpd.conf y coloca bien el documentroot, apuntando hacia la carpeta donde vayas a meter la web.

    Aprovecho para decir que pronto se actualizará el manual a la última versión de Apache – PHP – phpMyAdmin

    Saludos :adios:

    Responder
  69. Sebastian_Rohlf

    Sigo con problemas…

    Ahora, pasando por alto lo anterior:

    Hasta ahora fracaso en poner en el navegador esto: http://127.0.0.1/info.php

    El problema que tengo es a la hora de instalar el MySQL (version 4.0.15 para win), ya baje el programa, pero durante el proceso de instalacion se me estanca y me bota del instaler sin llegar a esta etapa del manual de Ferny:

    Durante la instalación nos pide un nombre de usuario y contraseña, que posteriormente serán nuestros datos MySql.

    Cual nombre de usuario? NI siquiera llego a esa etapa! no lo veo pues me bota de la instalacion con este mensaje:

    InstallShield Engine ha detectado un problema y debe cerrarse

    Estoy haciendo la instalacion en un Win XP y ya he probado bajando de diferentes mirror el MySQL, pensando que quizas el archivo que baje inicialmente estaba corrupto…

    OJALA ME PUEDAN AYUDAR pues solo el MySQL me falta instalar! :’(

    Gracias

    Responder
  70. Sebastian_Rohlf

    Instale el phpMyAdmin 2.5.3 y luego al probar me sale el siguiente mensaje:

    Access Denied

    Welcome to phpMyAdmin 2.5.3

    phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection. You should check the host, username and password in config.inc.php and make sure that they correspond to the information given by the administrator of the MySQL server.

    Error

    MySQL said:

    #2003 – Can’t connect to MySQL server on ‘localhost’ (10061)

    No se el idioma ingles, por lo tanto… algun buen samaritano que me indique alguna ayuda en español?

    De lo poco que entiendo creo que me informa que el phpmyadmin no puede conectarse con MySQL Server, creo que me pide que chequee el host, el username y password en el config.inc.php y estar seguro que correspondan con la informacion brindada por el administrador del MySQL Server…
    … pero, digo yo, se supone que el administrador soy yo, y en el proceso de instalar el MySQL (leer mi post anterior al respecto) tuve serios problemas y creo que no ha sido correctamente instalado pues nunca pude llegar a la parte en la que debia crear un usuario y su password.

    Se los agradecere de todo corazon, pues ando desesperado, no es mi dia no me sale nada! No hay otra manera mas sencilla de poder instalar esto? hace un mes trate y fracase, otra vez veo que no me estan saliendo las cosas… jajaja creo que no me quedara otra que pedir que vengan a instalarlo a mi maquina por mi incapacidad…
    :no: :neurotico :’( :abajo:

    Responder
  71. Aisengard

    Mensaje Original por Unregistered
    Por lo visto hay algún problema con el nombre de usuario y el password. Revisa el fichero config.inc.php que se encuentra en el durectorio de phpmyadmin y comprueba que en las lineas:

    $cfg['Servers'][$i]['user'] = ‘usuario’; // MySQL user
    $cfg['Servers'][$i]['password'] = ‘contraseña’;

    hayas introducido los datos correctos de tu mysql

    Un saludo
    Eduardo

    Yo creo que su problema radica en la infeliz instalacion del MySQL, si ni siquiera ha podido crear el user y password!

    Solucion? volver a instalar solo el MySQL, a priori parece lo mas logico, pero tengo la duda de si es necesario eliminar totalmente lo que se llego a grabar del MySQL o simplemente es válido sobreescribir la instalacion anterior.

    Oye amigo suerte, ojala puedas salir de este rollo.
    :stress:

    Responder
  72. ferny

    El error de phpmyadmin es porque no has instalado mysql. Lo que has de hacer es instalar mysql…
    Mira si en tu carpeta windows hay un archivo my.ini, y si lo hay, eliminalo. Esto debes hacerlo para borrar los rastros que deje mysql.
    La última versión que, al menos a mi, no me ha dado ningún problema es la 3.23.56, pues las otras, aunque sí se instalan, no crean los usuarios y contraseñas :o jotes:

    Responder
  73. ArtKreativ

    Hola Ferny, te aviso que esa version que mencionas en tu manual de mysql (la 3.23.56) ya no esta, veo que hay hasta la 5.0 y la mas antigua es la 3.23.58

    Yo recien procedere a seguir las instrucciones de tu manual, pero no quiero pasar por lo problemas señalados por Sebastian, asi que antes de hacer algo mal, pregunto si es lo mismo instalar la version 3.23.58 que veo en la seccion de downloads de mysql.com o la version -que no veo- de la cual hablas (3.23.56)

    Saludos cordiales

    Responder
  74. Sebastian_Rohlf

    Aqui de vuelta. Parece que ya me fue mejor e instale de acuerdo al manual de Ferny, pero cuando voy al phpmyadmin (se ejecuta con exito)

    me sale el siguiente mensaje en letras rojas de advertencia seguro:

    La directiva $cfg['PmaAbsoluteUri'] ¡DEBE constar en el fichero de configuración!

    Su archivo de configuración contiene parámetros (root sin contraseña) que corresponden a la cuenta privilegiada predeterminada de MySQL. Su servidor de MySQL está usando estos valores, que constituyen una vulnerabilidad. Se le recomienda corregir esta brecha de seguridad.

    No entiendo… que paso? que significa eso de: “La directiva $cfg['PmaAbsoluteUri'] ¡DEBE constar en el fichero de configuración!”

    De que fichero esta hablando? por favor diganme que estoy alarmado!

    Responder
  75. Cluster

    El “fichero de configuración” .. es el config.inc.php de phpMyAdmin ..

    Lo que “alega” es que no tienes ahí indicado la ruta relativa (creo .. ahora estoy en la duda) hacia phpMyadmin ..

    Osease:
    http://localhost/phpmyadmin

    o donde lo tengas y accedas vía HTTP ..

    El caso que ese mensajito no es relevante pese que el que hizo la traducción se le pasó la mano (o si es relevante .. mm que me expliquen xD).

    Un saludo,

    Responder
  76. ferny

    Creo que se le olvidó hacer la configuración de phpMyAdmin que viene en el manual :si:
    Una vez hecha, eso debería desaparecer

    Por cierto, la versión 3.23.56 de MySQL es la última que, al menos a mi, no me ha dado problemas con crear el usuario y contraseña de MySQL, pues las versiones superiores no crean dicho usuario y contraseña automáticamente, y luego no funciona correctamente. Voy a tratar de averigura qué pasa y cuando sepa algo les comento.

    Responder
  77. Trac[0]

    Es una pasada de articulo, gracias a el he podido cofigurarlo todo a la perfección!!! :)

    Responder
  78. Unregistered

    quiero tener respuesta de las versiones de los sistemas operativos mas recientes

    Responder
  79. Paco

    excelente ayuda para cualquier usuario, muy explicativo, claro, pero no por ello menos avanzado

    Responder
  80. Victor Bonet

    Me gustaria felicitarles por el manual, y agradecerle la ayuda.

    Responder
  81. LaOstia

    Este tutorial esta muy bien.
    Se lo recomiendo a todo el mundo.
    Muchisimas gracias Cluster

    Responder
  82. ¬_¬

    Excelente Articulo, Muchas… Gracias.. me gustaria saber si tienes un articulo igual donde expliquen como instalar el modulo de SSL para apache.. y PHP… (ademas de como usarlo)

    Responder
  83. Cluster

    LaOstia .. sólo colaboré en el artículo. ferny es el autor original .. así que los créditos son 90% ferny 10%(o menos) Cluster por revisar y aportar sugerencias ..

    Un saludo,

    Responder
  84. cvander

    Se ha actualizado el artículo con muchos más contenidos y la adición de apache 2.0.

    Agradezco a ferny por compartir tan genial tutorial.

    Responder
  85. Unregistered

    Mi problma es el siguiente:
    Después de haber editado el php.ini y el httpd.conf, tal y como se explica en el manual, ejecuto Apache y me dice que hay un error en una linea que he modificado:

    # Example:
    # LoadModule foo module modules/mod foo.so
    #
    LoadModule php4 module c:/php/sapi/php4apache2.dll < - error!

    Fijándome en el ejemplo se me ha ocurrido poner una # delante de la línea que da problemas:

    #LoadModule php4 module c:/php/sapi/php4apache2.dll

    Con esta chorrada parece que se soluciona el problema pero entonces me da otro error en otra de las lineas modificadas:

    ClearModuleList
    AddModule mod php4.c < - error!
    #AddModule mod vhost alias.c

    De nuevo, comparando la linea con la de abajo, pongo # delante:

    #AddModule mod php4.c

    Después de hacer esto, el Apache se ejecuta correctamente (running…), pero es entonces cuando llega el problema gordo: No funciona PHP!! :’(
    He creado el info.php y lo he colocado en mi directorio virtual (por ejemplo “C:/miweb/”) pero al escribir “http://localhost/info.php” me aparece un mensaje de descarga de archivos y me pregunta si quiero guardar la página info.php; es decir: no funciona :’(

    Por favor, alguien me puede ayudar?

    Responder
  86. Unregistered

    Ya se por que funcionaba al poner #: son comentarios :S
    Aún así sigo con mi problema en estas lineas
    LoadModule php4_module c:/php/sapi/php4apache2.dll -> no puede cargar el dll y eso que está requetecomprobado que realmente existe ese archivo en esa carpeta
    AddModule mod_php4.c -> no se puede nombrar de esta manera

    os suplico ayuda
    Laru

    Responder
  87. ferny

    ¿Y estás instalando Apache 1.3.X o Apache 2.0.X? ¿Ya notaste que tienen un tratamiento distinto? Fijate que el manual se actualizó hace nada… no sea que estés trabajando con la versión “vieja”.

    Ah, y no hagas experimentos como los que hiciste… así es casi imposible que lo consigas.

    Responder
  88. 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

    Responder
  89. ferny

    Vale, pues no hagas la configuración de Apache 2.0.X si estás trabajando con un 1.3.X :-D

    Así de simple… lo que estás haciendo es la configuración para Apache 2.0.X y no la que corresponde a tu versión, revisalo.

    Responder
  90. Unregistered

    Ante todo gracias por responder y sineto ser tan pesado y/o inútil pero ¿que líneas tengo que escribir para la versión 1.3.x? Lo pregunto porque esa linea en concreto (donde tengo el error) es igual en ambas versiones de Apache (según el manual)

    Laru

    P.D: No hay alguna manera más rápida de comunicarnos? (por ej. IRC)

    Responder
  91. ferny

    En tu caso tienes que seguir los puntos 1.1 y el 2.3.1, y olvidarte del 1.2 y 2.3.2

    Y por cierto NO son iguales:

    - Apache 1.3.X
    LoadModule php4 module c:/php/sapi/php4apache.dll

    - Apache 2.0.X
    LoadModule php4 module c:/php/sapi/php4apache[size=24]2[/size].dll

    :-D :pensando: :-D

    Responder
  92. Unregistered

    YA ESTAAAAAAAAAA!!!! MUCHIIIIISIMAS GRACIAS :D DDDD
    Despés de mil intentos ya lo tengo instalado y… FUNCIONA!!!
    Me había confundido porque en el manual hay un minúsculo fallito
    pone que añadas esto
    LoadModule php4_module c:/php/sapi/php4apache.dll
    de forma que quede así
    # Example:
    # LoadModule foo_module modules/mod_foo.so
    #
    LoadModule php4_module c:/php/sapi/php4apache2.dll
    y yo en mi afán de hacerlo al pie de la letra hice el tipico copy/paste sin darme cuenta de que hay un 2 que no tiene q haber en LoadModule php4_module c:/php/sapi/php4apache2.dll
    Si modificais esto para futuros usuarios será un tutorial PERFECT!!!
    Gracias de nuevo :D
    Laru

    Responder
  93. ferny

    Cierto, no lo había visto pero hay un fallo… Ya reporté el error para que lo cambien (junto a un par de detallitos más… como que p. ej. ya salió phpmyadmin 2.5.4), espero que pronto esté corregido :adios:

    Responder
  94. Ing. Ruben Alzate Qu

    Muy buen articulo, lo recomiendo.

    Responder
  95. Erathio

    Es bastante bueno, todo al dedillo

    Responder
  96. William

    Muy bueno! Con seguridad le será util a muchos!

    William

    Responder
  97. oscar

    excelente para nosotros que estamos comemzando en el mundo de las php.

    muchas gracias en pensar en los demas

    Responder
  98. Veganet

    No inventen! Esta super genial este mini manual de instalacion de PHP, MySQL, phpmyadmin y Apache. No saben la ayudadota que me acaban de brindar en especial en aspectos de seguridad. Agradezco al autor por compartir sus experiencias. Gracias de NUEVO!

    Responder
  99. Bitancourt Norberto

    Muy bueno. lo único que a mí no me funciono instalar la versión apache 1.3x

    Responder
  100. Sergio

    ME ha ido de maravilla este manual. Pero tengo dos dudas:
    1era: Eso de las windows extensions, al final tenemos que quitas el punto y com a de delante o no?
    2a: EL monitor del apache no se porque solo me deja escoger entre Exit i Ok. No me da opcion de elegir Start Restart y todo eso. Alguna solucion?
    Gracias.

    Responder

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.



Acerca de

Maestros del Web nace cuando intentamos traducir Webmaster al Español. Nacimos orientados al diseño y desarrollo web. Hoy somos un espacio de apoyo para los entusiastas que participan en proyectos en la red.
Leer más de Maestros del Web