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?
1091 comentarios en total.
Páginas: « 1 … 3 4 5 6 7 8 9 [10] 11 »
gracias por estos tutoriales, tan buenos especialmente para las personas como yo que empezmos en el ambito de la programacion.
mil gracias¡¡¡¡
okis, dejare la imagen de esta version a un lado por si 1 caso… me bajare la nueva y empezare desde 0, asi tengo mis versiones actualizadas 100%
entonces, las diferencias con el tutorial son las del link que pusiste antes no? (solo que sin tener que bajarse el dll)
Sí pero fijate que también cambia el nombre del archivo, ahora el que hay que poner es el php5apache2_2.dll y no el php5apache2.dll
gracias!! me ha salido todo perfectamente!!! eres el amo ^^ ya se a quien y donde dirigirme si tengo dudas
muchisimas gracias por todo!!!!!!!!!!
hola de nuevo…
he tenido 1 problemilla, no se que hizo una amiga en el mambo, que lo estropeó todo, total que quise instalarlo todo desde 0, pero me han surgido problemas…
ahora me dice que algunas librerias ya estan en uso, y despues de instalar el apache me aparece el mensaje “forbidden”
alguna idea de lo que puede estar pasandome? (tan cerquita que lo tenia T.T)
no preguntes como, despues de ir borrandolo todo, y reinciando pc he conseguido arreglarlo. muchas gracias igualmente ^^
Exelente articulo, ya veo por que no funcionaba myadmin cuando borraba el usuario rootjaja muy bueno
Prueba poniendo \”root\” en el campo User y la contraseña en blanco.
hola, perdonad, alomejor soy solo yo, pero la web del tutorial no se porque no se me abre, solo se abre una pagina en blanco.
alguien sabe por que? muchas gracias
saludos ^^
iozan;1783184, hola, perdonad, alomejor soy solo yo, pero la web del tutorial no se porque no se me abre, solo se abre una pagina en blanco.
alguien sabe por que? muchas graciassaludos ^^
http://www.maestrosdelweb.com/editorial/phpmysqlap/ (versión antigua)
http://servidor.hostrocket.com/ (versión nueva)
Me funcionan sin problemas :pensando:
uhm, se habra arreglado, habra sido un reinicio de servidor o algo :S
hace 1 momento se veian todas en blanco (por no verse no se veia ni el logo)
y me referia a la version antigua :p
p.d: la version nueva todavia no esta adaptada a las versiones nuevas de php
saludos ^^
Tardaré todavía unos días pero lo haré
Tengo que ver para qué versiones de apache lo dejo, pq tres son muchas y quiero ver si puedo ahorrarme la 1.3 o la 2.0
:adios:
queda todo comprendido, solo una ligera y gran duda, como puedo activar el port 80 para dar acceso a cualquiera que utilice internet a mi pagina web… pddt: excelente curso…
no se como hacer para agregar dos sitios web en el servidor apache 2.2.3
desde windows xp
A los dos últimos mensajes les remito a la nueva versión del manual pues ahí viene cómo hacerlo: http://servidor.hostrocket.com/
Revisad los apartados 8 y 8.1 (virtualhosts y su uso de cara a internet)
:adios:
hola la verdad es que estoy haciendo una aplicacion con mysql en donde llamo una base de datos, hice una pagina web(html) sencilla y un link para que me abra un php pero no sale como pagina sino como codigo que hago? estoy desesperado ya actualice todo como dice en el manual y nada, tengo el wamp5 apache 2 php5 y nada que me recomiendan?
Gracias por este fantástico manual. Perfectamente redactado.
Saludos.
A las configuraciones normales se cambia
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule php5_module C:/Webserver/PHP/php5apache2_2.dll se redirecciona a /php5apache2-2.dll
tengo el programa en un editor de texto como hago para probar la base de datos y el formulario
La verdad que se pasaron, ojalà algun dìa pueda retribuirles todo lo que hacen comparitiendo este tipo de informaciòn
Instale todo como dice el tutorial
con la version apache 2.2.3 el php4.4.4, pero no me levanta el apache cuando le agrego la linea:
LoadModule php4_module C:/SERVIDOR/PHP/sapi/php4apache2.dll
y si lo hace si se la quito, la ruta esta recontra comprobada, que puede ser?
y cuando quiero acceder al localhost me dice esto
Forbidden
You don\’t have permission to access / on this server.
Un tutorial estupendo pero yo tengo un problemilla, probando el apache en el navegador me sale este mensaje:Forbidden
You don’t have permission to access /info.php on this server.
algun buen samaritano que quiera ayudar a este novato? gracias.
muy bueno el manual instale php5 con el servidor apache 2.0.x siguiendo los pasos de este gran manualito y muy interesante y me salio todo Ok, felicitaciones al autor que esta muy buenisima su documentacion
Muy buen tutorial, felicidades!!
Como hago para que me rediriga directo al index.php cuando escribo en la barra del explorador http://dfun.servegame.com???
es necesario utilizar el apache si ya cuento con MYSQL Y SQL en LINUX, es urgente por fa
Interezante tutorial, aqui les dejo una pagina por si quieren profundizar mas http://fidododo.servebeer.com/mizona/
Por qué no sacais un nuevo tutorial con versiones más recientes de PHP?
Por favor alguien me puede decir que puedo hacer con este problema!!!! AYUDAAA!!!!!he revisado la instalacion como 3 o 4 veces y creo que todo esta bien, hasta he aprendido y todo como modificar los permisos de las carpetas con windows, pero nada me sigue diciendo que no tengo acceso…ES TRISTE PEDIR PERO MAS TRISTE ES ROBAR…DARME UNA AYUDITAA…..
Forbidden
You don’t have permission to access /info.php on this server
hola, ya realice todos los pasos, pero necesito subir la pagina en una intranet. ¿como puedo hacer para que me pagina se vea desde cualquier computadora
amigos si sale todo con calma
yadira te puedo ayudar si deseas te dejo mi correo es _: edgar_11_67@hotmail.com
Mil gracias por el tutorial!. Todo funcionó perfectamente!. Un cordial saludo y felices fiestas!.
Tengu un probremita todo me funcuona pero tengu un aviso al final del index de phpMyAdmin
que dice lo siguiente:
“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.”
Como lo puedo corregir Gracias
Hola a todos:
Necesito ayuda, cuando ago lo de phpMyAdim y voi a:
http://localhost/phpMyAdmin/
Me aparece esto:
no se pudo cargar la extensión mysql,
por favor revise su configuración de PHP.
Documentación
Tengo un problema, al instalar el Apache 2.2.3, el ultimo publicado en WEB, Instalo el PHP 5,,, luego voy a ejecutar el Apache y sale el siguiente error “httpd.exe: Syntax error in line 67 of C:/Apache/conf/httpd.conf: Cannot load c:/Server/php5.2/php5apache2.dll into server: No se puede encontrar el m\xf3dulo especificado.”,, realize toda la configuracion al pie de la letra,,, que pasa,, les agradeceria su ayuda.
Hola miren instlato perfectamente
y apache esta corriendo pero cuando configuro para el PHP 5 no puedo levantar los servicios, veo el registro de sucuesos de winwp y me dice que no pudo cargar un modulo del php5apache2.dll y no puedo levantar los servicios de apache..que puedo hacer plis ayudenme… ahora solo trabajo con apache ya que elimine las mofificaciones al conf de apache…
atte.
Yo tengo el mismo problema que tiene Alex y es igual, que podemos hacer… por favor auxilio….. necesito el servicio arriva con php…
Gracias…
Problema arreglado….. pero no lo hice como me dices tu Escondido si que descarge desde apache la actualizacion de esa libreria y un archivo mas el “httpd.exe.manifest” lo copie en el Bin de Apache en mi caso
F:/Apache/bin/
y listo modifique el codigo por:
**************************************
LoadModule php5_module “c:/php5/php5apache2.dll”
AddType application/x-httpd-php .php
**************************************
y funciono.. gracias de todas maneras….
Muchas gracias, el tutorial es super claro, lo use instalando versiones diferentes (apache1,2, php4,5, etc) y no he tenido problemas, salvo el de mover los .mib a usr/mib, pero ahora tengo una duda.
He leido ya como implementar los hosts virtuales, sin embargo estoy pensando una aplicacion donde cada usuario registrado tenga una “pagina personal”, suena ambicioso pero espero tener al menos 5000 usuarios minimo, editar el .conf no es viable, y tampoco quiero hacer una funcion para crear un directorio misitio.com/usuario y meter ahi un template de index pues estaria aborrotado de carpetas, hay alguna forma de hacerlo de manera que no tenga que crear carpetas para c/usuario y ademas q de preferencia el acceso sea del tipo mencionado anteriormente (…com/usuario1, …com/usuario2)
Muchas gracias, el tutorial es super claro, lo use instalando versiones diferentes (apache1,2, php4,5, etc) y no he tenido problemas, salvo el de mover los .mib a usr/mib, pero ahora tengo una duda.
He leido ya como implementar los hosts virtuales, sin embargo estoy pensando una aplicacion donde cada usuario registrado tenga una “pagina personal”, suena ambicioso pero espero tener al menos 5000 usuarios minimo, editar el .conf no es viable, y tampoco quiero hacer una funcion para crear un directorio misitio.com/usuario y meter ahi un template de index pues estaria aborrotado de carpetas, hay alguna forma de hacerlo de manera que no tenga que crear carpetas para c/usuario y ademas q de preferencia el acceso sea del tipo mencionado anteriormente (…com/usuario1, …com/usuario2).
De antemano gracias.
Todo funciona bien… muchas gracias…pero falta algo lo tuve que haber hexo mal, trato de abrir un archi *.php lo ejecuta pero la pagina queda en blanco… hize el ejemplo del
y no me aparece nada… tampoco me da error…. que puedo hacer he hexo esto y revisado como 20 veces…. se los agradeceria muxo…….
De ante mano gracias.
La verdad me salio un error sera por que realize la prueba de una manera muy rapida, pero provare de nuevo. Gracias!
Muy interesante toda la información!
holas, soy pedro d mexico, y al correr el apache me dice no se encontre la ruta, servidor/php/php5apache.dll, q hago? ayudaaaaaa
ponele # adelante XD
osea #Load…
hola a todos muy buen tuto, ahora, ya termine de configurar todo lo q es apache y php paso a paso y no me aparece la pantalla de php, me aparece la pantalla para bajar: abrir, guardar y cancelar… que significa o q estoy haciendo mal.. thx xD
Hola wenas Gente esta pagina me ah ayudado algunas dudas que tenia antes como por ejemplo yo use
Apache 2.0.59
Php 5.2 (Zip de 9.0kb de php.net)
Mysql 4.1 (15mb version .msi)
y phpmyadmin 9.2
bueno ya he hecho todo lo que en este manual nos explica ahora me he quedado atorado en donde le doy http://localhost/phpmyadmin/index.php
ahi me cargo pero me aparece este error pero antes me dice que vaya a privileges y ahi me dice esto
Bienvenido a phpMyAdmin 2.9.2
La razón más probable es que usted no creó un archivo de configuración. Utilice setup script para crear una.
Error
MySQL ha dicho: Documentación
#1045 - Access denied for user ‘root’@'localhost’ (using password: NO)
ya de ahi me voy a un enlace que dice que configure los scripts ya estoy ahi pero no se que hacer ahi me aparece el usario root sin pass que hago si me pudieran ayudar porfavor. bueno saludos a todos ![]()
bueno me aparece como unos formularios estan en ingles pero no se xD y ademas me dice Server y un cuadro q dice Add donde le doy o que hago??
muy buenas. saludos. he seguido paso por paso el manual y funciona el apache 2.2.4, el php 5.2.0 y mySQL server 5.0 . cargan las paginas en localhost, incluso desde red. he creado una base de datos con el administrador de mysql . Mi problema es con el php, el cual parece estar funcionando bien. ejecuta sin problemas el phpinfo(). sale la informacion de php . puedo crear y usar variables. pero hay un par de cosas que he tratado de hacer y no funcionan por nada. la primera es que no toma en cuenta los caracteres de saltodelinea. por ejemplo echo “hola \n tonto” me muestra hola tonto (seguido) y tampoco funcionan los formularios, al presionar el boton send la pagina no recibe las variables que se supone debería. no se si me habra faltado algo en la configuracion. pero estoy que le doy vueltas y no consigo dar con el problema. ojala alguno me pueda prestar ayuda. muchas gracias.
muy bueno
Seria bueno q agregues perl al tutorial, y que lo separes un poco… queda algo confuso una página tannnnn larga.
gracias
POR FAVOR, SAQUEN UN TUTORIAL MAS ACTUALIZADO CON LAS ÚLTIMAS VERSIONES QUE YA SE HACE CUESTA ARRIBA CONSEGUIR LAS VERSIONES QUE MENCIONA ESTE TUTORIAL PARA QUE SE INSTALE TODO BIEN…GRACIAS
ULTIMAS VERSIONES AQUI
de donde bajo el programa manager para windows que no sea la pagina que pusieron aca por que no funciona. alguna otra pagina?
esta muy bien hecho, todo funciona muy bien, gracias, soy un usuario principiante en esto de los servidores y creeme que me funciono a la primera, espero sigas con este tipo de trabajos que laverdad sirven muchisimo
hola y como puedo ver mi pagina desde otra pc por internet?
Necesito las versiones porque las que no las encuentro en los sitios oficiales, me pueden mandar unos links para descragar estar versiones
chido por esta pagina
hola a todos, necesito ayuda urgente, acabo de instalar el mysql 4.1 y no logro hacer que funciones con el php, ya tengo creada una tabla en mysql y quiero visualizarla pero al parecer algo en la configuracion del mysql está mal, lo cierto es que cuando ejecuto la web (que contiene el codigo php con mysql) no me sala absolutamente nada, todo en blanco…… por favor alguien puede ayudarme…. necesito en cuanto antes esta informacion.. gracias de antemano
Guía actualizada: http://servidor.hostrocket.com
cuando uso xamp-control panel el apache no esta running :S.
Hola.
Hice todo tal cual dice en el articulo, pero al ejecutar localhost me dice que no tengo permisos para ingresar al servidor.
Agradezco su ayuda.
En httpd del apache cuando se cambia el DocumentRoot a c:Servidor/WEB, tambien es necesario cambiar el directorio del apache:
# This should be changed to whatever you set DocumentRoot to.
#
#
Así me dejo de presentar el problema del acceso.
El sitio web rechazó mostrar esta página web
HTTP 403
Causas más probables:
Este sitio web requiere un inicio de sesión en él.
Puede intentar lo siguiente:
Regresar a la página anterior.
Más información
Este error (HTTP 403 Prohibido) significa que Internet Explorer pudo conectarse al sitio web, pero no tiene permiso para ver la página web.
Para obtener más información sobre errores HTTP, consulte la Ayuda.
Tengo 3 archivos .php, los tres acceden a una base de datos MySQL; no existe algun error en los archivos, sin embargo cuando presiono F12 para ver la pag.
me aparece un cuadro de mensaje que me indica que no he guardado los archivos menu.php o lista.php…. ¿Qué es lo que pasa?…despues de eso no abre la pag,,sino solamente me regresa a Dreamweaver… HELPME!!!!!!!
envienme su respuesta al e-mail: ach_7@hotmail.com
otra cosas mas:
abro un archivo…
despues abro otro… y este segundo toma el nombre del archivo anteriormente abierto..
Du musst ein Fachmann sein - wirklich guter Aufstellungsort, den du hast!
Grande sito!!
i’am really impressed!!
pagine piuttosto informative, piacevoli =)
Saludos, hice todo el procedimiento para instalar el Apache y PHP y al momento de abrir el Apache tengo deshabilitado los botones de Start, Stop, Restart. Alguien sabe cual es el problema? Gracias.
Interesting comments.. ![]()
maraco
Excelente manual, creemos que vale la pena llamarlo curso,
por lo que lo hemos incorporado a nuestra base de datos
de los mejores cursos en la Web.
Saludos,
Rossana Aravena
Administrador
http://www.educagratis.cl
hola… he seguido al pie de la letra este tutorial, por lo cual es muy sencillo y facil de seguir…
pero tengo un problemita y este es que estoy confundido al configurar el archivo http.conf pues tengo instalado el apache 2.0.50 y dentro de la carpeta C:\Archivos de programa\Apache Group hay otras dos carpetas una llamada apache y otra apache2 y dentro de cada una hay una carpeta llamada conf alli es donde se encuentra el archivo http.conf el problema es que no se cual es para modificarlo…. seleccione el primero de la carpeta apache y seguir los pasos pero despues de encontrar el DocumentRoot no aparece como en el curso este simplemente aparece en el que esta en la carpeta apache2… pero en el tutorial pide configurar el de la carpeta apache y no apche2..
una ayudita…. gracias
Hola, si alguien por favor me puede ayudar a saber si me puedo conectar desde mi computador a otro equipo y trabajar en apache, y como.
Holas, soy un cordobés de tan sólo 16 años (xD) que está decidido a estudiar Fp de Informática de grado Medio y luego el superior, y luego ya veré si me coloco o ya hago carrera ^^
Aún no sé mucho de programación ni esas cosas, y apenas sé el uso del html…pero, he oído muhco de Apache, de PHP, de MySQL y se ve que son importantes programas…Así que he decidido seguir el tutorial, pero antes de tenerlo todo hecho y ya poder trastearlo, me gustaría que me dijesen alguna de sus seguras infinidades de posibilidades…Gracias ^^
PD: Dejadme aqui el comentario o bien agregadme miky91_@hotmail.com
he seguido este manual (esta muy bueno) cabo a rabo, todo lo que dicen en el lo he hecho a la perfeccion, mas me da el siguiente error:
“syntax error on line 134 httpd.conf
loadmodule takes two arguments, a module name and the name of a shared objects file to load it from”
este error me aparece cuando quiero hacer la carga del modulo de php5 con apache 2, me podrian ayudar a solucionar este problem? gracias!!!!
tengo algunos problemitas… despues de que he creado el archivo de phpinfo.php
reinicie el apache… pero el
http://localhost/ ya no me cargaba
y cuando puse el http://localhost/phpinfo.php
me salio una opcion de descarga, menos lo que me debio salir.. no se si me pueden ayudar…ATTE
DAvid
Necesito ayuda para instalar un chat php… PhPMyChat … no tengo ni pajotera idea de como hacerlo. Algun manual o ayuda rapida? es urgente! Gracias!!
muy buena la informacion SORPRENDENTE, Ahi Muchas Cosas Que No Entendi Y Me Tocara Chequear En OTROS Sitios Graxias.
–
http://romsmania.ucoz.com/
¡hola! muy bueno el tutorial de instalación. Todo correcto, pero me sale un error cuando quiero acceder a phpMyAdmin. No sé qué es lo que puede fallar… Busco y no encuentro nada por ningún sitio. He repasado todo, pero nada. El error que me sale es:
Hubo errores al iniciar la sesi�n. Por favor, revise los errores en la bit�cora de su PHP y/o servidor web y configure correctamente su instalaci�n PHP.
¿Alguien me puede ayudar? Gracias!!!
Por cierto, mis versiones son:
Apache 2.2 - MySQL 5.0.45 - PHP 5.2.3 y phpMyAdmin 2.10.2
Hola, solo mencionar q el curso esta muy bien, sin embargo para principiantes es recomendable usar el EasyPHP, no coloco la version, por q cambia con el tiempo, solo busquen la mas reciente, ella realiza la instalación de PHP, Apache y MySQL, con PHPMyAdmin, configura muchas de las funciones ma utilizadas, yo le he probado por mucho tiempo y todo es sencillo, saludos..
el tutorial genial pero seriainteresante complementarlo con Postgre, ya que es una alternativa de bbdd, php + Apache + Postgree bajo windows
genial el tutorial, seria muy interesante que tuviera también la forma de instalar y trabajar con Postgre, Apache + PHP + Postgree bajo Windows
excelente tutorial
hola como estan, saben tengo una duda me gustaria y si me hcicieran eun grandisimo favor, estoy trabajando con php 5.0.2 y apache 1.3.33 del wamp5_1.4.2 y quiero subir archivos a el servidor y quiero aumentar el tamaño de los archivos a subir, ya le asigne el directorio en upload_tmp_dir y el tamaño en upload_max_filesize y no cambia, me marca como no value en el phpinfo. y no aumenta el valor delos archivos, si alguien me pudiese ayudar se los agradeceria mucho, mi correo es roquemtz@hotmail.com
Esta exelente este manual sigan adelante
http://www.cards.com.es
esta exelente aqui hay mas
cards.com.es
Esta super chevere el manual, pero los links ya se te quedaron obsoletos (los de descarga).
Me vino de perlas tu manual, mil gracias, por fin pude correr el server con php y mysql. Gracias.
me parece uno de los mejores tutoriales que he seguido para alguna configuracion. solo comentar que utilize versione mas recientes de lo que viene aqui y si funcionan a la perfeccion asi que adelante a todos los que lo necesiten es una buena herramienta. ademas comentar que lo estoy haciendo en win vista y vaya que el vista no me late para nada. saludos
Ojo que para instalar Apache 2.2.6, deben utilizar el modulo php5apache2_2.dll cuando agreguen en LoadModule. Me hizo sufrir un rato, saludos…
Estimados
Administro una plataforma docente, ADECCA y les agradezco la publicación sobre phpadmin y otros. Lamentablemente no he podido bajar el archivo.
Atentamente
todavia siguen abiertas la ayuda tengo un problema, el apache me anda bien, el php tambien el mysql lo instalo y todo perfecto, esta en foco verde todo, ahora el detalle me cuesta en el phpmyadmin, al ejecturlo desde localhost/phpmyadmin me manda : hpMyAdmin -
Error
Cannot load mysql extension. Please check your PHP configuration
ya he quitado las el punto y coma de las configuracion de la libreria, y nada, que mas puedo hacer ya llevo dos instalaciones y nada
hola amigos,
resulta que he instalado My SQL con contraseña para root y kisiera kitarsela para poder trabajar con BDs(ya que My SQL5 no soporta autenticacion HTTP o algo asi no??), ke orden dberia usar??
Gracias..un saludo:D
PD:magnifico trabajo, k pena haberlo encontrado “algo tarde”
Muy buenas a todos.
Mi problema es que quiero activar el slow-query-log.
tengo el paquete XAMPP instalado con todo funcionandoaparentemente bien. Ejecuto el XAMPP Control Panel y le doy al boton para el MySQL, y me abre la ventana del WinMySQLadmin. Para empezar en la pestaña de me dice que MyODBC, Not Found, Driver 3.51 Not Found. (1.¿COME SE ARREGLA PARA QUE VEA EL DRIVER? en el php.ini tengo esto:
…
extension=php_ming.dll
;extension=php_msql.dll
extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
…
)
Luego en la pestaña de tengo el siguiente código:
#This File was made using the WinMySQLAdmin 1.4 Tool
#26/10/2007 9:41:23
#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions
[mysqld]
basedir=c:/xampp/mysql
#bind-address=50.0.232.239
datadir=c:/xampp/mysql/data
#language=c:/xampp/mysql/share/your language directory
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
[WinMySQLadmin]
Server=C:/xampp/mysql/bin/mysqld.exe
user=root
password=YES
slow-query-log=c:/xampp/mysql/slowlog/slowquery.log
long_query_time = 1
. Reinicio el XAMPP con todos los servicios y al abrir el explorador con: http://localhost/phpmyadmin/ –> Mostrar las variables del sistema me dice que
La verdad no lo entiendo. Ejecuto alguna query bastante pesada y no activa ni me carga nada, ni me pone a ON esta variable…
he probado con:
slow-query-log=c:/xampp/mysql/slowlog/slowquery.log
slow-query-log
slow query log
slow_query_log
he modificado el c:\WINDOWS\my.ini que me ha creado el XAMPP .. y nada de nada
¿ALQUIEN ME PUEDE AYUDAR?
HELP ME GOD
MUCHAS GRACIAS y ENHORABUENA POR TODOS LOS COMENTARIOS INTERESANTES QUE HE LEIDO!
tengo un pequello errorsito en el navegador con el apache corriendo
Forbidden
You don’t have permission to access / on this server
como lo soluciono
gracias
Saludos!
Muchas gracias por el post, me ha sido de gran ayuda.
Una abrazo desde chile.
es la primera vez que tengo la oportunidad de configurar un servidor web y lo que leì me deja claro que le pusieron mucho empeño para compartir con todos nosotros estos valiosos conocimientos que son muy claros y sencillos en su contexto por lo cual quedo agradecido espero poder contribuir con algo en lo futuro y en lo personal me gustario no perder el contacto con ustedes nuevamente gracias ….
5 trackbacks en total.