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.

Otros artículos relacionados

Califica esta nota:

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (40 votos, promedio: 4.65 de 5)
Loading ... Loading ...

Comentarios

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

  1. ferny

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

    Un saludo :adios:


  2. LuiGerdo

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


  3. Alejandra Lobato

    ola que tal, saludos!

    Tengo un problema al instalar MySql 4.0

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

    dice ;

    MyODBC

    Not Found

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

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

    Espero alguien me pueda ayudar

    Saludos!


  4. ralfaro

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

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

    Un saludo,

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

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


  5. Ricko

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

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


  6. pelotero

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

    < ?
    phpinfo();
    ?>

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

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

    \n”;
    echo “

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

    \n”;
    }
    echo “

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

    \n”;
    ?>

    y me sale el siguiente error:

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

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

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

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


  7. ferny

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

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

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

    :adios:


  8. pelotero

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


  9. pelotero

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


  10. turminator

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

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

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

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

    Que es lo que he echo mal?

    Saludos y siento ser tan pesado.


  11. ferny

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

    A continuación vamos a indicar a PHP dónde se guardan las extensiones. Dentro del php.ini buscamos extension_dir y le ponemos la carpeta que contiene los archivos php_xxx.dll, que por defecto es la carpeta ext dentro de PHP. IMPORTANTE: durante toda la configuración de directorios, debes utilizar esta barra “/” y no esta “\”, además de ponerlo entre comillas. O sea, que debe quedar así:

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


  12. No Registrado

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

    pd: viva colombia!


  13. No Registrado

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


  14. ferny

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

    :adios:


  15. No Registrado

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


  16. ferny

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

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

    :adios:


  17. No Registrado

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

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

    alguna sugerencia?


  18. ferny

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

    Yo me decantaría por eso :si:


  19. No Registrado

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


  20. No Registrado

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

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


  21. Amedio

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

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


  22. Amedio

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


  23. ferny

    Hola Amedio

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

    O sea, que quede así:

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

    A ver si es eso :adios:


  24. Amedio

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


  25. ferny

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

    :adios:


  26. any

    Para Apache 1.3.X sólo tenemos que arrancar el apache.exe de la carpeta del Apache para iniciar el servidor, con lo cual nos sale una ventanita de MS-Dos donde nos indicará que está activo (running) o no. Basta cerrar la ventanita de MS-Dos para desactivar el Apache.

    estoy desorientado.. cuando abre el MS_Dos dice

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

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


  27. Xixo_14

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

    ¿eso de ke es?


  28. ferny

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

    ¿eso de ke es?

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

    :adios:


  29. viska

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

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

    Aver si podeis ayudarme… :’(


  30. ferny

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

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

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

    :adios:


  31. ERIKXO

    necesito tu ayuda

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

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


  32. alaynsync

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

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

    Bienvenido a phpMyAdmin 2.8.0-rc2

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

    Error
    MySQL ha dicho:

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

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

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

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

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

    Atentamente.

    Yo.


  33. ferny

    Hola

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

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

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

    Un saludo


  34. ferny

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

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

    :adios:


  35. alaynsync

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


  36. alaynsync

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

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

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

    Gracias.


  37. No Registrado

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

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

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

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

    estoy usando apache 2.0.39
    y usando php4.3.4

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

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


  38. No Registrado

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


  39. ferny

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

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

    :adios:


  40. TolaWare

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


  41. Montys2

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

    Gracias por adelantado….

    Si lo que no me pase a mi

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


  42. Montys2

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

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

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

    Gracias.

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

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


  43. ferny

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

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

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

    :adios:


  44. Montys2

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

    Gracias…


  45. El_mayk

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

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

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

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

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

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

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

    De antemano, gracias

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

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


  46. ferny

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

    :adios:


  47. Eduardo Kmino

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


  48. ferny

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


  49. no registrado

    Donde esta el famoso manual?

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

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

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


  50. No Registrado

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

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

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

    alguien tiene idea de porque?


  51. Antonio_

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

    Forva una ayuda.
    Saludos


  52. ferny

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

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

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

    alguien tiene idea de porque?

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

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

    Forva una ayuda.
    Saludos

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

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

    Saludos :adios:


  53. noregistre

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

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

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


  54. kodak

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

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

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

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

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

    Alguna sugerencia?

    Muchas gracias!!!


  55. ferny

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

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

    :adios:


  56. No Registrado

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


  57. No Registrado

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

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

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

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

    Agradezco la ayuda
    Salu2


  58. ferny

    Hola

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

    :adios:


  59. No Registrado

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

    gracias de nuevo


  60. No Registrado

    Buenas tardes,

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

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


  61. No Reg Visitante

    Hola Antonio

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

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

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

    Saludos.


  62. No Registrado

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

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

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

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

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

    Laru


  63. Visitante - Dante

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


  64. Visitante - Dante

    No Registrado,

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


  65. Visitante7

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


  66. kodak

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

    :adios:

    Muchas gracias, si funciono!


  67. No Registrado

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


  68. No Registrado

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

    Enhorabuena!!!!!


  69. Lobo Solitario II

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


  70. archkazs

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

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

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

    con las comillas jeje

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

    xaoooo


  71. ferny

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

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

    :adios:


  72. No Registrado

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

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


  73. ferny

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

    :adios:


  74. No Registrado

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

    gracias


  75. Reflected_God

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

    Eso es todo. Gracias


  76. ferny

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

    Eso es todo. Gracias

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

    :adios:


  77. jony1

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

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

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

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


  78. No Registrado

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

    Saludos.


  79. ferny

    Sip… es lo que hay…

    La verdad no estoy 100% seguro de que no se pueda usar apache 2.2 todavía, pero el caso es que ese módulo de php no funciona… Por eso digo que esperemos a la siguiente versión de PHP (posiblemente la 5.2 o la 6.0) para que traiga un módulo compatible. Sin embargo creo que en la versión linuxera sí funciona, es por eso que me extraña mucho…

    :adios:

    PD: si alguien puede aportar información sobre este tema, sería de gran ayuda


  80. No Registrado

    Haciendo la prueba del php con el tipico script de ejemplo el info.php vi que me salia la pagina en blanco y pense que era un problema mala configuracion mia del php, bueno como veia que todo estaba correcto mirando en el foro vi que con el php5 se tenía que modificar ligeramente el codigo de este archivo para que funcionara

    < ?
    phpinfo();
    ?>

    por este otro

    < ?php
    phpinfo();
    ?>

    bueno como se ve la diferencia es solo < ?php

    como hace tiempo que no tocaba el php me dispuse a instalar todo de nuevo y repasar un poco y me encontre con este cambio, que si no, la pagina sale en blanco con el php5, alguien puede explicarme el porqué este cambio de etiqueta, y si además cada vez que quiera poner código php tengo que poner la etiqueta


  81. Merlin_carer

    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,

    Hice todo lo q dice en en manua pero el MySQL me dice:
    MyODBC
    Not found
    driver 3.51 no found

    y PHPMyAdmin no me funciona me dice q no se pudo cargar el modulo de MySQL que revise la configuracion de PHP

    y lo he hecho al pie de la letras solo que phpMyAdmin no encontre la version 2.6.1(tengo la 2.6.4) pero lo demas todo igual


  82. No Registrado

    Saludos, para instalar el apache, php y mysql, que me recomendáis es mejor instalar y configurar cada uno por separado o usar una aplicación que te lo instalada todo como appserv por ejemplo?


  83. atribis

    Hola, muy buenas. Me ha surgido una duda y quería ver si alguno me puede ayudar.

    Verán, quiero aprender un poquito de php y para ello, como es lógico, debo instalar este, mysql y apache.

    El problema que tengo (se que soy una torpe pero… lo siento :( ) es para descargarme el instalador de apache.
    En el manual apache+mysql+php que he visto mendionado por el foro, dice que debo bajarme el archivo:

    httpd/biranies/win32/apache_1.3.33-win32-x86-no_src.exe.

    Entro en cualquiera de los servidores que aparecen en la página de apache y me encuentro que no encuentro ese archivo :(
    Sisi ustedes me diran que es pq ya tienen otra versión, pero eso ya lo tengo en cuenta.
    El problema es que me aparecen archivos del tipo …-x86-symbols.zip ó …-x86-no_ssl.msi ó …-x86_src.msi ¿que me bajo????? :S

    El manual dice que el msi sirve si se tiene el Window Installer. ¿se refieren al cd instalador de windows o es alguna otra cosa relacionada con apache???

    siento si mi pregunta es tonta, pero ando perdida :’( y gracias por adelantado por sus respuestas :)


  84. ferny

    Saludos, para instalar el apache, php y mysql, que me recomendáis es mejor instalar y configurar cada uno por separado o usar una aplicación que te lo instalada todo como appserv por ejemplo?

    Aqui cada uno tiene una opinión distinta, yo creo que es mejor por separado pq así sabes lo que haces y por qué lo haces, además que puedes ir actualizando inmediatamente según salen nuevas versiones de cualquiera de las partes…

    Y para atribis, bájate el …-x86-no_ssl.msi
    Lo del windows installer es una cosa de windows no del apache, seguramente no tendrás ningún problema

    :adios:


  85. Kasas

    Gracias por este peazo tutorial, pq esto de ser autodidacta es complicado. Me habeis salvado la vida!!


  86. jony127

    Saludos, cuando agregas un nuevo usuario en mysql y borras el root por ejemplo luego tienen que configurar el archivo del phpmyadmin config.inc.php y agregar el nuevo usuario así como la contraseña en este archivo, bueno en el caso de q phpmyadmin lo usen mas de un usuario, hay alguna manera de proteger este archivo contra lectura para que otros usuarios no lo puedan abrir y así no puedan leer las contraseñas que figuran en este archivo?

    Gracias.


  87. atribis

    ferny,
    Y para atribis, bájate el …-x86-no_ssl.msi
    Lo del windows installer es una cosa de windows no del apache, seguramente no tendrás ningún problema

    :adios:

    Muchas gracias :-) Ahorita mismo voy a ello a ver si ya puedo instalarlo todo y empezar :arriba: Saludos


  88. ferny

    jony127, Saludos, cuando agregas un nuevo usuario en mysql y borras el root por ejemplo luego tienen que configurar el archivo del phpmyadmin config.inc.php y agregar el nuevo usuario así como la contraseña en este archivo, bueno en el caso de q phpmyadmin lo usen mas de un usuario, hay alguna manera de proteger este archivo contra lectura para que otros usuarios no lo puedan abrir y así no puedan leer las contraseñas que figuran en este archivo?

    Gracias.

    Hay una solución muy simple: añade todos los usuarios y contraseñas que quieras desde los privilegios del phpmyadmin, y en cuanto a la configuración del config.inc.php, la dejas en modo “cookie” y así no te hace falta poner el usuario y contraseña, puedes dejar vacíos ambos campos. Al entrar al phpmyadmin se pedirá usuario y contraseña, que pueden ser cualquiera de los que hayas introducido en los privilegios

    Saludos :adios:


  89. jony127

    Saludos a todos, para crear un foro que utilidad es mejor utilizar, me refiero en cuanto a facilidad de uso y seguridad: phpbb o vbulletin?

    Gracias.


  90. ferny

    Facilidad de uso -> phpbb
    Seguridad -> vbulletin
    :adios:


  91. jony127

    Saludos, tengo una pequeña duda, leyendo vuestro manual sobre la configuracion del php.ini veo que cuando hay q indicar el directorio donde se encuentras las extensiones del php el ext resaltais que hay q usar la barra / y no la \

    Bien hasta ahi todo correcto, pero mi duda es que instale el appserv y claro es php.ini ya está configurado pero revisando su configuracion veo q en extension_dir lo tienen configurado con la barra \ y no con la / que es la que indicais en vuestro manual, y sin embargo todo funciona bien, pq el php.ini del appserv utiliza esta barra \ y funciona bien y ustedes indicais que se debe utilizar esta otra /.

    Saludos y gracias.


  92. atribis

    Hola, muy buenas.

    Me he instalado Apache, mysql y php siguiendo el manual que recomiendan en este topic y todo parece ir bien.
    El problema me surge con phpmyadmin, cuando creo el nuevo usuario antes de eliminar “root”.
    Sigo los pasos indicados y le proporciono todos los privilegios. Cuando visualizo la lista de usuarios y privilegios aparece con “All Privileges”, pero cuando utilizo dicho usuario, no me permite crear bases de datos, aparece “sin privilegios” en lugar de la caja de texto para insertar el nuevo nombre.
    Tampoco me permite visualizar la lista de usuarios y privilegios mencionada antes.
    La verdad que no entiendo que he hecho mal :-S ¿Podrían por favor tratar de ayudarme y decirme como lo soluciono si saben como hacerlo?
    Muchas gracias a todos :-)


  93. ferny

    A jony127: en windows probablemente da igual poner una que otra, pero la gente que usa linux imagino que sólo puede hacerlo con “/” asi que por eso se decidió usar esa barrita y no la otra

    A atribis: seguramente te falta hacer el paso de recargar los privilegios. No sólo tienes que crear el usuario, también tienes una opción de recargar privilegios o con un nombre similar, que tienes que usar.

    :adios:


  94. atribis

    Muchas gracias, pero me queda una duda: Eso está dentro del propio phpmyadmin?? :-S Me puedes decir más o menos en que sección se encuentra? :pensando:


  95. ferny

    Abres el phpmyadmin, y en la ventana inicial (tras abrirlo) te sale un link que pone privilegios, le das ahí, y luego en la ventana que aparece, sale un cuadro rojo donde hay un link que pone “cargar la página de privilegios”, que debes pinchar. Pero eso depende de la versión de phpmyadmin que uses, yo te hablo de la 2.8.0.3

    :adios:


  96. ferny

    [SIZE=6]Actualización importante[/SIZE]

    Acabo de actualizar el manual de instalación con las últimas versiones de Apache, PHP, MySQL y phpMyAdmin, donde cambian pequeños detalles en la configuración, especialmente la de MySQL cuya instalación es bastante distinta (ahora es la versión 5.0 y antes se usaba la 4.0).

    Pero no sólo eso, sino que además he añadido algunos detalles para mejorar la configuración del servidor, especialmente el uso de virtualhosts para poder manejar más de un sitio web en nuestro servidor local.

    En el manual de MaestrosDelWeb todavía no está actualizado, pero sí he actualizado un mirror del manual situado en:

    http://servidor.hostrocket.com

    Por tanto, recomiendo entrar en este último que es el más actualizado.

    Un saludo


  97. ferny

    [SIZE=6]Instalación de Apache 2.2[/SIZE]

    Algunos me habéis preguntado por qué no funcionaba vuestro servidor al instalar Apache 2.2 con PHP5, y la respuesta que os daba es que el módulo php5apache2.dll todavía no es compatible con la versión 2.2 de Apache.

    Bien, al parecer el motivo es que cambia ligeramente la API de Apache 2.2 frente a la de Apache 2.0, con lo cual son incompatibles. Sin embargo, existe la posibilidad de hacerlo funcionar si nos bajamos el archivo .dll ya configurado para Apache 2.2 y no para Apache 2.0. Este archivo vendrá ya incluido cuando salga la versión 5.2.0 de PHP y se llamará php5apache2_2.dll, pero hasta que salga, podéis descargar una versión del php5apache2.dll preparada para Apache 2.2 desde http://www.apachelounge.com/download/

    Se distribuye en un ZIP que contiene tres ficheros, un TXT con la ayuda para la instalación, y dos ficheros más que debemos copiar a ciertos directorios:
    - Copiar php5apache2.dll al directorio de PHP (ej. C:/Servidor/php), sustituyendo el ya existente.
    - Copiar httpd.exe.manifest al directorio apache2.2/bin

    Más información: http://bugs.php.net/bug.php?id=37338

    ————————————————

    [SIZE="5"]¿Qué cambia en la instalación / configuración de Apache 2.2 frente a Apache 2.0?[/SIZE]

    Por suerte, prácticamente nada. La instalación es igual y la configuración prácticamente igual. Vemos los cambios en la configuración:

    [LIST=1]

  98. Configuración del DirectoryIndex

    En Apache 2.0, al buscar DirectoryIndex en el httpd.conf para realizar su configuración, nos salía esto:

    code:

    #
    # 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

    Ahora nos saldrá esto:

    code:

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

    DirectoryIndex index.html


    Pero los cambios que hay que realizar son los mismos.

  99. Seguridad de los directorios

    En Apache 2.0, por defecto deja a cualquier usuario ver cualquier directorio del servidor, con lo cual no tenemos que cambiar nada, pero en esta versión 2.2 viene configurado para que no se puedan ver los directorios, con lo cual si instalamos nuestro servidor y lo ponemos a funcionar, resulta que nos da un error de acceso prohibido cuando queremos ver alguna página.

    Para solucionarlo, buscamos esto en el httpd.conf:

    code:


    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Satisfy all


    Y simplemente sustituimos Deny from all por Allow from all, de forma que quede así:

    code:


    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    Satisfy all


  100. VirtualHosts

    Si vamos a crear algún VirtualHost, cambia la forma de realizarlo. En el fichero httpd.conf, nos vamos casi al final, y localizamos lo siguiente:

    code:

    # Virtual hosts
    #Include conf/extra/httpd-vhosts.conf

    Debemos quitar el # de la segunda de las líneas, para que quede así:

    code:

    # Virtual hosts
    Include conf/extra/httpd-vhosts.conf

    Ahora abrimos ese fichero, que como puedes ver está en apache2.2/conf/extra/httpd-vhosts.conf, y en él metemos la configuración de nuestros virtualhosts, que es la misma que podéis ver en el manual actualizado.
    [/LIST]

    Espero que os sirva para hacer funcionar Apache 2.2, a mi me ha funcionado :arriba:

    Un saludo :adios:


  • darwin

    miren es que yo apenas si e escuchado de php realmente no se ni lo mas basico conrespecto a estos temas de programacion pero realmente quiero bolvermen un duro para esto podrian aconsejarme que cursos tomar para aprender


  • atribis

    ferny, Abres el phpmyadmin, y en la ventana inicial (tras abrirlo) te sale un link que pone privilegios, le das ahí, y luego en la ventana que aparece, sale un cuadro rojo donde hay un link que pone “cargar la página de privilegios”, que debes pinchar. Pero eso depende de la versión de phpmyadmin que uses, yo te hablo de la 2.8.0.3

    :adios:

    Muchas gracias por la información, pero no me funciona igual :’( recargo los privilegios como dices e igual cuando entro con el nuevo usuario no me permite crear nuevas bases de datos. Puede ser que haya instalado mal el sql o algo asi??


  • ferny

    Pues no sé por qué no te deja :ojotes: Trata de reinstalar al menos el MySQL, usando la versión 5.0 tal como viene en el manual actualizado, a ver si funciona

    http://servidor.hostrocket.com


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


    Sobre el Autor

    Las Notas en tu correo


    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