Estás en Inicio / Editorial / Software Libre
19.10.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.1 - Caso A: Instalación de Apache 1.3.X
1.2 - Caso B: Instalación de Apache 2.0.X
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
5 - Configurando los usuarios del servidor MySQL
5.1 - Creación de nuestro usuario para MySQL
5.2 - Borrado de usuarios no deseados
5.4 - Configurar los script para el nuevo usuario
6 - Cómo realizar las actualizaciones a versiones superiores
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
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.
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.
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.

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

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.
Dependiendo de si estamos instalando una versión 4 de PHP o una versión 5, seguiremos
una parte o la otra.
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
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).
Igual que el paso anterior, hay pequeñas diferencias dependiendo de si estamos instalando
PHP4 o PHP5, asi que elije tu caso.
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!
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
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!
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.
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
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
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.

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

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.
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/
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.
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).
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.
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.
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.
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.
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.
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.
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.
É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.
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.
El
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.
¡Y por fin, ya está todo! Largo, pero merece la pena. Ahora ya puedes empezar a
hacer tus pruebas en PHP y MySQL. Recuerda que estamos trabajando con programas
servidores, con lo cual estos programas tienen que estar activos cuando vayamos
a hacer nuestras pruebas. Esto quiere decir que el Apache debe estar conectado
(debe estar activado para poder interpretar los script) y que el script debe estar
dentro de la carpeta especificada anteriormente en Documentroot, además también
MySQL debe estar funcionando para trabajar con bases de datos, y debemos tener
tener el servidor de correo funcionando con conexión a internet si vamos a usar
funciones de envío de email.
Una nota importante es que tanto Apache 2.0.X como MySQL pueden ejecutarse como
servicio del sistema. Esto quiere decir que, aunque no veamos ningún icono en
la barra de tareas, ambos están funcionando de forma oculta. Esto puede resultar
útil si los usamos a menudo, pues nos evitamos el tener que ejecutar Apache
y MySQL para hacer las pruebas. Pero si deseas quitarlo, deberemos usar la utilidad msconfig para evitar que arranquen de inicio: Inico - Ejecutar - msconfig
y en la pestaña Servicios desmarcaremos el Apache y MySQL. Al reiniciar
el ordenador, ya no se ejecutarán como servicio del sistema y tendremos que
arrancarlos manualmente.
Si no usamos estos servidores como servicio, habrá que arrancarlos manualmente.
MySQL se arranca ejecutando el winmysqladmin.exe que está en la carpeta bin
del directorio de MySQL. El Apache 2.0.X se arranca desde el acceso directo Monitor Apache Servers que se crea en el grupo de iconos en el menú Inicio.
Y el Apache 1.3.X se arranca también desde un acceso directo que se crea al
archivo apache.exe Para el servidor de correo no tendremos problemas, abrir
o cerrar el programa y listo.
Asimismo, resaltar que todo este tutorial y configuraciones han sido elaborados bajo un
sistema Windows XP Home Edition. Si tenemos un programa cortafuegos instalado en el
ordenador, es posible que tengamos que abrir los puertos que se nos soliciten para
que funcione el invento. También debemos tener cuidado si tenemos el IIS funcionando,
para que no se peguen el Apache y el IIS entre sí.
Un agradecimiento por la colaboración de Cluster en la elaboración de este tutorial.
Califica esta nota:
Si eres nuevo en Maestros del Web y te agradan nuestras publicaciones, te invitamos a suscribirte a nuestro Feed.
Sindícanos en: Google Reader, Bloglines, My Yahoo o My MSN | ¿Qué es el Feed?
1069 comentarios en total.
Páginas: « 1 2 3 [4] 5 6 7 8 9 … 11 »
ayuda me sale un error al enviar mail
——————————————————————————–
he conseguido instalar el apache ,php ,y mysql , todo a la perfeccion me funciona muy bien pero me a salido un error al querer hacer registros o querer enviar el mail de activacion…. coloque un sistema para enviar comentarios y me sale el mismo error queria ver si me podrian ayuadar con esto
Warning: fread(): supplied argument is not a valid stream resource in c:\server\http\registro_usuarios\env_attach.php on line 14
Warning: fclose(): supplied argument is not a valid stream resource in c:\server\http\registro_usuarios\env_attach.php on line 16
Warning: mail(): “sendmail_from” not set in php.ini or custom “From:” header missing in c:\server\http\registro_usuarios\env_attach.php on line 39
Hola, desde ya les doy las gracias, pero mu problemas es el siuiente: hao todo, todo lo qeu ustedes dicen, lueo quiero instalar un foro phpbb2, me aparce la pantalla de instalacion, pero que pongo en los datos? popr favor diganme con que datos me tengo que basar para rellenar todos los datos que me pide.
Desde ya, gracias.
por si les es de ayuda, es un foro phpbb2 (2.0.8)
Gracias
No Registrado, Hola, desde ya les doy las gracias, pero mu problemas es el siuiente: hao todo, todo lo qeu ustedes dicen, lueo quiero instalar un foro phpbb2, me aparce la pantalla de instalacion, pero que pongo en los datos? popr favor diganme con que datos me tengo que basar para rellenar todos los datos que me pide.
Desde ya, gracias.
por si les es de ayuda, es un foro phpbb2 (2.0.8)
Gracias
Para eso tienes el foro PHP y como sub-foro: “Aplicaciones pre-fabricadas” que tratan esos temas (incluso tienen FAQ’s que seguro que te podrían servir).
Date cuenta que esto es un turial de instalación o guía sobre PHP como lenguaje (interprete) .. pero no de como instalar cierta “aplicación” en dicho lenguaje.
Un saludo,
Quisiera saber si despues de instalar el SMTP Mail Server, solo tengo que hacer esos cmabios en el php.ini y listo o hay algun otro cambio adicional a eso??
Por otra parte…..
; For Win32 only.
sendmail_from = [email]email@servidor.com < --- ese mail, yo puedo poner el mail que sea o necesariamente tiene q ser un dominio verdadero???
Gracias.
pues a mí me ocurre lo siguiente:
tengo un archivo php de prueba con el siguiente código:
< ? $negativo[0]="Vacio: 0"; $negativo[1]="Uno"; if (num) echo $negativo[$num]; ?>
lo subí a mi servidor web de inet, y al ir a la dirección http://…./archivo.php?num=1 , me saca por la página “Uno”, y si pongo ?num=0, me pone: “Vacio: 0″.
Perfecto, la cuestión es que he probado esto en mi servidor (que funciona de maravilla, por cierto. El tutorial es una joya), y no me saca nada por la página :S
Podríais decirme a qué se debe?
Gracias ![]()
Hola
Eso seguramente es porque en tu servidor de inet tienen la variable register_globals con el valor ON, y tú en tu servidor local la tienes en OFF y por eso no te lo coge. Lo único que tendrías que hacer es en el php.ini poner esa variable a ON (en el tutorial viene detallado jejejeje…)
Aunque por seguridad se recomienda tener esa variable con valor OFF y usar los arrays globales o superglobales (creo que así se llamaban :pensando:), por tanto sin cambiar nada puedes probar esto y verás que funciona:
[php]< ?
$negativo[0]=”Vacio: 0″;
$negativo[1]=”Uno”;
if ($_GET['num']) echo $negativo[$_GET['num']];
?>[/php]
El $_GET es el array superglobal de las variables que entran por la URL, en este caso sólo hay una que es num :si:
Saludos :adios:
Muchísimas gracias, Ferny
Ya está arreglado.
Lo he puesto como en el servidor, ya que únicamente lo usaré para hacer pruebas, y cuanto más concuerden con el resultado final.. pues eso
Gracias otra vez. Rápido y sencillo ![]()
Primero, gracias. Instalé Apache, PHP y MySQL con sus instrucciones, y funcionó perfecto desde el primer intento.
Desarrollé unas consultas y gráficas (usando JGRAPH), y ahora quiero verlas desde otra pc conectada a la que tiene el servidor Apache… ¿cómo debo configurarla? ¿necesito software? pensé que sería casi transparente, al conectarle otra pc y configurar la red.
De hecho éstas consultas deben funcionar en una intranet, y no sé dónde debo instalar mi servidor Apache para poder jalarlas desde cualquier punto de la intranet.
¿Alguien puede ayudarme???
quiero agradecer ENORMEMENTE a la persona que escribio este tutorial, es muy claro y funciona perfecto.
Muchas gracias por su ayuda.
Saludos =)
Jorge
Pocos tienen la ventaja de poder tener este camino !! al que hizo el tutorial lo felicito muy profesional y funciona de maravilla creo que el loco se peina con este grupo de programas..
Emilio
excelente articulo… muchas gracias..!!
Hola a todos:
Estaba intentando instalar Apache, php y mysql para ver si aprendo unas cosas, y el tema es que estoy mas perdido q… Buscando en internet, he encontrado ese tutorial, que l averdad es que es muy bueno, lo sigo paso a paso, pero lamentablemente tengo un problema que no doy con la posible solución. A la hora de abrir el http://127.0.0.1/info.php, en vez de abrirmelo, directamente me abre el cuadro de descargar dicho archivo, pero no consigo verlo con mi navegador (explorer).
Muchas gracias.
Repasa el tutorial una vez más .. algo te dejastes .. por ejemplo las referencias a los cambios que tienes que hacer en httpd.conf de Apache para llamar a los .dll de PHP y los alias para los .php .. etc ..
Un saludo,
hola soy shakaran, estaba siguiendo este manual, y consegui llegar al paso 5, pero cuando instale el mysql tuve k instalar el phpmyadmin, despues de instalarlo, reincie, porque decia k se necesitaba el apache y el mysql para ejecutarlo, y cuando voy a poner un archivo en localhost me dice–>
ERROR
The requested URL could not be retrieved
——————————————————————————–
While trying to retrieve the URL: http://localhost/info.php
The following error was encountered:
Access Denied.
Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.
Your cache administrator is webmaster.
——————————————————————————–
Generated Sun, 22 Aug 2004 20:26:24 GMT by turbowf04 (squid/2.5.STABLE1)
yo no se si es porque me cargao algo o no se, pero ya ni me funciona el phpinfo, k consegui k me funcionara y ahora no, no se si es porque haya tocado algo no se, porfavor aclaramelo cuanto antes k estoy desarrollando un generador de dados y tengo k tenerlo listo pronto
Gracias
Hola, soy yo de nuevo, borre todo y empece de nuevo, creo k el error k me daba antes era por tener conectado internet, y daba conflicto. Pero bueno es igual.
La siguiente duda que tengo y que espero k me resolvais es la siguiente:
Cuando llego al paso 5, k dice:
“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). “
Weno, pues cuando me dispogo a poner esa ruta me sale lo siguiente:
no se pudo cargar la extensión mysql,
por favor revise su configuración de PHP.
Documentación
Y en documentacion, se puede pinchar y me manda a…
[1.20] I receive the error “cannot load MySQL extension, please check PHP Configuration”.
To connect to a MySQL server, PHP needs a set of MySQL functions called “MySQL extension”. This extension may be part of the PHP distribution (compiled-in), otherwise it needs to be loaded dynamically. Its name is probably mysql.so or php_mysql.dll. phpMyAdmin tried to load the extension but failed.
Usually, the problem is solved by installing a software package called “PHP-MySQL” or something similar.
Mas o menos he entendido, k le falta la libreria de mysql, y creo k es el archivo “php_mysql.dll” pero e conprobado k se encuentra en C:/php/extensions
NO se cual sea el error, espero k me lo podais decir pronto ya k parece k sois del otro lado del charco y llevamos el horario cambiado.
Un saludo
Shakaran
Shakaran
No sé si te distes cuenta que el tutorial habla de la instalación de versiones 4.x .. no de PHP 5 como parece que estás intentando instalar.
Hay alguna diferencias entre la instalación de PHP 4.x y 5.x .. una de las más notorias es la de que PHP 5 en adelante ya no va a tener el soporte para Mysql “pre-compilado” como parte del “core” de PHP .. El mensaje de error (si lo lees detenidamente) te está diciendo eso mismo y hasta te dice que tienes que hacer para solventar el problema.
Te recomiendo que bajes la última versión estable de PHP 4.x que veas en php.net y siguas el tutorial al pié de la letra. No tendrás problemas.
Si quieres ver las diferencias de PHP 5 en cuanto a su instalación … visita este mensaje:
http://www.forosdelweb.com/showthread.php?t=217240
(ahí por lo menos se menciona el tema de Mysql y otro detallito (a final) que hay que considerar también sobre la configuración de PHP 5)
Un saludo,
Ok, gracias, probare con la 4.3.8, pero me gustaria saber k es “soporte para Mysql “pre-compilado” como parte del “core” de PHP “, es k aun no estoy muy iniciado, y querria k me dieses alguna informacion sobre ello.
Vale, instalare la 4.3.8, pero podrias poner como seria para solucionar eso para la version 5.X, o ay k bajarse algun instalador o algo? jeje, es k soy muy curioso y me gusta aprederlo todo, sobre estos temas.
Gracias
Un saludo
Ok, gracias, probare con la 4.3.8, pero me gustaria saber k es “soporte para Mysql “pre-compilado” como parte del “core” de PHP “, es k aun no estoy muy iniciado, y querria k me dieses alguna informacion sobre ello.
Pues eso, en versiones de PHP 4 e inferiores .. para windows por lo menos sin nada más extra (extensiones ni nada más que hacer) se podía usar Mysql (todas las funciones: mysql_xxx() .. ) sin más. Por problemas de licencias entre PHP y Mysql ahora no se puede incluir “Mysql” de serie con PHP (en su código principal) (sus librerías) así que hay que hacerlo todo aparte (para PHP 5.x en adelante).
Vale, instalare la 4.3.8, pero podrias poner como seria para solucionar eso para la version 5.X, o ay k bajarse algun instalador o algo? jeje, es k soy muy curioso y me gusta aprederlo todo, sobre estos temas.
Te dejé un link para que lo vieses todo .. ahí se hace referencia al manual oficial de PHP en várias partes que indican lo que preguntas.
Un saludo,
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….
Te está dando error con esta DLL: phpapache2.dll
Pero es que esa DLL no existe, tiene que ser así: php4apache2.dll
Fijate que te falta el 4
Saludos :adios:
me comi el 4 escribiendo el mensaje que pena!!, pero en la configuracion efectivamente lo tengo
LoadModule php4_module c:/php/sapi/php4apache2.dll
y tuve en cuenta en ponerle el2, pues por lo de apache 2.0.xxx
Bueno mejor copiame aqui la parte del php.ini donde hace referencia a esa linea… pon desde dos o tres lineas antes hasta dos o tres lineas después a ver si es que hay algún error en alguna de ellas… Supongo que habrás revisado letra por letra todas las lineas que cambiaste y que has copiado el php.ini al directorio de windows ¿no?
Si se borran todos los usuarios no puedo crear bases de datos, solo tengo el privilegio de ver. No puedo crear tablas. No es mejor ponerle un password a los roots y dejarlos asI?
No, es mejor eliminar todos incluido el root y crearte el tuyo propio, pero eso sí, tienes que darle todos los permisos, si no se los das luego no puedes hacer ciertas cosas… En el manual está preparado así, se borran los no deseados y se crea un usuario al que se le da plenos poderes. Si no te funciona es que algo se te pasó…
Saludos :adios:
Hola a todos, antes que nada felicitar a cluster por este estupendo manual. He instalado todo sin ningun problema gracias a él, y todo funciona correctamente. Pero tengo un ligero problema con el router que no se solucionar. Mi router es uno de telefonica de marca Prestige 650HW-31, y bueno el problema reside en que una vez montado el servidor web y colocada la web correctamente puesto que puedo entrar a traves de http://localhost/, si quiero acceder a ella desde la red es decir tecleando mi IP, http://mi-ip/, no consigo entrar en la web puesto que me sale un mensajito del router pidiendo un nombre de usuario y contraseña, no tengo ni idea porque sale esto ni poseo tal contraseña. Tal vez sea un error mio que no me entero mucho de estas cosas pero por favor, ¿Hay alguien que pueda ayudarme, y decirme que debo hacer? Se los agradeceria eternamente. Si os es posible y me haceis ese favorcillo mi email es wingildy@hotmail.com. Muchas Gracias.
saludos FERNY, no te envie las lineas de codigo , porke antes de eso me mame….
asi que decidi desinstalar apache y borrar sus carpetas, igualmente con php y empezar todo de nuevo.
y pues instalando todo de nuevo funciono sin problemas, lo curioso es que el apache no se inicializa usando el monitor que aparece en la parte inferior derecha (al lado del reloj), Pero si arranco por un icono que se creo en el meni de inicio llamado “Start Apache in consola”, todo funciona muy bien… que sera? pero bueno a decir verdad no importa mucho porke ya esta funcinando bien…..
de todas formas hermano gracias por la colaboracion y la etencion prestada
Hola cluster.
Tengo un problema con respecto a la instalacion de PHP5 en Apache 2. Hago todo lo que me dice el manual pero cuando quiero coloco 127.0.0.1 o localhost me sale una pagina con error 403. Lo que muestra es un mensaje Forbidden (prohibido) donde no tengo acceso.
Las dudas que tengo es, si influyen o no colocar las comillas porque algunas no tienen en tu manual. La otra es sobre: “session.save_path = C:/Servidor/PHP/sessions/ ” en el httpd.conf hay comodines en cuanto a “session.save_path”.
Agradecería tu ayuda porque ya estoy tres días con esto y no lo puedo resolver
Buenas , excelente tutorial :aplauso:
Pero me a surgido un problemilla y me estoy voliendo loco :’(
El problema es el siguiente , desde el localhost todo va a las mil maravillas , he instalao un foro en phpbb y el php lo interpreta a la perfeccion , la base de datos va del guais y todo es de color de rosa :corazon:
pero cuando accedo desde otro ordenador :no: las paginas en html las veo sin ningun problema
pero a la que accedo a una pagina en php……. :no: y lo jodio es que de vez en cuando , muy de vez en cuando te deja entrar y me toy volviendo majara :’(
he formateado el pc , reinstalado windows xp , actualizado , y seguido el tutorial
de pe a pa , aunque eso si poniendo siempre los accesos como localhost y el phpmyadmin tambien pero no creo que sea eso…..
el server lo puse en D:/server , pero tampoco deveria ser eso…..
el servidor esta en auna 1Mega, y del modem entran dos ips una pal server y otra para el mac , pero ambas estan registradas y no deveria tener nada que ver ya que no hay ningun problema para ver paginas html desde fuera…….
Parece como si hubiera algun problema cuando se hace peticiones de php desde fuera del servidor ,como si no se pudiera mantener la conexion con el php, pero la verdad yo con eso me pierdo , no se si sera question de puertos o algo que tenga que configurar :’(
sera pro la autentificacion por cokies del phpmyadmin? no deveria ser eso ya que cuando accedo desde fuera a la pagina de phpinfo y no se carga nada tiene que ver con las bases de datos , asi que el problema deveria estar entre el php o mas probablemnte el apache….
Haber si podeis ayudarme , o almenos darme vuestra opinion sobre este problema.
un saludo y gracias por leer la parrafada :adios:
henry_wilfredo, Hola cluster.
Tengo un problema con respecto a la instalacion de PHP5 en Apache 2. Hago todo lo que me dice el manual pero cuando quiero coloco 127.0.0.1 o localhost me sale una pagina con error 403. Lo que muestra es un mensaje Forbidden (prohibido) donde no tengo acceso.
Las dudas que tengo es, si influyen o no colocar las comillas porque algunas no tienen en tu manual. La otra es sobre: “session.save_path = C:/Servidor/PHP/sessions/ ” en el httpd.conf hay comodines en cuanto a “session.save_path”.
Agradecería tu ayuda porque ya estoy tres días con esto y no lo puedo resolver
hola henry diria que eso no es ningun problema
me parece a mi :pensando: que el “problema” es que has movido el Documentroot , entonces cuando entras a localhost ya no esta el mensaje de bienvenida de apache , y como no tienes ningun “index” el apache no abre esa carpeta (motivos de seguridad), sin enbargo si tus webs las tienes organizadas por carpetas y tienen un index , cuando vas a esas carpetas si deveria abrirse las paginas si has seguido el tutorial correctamente
lo de las comillas , yo diria que no tiene nada que ver yo tambien las puse un saludo
y a ver si alguien me puede ayudar a mi con el problemilal de un post arriba ![]()
Ah tu te refieres que al cambiar el documentroot yo ya debo debo tener los archivos en este caso index.php. Bueno yo asumi que primero los puedo indicar y lugo crearlos.
Bueno lo voy a intentar ya que no dispongo de internet en casa (es el tercer mundo la tecnologia es cara) y te contare luego.
gracias por responder
Hola soy yo de nuevo, soy novato en cuanto a desarrollo web asi que me surgio un nuevo problemilla con la instalación de mysql. No me sale la ventana que me pide el User Name y el Password sino que de frente me sale una pantalla mas grande y el semaforo en rojo. Primero,bueno estoy dudando al mysql que bajé, no sé si será el correcto (Windows (x86) Mysql 4.0.21 24.7M ) y otro es en cuanto al lenguaje, se que es español pero en el Perú si tu dices “majo” nadie lo va a entender (en el diccionario su significado es agradable, vistoso) pero en este que descargué hay al parecer solo uno, el otro es relacionado con internet.
Gracias de antemano por la respuesta
Henry
Ese mysql te sirve apra cualquier windows es el que tengo yo instalado, facilisimo de instalar en window$, pero se ve mas bonito y corre MAS en Linux
gracias por responder Koveart pero a tu parecer cual seria el ideal (tengo winXP)
Amigos aun no lo soluciono:
No logro instalar Mysql en mi pc (usa windows xp y servidor apache 2.0.X sin conexión a internet) y yo he intentado con mysql-4.0.17-win y el 4.0.21 y nada. Más detalle, cuando estoy en una pc con conexión ha internet (win98) si me aparece el”bendito” ícono y lo instala ok pero no sucede lo mismo con mi pc. Además cuando quiero iniciarlo con Servicios (locales) de Herramientas Administrativas me sale el siguiente mensaje “Error 1067: El proceso ha terminado de manera inesperada”. Y lo último cuando voy a la carpeta bin y selecciono winmysqladmin en la caja de texto con frame MyODBC de la pestaña environment dice: Driver 3.51 not found.
Una cosa más con respecto al ícono, cuando abro el zip mysql-4.0.17-win hay un archivo _inst32.ex_ y creo que es el icono majo que debe aparecer.
Agradezco la ayuda.
Muy bueno, si señor. Lo he instalado a la primera.
Muchas gracias por hacernos la vida un pelin mas facil. jeje
Enhorabuena al autor/autores de esta guía, me ha sido de gran ayuda para instalar php5 con apache2.0.x :aplauso: :arriba:
Increible!
Nunca un tutorail más fácil y lo instalé al tirito…
Gracias mil
BUHO
Oye compa el link este http://www.ferdyx.org/temas.php no sirve; creo que seria buena idea hacer el mismo manual para linux y ademas hacer una version .pdf para tenerlo siempre a la mano.
Hola, como estas, te comento que estoy a punto de recibirme de ingeniera en sistemas de información, y buscando en internet para hacer mi tesis final, la cual consiste en realizar un sitio dinamico web, encontre tu página. Si bien no me sirvio para la totalidad de mi proyecto, me sirvio y mucho para arrancar en lo mas importante: la instalacion y configuracion de lo que necesitaba para hacerlo.
Muchas gracias por compartir este tipo de herramientas, sigan asi.
Por las dudas: no tienen una pagina que explique exactamente lo mismo pero para linux mandrake 10, con la misma didactica?
Te dejo mi email por si podes responderme:cohenkarina@hotmail.com. muchas gracias y felicitaciones. karina
Hola, muchas gracias Ferny y Cluster (como también a todos los que andan por aquí sacando de apuros a nosotros los novatos) por haber hecho un tutorial tan bien explicado, paso a paso, para quienes estamos recién tratando de aprender PHP y sufrimos tantos dolores de cabeza ya de comienzo con todo esto de instalar y configurar sevidor y demás.
Después de leer todos los post y no encontrar la respuesta que necesito, les agradeceré mucho si pueden ayudarme a solucionar los problemas que se me presentan y les detallo a continuación.
Lo que fue la instalación y configuración de Apache y PHP no me dio problema alguno y el info.php de PHP se mostró perfectamente. Después instalé MySQL, me pidió usuario y contraseña, se lo di y listo, también está instalado phpMyAdmin.
Ahora vienen las complicaciones:
Instalado:
Sistama Operativo: Windows2000
Apache 2.0.52 (configurado puerto 80 para todos los usuarios)
PHP Versión 5.0.2195(zip)
MySQL 4.1.7 (zip)
phpMyAdmin 2.6.0-pl3 (sip)
Tomar en cuenta que sólo quiero tener estos servidores como locales en mi PC para aprender PHP y base de datos, por eso no quiero que ni Apache ni MySQL se conecten a internet, que por lo demás tengo entendido no lo necesitan, en mi caso.
http://localhost/phpmyadmin/index.php
I. Si no se le permite al Apache ni a MySQL acceder a internet, al intentar entrar al index.php de phpmyadmini lanza el siguiente error:
Bienvenido a phpMyAdmin 2.6.0-pl3
Error
MySQL ha dicho: Documentación
#2003 - El servidor no está respondiendo
——–
Detalle de lo que el cortafuegos me muestra cuando intentan conectarse:
SERVER PROGRAM
Apache HTTP Server Trying to act as a server.
Validation: None
Application: Apache.exe
Source IP: 0.0.0.0:HTTP
——-
REPEAT PROGRAM
mysqld-nt.exe is trying to access the internet.
Validation: None
Aplication: mysqld-nt.exe
Destination IP: aquí aparece parte de mi IP ademas de :DNS
———–
SERVER PROGRAM
mysqld-nt.exe trying to act as a server.
Validation: None
Aplication: mysqld-nt.exe
Source IP: 0.0.0.0:Port 3306
—————
Detalle de my.ini por si tuviese algo que ver en el problema:
#This File was made using the WinMySQLAdmin 1.4 Tool
#19/11/2004 22:43:56
#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions
[mysqld]
basedir=C:/Servidor/mysql
#bind-address=miip
datadir=C:/Servidor/mysql/data
#language=C:/Servidor/mysql/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
[WinMySQLadmin]
Server=C:/Servidor/mysql/bin/mysqld-nt.exe
user=miusuario
password=micontraseña
————-
Ahora, si se concede conexion a internet entonces sí me muestra http://localhost/phpmyadmin/index.php correctamente.
II. De conseguir esto ahora hay otro problema con la contraseña.
Tal como indica el manual, cree un nuevo usuario con su contraseña más todos los privilegios y borré todos los demás usuarios que venían por defecto, luego modifiqué config.inc.php y pasa lo siguiente:
Caso 1:
(pmadb)
$cfg['Servers'][$i]['auth_type'] = ‘config’; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = ‘miuser’; // MySQL user
$cfg['Servers'][$i]['password'] = ‘mipass’; // MySQL password (only needed
// with ‘config’ auth_type)
Resultado:
Bienvenido a phpMyAdmin 2.6.0-pl3
phpMyAdmin intentó conectarse con el servidor MySQL, y el servidor rechazó esta conexión. Deberá revisar el host, nombre de usuario y contraseña en config.inc.php y asegurarse que corresponden con la información dada por el administrador del servidor MySQL.
Error
MySQL ha dicho: Documentación
#1250 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
Caso 2:
(pmadb)
$cfg['Servers'][$i]['auth_type'] = ‘http’; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = ‘miuser’; // MySQL user
$cfg['Servers'][$i]['password'] = ‘mipass’; // MySQL password (only needed
// with ‘config’ auth_type)
Resultado:
Me pide incansablemente el usuario y contraseña, hasta cuando ya se le da por cancelar y manda el siguiente aviso:
Bienvenido a phpMyAdmin 2.6.0-pl3
Usuario/contraseña equivocado. Acceso denegado.
Caso 3:
(pmadb)
$cfg['Servers'][$i]['auth_type'] = ‘cookie’; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = ‘miuser’; // MySQL user
$cfg['Servers'][$i]['password'] = ‘mipass’; // MySQL password (only needed
// with ‘config’ auth_type)
Resultado:
Bienvenido a phpMyAdmin 2.6.0-pl3
Language:
Identificación
(Las “cookies” deben estar habilitadas pasado este punto.)
Usuario:
Contraseña:
———-
En este último caso, las cookies las tengo habilitadas en mi navegador.
————
Una pregunta, si en determinado caso después quisiera cambiar, en Apache, el puerto 80 para todos los usuarios y dejarlo current user port 8080 ¿cómo debo hacerlo?
Una pregunta más para cuando ya se solucione este problemita, ¿me pueden recomendar algún buen manual en español que enseñe a configurar lo que es la parte de seguridad?
Hola muy buenas he instalado el appserv+phpmyadmin+mysql perfectamente
en mi pc pero tengo un problema cuando alguien intenta entrar a mi pagina le dice que no se puede mostrar ,que es lo que pasa que debo hacer???
Muchas gracias
Buenas tardes:
Lo primero, felicidades por el manual, es una pequeña gran joya.
Ahora un par de cuestiones:
Yo soy de los cabezones que está intentando instalar la versión 5.0.2 de PHP y siguiendo todos los pasos no hay ningún problema… hasta lanzar el phpmyadmin, 2.6.0, que me muestra el consabido error de “no se pudo cargar la extensión mysql,
por favor revise su configuración de PHP.”
He intentado todas las cuestiones que los compañeros del foro comentan: desde la obvia de configurar el php.ini con la extensión correspondiente php_mysql.dll, quitando el “;” hasta, como menciona la doc. de PHP, configurar el Path de PHP para que Windows coja las .dlls que hay, pasando por copiar la dll libmySQL.dll al dir. del sistema… y sigue sin chutar, estoy empezando a mosquearme con el errorcito de las narices :-p
¿Alguna sugerencia que no sea prenderle fuego al PC?
Y por otra parte, en el manual que os habeis currado dejais bien claro que la forma de escribir las rutas debe ser c:/Servidor/… y no C:\Servidor\… aunque en el propio php.ini indica que los usuarios de Windows deberiamos utilizar esta forma, en realidad, ¿es indiferente?
Saludos
Me extraña mucho el error del mysql, fijate que hayas activado la libreria php_mysql.dll (por lo que dices parece que sí) y que estés instalando una versión 4.0.X Si todo es correcto, no se me ocurre otra cosa que decirte que vuelvas a empezar, el error puede estar en cualquier parte…
En cuanto a lo de las barras, ni siquiera sabía que en el php.ini viene que los usuarios de windows usemos la barra \ :pensando: Yo siempre he usado la barra / y ha funcionado a la perfección. Supongo entonces que dará igual… Si te da algún problema usa la barra / que es la única que sé que funciona, la otra nunca la he probado.
Buenas tardes:
Muchas gracias por responder, ferny, he instalado la versión 4.x de PHP y ha tirado perfectamente, pero yo quería probar la 5.0.2 que es la que me estaba dando el error. Al final he dejado la 4.x y punto.
En otro orden de cosas, ahora el jaleo me lo da el phpmyadmin, que al crear un usuario diferente al de por defecto y borrar el resto, no me deja acceder. Es decir, creo user nuevo, le asigno una pass, todo siguiendo estrictamente el manual, y, seguidamente, me cargo el resto de users. Pero luego al intentar iniciar sesión con el nuevo user no me loga (utilizo autenticación http) y siempre me acaba saltando la pagina de pass incorrecta… utilizo la versión 2.6.0 de phpmyadmin.
Y, como dicen que no hay dos sin tres, otro pequeño tema… ¿hay que cambiar alguna conf. de idioma en PHP o MySQL? porque al cargar nuke o el propio phpmyadmin no me muestran bien caracteres españoles como los acentos, las “ñ”s, etc…
Bueno, pos voy a trastear un poco a ver si logro aclararme un poco…
Saludos y muchas gracias de nuevo.
Yo de verdad que no entiendo lo del php 5.0.2, es el que tengo instalado yo tal cual está escrito en el manual, activando esa libreria… Me lo creería si me dijeras que estás instalando una versión de mysql superior a la 4.0.X, creo que usa otra librería…
En cuanto a lo del phpmyadmin, fijate en el punto 5.4 del tutorial, mira a ver si cambiaste lo que hay que cambiar en el config.inc.php y sobre todo fijate que hay una nota que avisa de un bug cuando usamos autentificación http, no sea que te esté pasando… Aun así, intenta usar autenticación “config” a ver si así te deja, sólo para probar que el usuario se ha creado bien.
Aupa!
De nuevo, muchas gracias por la respuesta.
Trasteando he visto donde estaba metiendo la zanca: estaba trabajando con la 4.1.22 de sql, he cambiado por la 4.0.x y todo OK.
Saludos
Edito: El nuke muestra ahora los acentos y todo lo demás perfectamente… ¿es un bug de la versión de sql?, ¿no es compatible con las otras versiones php - phpmyadmin?
Mira que avisé….
:-D
Lo de los acentos, no tengo ni idea, pero no creo que sea por ningún bug… vete a saber por qué será :pensando:
Hola, :’( :’( me pasa lo mismo que Ami, una vez creado el nuevo usuario de phpMyAdmin, borrado los otros que vienen por defecdto y haber modificado el config.inc.php con los nuevos datos, si intento entrar a http://localhost/phpmyadmin/index.php me da el siguiente error:
[COLOR=Red]#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client[/COLOR]
¿ALGUIEN SABE COMO SE PUEDE SOLUCIONAR? Gracias.
Tengo instalado:
Apache 2.0.5
Php 4.3.9
MySql 4.1.7
PhpMyAdmin 2.6.0-pl3
Un saludo
Ernesto Graf
Hola, sobre mi mensaje de arriba, cree un hilo en el foro de PHP, así que si deseais responderme por favor haganlo en http://www.forosdelweb.com/showthread.php?t=254101 ya que es un poco engorroso encontrar mi pregunta en la página 26…
Un saludo
Ernesto Graf
Espectacular el articulo Apache+php+mysql+phpmyadmin, realmente un tutorial APB
Un par de aclaraciones antes que nada yo uso win 98 no SE y para que no haya problemas hay que tener instalado el PWS (personal web server) y antes de comenzar las instalaciones, pagar el mismo para que el servidor apache no nos haga problemas con el puerto 80 caso contrario al instalar el apache deberemos setearlo para el puerto 8080.
Es importanate para win95 y 98 tener instalado el PWS.
Necesito una mano, mi instalacion de estas aplicaciones no me dieron complicaciones algunas y todo corre de maravillas.
A la hora de probar por medio de los Scripts el acceso a base de datos tengo problemas,
el tema es asi, aqui va el archivo basesola.php:
< ?php
$link=mysql_connect( “localhost”,”usuario”, “password”);
if (! $link ) {
die ( ” no se conecta MSQL: ” );
}
print “
\n\n;
mysql_close($link);
?>
y lo que obtengo como respuesta es esto:
Parse error: parse error, unexpected $end in c:\archivos de programa\apache group\apache\htdocs\basesola.php on line 9
si subo este scrip al servidor ( de servicio de host que poseo) no tengo ningun problema.
Ademas puedo acceder con Phpmyadmin sin problemas con el mismo pass y usuario (ya que lo configure con cookie)
Alguien me puede decir por donde estara este problema de configuracion??????
Te falta cerrar las comillas en esta linea:
print “
\n\n;
Ponlas y debería funcionarte
Saludos :adios:
Gracias ferny,Perdon la semejante burrada de mi pregunta. pero gracias a eso me di cuenta que actaulizando los archivos al momento y correrlos sin cerrar la sentencia no son actualizados, asi que pues yo me mataba corrigiendo y ejecutaba en el instante y siempre tenía el mismo error.
Nuevamente Graciassssssssssss!!!!!!
Hola mi nombre es antonio alguno de ustedes tendra algun manual o tutorial de PHPMyadmin se lo agradeceria mucho si me lo pasaran ya que quiero aprender a crear paginas dinamicas y no se ni papas de esto … quiero ver si con ayuda de ustedes puedo aprender … gracias soy de Santiago Tuxtla, Veracruz, Mexico
Hola estoy empezaando a usar PHP y tengo instalado y quería saber si saben dee algún manual para instalar php5 con apache 2.0.x. Muchas gracias.
les dejo mi mail por si saben algo.
Gracias por todo y el foro está re bueno.
Nicoescribal, lo mejor, como siempre, es ir a las fuentes te recomiendo el manual de php en el sitio de php,http://us2.php.net/manual/es/
Este Manual esta en español, y te explica como instalar php5 en apache 2.x, ademas aqui vas a tener acceso a absolutamente todo lo referente a php, :si: echale una mirada, te lo recomiendo, ya que si vas a empezar a usar php seguramente vas a tener que visitar esta pagina en algun momento.
:arriba: Nos estamos escribiendo
QUe Tal ¿Cómo estan?
Yo segui los pasos del manual, y me funciono Bien la parte de la instalacion
de Apache y PHP, DOnde tube problemas es en la Instalacion de MySQL
al ejecutar por primera vez winmysqladmin.exe no me pide el User Y el Password me manda ala Siguiente forma. No se como llamarle “Forma para la
administracion de MySQL” y con el semaforo en ROJO. Seguramente saben de
que forma Hablo.
Atentamente
Guillermo Leon
No sé a qué pantalla te refieres, de todas formas lo que puedes probar es a buscar un archivo my.ini que creo que está en el directorio de windows y lo eliminas. Luego vuelves a arrancar el Mysql y te debería salir la pantalla…
Asegurate de estar instalando una versión 4.0.X y no una 4.1.X
Bueno, sólo para aclarar que si se va a poner en el httpd.conf un path que contenga espacios, habrá que ponerlo entre comillas.
Por ejemplo:
LoadModule php5_module C:/archivos de programa/servidor/php/php5apache2.dll
no funcionará porque tomará como path solamente C:/archivos.
Lo correcto sería poner:
LoadModule php5_module “C:/archivos de programa/servidor/php/php5apache2.dll”
Saludos:adios:
Hola amigos del foro encontre un link de como instalar LAMP paso a paso en LINUX espero que les sirva de algo
http://www.planetalinux.com.ar/forum/viewtopic.php?t=2880&sid=c7401af102850059b7360357e8c45558
Para cualquier consulta podemos apoyarnos mi email es :
Urgente he tratado de inslarlo como cuatro veces he hecho todo lo que dice en el manual pero intento acceder desde el c:/servidor/web/info.php y no pasa nada sale error 404 plis ayuda
Epunamun:
Primero tienes que iniciar el Apache y luego desde tu navegador (IExplorer, Mozilla, Firefox, Opera, etc.) acceder como http://localhost/info.php (escribirlo en la barra de direcciones)
Saludos:adios:
< ?php
$link=mysql_connect( “localhost”,”usuario”, “password”);
if (! $link ) {
die ( ” no se conecta MSQL: ” );
}
print “
\n\n;
mysql_close($link);
?>
a este texto le faltan una comillas ” , exactamente al final de la linea del print
< ?php
$link=mysql_connect( “localhost”,”usuario”, “password”);
if (! $link )
{
die ( ” no se conecta MSQL: ” );
}else{
print “
\n\n”;
mysql_close($link);
?>
Bueno para que sepas te comento que la nueva version de mysql 4.1.x trae un nuevo sistema de autentificacion de contraseñas que no es reconocido por phpmyadmin, la soluciion es decirle a mysql que use el sistema de autentificacion anterior, para esto solo tines que hacer lo sigiuiente.
Te vas a la consola de mysql entras como root y tipea lo siguiente:
use myslq;
update user set password=old_password(’lamalditaclave’) where user=’root’;
flush privileges;
Eso es todo, veras que phpmyadmin te vuelve a funcionar sin ningun problema, eso si para cada usuario tienes que efectuar los mismos pasos :si:
amigos, trabajo sobre fedora core1, creo que tengo todo bien confifurado(php mysql apache), he creado algunas tablas y he realizado enlaces a estas, pero mi problema es que no puedo, ingresar informacion desde la pagina web que he creado para este fin.
el problema especifico es he creado dos archivos, uno para recolectar la informacion y el otro para que realice el ingreso de informacion a la base de datos. PERO LO UNICO QUE SUCEDE ES QUE SE CREAN CAMPOS VACIOS Y MI IDENTIFICADOR SI SE INCREMENTA A SU CONSECUTIVO ES COMO SI LA INFORMACION RESTANTE SE UBIESE PERDIDO. DE ANTEMANO LES DOY LAS GRACIAS:
Loki .. este tutorial està enfocado a la configuraciòn de PHP+Apache+mysql y etc .. sobre Windows ..
Si tu tienes un problema concreto sobre còdigo “PHP” lo mejor es que preguntes en el foro de PHP y de ahì tal vez se te derive al de “Base de datos” si corresponde.
Por lo demàs .. les recuerdo (una vez màs) que este tutorial està enfocado a la instalaciòn de Mysql 4.0.x e inferiores .. no a Mysql 4.1.x y superiores.
Un saludo,
Qué tal a todos los del foro:
Felicitaciones por tu manual Ferny y por la colaboración de Cluster, me ha servido mucho.
Bueno, estoy empezando a investigar en el mundo de PHP, y he leído bastante documentación además de este foro. Me han surgido algunos problemas:
Descargué los siguientes paquetes (uso Windows XP PRO SP2 español y soy admin):
1. php-5.0.3-Win32
2. apache_2.0.52-win32-x86-no_ssl.msi
3. mysql-4.1.8-win
4. phpMyAdmin-2.6.0-pl3
Instalé Apache + PHP y funcionan correctamente. Cuando quiero probar la base de datos al intentar abrir la página http://localhost/phpmyadmin/index.php aparece el siguiente error que ya deben conocer:
no se pudo cargar la extensión mysql,
por favor revise su configuración de PHP.
Documentación
Y en el enlace documentación sale:
[1.20] I receive the error “cannot load MySQL extension, please check PHP Configuration”.
To connect to a MySQL server, PHP needs a set of MySQL functions called “MySQL extension”. This extension may be part of the PHP distribution (compiled-in), otherwise it needs to be loaded dynamically. Its name is probably mysql.so or php_mysql.dll. phpMyAdmin tried to load the extension but failed.
Usually, the problem is solved by installing a software package called “PHP-MySQL” or something similar.(*)
Por ahí leí en el foro que PHP5 no tiene soporte para MySQL, pero leí el siguiente FAQ de http://cl.php.net/manual/en/faq.databases.php#faq.databases.mysql.php5:
4. PHP 5 no longer bundles MySQL client libraries, what does this mean to me? Can I still use MySQL with PHP? I try to use MySQL and get “function undefined” errors, what gives?
Yes. There will always be MySQL support in PHP of one kind or another. The only change in PHP 5 is that we are no longer bundling the client library itself…
?Windows users may enable the extension php_mysql.dll inside php.ini. Also, be sure libmysql.dll is available to the systems PATH? Because libmysql.dll (and many other PHP related files) exist in the PHP folder, you’ll want to add the PHP folder to your systems PATH.
Se hace mucha mención de la extensión php_mysql.dll y a las demás dlls, pero todo eso está correctamente configurado.
Mis dudas son:
1. Si tengo la extensión php_mysql.dll correctamente habilitada desde el php.ini y todos los dlls de PHP habilitados en el PATH de Windows pero no puedo leer la base de datos, ¿qué puede estar fallando?
2. En la línea del (*) (Usually, the problem is solved by installing a software package called “PHP-MySQL” or something similar), ¿el paquete mencionado no es el que contiene al php_mysql.dll? Si es así, ya lo tengo, pero si no, qué es lo que es?
3. php-5.0.3-Win32 es la última versión estable de PHP? ¿No será ese el problema?
Disculpen la extensión de este mensaje. Espero sus comentarios.
Saludo!
Si estás seguro de haber seguido la guía paso a paso (es fácil confundirse) y de haber activado la extensión de MySQL, el problema será que has instalado MySQL 4.1.X y no la 4.0.X, son versiones que funcionan distinto. El manual está hecho para versiones 4.0.X Yo que tú probaría con una versión 4.0.X y si no funciona me revisaría a fondo todas las configuraciones.
Saludos
Hola,
Primero que nada gracias por el tutori