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: « 1 [2] 3 4 5 6 7 8 911 »

  1. Javi 24.10.2003 - 10:09 - #

    Miren otro error que nos ha pasado a Sergio y a mi ha sido que Hemos instalado el apache ultima version correcto) el php penultima version (es la del manual) y al llegar al mysql hemos bajao la 4.0.16 i cuando acabo de instalarse i arrancamos no nos pidio nada i el ordenador se reinicio, entonces probamoscon la 4.0.15 i lo mismo. Al final hemos pasado a la 3.23…. Que si ha funcionado, pero nos gustaria saber en que se diferencian la 3.23 i la 4.0.16, si son chorradas o son cosas utiles las mejoras.
    Gracias.

  2. ferny 24.10.2003 - 13:41 - #

    En esencia son muy similares, yo no les he visto ninguna diferencia significativa hasta ahora :pensando:

    De todas formas una cosa que hay que tener en cuenta: tras desinstalar un MySQL, hay que borrar el my.ini de la carpeta windows, que no se borra por defecto, ya que si no lo borras, al instalar otro MySQL pues detecta que ya hay creado un my.ini y al menos a mi no me hace correctamente la instalación

  3. sergio i javi 24.10.2003 - 14:05 - #

    A ver, si actualizamos el php i tenemos ke volver a configurarlo, se configura = que el del manual?
    Como solucionamos lo de instalar el 4.0.16 i ke al iniciar el sqladmin no nos reinicie el pc? a que se debe?
    El phpmyadmin i el apache e slo unico ke tenemos resiente.
    I saben algo de lo mencionado en el posdt de Sergio?

  4. ferny 24.10.2003 - 14:38 - #

    1era: Eso de las windows extensions, al final tenemos que quitas el punto y com a de delante o no?

    Yo creo que está bastante claro:
    ——————–
    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 deberíamos cambiar ;extension=php_gd2.dll por extension=php_gd2.dll
    ——————–
    Si quieres cargar una extensión concreta, quitale el ;

    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.

    De eso ni idea, pero… ¿de qué version estas hablando? ¿Con el Apache Manager para 1.3.X o de la 2.0.X?

    Si actualizas el php, sí tienes que volver a configurarlo según el manual, está todo en el punto 6.2 del manual.

    Lo que no entiendo es lo del reinicio del PC. Qué sucede… ¿que al darle al winmysqladmin.exe se os reinicia el PC? Entonces podría ser un error de vuestros sistema, algún driver mal instalado… yo que se. Pero probad a reinstalar desde cero, ya sabes, borrando lo anterior y el my.ini de c:\windows\ a ver qué pasa. Pero si os funciona la 3.23.X, yo la dejaría, no hay cambios importantes… a menos que querais tocar a ver por qué no funciona la versión superior.

    :adios:

  5. javi 24.10.2003 - 14:47 - #

    1ero Gracias por contestarnos.
    Eso del monitor del apache te hablamos de la version 2.0.47, pero no es problema porke lo ejecutamos con el exe i podemos prescindirdel monitor.
    Respecto a lo del winsqladmin, al instalar cualkiera de las versiones 4.0.x, al acabar de instalarlas, ejecutamos el exe, i se nos reiniciaba el pc, una vez iniciado lo volviamos a abrir ya no reiniciaba, pero iba muy lento, o sea le dabas a un boton i tardaba en acer la accion i el semaforo se kedaba rojo, tonses intentamos la version 3.23 i ahi al ejecutar el winsqladmin por primera vez, si nos pidio pass i usar, se puso verde, e iba rrapido, no lento como las 4.0.x.
    Por lo tanto pensamos que debe ser algo de las 4.0x ya que hemos formateado e reinstalado todo i sigue =, una cosa que en las 4.0.x nos pone dirver 3.51 not found pero no sabemos que es.
    Gracias por ayudarnos, esperamos solucionar lo del reinicio.

    PD: Siempre que hemos reinstalao, hemos borrado el my.ini, eso no es problem ;)

  6. omar 25.10.2003 - 13:15 - #

    todo muy bien pero la ultima parte no me funcionoo, para cambiar el usuario por defecto solo habre el “http:\\localhost/phpmyadim/index.php” y le doy clic en privilegios y habre “no se encontro la pagina” que hago?? gracias

  7. ferny 25.10.2003 - 13:34 - #

    ¿Has configurado bien el phpmyadmin, sobre todo la parte donde tienes que ponerle la URL? En tu caso, como en el manual, deberías ponerle esta URL en el config.inc.php

    http://localhost/phpmyadmin/

    Tal cual, con / al final y los http:// al inicio…

    Esto mismo me ocurrió hace unos días que actualicé my phpmyadmin, y era eso…

  8. Unregistered 25.10.2003 - 14:38 - #

    mmm bueno no tenia / al final pero ya se la puse y quedo:

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

    entro a: http://localhost/phpmadim/index.php y sale todo pero, le doy clic a privilegios y sale que no encuentra la pagina y en todas la opciones sale lo mismo

    mm ya le di restart al apache y nada.

    que pasara??

  9. ferny 26.10.2003 - 04:13 - #

    :-D

    Por ello hay que estar muy atento a lo que hacemos, al ser una instalación manual y no automática, podemos meter la pata en cualquier minima cosa y luego no funciona… :adios:

  10. ah 26.10.2003 - 15:30 - #

    Agradezco la información y los datos, las aplicaciones y los links. Mis respetos. Cuando pueda enviaré mis colaboraciones

  11. Gerardo 27.10.2003 - 13:16 - #

    Muy completo, quizas les falto un poco de configuracion de MYSQL de manera manual

  12. pirrilon 27.10.2003 - 15:14 - #

    Todo me ha ido de maravilla excepto cuando he llegado al paso de configurando los usuarios del servidor MySql y pongo en el navegador http://localhost/phpmyadmin/index.php me sale el siguiente mensaje:
    “Warning: Cannot modify header information - headers already sent by (output started at C:\miweb\phpmyadmin\config.inc.php:729) in C:\miweb\phpmyadmin\index.php on line 45″.Me gustaría que me dijerais que puedo hacer :( ya que hasta ese punto me ha funcionado todo de maravilla pero no he podido seguir.Venga,espero que me contestéis pronto.1saludo :-)

  13. ferny 27.10.2003 - 15:48 - #

    Posiblemente es que has configurado algo mal en tu config.inc.php
    Vuelve a revisarlo, o bien copianos todo el contenido hasta la linea 50 más o menos (en la 45 está el error, pero pon algo más por si acaso…)

  14. Artepop 27.10.2003 - 19:03 - #

    CONFIGURANDO APACHE 1.3

    CITO sobre el tutorial:

    Buscamos “Dynamic Shared Object (DSO) Support”, que es donde se cargan los módulos. Y encontramos hasta un ejemplo:

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

    Y añadimos debajo:

    LoadModule php4_module c:/php/sapi/php4apache.dll

    De tal manera que tiene que quedar asi:

    # Example:
    # LoadModule foo_module modules/mod_foo.so
    #
    LoadModule php4_module c:/php/sapi/php4apache2.dll

    _________

    Creo que los usuarios cometen aquí el fallo ya que dice:

    Añadimos:
    LoadModule php4_module c:/php/sapi/php4apache.dll

    Y muchos en vez de añadir estos, copia y pega la parte de:

    Tiene que quedar así:

    # Example:
    # LoadModule foo_module modules/mod_foo.so
    #
    LoadModule php4_module c:/php/sapi/php4apache2.dll

    Y ahí es donde se colo el 2 vean diferencia.

    Bueno, a mi me paso y no veas que calentadero de cabeza.

    Ya lo tengo todo instalado y configurado, como dice el tutorial al pie de la letra y todo sale correcto.

    Un Saludo

  15. Artepop 27.10.2003 - 19:08 - #

    Se me olvido… puse en anterior post

    Una pregunta Ferny o Gruster:

    Sobre la extensiones en un principio a todas le quite el ;
    al arrancar Apache me daba un error de que no encontraba algunas extensiones, salia unas ventanas de alerta sobre cada extension que no tiene y posteriormente Arranca y se puede ver el phpinfo() si problemas. Aunque mejor a todas le coloqué el ;

    La pregunta es; ¿Pueden poner la lista de extensiones del “php.ini” entera y con los ; quitados de aquellas extensiones que vengan en esta instalación?

    Gracias

  16. ferny 28.10.2003 - 03:13 - #

    Hola
    Hay algunas extensiones que te dan error porque faltan archivos que no vienen por defecto con la configuración inicial de PHP, necesitaría buscar las librerías para hacer funcionar esas extensiones.
    De todas formas suelen ser para cosas muy concretas y que quizá nunca uses, no te recomiendo activar mas que las que necesites… En principio sólo recomendaría activar la GD2 que es la que se usa para hacer imágenes con PHP, y las demás dejarlas off y primero informarte de qué necesitas antes de activarla.
    Lo siento, no me conozco cuáles vienen en la instalación por defecto :adios:

    P.D.: respecto al error que cita Artepop ya lo conocemos, salió unos mensajes más atrás. Está avisado para que lo cambien…

  17. Artepop 28.10.2003 - 03:46 - #

    Apache 1.3.28
    PHP 4.4.3
    MySQL 4.0.16

    Así esta bien, por lo menos a mí:

    code:

    extension=php_bz2.dll
    extension=php_cpdf.dll
    extension=php_crack.dll
    extension=php_curl.dll
    extension=php_db.dll
    extension=php_dba.dll
    extension=php_dbase.dll
    extension=php_dbx.dll
    extension=php_domxml.dll
    extension=php_exif.dll
    extension=php_fdf.dll
    extension=php_filepro.dll
    extension=php_gd2.dll
    extension=php_gettext.dll
    extension=php_hyperwave.dll
    extension=php_iconv.dll
    ;extension=php_ifx.dll
    extension=php_iisfunc.dll
    extension=php_imap.dll
    extension=php_interbase.dll
    extension=php_java.dll
    extension=php_ldap.dll
    extension=php_mbstring.dll
    ;extension=php_mcrypt.dll
    extension=php_mhash.dll
    extension=php_mime_magic.dll
    extension=php_ming.dll
    extension=php_mssql.dll
    extension=php_msql.dll
    ;extension=php_oci8.dll
    extension=php_openssl.dll
    ;extension=php_oracle.dll
    extension=php_pdf.dll
    extension=php_pgsql.dll
    extension=php_printer.dll
    extension=php_shmop.dll
    ;extension=php_snmp.dll “Esta si se activa da un mensaje que no entiendo, no de error”
    extension=php_sockets.dll
    ;extension=php_sybase_ct.dll
    extension=php_w32api.dll
    extension=php_xmlrpc.dll
    extension=php_xslt.dll
    extension=php_yaz.dll
    extension=php_zip.dll


  18. pirrilon 28.10.2003 - 06:42 - #

    Este es mi index.php hasta la línea 56,haber si me he equivocado en algo:
    < ?php
    /* $Id: index.php,v 1.54 2003/07/11 09:35:05 rabus Exp $ */
    // vim: expandtab sw=4 ts=4 sts=4:

    /**
    * Gets core libraries and defines some variables
    */
    require(’./libraries/grab_globals.lib.php’);
    require(’./libraries/common.lib.php’);

    // Gets the default font sizes
    PMA_setFontSizes();

    // Gets the host name
    // loic1 - 2001/25/11: use the new globals arrays defined with php 4.1+
    if (empty($HTTP_HOST)) {
    if (!empty($_ENV) && isset($_ENV['HTTP_HOST'])) {
    $HTTP_HOST = $_ENV['HTTP_HOST'];
    }
    else if (!empty($HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['HTTP_HOST'])) {
    $HTTP_HOST = $HTTP_ENV_VARS['HTTP_HOST'];
    }
    else if (@getenv(’HTTP_HOST’)) {
    $HTTP_HOST = getenv(’HTTP_HOST’);
    }
    else {
    $HTTP_HOST = ”;
    }
    }

    /**
    * Defines the frameset
    */
    // loic1: If left light mode -> urldecode the db name
    if (isset($lightm_db)) {
    // no longer urlencoded because of html entities in the db name
    // $db = urldecode($lightm_db);
    $db = $lightm_db;
    unset($lightm_db);
    }
    $url_query = PMA_generate_common_url(isset($db) ? $db : ”);

    header(’Content-Type: text/html; charset=’ . $GLOBALS['charset']);

    require(’./libraries/relation.lib.php’);
    $cfgRelation = PMA_getRelationsParam();

    if ($cfg['QueryHistoryDB'] && $cfgRelation['historywork']) {
    PMA_purgeHistory($cfg['Server']['user']);
    }

    $phpmain_hash = md5($cfg['PmaAbsoluteUri']);
    $phpmain_hash_js = time();
    ?>

    Y este el de config.inc.php hasta la linea 60:
    < ?php
    /* $Id: config.inc.php,v 1.198 2003/08/05 14:08:22 nijel Exp $ */
    // vim: expandtab sw=4 ts=4 sts=4:

    /**
    * phpMyAdmin Configuration File
    *
    * All directives are explained in Documentation.html
    */

    /**
    * Sets the php error reporting - Please do not change this line!
    */
    if (!isset($old_error_reporting)) {
    error_reporting(E_ALL);
    @ini_set(’display_errors’, ‘1′);
    }

    /**
    * Your phpMyAdmin url
    *
    * Complete the variable below with the full url ie
    * http://www.your_web.net/path_to_your_phpMyAdmin_directory/
    *
    * It must contain characters that are valid for a URL, and the path is
    * case sensitive on some Web servers, for example Unix-based servers.
    *
    * In most cases you can leave this variable empty, as the correct value
    * will be detected automatically. However, we recommend that you do
    * test to see that the auto-detection code works in your system. A good
    * test is to browse a table, then edit a row and save it. There will be
    * an error message if phpMyAdmin cannot auto-detect the correct value.
    *
    * If the auto-detection code does work properly, you can set to TRUE the
    * $cfg['PmaAbsoluteUri_DisableWarning'] variable below.
    */
    $cfg['PmaAbsoluteUri'] = ‘http://localhost/phpmyadmin/’;

    /**
    * Disable the default warning about $cfg['PmaAbsoluteUri'] not being set
    * You should use this if and ONLY if the PmaAbsoluteUri auto-detection
    * works perfectly.
    */
    $cfg['PmaAbsoluteUri_DisableWarning'] = FALSE;

    /**
    * Disable the default warning that is displayed on the DB Details Structure page if
    * any of the required Tables for the relationfeatures could not be found
    */
    $cfg['PmaNoRelation_DisableWarning'] = FALSE;

    /**
    * The ‘cookie’ auth_type uses blowfish algorithm to encrypt the password.
    * If at least one server configuration uses ‘cookie’ auth_type,
    * enter here a passphrase that will be used by blowfish.
    */
    $cfg['blowfish_secret'] = ‘urza’;

    Espero que sepáis donde está el error porque yo no puedo hasta ahora.Ayudarmeeeeeeeeee ;)

  19. josemi 28.10.2003 - 07:33 - #

    Hola,

    pirrilon, el error te dice que generaste salida en la linea 729 de config.inc.php. ¿Es esa la ultima linea de ese fichero?

    Para usar el header() no hay que generar ninguna salida. Y ninguna significa ninguna. Ni mensajes de error, ni HTML, ni espacios en blanco. Asegurate que los ultimos caracteres del config.inc.php son ?>. Sin espacios ni lineas en blanco detras. Si tu editor no te dice el numero de lineas reales, colocate a continuacion del > y dale al suprimir hasta que te asegures que no hay nada.

    Y si no es la ultima, pues deberias poner cual es. Y si hay algun mensaje de error delante del del header(), pues tambien.

    Saludos.

  20. pirrilon 28.10.2003 - 13:11 - #

    Por finnnnnnnnnnnn lo arreglé :)
    Josemi eres un crack,era eso lo que me fallaba.La línea 729 era la última y me he puesto detrás del > y he empezado a suprimir y ha suprimido 2 espacios en blanco que no se como se han podido colar.No sabes cuanto te lo agradezco compañero.No sabéis la importancia de la labor que hacéis de manera altruista.Bueno,seguiré con la instalación haber que tal me va.Espero no tener más problemas.Muchísimas gracias por todo.Hasta otra.1 saludo

  21. viktor 29.10.2003 - 09:30 - #

    a mi me resulto muy bueno, y de mucha ayuda. Gracias.

  22. Mario Borbalás Checa 29.10.2003 - 12:31 - #

    Gracias por vuetro tiempo, este articulo es de gran utilidad

  23. Unregistered 29.10.2003 - 17:15 - #

    No puedo iniciar el apache a que puede ser debido, al clickar el icono que sale a la izquierda del reloj suelo puedo dar a ok o exit
    y porsupuesto no puedo ver info.php

  24. ferny 30.10.2003 - 03:38 - #

    Puede que estés instalando una versión y configurando otra… no se, revisa bien los apartados correspondientes a tu versión. Supongo que instalas la versión 2.0.X pues haz los pasos de instalación u de configuración del httpd.conf de la 2.0.X y te olvidas de la 1.3.X
    No se por qué, pero esto está dando muchos problemas a pesar que está claro en el manual… :pensando:

    De todas formas estoy pensando que es posible que no tengas apache como servicio y por ello el Apache Monitor no te funciona. ¿Qué windows usas? En todo caso, dos páginas más atras se presentó el mismo problema, y lo solucionaron arrancando el apache de forma manual haciendo doble click en el apache.exe (o bien creandose un acceso directo a dicho archivo)

  25. Unregistered 30.10.2003 - 09:36 - #

    tengo el apache 2.047 y he seguido sus pasos, como muestra la pagina. MI sistema operativo es el Windows Me, sobre lo de sergio dos hojas para atras ya lo vi pero tampoco me funciona dandole al apache.exe se me pone uan patalla de ms-dos en negro sin realizar ningun cambio y tengo que cerrarla. puede ser que no sea compatible con windows Me.

    Espero vuestra respuesta gracias.

  26. Unregistered 30.10.2003 - 09:38 - #

    apche 2.047
    php 4.3.3
    windows Me

  27. josemi 30.10.2003 - 10:20 - #

    Hola,

    NO cierres la ventana MSDOS, es el servidor ejecutandose. Mientras este abierta, estara ejecutandose el Apache. Con la ventana MSDOS abierta, abre el navegador y pon http://localhost . Y si esta Apache bien configurado, te mostrara la pantalla de bienvenida.

    Saludos.

  28. Unregistered 30.10.2003 - 11:25 - #

    creo que hay modificaciones y que ya lo tengo dominado!!!

    pero cuando pongo http://127.0.0.1/info.php

    me sale esto

    < ? phpinfo(); ?>

    que puedes ser

  29. Artepop 30.10.2003 - 13:13 - #

    Si ya instalaste el PHP tienes que colocar en la carpeta del servidor, la que definiste en el httpd.config, para correr las páginas, por ejemplo yo en mi caso: C:\Apache\www\ osea la coloco en la carpeta www,

    Bloc de notas, escribes:

    < ?
    phpinfo();
    ?>

    guardar como: info.php

    en la carpeta servidor

    escribes en el navegador:
    http://localhost/php.info o http://127.0.0.1/php.info

    Y si te sale una página con el logo de PHP e información es que esta bien, sino algo fallo.

  30. ferny 30.10.2003 - 14:01 - #

    Haz lo que te dice Artepop, pero primero instala y configura el PHP correctamente. En la ventana de ms-dos te debe salir si el php 4.3.3 está activo (sale algo) o no (no sale nada)

  31. josemi 30.10.2003 - 15:49 - #

    Y a ver si nos acostumbramos a usar < ?php ?>. Creo que es mas correcto que < ? ?>

    Saludos.

  32. Unregistered 31.10.2003 - 11:49 - #

    no veo en la pantalla msdos nada pero puedo ver la pantalla de informacion de php asi que supongo que ya va bien la cosa.

    Gracias amigos.

  33. Unregistered 31.10.2003 - 12:36 - #

    jejejeje

    Soy el mismo me surge una preguntilla tengo el apache 2.0 y supustamente tendira que funcionar el monitor de apache pero no es así y tengo que arrancarlo desde msdos, cabe la posiblidad de utilizar el:

    Apache Manager para Apache 1.3.X - Web oficial

    con la version 2.0 para agilizar el tema??

    Gracias

  34. ferny 31.10.2003 - 12:48 - #

    No se si funcionará, pero prueba. En todo caso, puedes crearte un acceso directo al apache.exe y te lo pones en el escritorio o donde quieras…

  35. Unregistered 31.10.2003 - 13:54 - #

    Ferny una cosilla mas, influye que la versión del mysql 3.23 y no el 4.0, afecta mucho?

    Gracias

  36. Unregistered 31.10.2003 - 14:27 - #

    No, la instalación es igual en la 3.23.X y la 4.0.X

  37. Artepop 31.10.2003 - 14:53 - #

    Creación de un grupo para tener todo los servicios del servidor en una carpeta.

    Para Apache 1.3 en WINDOWS XP HOME.

    Accesos directos - Nombre y localización:

    Start Apache in Console o Apache.exe Para arrancar el Apache, MSDOS.
    Localizado en: C:\Archivos de programa\Apache Group\Apache\Apache.exe

    WinMySQLadmin Para iniciar MySQL. Nota: este acceso directo por defecto se coloca en: Inicio - Todos los programas - Inicio. Y se arranca automáticamente cuando enciendes el ordenador, lo quité de ahí, para que no arranque sólo, sino cuando yo quiera.
    Localizado en: C:\php\mysql\bin\winmysqladmin.exe

    QK SMTP Server Para iniciar el programa de correo SMTP, saliente.
    Localizado, en caso de haberlo instalado, en: C:\Archivos de programa\QK SMTP Server\smtpserver.exe

    apmgr.exe Para arrancar, apagar y restaurar el Apache, desde un icono junto al reloj, sin ventana de MSDOS.
    Localizado, en el caso de haberlo instalado y puesto en su debida carpeta, en: C:\Archivos de programa\Apache Group\Apache\apmgr.exe

    Creamos el grupo - Entramos en C:\Documents and Setting\nuestra_carpeta_de_usuario\Menú Inicio\Programas\

    Y dentro de esta última carpeta, Programas, creamos otra, por ejemplo: Arranque Servidor, y dentro de esta colocamos:

    Apache.exe
    winmysqladmin.exe
    smtpserver.exe
    apmgr.exe

    Y ahí está todo, si entras en el Menú Inicio - Todos los programas - Arranque Servidor, ahi tendrás estos programas todos juntos.

    :adios: Un Saludo y que les sea útil.

  38. Unregistered 01.11.2003 - 09:20 - #

    muy bueno, el mejor k hay por la red

  39. Unregistered 01.11.2003 - 10:46 - #

    ferny, tengo un problema ahora despues de borrar el root y poner el usuairo Pepe con la contraseña hola, la custione es que el semaforo se me pone en rojo cuando inicio el ordenador y cuando le doy al apache y luego al mysql el semaforo no cambia de color, cuando lo instale y antes de quitar el root predeterminado estaba en verde, que puede ser?

  40. Unregistered 01.11.2003 - 10:49 - #

    La cuestion es que una vez inicidado el apache y poner en el explorador

    http://localhost/phpmyadmin/index.php?lang=es-iso-8859-1&server=1

    me aparece el usuario pepe una vez insertada la contraseña, sin iniciar el sql, no entiendo nada, me puedes aclararlo, puede que se porque no tengo ni p… idea, pero bueno todos empezamos de cero no??

  41. Artepop 01.11.2003 - 16:26 - #

    Después de eliminar el usuario root y crear el nuevo usuario con contraseña, en el panel de administración de phpMyAdmin debes ir a:

    C:\Apache\www\phpmyadmin\
    o la ruta donde colocaste \phpmyadmin\

    y localizas en archivo “config.inc.php” lo abres con un editor de texto para editarlo.

    Buscas las lineas:

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

    En la primera linea puedes poner “config” para que no te pida contraseña al entrar o si quieres que te la pida pones “http” para autentificación HTTP o “cookie” para autentificación y navegación con cookies. Esta última, cookie, es la más recomendada.

    En la segunda linea pones el nombre de usuario que creaste.

    Por último en la tercera linea colocas la contraseña creada.

    De tal forma que quede:

    $cfg['Servers'][$i]['auth_type'] = ‘cookie’;
    $cfg['Servers'][$i]['user'] = ‘usuario’;
    $cfg['Servers'][$i]['password'] = ‘clave’;

    Cierras y guarda, luego arrancas el Apache y MySQL…

  42. carlos 01.11.2003 - 22:27 - #

    muy bueno este articulo

  43. Unregistered 02.11.2003 - 10:03 - #

    Despues de instalar y configurar todo inicio el apache y el winmysqladmin el semaforo se me pone en rojo, pero parece que todo funciona bien, cual puede ser la causa?? Alguién me puede responder??

    Gracias

  44. Unregistered 03.11.2003 - 15:43 - #

    ferny, me pudes decir como se hace una conexion con la tabla creado en phpmyadmin tengo una tabla llamada prueba dentro de bases de datos mysql llamada prueba y pongo esto;

    < ?php
    function Conectarse()
    {
    if (!($link=mysql_connect(”localhost”,”Pepe”,”hola”)))
    {
    echo “Error conectando a la base de datos.”;
    exit();
    }
    if (!mysql_select_db(”base_datos”,$link))
    {
    echo “Error seleccionando la base de datos.”;
    exit();
    }
    return $link;
    }
    ?>

    y me da erro selecionando la base de datos, donde esta el graso error amigo??

    Gracias

  45. ferny 03.11.2003 - 16:11 - #

    [php]< ?php
    function Conectarse() {
    $link=mysql_connect(”localhost”,”Pepe”,”hola”) or die (”Error conectando a la base de datos: “.mysql_error());
    mysql_select_db(”base_datos”,$link) or die (”Error seleccionando la base de datos: “.mysql_error());
    return $link;
    }
    ?>[/php]
    Creo que sería así, espero no haber tirado ningún error tipográfico por ahí… :adios:

  46. ferny 04.11.2003 - 05:09 - #

    [SIZE=5]NUEVO PHP 4.3.4[/SIZE]

    Ha salido una nueva versión de PHP que corrige bastantes bugs de la 4.3.3
    Aquí teneis el link de descarga:

    http://www.php.net/get/php-4.3.4-Win32.zip/from/a/mirror

    La instalación es identica que en el manual. Recordad leer el apartado sobre actualizar php si ya teniais php 4.3.3 instalado.

    Saludos :adios:

  47. andinistas 04.11.2003 - 11:38 - #

    seria bueno incorporar el tutorial para instalar el apache en mandrake 9.x y red hat 9

    saludos

  48. Facundo 05.11.2003 - 09:44 - #

    muy buen tutorial, aunque hubiera estado copado, poner directamente los links de descarga… :*(

  49. Unregistered 08.11.2003 - 06:06 - #

    Perfecto.

  50. freddy 08.11.2003 - 18:24 - #

    los felicitos

  51. Cluster 09.11.2003 - 01:53 - #

    Sobre lo que han comentado de los links de descargar directos .. Tengan presente que cada poco tiempo por lo menos PHP saca una nueva versión .. lo mismo hace Mysql o Apache .. así que mejor como diría el refran “enseñale a pescar y no le des el pescado” … Por eso se dicen “donde están” y no el link directo.

    Un saludo,

    PD: .. A la persona que preguntó sobre cierto código de menú desplegable .. Le recuedo que está en “Forosdelweb.com” .. con infinidad de foros temáticos (incluido uno especifico de PHP ) así que quedan invitados a preguntar en el foro correspondiente.

  52. gaseoducto 12.11.2003 - 12:51 - #

    Hola Cluster! gracias por el manual, es realmente fácil de seguir…pero ahora que lo tengo todo instalado tengo un problema al tratar de arrancar el apache…me da el siguiente error:
    syntax error on line 177 of c:/archivos de programa/apache group/apache/conf/httpd.conf:
    cannot load c:/php/sapi/php4apache.dll into server: (31) Uno de los dispositivos vinculados al sistema no funciona

    He seguido todos los pasos al pie de la letra y tengo las versiones que aconsejas…he copiado los archivos dll en windows/system, he probado a hacerlo también en windows/system32 e incluso en la misma carpeta en la que se encuentra php.exe como aconsejaban las instrucciones que vienen con el php, pero nada de todo esto funciona, sigue saliendo el mismo error…
    Qué puedo hacer?

  53. gaseoducto 12.11.2003 - 19:30 - #

    por cierto! además de felicitar a Ferny y no sólo a Cluster jejeje…ya he revisado todas las cuestiones tratadas en este foro sobre el artículo…mi problema ha salido un par de veces, pero lo curioso es que yo he seguido las instrucciones de la versión 1.3 (que es la que tengo) al pie de la letra y sigue sin funcionar…
    lo tengo así:

    # Example:
    # LoadModule foo_module modules/mod_foo.so
    #
    LoadModule php4_module c:/php/sapi/php4apache.dll

    y así:

    ClearModuleList
    AddModule mod_php4.c
    #AddModule mod_vhost_alias.c

    o sea que no es el problema del 2. qué puede ser? :(

  54. Thunderstand 14.11.2003 - 09:51 - #

    ANTES DE NADA FELICITAR POR EL ARTICULO!!!

    Os cuento mi problema antes de nada, mi sistema operativo es Windows Me , apche 2.0.47
    php 4.3.3

    Os relato mi probelma:

    Inicio el apache y acontinuación winmysqladmin, al pulsar el winmysqladmin se me habre la pantalla donde se me pone el semaforo en Rojo, es normal?? No lo creo, que sea normal pues una vez ejecutados los citados lo me funciona bien se me bloquea el ordenador, me da error y en ocaciones sem e reinicia y en mi opinion es por algo de eso pues estos sintomas no me ocurren nunca cuando no ejecuto los servidores??

    Por favor respondenme si a alguno le sucede o le secedio lo mismo, muchas gracias de antemano.

  55. npn 17.11.2003 - 10:41 - #

    Muchisimas gracias, un articulo realmente bueno. Un Saludo, Néstor

  56. JULIAN RAMIREZ 17.11.2003 - 15:25 - #

    MUy bueno, muchas gracias, nunca pense encontrar tan facil , la configuracion de “el trio de la web”, muchisimas gracias nuevamente, que bueno que el conocimiento se comparta, por favor si puyedo ayudar en algo,modestamente estoy dispuesto a hacerlo, mi correo es el siguiente hipogea@hotmail.com, escribo desde Peru. Gracias otra vez

  57. ALEX LA TORRE 18.11.2003 - 04:17 - #

    eSTE ES UN GRAN TUTOR SUMAMENTE PRECISO Y FACIL DE USAR, ES PARA PATAS DE CUALQUIER NIVEL, SUERTE EN SUS INSTALACIONES, A POR CIERTO MI MAILES tuamigoalex@hotmail.com para cualquier indformacion o hacer AMIGAS en especial,jajajjajaja…….bye

  58. juan 18.11.2003 - 19:23 - #

    me parece excelente, si continuna y esposible presentar algo sobre bases de datos en mysql

  59. Artepop 19.11.2003 - 05:10 - #

    Ojo: Thunderstand

    Sobre lo que se te reinicia el ordenador, no tengo noticias de que un mal funcionamiento de Apache lo reinicie. Por lo que la causa podría ser un virus tipo gusano, que ataca al servidor.

    Al arrancar Apache podría activar este gusano.

    Prueba:

    1. Entras en el Panel de control de Windows y buscas Conexiónes de Red, selecciona Propiedades > Avanzadas, y ahí selecciona la casilla “Proteger ni equipo y mi red limitando o impidiendo el acceso a el desde Internet”

    2. Abrir el administrador de tareas de windows (ALT+CONTROL+SUPRIMIR) y seleccionar las pestaña “Procesos”. En la lista que aparece, seleccionar el proceso MSBLAST.EXE y pulsar el botón “Terminar proceso”. Comprobar que se ha finalizado ese proceso (cerrando el administrador de tareas, volviéndolo a abrir y comprobar que no aparece en la lista). Cerrar el administrador de tareas.

    4. Reinicia el sistema.

    3. Entras en C:\WINDOWS\system32\ y busca el archivo msblast.exe y eliminalo.

    4. Prueba Apache…

  60. Janofer 19.11.2003 - 09:57 - #

    Muy buen tuto!!

    Gracias por el tremendo aporte.

  61. Christian del Hoyo 20.11.2003 - 14:36 - #

    Es muy bueno el material que presentan en esta pagina, sobre todo para gente que no maneja de gran manera estos poderosos servidores y servicio de internet.

    Muchas gracias,

  62. JKF 23.11.2003 - 14:48 - #

    Genial, fantástico, muy detallado, extenso, claro. Graciassss. No sabía como empezar con PHP y.. AHORA YA SE, jejeje. Un muy buen trabajo. Os visitaré con frecuencia. Enhorabuena y muchísimas gracias, seguid así!!!

  63. Unregistered 26.11.2003 - 11:47 - #

    Hola a todos:
    Ya se que este no es un foro de programación pero tengo un problema con PHP y no se si tendrá que ver con la configuración…
    Tengo un textbox (tb1) y un submit dentro de un formulario con método post, todo ello en una página HTML. Escribo algo en tb1 y lo envío a una página PHP que tiene este codigo: < %php echo "$tb1";%> No me escribe nada cuando tendría que escribir lo que yo he metido en el text. Ya he repasado las configuraciones del PHP.ini y el httpd.conf pero no he encontrado nada que parezca estar mal… ¿Alguna idea? ¿Puede ser algún error en la configuración? Espero vuestra ayuda, gracias ;)

    Un saludo

    Whoracle

  64. Cluster 26.11.2003 - 12:16 - #

    Hola a todos:
    Ya se que este no es un foro de programación pero tengo un problema con PHP y no se si tendrá que ver con la configuración…
    Tengo un textbox (tb1) y un submit dentro de un formulario con método post, todo ello en una página HTML. Escribo algo en tb1 y lo envío a una página PHP que tiene este codigo: < %php echo "$tb1";%> No me escribe nada cuando tendría que escribir lo que yo he metido en el text. Ya he repasado las configuraciones del PHP.ini y el httpd.conf pero no he encontrado nada que parezca estar mal… ¿Alguna idea? ¿Puede ser algún error en la configuración? Espero vuestra ayuda, gracias ;)

    Un saludo

    Whoracle

    Maestrosdelweb.com tiene sus foros: http://www.forosdelweb.com con foros temáticos sobre programación .. entre ellos uno exclusivo al lenguaje PHP .. puedes realizar tus preguntas allá.

    Mensaje Original por juan
    me parece excelente, si continuna y esposible presentar algo sobre bases de datos en mysql

    mm bueno el manual es de instalación del trio PHP+Apache+Mysql .. habría que hacer otra série de tutoriales sobre configuración al detalle de todos estos. No sé si eso es a lo que te referias?

    Un saludo,

  65. Unregistered 26.11.2003 - 15:48 - #

    El problema es que no es un problema de programación porque sé que es así y además me lo ha confirmado un amigo que sabe programar PHP pero también a el le extraña que no me escriba nada porque ESTÁ BIEN. Por eso creo que debe ser cosa de la configuración :S
    Un saludo
    Whoracle

  66. ProMas 27.11.2003 - 08:48 - #

    Me parece una muy buena guia. sencilla, rapida y clara.
    Va directamente a donde se necesita.

    Gracias, me ha ayudado mucho.

  67. asafiel 27.11.2003 - 09:49 - #

    este es uno tutorial Excelente que me saco de muchas dudas gracias por todo adios .

    att. asafiel
    nota: megustaria que me mandaran mas tip

  68. don_pepino 01.12.2003 - 00:57 - #

    aun tengo problemas con la configuracion del apache

  69. MAhony 01.12.2003 - 09:11 - #

    muy util para empezar

  70. Tayron 01.12.2003 - 11:42 - #

    hola mi nombre es tayron y soy ingeniero en computación aca en nicaragua, quiero felictar al autor de este artículo ya que gracias a el pase de ser un completo ignorante del desarrollo web con apache, php y mysql a tener una base sencilla pero muy solida sobre el windows de microsoft.

  71. Sebas 03.12.2003 - 20:17 - #

    Fue el único tutorial que verdaderamente me ayudo a instalar Apache, PHP-4, MySql y phpMyAdmin de forma verdaderamente correcta. Además de explicar los pasos se muestra el ¿porque? de las cosas. Exelente.

  72. tripbass 05.12.2003 - 22:49 - #

    hola, que pasa si yo tengo todo esto funcionando, y necesito apagar el pc, que pasa con la ip y la direccion web? mi ip es dinamica de entel will, helpme.
    tambien quiero montar un servidor shoutcast (que tb funciona)pero al apagar el equipo la ip se arranca de la url

  73. Edgar 09.12.2003 - 01:46 - #

    Hola … seguí todos los pasos, tuve algunos problemas con APACHE … pero ahora todo jala perfectamente … los felicito !!!

  74. Raul 11.12.2003 - 12:53 - #

    es un articulo muy bueno, facil de entender.
    Saludos desde mexico

  75. Unregistered 11.12.2003 - 22:15 - #

    Hola, he utilizado vuestro tutorial para instalar mysql y phpmyadmin, pues ya tenía el Apache. Todo iba bien hasta que quise arrancar phpmyadmin. En http://localhost/phpmyadmin/index.php me da estos errores:

    Warning: MySQL: Unable to save result set in d:\misitio\phpmyadmin\libraries\mysql_wrappers.lib.php on line 105

    Warning: Cannot add header information - headers already sent by (output started at d:\misitio\phpmyadmin\libraries\mysql_wrappers.lib.php:105) in d:\misitio\phpmyadmin\index.php on line 44

    y la pantalla en blanco.

    En http://localhost/phpmyadmin/main.php me da

    Warning: MySQL: Unable to save result set in d:\misitio\phpmyadmin\libraries\mysql_wrappers.lib.php on line 105

    Warning: Cannot add header information - headers already sent by (output started at d:\misitio\phpmyadmin\libraries\mysql_wrappers.lib.php:105) in d:\misitio\phpmyadmin\main.php on line 25

    Warning: Cannot add header information - headers already sent by (output started at d:\misitio\phpmyadmin\libraries\mysql_wrappers.lib.php:105) in d:\misitio\phpmyadmin\libraries\ob.lib.php on line 65

    …..etc….(otros avisos similares), pero, curiosamente, debajo presenta la pantalla normal de phpmyadmin, sin marcos.
    Estas opciones parecen funcionar, pero siempre aparecen los avisos de error.

    * He buscado en la Documentación
    * He mirado la dichosa línea 105 y no veo nada raro.
    * He buscado durante tres días por Internet y no he encontrado una solución.
    * He repasado los comentarios al tutorial y nada.

    ¿Podéis ayudarme?

    Tengo Apache 1.3.22, PHP 4.2.3, MySQL 3.23.52 y phpMyAdmin 2.5.4

    Gracias de antemano.

  76. Jose 12.12.2003 - 12:10 - #

    Hola:

    Soy el autor del mensaje anterior sobre phpmyadmin. Sorry, olvidé identificarme.
    Soy amateur y estoy empezando con php y mysql para mejorar mi página http://www.poraqui.net/

    Espero que podáis ayudarme con el problema. Gracias.

  77. Verdeza 13.12.2003 - 17:38 - #

    Yo recomiento bajar de http://www.apachefriends.org hay tienes dos programas el wampp y el lampp dependiendo de windows o linux respectivamente, donde va incluido muchos paquetes web apache, mysql, phpmyadmin, php, etc…

  78. Jose 15.12.2003 - 17:41 - #

    Gracias, Verdeza. Probé a instalar minixampp para W32 y me daba un error el Apache,creo. Así que lo borré, desinstalé todo lo antiguo y empecé de nuevo con las últimas vesiones (Apache 1.3.29 y PHP 4.3.4).
    Ahora casi todo funciona bien, salvo el servidor que no encuentra un archivo:
    Después de la fecha y la hora en formato Unix, pone [warn] (2) No such file or directory: exec() may not be safe.
    No me preocupa mucho porque sólo voy a usarlo en monopuesto y para probar scripts para mi página, pero si alguien tiene idea de cómo solucionarlo, le agradecería que me lo dijera.

    Sobre el error de “Unable to save result…” en un manual antiguo de PHP he encontrado una referencia y dice:
    Most likely what has happened is, PHP 4 was compiled with the ‘–with-mysql’ option, without specifying the path to MySQL. This means PHP is using its built-in MySQL client library. If your system is running applications, such as PHP 3 as a concurrent Apache module, or auth-mysql, that use other versions of MySQL clients, then there is a conflict between the two differing versions of those clients.

    Recompiling PHP 4, and adding the path to MySQL to the flag, ‘–with-mysql=/your/path/to/mysql’ usually solves the problem.

    Supongo que se referirá a la versión para Unix/Linux y de todos modos mis conocimientos no llegan a ese nivel de profundidad, ni mucho menos. De todas formas, a los más expertos os puede servir de orientación, supongo.

    Un saludo y gracias por la ayuda.

    Jose

  79. cspinola 17.12.2003 - 10:28 - #

    Me pareció excelente pude realizar todas las instalaciones y configuraciones.

  80. alex 18.12.2003 - 15:01 - #

    muy bueno 5.5

  81. Unregistered 21.12.2003 - 15:16 - #

    Lo que se necesita

  82. Figo28 22.12.2003 - 16:24 - #

    Figo y Tanya

  83. Figo28 22.12.2003 - 16:26 - #

    Chido FIGO10 CHIVAS!!!!!

  84. Figo28 22.12.2003 - 16:50 - #

    alguien que me pase el httpd.conf ya cargado…con php

  85. Andres 23.12.2003 - 09:44 - #

    EXCELENTE ARTICULO

  86. Unregistered 27.12.2003 - 02:27 - #

    Hola… mi nombre es Julián…
    Tengo un problema y es que no se de dónde descargar el instalador del MySQL, entro en la página y me muestran muchos ficheros .zip para descargar… no se cómo bajarmelo… alguien me puede ayudar??

  87. ferny 27.12.2003 - 05:02 - #

    Hola Julian
    Te sirven estos dos:
    - MySQL 4.0.17, 22.8 MB, con instalador:
    http://www.mysql.com/get/Downloads/MySQL-4.0/mysql-4.0.17-win.zip/from/pick
    - MySQL 4.0.17, 19.9 MB, sin instalador (viene en un ZIP para descomprimir y listo).
    http://www.mysql.com/get/Downloads/MySQL-4.0/mysql-4.0.17-win-noinstall.zip/from/pick
    Ojalá te sirva.
    Felices fiestas

  88. Luis Noel 27.12.2003 - 22:46 - #

    Realmente muy bueno, sería sensacional que agregaran los datos para usar el abyss webserver (muy bueno también)

  89. Unregistered 30.12.2003 - 20:48 - #

    Tengo un problema, a la hora q creo un script php lo guardo y lo veo en la carpeta donde corresponde guardarlo, me sale solo como un archivo de texto y no como un archivo con extension *.php

  90. Unregistered 04.01.2004 - 22:24 - #

    Fué muy útil!

  91. BuJitA 06.01.2004 - 01:23 - #

    Super bien explicado! :) ahora si puedo ir a domir tranquila, tengo todo instalado y todo FUNCIONA! :)

  92. Edward 06.01.2004 - 12:54 - #

    Esta perfecto

  93. Unregistered 06.01.2004 - 19:26 - #

    Esta muy bueno el tutorias, pero tengo un problema… yo programe un sitio web en asp, y aun no lo puedo probar ya que para empezar no conozco un buen servidor para alojarla cuando termine… Personal Web Server no ayuda en nada ya que tengo Windows XP Home… si es posible instalarlo pero cuesta mucho trabajo… y por eso les queria preguntar si es posible instalar un “modulo” para soporte ASP en apache..

    Les Agradeceria que me respondieran….
    Miguel

    PD: ¿saben de algun server que soporte ASP, Y bases de datos access… gratis y con ftp???

  94. Cluster 08.01.2004 - 08:37 - #

    El módulo para soporte de ASP en Apache le llaman (llamaban creo .. ahora compró a esa empres SUN si mal no recuerdo): ChiliSoft (y es de pago). También hay un “simulador” de ASP en Perl (no recuerdo el nombre, pero eso implicaria a su vez tener Perl instalado en Apache y el rendimiento bajaría considerablemente). Pero .. desde luego que lo mejor para ASP es IIS o de su familar . .pero no Apache. Apache convive muy bien con PHP, Perl, CGI’s en general .. menos con ASP ¬¬.

    Un saludo,

  95. Unregistered 08.01.2004 - 10:27 -