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 »
Muy bueno (al menos la parte que he leido).
Bueno, yo estoy montando un sistema parecido, y era momento de instalar el “phpMyAdmin” y tu ayuda me ha servido de mucho.
Solo un apunte, en el punto “5 - Configurando los usuarios del servidor MySQL”, a la hora de cambiar el usuario por defecto de mysql, se te olvida comentar que para acceder a la direccion “http://localhost:8080/phpmyadmin/index.php”, es necesario haber creado el fichero web.xml
He buscado por mas o menos una semana como configura el apache+php+mysql y las paginas que habia encontrado eran muy malas ya que nunca obtuve resultado con esas configuraciones.
Esta es la unica que me permitio configurar total y satisfactoriamente las aplicaciones, agradezco enormemente al creador de esta pagina ya que me saco de un gran apuro
no tengo todavia ni idea de como se hace una web. vengo enlazada por webmasters v.2.0, y creo q el lenguaje utilizado tanto en el programa como en este artículo es muy tecnico, me explico,… q creo q deberiais hacer mas aclaraciones para que la gente q no es informatica entienda mejor todo, o mas facil. me gustaria q m recomendarais cosillas sobre como y que es lo mas sencillo para aprender a crear un sitio web. GRACIAS. letydj@hotmail.com AGRADECERIA VUESTRA AYUDA O SUGERENCIAS
Un manual estupendo!
Enhorabuena y muchísisimas gracias, de verdad de la buena!
super bueno aunque….
se pueden administrar puertos en apache??? o es solo un web server???
Puaf! excelente tutorial, paso a pas o sencillo y rapido PERFECTO sin palabras!!
TENGO ESTE PROBLEMA
Can’t connect to MySQL server on ‘localhost’ (10061)
Y POR AHI DICE KE NO SE ENCUENTRA EL SERVIDOR
Buenisimo, gracias por poner cosas como éstas que pueden salvarle muuuuchas horas de trabajo.
Mil gracias y sigan así
DE PRIMERA!
por favor ya realice todo estos pasos para apache 2.0.47 pero no me funciono, necesito una guia paso a paso para instalar el servidor apache 2.0.47
muy bueno y antes http://www.enanoracing.tk cargaba toda vuestra pagina en su dirección como si lo ubiesen echo ellos
ferny la verdad un manual muy bueno.
Creo que la mayoria de nosotros, incluido yo, tenemos un problemilla con los tutoriales y es que no leemos bien.
Me lie con la configuracion del httpd. del apache cuando tenia el 2 y lo queria configurar como el 1.
Bueno y asi con todo.
Al final lo solucione poniendome musiquilla lenta para seguir el tutorial paso a paso y no liarme.
saludos :adios:
Exelente Aticulo muy bueno y detallado se sacaron un 100 buenisomo FELICIDADES
solo de secir ke se sale el articulo, viene explicado a la perfeccion.
GRACIAS GRACIAS GRACIAS GRACIAS GRACIAS
ESTE ES EL UNICO MANUAL DE TODA LA INTRNET QUE ME PERMITIO INSTALAR TODO SIN PROBLEMAS, GRACIAS POR AYUDAR A DESCONOCIDOS
Está muy bien
EL ARTICULO ESTA MUY BUENO Y TIENE MUY BUENOS CONSEJOS RESPECTO AL TEMA. DEFINITIVAMENTE ES DE MUCHA AYUDA, MUCHAS GRACIAS!!
me parece muy bueno, este pequeño tutorial, pero me gustaria que publicaran más documentación
Excelente explicación al fin pude echar a andar el php, solo que tengo algunas dudas, anteriormente instalé PHPTriad, se supone que instalo todo, pero no me gusto como quedo así que instalé todo y seguí paso a paso sus instrucciones, al llegar a la instalacion de MySql, no salió la ventan del usuario, me baje las versiones del MySQL que dicen Uds, baje el phpadmin y le doy http://localhost/phpmyadmin/index.php
y me tira este error
Bienvenido a phpMyAdmin 2.2.3
Error
MySQL ha dicho:
Can’t connect to MySQL server on ‘localhost’ (10061)
espero puedan ayudarme, saludos y felicidades
en esta seccion no corre el sistema produce error por que es le quito el comando y corre pero no abre paginas php
LoadModule php4_module c:/php/sapi/php4apache2.dll
enviar respuesta al :limberhz@hotmail.com
Esta Muy bueno (y)
Demasiado BUENO!!! exelente para poder instalar estas aplicaciones y poder dejar funcionando todo perfectamente!!
Hola saben este la informacion es excelente quiesiera que me envien informacion de php ya que me encuentro estudiando a fondo lo que es PHP
gracias
Muchas gracias y enhorabuena por todo al creador, ojalá m encontrase gente tan desinteresada en la web a diario.
Excelente!!! Gracias por todo….
Que tal, soy Israel Ramirez de Mexico DF, quiero felicitar por este Manual, es excelente la guia paso a paso, no hay otra en su genero.
Gracias.
hola me llamo juana tengo una pagina web pero en html, me gustaria aprender algo php y saber como hacer tablas y poner graficos y lode poner para que se regitresn los usuarios etc etc etc , el caso es que aqui esplicais buien lo que necesita pero soy algo dura de cabeza, hay alguna otra manera algo mas cencillita de hacer php
saludos.
Es un magnifico artículo, me ayudo en todo, primera vez q instalo el php, el apache y el mysql, y todo salio muy bien, gracias por la ayuda
para mi k estoy iniciando fue genial y facil de seguir gracias por la ayuda
a prueba de tontos… todo salio tal cual esta guia y ahora tengo todo funcionando perfectamente, y sin haber instalado packs raros como el Fox Serv o NuSphere, muchas muchas gracias
mas o menos
TENGO EL SIGUIENTE PROBLEMA CON PHPMYADMIN, CONFIGURO EL ARCHIVO config.inc.php, abro la página http://127.0.0.1/phpmyadmin/index.php y me aparece el sig. error: imposible cargar la extensión MySQL,
por favor revise la configuración de PHP.
Documentación
Sigo teniendo problemas con la instalación del phpMyAdmin, estoy instalando sobre XP Prof, instale PHP 5.0 beta sin ningún problema, también MySQL 4.0.18 en Apache 2.0.48 sin problemas, el unico problema es con en phpMyAdmin me marca esto: imposible cargar la extensión MySQL,
por favor revise la configuración de PHP.
Alguien que me pueda ayudar.
Documentación
Creo que PHP 5 no tiene (de momento) soporte para MySQl, o sea que te toca instalarte una versión 4.X.X
Exelente articulo , muy bien escrito y explicado , gracias a el he podido montar,utilizar y familiarisarme con los servidores y su funcionamiento.
la verdad es que no se si para presidente del gobierno serviriais…, lo que esta claro es que para todo esto del apache,el php y el delfinito este del mysql, duraríais más que el pujol.
Muchisimas felicidades y muchas gracias
Genial, todo muy bien explicadito… Gracias
Pues ya lo instale, pero ahora como saco mi sitio a Internet si estoy conectado por Proxy? Gracias
EL tutorail esta excelente.
Buen tuto
exceelente
Probado con las últimas versiones de cada programa(Apache 2.0.49, MySql 4.0.18, Php 4.3.4 y PhpMyAdmin 2.5.6. Que FoxServ PhpTriad!!! Hazlo tu mismo, instala las ultimas versiones y aprende un poco más sabiendo lo que haces!.
Excelente manual, me funcionó a la perfeccion.
Un par de detalles: Debes desactivar el Firewall(en mi caso Norton Internet Security 2004) o configurarlo para que apache tenga acceso a internet.
El mejor manual que he leido:rapido,bien explicado y funciona!!!
CaRLiTrOz
Santiago de Chile
Excelente manual.
Perfecto!
Todo a la primera y sin problemas!!!
^^
Asias!!!
El mejor que he visto!! felicidades!
el el mejor de lared en este momento,
felicitaciones
soy su admirador primario,
chaooo
gracias
Txs, ya tengo el server corriendo :oP
excelente tutorial, ejecute paso a paso las indicaciones y todo funciono a la perfección, muchas gracias y felicidades
Hola soy un usuario que acaba de instalar todo lo que en este tutorial se dice y tengo que agradeceros que lo hayais echo tan claro y tan bien..EL MEJOR tutorial rapido en español que he encontrado en la red. Saludos
este articulo es una bendicion
Es la leche, me habeis resuelto un monton de dudas y es que a mi lo que me falla es el maldito ingles jeje. Yo venia de IIS y me lance a la aventura apache pero me di de morros y hasta ahora no habia podido configurarlo para ponerlo de cara a internet con un poco de seguridad. Lo unico que me queda por hacer es quitar el que no se vean los directorios cuando pones una carpeta sin index, si pudieran ayudarme se lo agradecería de corazón.
Un saludo con la enhorabuena por el articulo. :aplauso:
hola, soy nueva en esto y tengo un problema.
resulta que instale el php triad y no puedo inicializar el mysql se atora ahi y ya no hace nada solo esta leyendo :neurotico ya le intente de varias formas y no puedo.
:’( podrias ayudarme por favor
hola, ya instale segun tu manual y creo que me quedo bien pero al configurar el phpmyadmin en la parte de
$cfg['Servers'][$i]['auth_type']
$cfg['Servers'][$i]['user']
$cfg['Servers'][$i]['password']
le camibe a cookie en la primera y el usuario y la contraseña ok
pero cuando entro me pide usuario y contraseña y al entrar me manda este error
#1130 - Host ‘localhost’ is not allowed to connect to this MySQL server
y bueno dice que las cookies deben estar habilitadas
:stress: mi pregunta es donde las habilito
ademas de que a esto no le entiendo
De la misma forma, en nuestros script 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…..
?>
a donde va????? :neurotico
bueno por lo demas ya quedo solo me falta esto
por favor ayuda :stress:
Estimado cluster estaba revisando este manual de mysql apache y php y es excelente pero tengo un error a la hora de instalar phpmyadmin me sale un error diganme en que pude haber fallado
Parse error: parse error, unexpected T_STRING in c:\archivos de programa\apache group\apache\htdocs\phpmyadmin\config.inc.php on line 43
Gracias por el tutorial. Me ha servido de gran ayuda para instalar todo y ponerlo a funcionar sin volverme loco.
Hola vantha
Leí tu mensaje pero no tengo nada claro. Fijate a ver si en el config.inc.php de tu phpmyadmin tienes esta linea:
[php]$cfg['Servers'][$i]['host'] = ‘localhost’; // MySQL hostname or IP address[/php]
Por otro lado, ¿te funciona MySQL? ¿Has conseguido hacer algún script de prueba que funcione? Mas que nada para saber si es problema de que MySQL está mal instalado o si es otra cosa…
Un saludo
:aplauso: por fin creo que ya quedo muchisimas gracias
ahora mira he instalado el mambo para hacer mi pagina me han dicho que es un administrador de contenido muy bueno pero no tengo ni idea de por donde empezarle, podrias ayudarme con eso?
de antemano gracias no se que hubiese hecho sin tu ayuda :adios:
De nada, me alegro que funcionara.
El mambo ese no lo conozco, no se de que va… ahi no puedo ayudarte, pero puedes preguntar en los foros por si alguien lo maneja.
Un saludo
Srs (y Sras xD) ..
Agradezco los comentarios sobre mi persona .. pero les recuerdo que el tutorial está escrito por y es autor original el Sr. ferny.
Yo sólo he colaborado en la revisión del mismo y aporte de algunas ideas como la inclusión de la instalación del lanzador de Apache (para Apache 1.3.x) .. o del servidor SMTP y lo último sobre la creación del indice para facilitar el seguimiendo del mismo.
Un saludo,
Mensaje Original por Unregistered
hay pasaos myuy erroneos y que van contra la seguridad e integridda del modulo apache y del php dejando muchisos uecos, una buena instalacion no solo es la que funciona, sino la que es estable y no tien agujerazos
Tienes toda la razón. Apenas se hace un pequeño inciso sobre la configuración e PHP “segura” con el comentario sobre “register_globals”. Y un poco se menciona el hecho de crear usuarios nuevos y borrar los que por defecto crea Msyql (ese “root” sin contraseña con todos los privilegios).
Pero, esto no es un manual de configuración de un servidor como para producción sino para desarrollo y primera toma de contacto con el tema en modo local (el que lo use en producción es bajo su responsabilidad). Está orientado al “principiante” (y pese a eso hay gente que queja por qué no está orientado a “no informáticos”) así que todo manual tiene su público y su orientación. Creo que este tutorial cumple su función principal: “empezar con PHP” .. De UDs (los lectores) depende que siguan leyendo los manuales oficiales de todo este tipo de software de servidor y afinen la configuración que dá tanto PHP, Apache, Msyql .. etc -por defecto- y que en este tutorial no se trata en profundidad como mejorarla en cuanto a seguridad o en rendimiento.
Es cierto que hacen falta otros “tutoriales” de la seríe:
“configuración de PHP”
“configuración de Apache”
“configuración de Mysql”
“seguridad en general”
Y otros temas afines .. (para el autor del mensaje o quien quiera ..) te animas?
Voy a sugerir la inclusión en la -guía de instalación- un comentario sobre la configuración por defecto que dejan estos softwares de servidor para que sepan que esto es simplemente el primer paso.
Un saludo,
Gracias Cluster
y Gracias Sr. ferny
me parece un exelecte ayuda para los webmaste felicidades
me parece una exelecte ayuda para los webmaste felicidades
medamucho gusto por el favor garciass
Me parece un página bastante interesante e ilustrativa, sobre todo para aquellos que recién nos iniciamos con este tipo de tecnología.Continuen así…
Leyendo este articulo, creo que podre instalar estas aplicaciones en mi computador, ya que estan bien explicadas de manera sencilla, gracias
Lo he instalado todo y no he tenido problema alguno, tan solo una cuestión me ha quedado pendiente, he configurado el php.ini para poder usar la función mail() pero resulta que cuando quiero enviar un formulario que he insertado en mi página web usando dicha función me dice lo siguiente:
Warning: mail(): “sendmail_from” not set in php.ini or custom “From:” header missing in c:\mis documentos\paginasweb\autentificacion-php\formulario.php on line 72
Es como si no tuviera el php.ini bienconfigurado en lo que se refiere al servidor SMTP ó como si me faltara por rellenar alguno de los campos en la función mail() ya que la línea 72 es precisamente donde aparece dicha función.
Realmente no encuentro respuesta, incluso después de haber instalado Argosoft Mail Server. ¿Es cierto que sin este servidor no puedo gestionar el envío de correo?.
Os agradezco mucho la ayuda prestada.
Un saludo.
Hola
Para corregir tu error, localiza esto en el php.ini
code:
[mail function]
; For Win32 only.
SMTP = localhost; For Win32 only.
;sendmail_from = me@example.com
Lo que tienes que hacer es quitar el ; que hay delante de sendmail_from y poner tu email, de forma que quede así:
code:
[mail function]
; For Win32 only.
SMTP = localhost; For Win32 only.
sendmail_from = email@servidor.com
Obviamente tú pondrías el email que quisieras que aparezca como “Enviado por”
Ah, y claro que necesitas tener instalado el servidor de correo, si no no podrías enviar los email, es necesario tener alguno (p. ej. el Argosoft Mail Server).
Un saludo :adios:
Instale el apache y funciona bien,
pero marca un error cuando instalo el php, el error es el siguiente:
sintaxy error on line 177 of c:/archivos de programa/apache group/apache/conf/httpd.conf
cannot load C:/php/sapi/php4apache.dll into server(31) uno de los dispocitivos vincualods al sistema no funciona:
muy buen sitio, muy comodo de entender, con los datos suficientes como para que cualquier persona entendiera como bajar, instalar y probar php. muy bueno. felicitaciones
Una sola palabra
GRACIAS!
gracias al esfuerzo desinterezado de este tutorial, he podido comprender un aspecto basico de los servidores web.
Me ha gustado, esta expuesto paso a paso sin dejarse nada por el medio, a mas, me ha funcionado a la primera por lo que esta explicado asta para los torpes.
Gracias
Acabe de terminar mi proceso de instalación y me parece genail la forma en que realizan las explicaciones no tube ningun inconveniente. Gracias
Para un principiante como yo, ha sido como la biblia. Después de leerlo, me ha salido pelo, he adelgazado 30 kilos y me he ligado a dos gemelas. En serio. bastante bueno.
Cannot load php4apache.dll into server: (126) no se puede encontrar el modulo especificado, HOLA, SEGUI TODAS LAS INSTRUCCIONES DE ESTE TUTORIAL Y ME MANDA QUE NO ENCUENTRA ESTE PROGRAMA YA REVISE LA CARPETA Y SI SE ENCUENTRA EL PROGRAMA AHI … QUE PUEDE SER ???
El articuloi es muy bueno, yo trabajo para Cemex y la INtranet de una unidad de negocio pequeña a las afueras de la Ciudad es el campo de pruebas Perfecto para probar las herrmaimentas, la mayoria de los pasos funcionan exactamente como biene descrito en el manual, asi que le pongo un 9.5, en una escala de 1 a 10. MUCHAS GRACIAS POR LOS TIPS
Exelente!!
Muchas Gracias!! Son Ustedes muy Amables
Me ha gustado mucho, muy util y facil de entender.
Soy un novato en este lenguaje y me parece muy interesante veo que esta muy bien explicado para lograr lo que se requiere
gracias me ayudaron muchisimo…
ESTE ARTICULO ESTA SUPER CONSIDERO QUE NOS PROPORCIONAN TODOS LOS PASOS NECESARIOS Y QUE MAS SE PUEDE PEDIR HASTA LAS DIRECCIONES PROPORCIONAR PARA FACILITAR LA INSTALACION, Y GRACIAS POR ESTO QUE HACEN YA QUE NORMALMENTE NO SE ENCUENTRAN DOCUMENTOS COMO ESTOS QUE YO DIRIA SOB VALIOSISIMOS
En tutorial excelente, soy usuario de ASP, IIS, Windows … y en cosa de 10 minutos he instalado todo el paquete antes mencionado haciendo rodar un script en php sin tener nociones previas de nada.
Un agradecimiento desde este lado del cable y ojala publiquen mas con esta calidad.
de nuevo gracias.
Este tipo de proyectos hacen creer en la humanidad
esta muy bien he empezado hoy con php leiendome este tutorial y… fenomeno todo bien menos una cosa….. despues de crear una nombre de usuario y contraseña nueva a http://localhost/phpmyadmin/index.php... y borre el root y todos los demas menos el mio, recarge los privilegios, y reconfigure config.inc.php … pues me dijo q vuelva a http://localhost/phpmyadmin/index.php y si la carga ya esta listo para funcionar :)… Bueno el problema es q la cargo pero sale la pagina en blanco.. y ya no sale lo q salia antes.. es normal? si es normal.. solo kiero saber si funciona o no.. me podeis decir en sheting_@hotmail.com muchas gracias.
Gasias, gasias, gasias.
Es impresionante el artículo de instalación del Apache + PHP + MySQL. De una forma clara y directa, se va guiando al futuro administrador (uséase yo) como instalar dichos programas.
Sinceramente, os felicito.
(Procedo a incluiros en mis ‘Favoritos’)
mas q comentar quiero agradecer a la publicación de este artículo porque en mi caso me resultó de gran ayuda e insto a que se siga este ejemplo y se continue con la publicacion de articulos tan productivos como este
Muy Excelente
Gracias.
El tutorial es 100% recomendable.
Todo paso a paso y sin complicaciones.
yo lo hice al pie de la letra y todo salio excelente.
Muchas gracias.
Muy buen tutorial. FANTASTICO
De lo mejor, muy detallado y bastante claro.
La verdad es que este artículo está realmente bien. Me ha ayudado mucho a entender un par de cositas q no tenía muy claras. A ver si en la práctica es igual de sencillo….XD. Gracais
Hola, el tutorial es perfecto, la verdad es que no puedo añadir ningún piropo mas que no se haya dicho aqui.
El único problema que me ha surgido y que nadie es capaz de resolverme es el siguente.
He instalado el PHP-nuke 6.0 en español. Cuando intento dar de alta a un nuevo usuario me sale la típica pantalla con el mensaje de que la cuenta ha sido creada etc … , pero también me sale el siguiente mensaje de error (que a mas de uno también le ha salido según he visto):
[COLOR=red]Warning: mail(): “sendmail_from” not set in php.ini or custom “From:” header missing in C:\….\modules\Your_Account\index.php on line 119[/COLOR].
No hace falta aclarar que tengo instalado el servidor de correo Argosoft Mail Server 1.3, el cual está correctamente configurado y funciona a la perfección con mi cliente de correo habitual.
Además, el fichero [COLOR=blue]php.ini[/COLOR] también está configurado siguiendo las indicaciones del tutorial:
[FONT=courier new][COLOR=red]
[mail function]
; For Win32 only.
SMTP = localhost
; For Win32 only.
sendmail_from = xxxx@ono.com
[/COLOR] [/FONT]
¿A que puede deberse el error? ¿que estoy haciendo mal? :pensando:
Gracias y salu2. :adios:
Me parece muy buen articulo.
Pero tengo una gran duda y problema.
Al borrar los usuarios por defecto de mysql e ingresar uno nuevo con contraseña, en el momento de entrar al comando DOS y tratar de escribir - localhost - username -ppassword me da un error que dice que el Mysql server name ‘localhost’ es Unknwon .Què puedo hacer?
Al momento de correr el apache, aparece que esta corriendo tambien el php 4.3.6 mas no logro ver la pagina info.php como ustedes dicen, me aparece:
< ? phpinfo(); ?>
Tengo window xp, con apache 1.3, cual puede ser el error?? segui todas las indicaciones que comentan ustedes.
Esta pregunta ya fue hecha en el comentario #145, pero la respuesta fue verificar que estuviera corriendo el php (#146 y #147) , en mi caso si esta corriendo, cual puede ser el error????
Saludos y muchas felicidades por este tutorial, esta excelente.
Si estás seguro de que el PHP está funcionando, fijate a ver si el archivo no se llama info.php.txt (que es posible que se llame así si lo has creado en el block de notas). En tal caso renombrarlo a info.php
Tanto quebrarme la cabeza!!!!!!!
Gracias por tu ayuda, seguiremos con la instalacion.
muy bueno, fácil, conciso y efectivo. Seguiré consultando otros manuales sobre el tema en esta página
El manual es perfecto. Una maravilla. Todo ha salido bien a la primera (vamos que no me lo creo ni yo, jejeje)
Mis felicitaciones al creador o creadores.
Gracias de nuevo!!! ![]()
Exelente tutorial muy completo !!
si me pueden ayudar con esto se los agradesco
aun no lo pruebo con win xp
tengo win 98 y al instalar el mysql inicia funciona el mysqladmin abriendo el servicio pero cuando le doy cerrar me dice q no tengo derechos de cerrar el servicio, pareciera q el mysqladmin no abre el servicio como root de localhost sino como root en otra maquina como soluciono esto??
al hacer lo del usuario en mysql, mysqladmin ya no puede iniciar el servicio
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
5 trackbacks en total.