Está en la página 1de 16

1 - Instalacin de Apache - Web oficial: http://www.apache.

org
En primer lugar vamos a distinguir dos tipos de Apache, que se correspondern con las
versiones 1.3.X y 2.0.X de este programa. El motivo de la distincin es que se usan astante
amas versiones dependiendo del sistema operativo y la con!iguracin es ligeramente distinta
en amos. "or e#emplo, amas versiones son estales en sistemas $indo%s X", pero la 2.0.X
puede volverse inestale a#o $indo%s &'. "or tanto, se e(plicar la !orma de con!iguracin
para amos y luego sers t) quien decidas con cual te quedas. As*, si uno te !alla siempre
podrs utili+ar el otro, pues da lo mismo.
,eeremos descargar el Apache en su versin para %indo%s. "ara ello podemos acceder por
la siguiente -./0 http011httpd.apache.org1do%nload.cgi En cualquier caso, podemos encontrar
cualquier archivo necesario en la carpeta httpd/binaries/win32 del servidor que usemos para
la descarga 2pinchar*amos en 3ther !iles y eso nos conducir*a al servidor seleccionado4. /o que
es importante destacar es que lo que hay que destacar son los 5inarios 25inary4 para $indo%s
2$in324, no los cdigos !uente.
1.1 - Caso A: Instalacin de Apache 1.3.X
6i te decides por utili+ar la versin 1.3.X, uscaremos la )ltima versin de este tipo. En la !echa
de actuali+acin de este manual, la )ltima versin estale era la 1.3.33, y el archivo que
tenemos que a#ar es0 apache1.3.33-win32-!"#-nosrc.e!e 7ami8n puede e(istir el mismo
archivo pero con e(tensin msi, en este caso podr*amos a#arlo si disponemos del $indo%s
9nstaller, la venta#a es que ocupa menos.
5ien, una ve+ que lo tengamos, e#ecutamos el instalador y vamos recorriendo las pantallas
hasta que salga una donde nos piden unos datos, en cuyo caso pondremos0
$etwor% &o'ain0 12:.0.0.1
(er)er $a'e0 12:.0.0.1
Ad'inistrator*s +'ail Address0 nuestro e;mail, aunque no es totalmente necesario.
,-n when started 'an-all./ onl. for 'e. 6eleccionamos esta opcin.
/a 9" 12:.0.0.1 es la direccin 9" asociada a nuestra mquina, es decir el host local o
vulgarmente conocido como 0ocalhost. Es importante decir que a la hora de proar tus scripts
en modo local, da igual que pongas 12:.0.0.1 o localhost. <inalmente, recordar que el Apache
se instala por de!ecto en la carpeta0
C:1Archi)os de progra'a1Apache 2ro-p1Apache1
5ien, ahora vamos a instalar el "=". Aseg)rate ahora de tener cerrado el Apache.
1.2 - Caso 3: Instalacin de Apache 2.4.X
"ara esta versin, en la !echa de actuali+cin del manual la )ltima versin disponile era la
2.0.>3, por lo que el archivo que tenemos que a#ar puede ser0 apache2.4.53-win32-!"#-
nossl.e!e 7ami8n puede e(istir el mismo archivo pero con e(tensin msi, en este caso
podr*amos a#arlo si disponemos del $indo%s 9nstaller, la venta#a es que ocupa menos.
5ien, una ve+ que lo tengamos e#ecutamos el instalador y vamos recorriendo las pantallas
hasta que salga una donde nos piden unos datos, en cuyo caso pondremos0
$etwor% &o'ain0 12:.0.0.1
(er)er $a'e0 12:.0.0.1
Ad'inistrator*s +'ail Address0 nuestro e;mail, aunque no es totalmente necesario.
6or All 7sers/ on 8ort "4/ as a (er)ice0 seleccionamos esta opcin.
/a 9" 12:.0.0.1 es la direccin 9" asociada a nuestra mquina, es decir el host local o
vulgarmente conocido como 0ocalhost. Es importante decir que a la hora de proar tus scripts
en modo local, da igual que pongas 12:.0.0.1 o localhost. <inalmente, recordar que el Apache
se instala por de!ecto en la carpeta0
C:1Archi)os de progra'a1Apache 2ro-p1Apache1
5ien, ahora vamos a instalar el "=". Aseg)rate ahora de tener cerrado el Apache.
2 - Instalacin de 898 - Web oficial: http://www.php.net
2.1 - Copia de archi)os
,ependiendo de si estamos instalando una versin ? de "=" o una versin >, seguiremos una
parte o la otra.
2.1.1 - Instalacin de 898:
"rocedemos a descargar el "=" para $indo%s. El archivo est locali+ado en la seccin
,o%nloads, apartado $indo%s 5inaries, y es el @ip "acAage 2no el installer, aunque 8ste ocupe
menos luego no nos servir4. "ara la versin ?.3.10, que es la versin disponile a !echa de
actuali+acin de este manual, es0 "=" ?.3.10 +ip pacAage B:,?0>CD. 6eg)n vayan saliendo
nuevas versiones podrs irlas encontrando en la citada seccin do%nloads.
-na ve+ descargado todo el @9", nos creamos una carpeta en el sitio donde queramos instalar
los archivos del servidor 2"=", Ey6F/...4, por e#emplo nos creamos una carpeta en la ra*+ del
disco duro y que quede as*0 C:1(er)idor1 Ahora e(traemos los archivos del @9" de "=" dendro
de esa carpeta. En este caso se crea la carpeta C:1(er)idor1php-:.3.14-Win321 pero como no
nos gusta su nomre procedemos a renomrarla a C:1(er)idor18981
G ahora hay que coger el php:ts.dll 2locali+ado en C:1(er)idor18981php:ts.dll4 y copiarlo al
directorio 6ystem 2en $indo%s &(4 o 6ystem32 2H7,2000,X",20034 de la carpeta del $indo%s.
6i hay otro archivo en 6ystem o 6ystem32 lo soreescriimos. 9gualmente coger los archivos
que estn en la carpeta C:1(er)idor18981dlls1 y copiarlos a la carpeta 6ystem o 6ystem32
igual que hicimos con el archivo php?ts.dll
2.1.2 - Instalacin de 8985
"rocedemos a descargar el "=" para $indo%s. El archivo est locali+ado en la seccin
,o%nloads, apartado $indo%s 5inaries, y es el @ip "acAage 2no el installer, aunque 8ste ocupe
menos luego no nos servir4. "ara la versin >.0.3, que es la versin disponile a !echa de
actuali+acin de este manual, es0 "=" >.0.3 +ip pacAage B:,?33CD. 6eg)n vayan saliendo
nuevas versiones podrs irlas encontrando en la citada seccin do%nloads.
-na ve+ descargado todo el @9", nos creamos una carpeta en el sitio donde queramos instalar
los archivos del servidor 2"=", Ey6F/...4, por e#emplo nos creamos una carpeta en la ra*+ del
disco duro y que quede as*0 C:1(er)idor1 ,entro de esta carpeta nos creamos otra carpeta y la
llamamos "=". /uego e(traemos los archivos del @9" dendro de esa carpeta "=", tal que los
contenidos del @9" quedarn dentro de la ruta C:1(er)idor18981
G ahora hay que coger el todos los archivos ,// locali+ados en la carpeta principal
C:1(er)idor18981 y copiarlos al directorio 6ystem 2en $indo%s &(4 o 6ystem32
2H7,2000,X",20034 de la carpeta del $indo%s 2los archivos ,// contenidos en la carpeta EX7
no hace !alta copiarlos4.
2.2 - Config-racin del archi)o php.ini
9gual que el paso anterior, hay pequeIas di!erencias dependiendo de si estamos instalando
"="? o "=">, asi que eli#e tu caso.
2.2.1 - Instalacin de 898:
El siguiente paso es con!igurar el php.ini. .enomramos o copiamos el archivo
C:1(er)idor18981php.ini-dist y le ponemos php.ini Ahora lo editamos con el mismo locA de
notas. 6i lo necesitramos 2lee antes la e(plicacin4, editamos la l*nea registerJgloals K 3!! y
la colocamos el valor0 registerJgloals K 3n
Qu hago con register_globals? ON u OFF?
Activar esta directiva nos permite asumir que las variales son gloales y pueden llegar por
cualquier m8todo 2"367, LE7, M33C9E, 6E.NE., etc4. As*, por e#emplo, si utili+amos una
variale gloal de sesin o cooAie se puede suplantar !cilmente mediante una variale por url,
con lo cual nuestro script no es seguro. -n uen programador de "=" tendr*a la directiva en
3<< y usar*a los arrays gloales 2O=77"JXJNA.64 o los supergloales OJ"367, OJLE7, etc.,
que estn disponiles a partir de la versin ?.1.X de "=". PG por qu8Q "ues por esos temas de
seguridad en los script y porque deemos acostumrarnos a no mane#ar variales gloales ya
que en un !uturo el "=" tendr la opcin en 3<< por de!ecto y no podremos camiarla. 6in
emargo, por temas de compatiilidad con script antiguos o que hagan uso de variales
gloales, podr*a interesarnos activar esta caracter*stica, pero repito que lo deseale ser*a
tenerla en 3<< y hacer uso de los arrays gloales o supergloales.
A continuacin vamos a indicar a "=" dnde se guardan las e(tensiones. ,entro del php.ini
uscamos e!tensiondir y le ponemos la carpeta que contiene los archivos php!!!.dll, que
por de!ecto es la carpeta e(tensions dentro de "=". I;8<,=A$=+: durante toda la
con!iguracin de directorios, dees utili+ar esta arra R1R y no esta RSR, adems de ponerlo entre
comillas. 3 sea, que dee quedar as*0
T ,irectory in %hich the loadale e(tensions 2modules4 reside.
e(tensionJdir K RM016ervidor1"="1e(tensions1R
Adems podemos activar las e(tensiones que queramos o necesitemos, para lo cual uscamos
Windows +!tensions y para cargar las e(tensiones les quitamos el T de delante. "or e#emplo,
si quisi8ramos cargar la e(tensin gd2.dll 2para mane#ar las !unciones "=" relativas a
imgenes4 deer*amos camiar Te(tensionKphpJgd2.dll por e(tensionKphpJgd2.dll "uedes ver
para qu8 sirve cada e(tensin en el Eanual o!icial de "=". Momo nota adicional, resaltar que
hay algunas e(tensiones que requieren de lirer*as e(tra que no vienen en el paquete completo
de "=", y para hacerlas !uncionar tendremos que uscar dichas lirer*as. Ho actives todas las
lirer*as a diestro y siniestro porque luego saldrn errores de que no se encuentra tal archivoT
antes de instalar una lirer*a, compruea que en la carpeta de "=" tienes los archivos ,//
correspondientes.
Ahora, si vamos a hacer prueas con upload de archivos via =77", deemos indicar el
directorio donde los archivos se almacenarn temporalmente. "ara ello uscamos
-ploadt'pdir y le damos el valor de una carpeta que e(ista. "or e#emplo, en nuestro
directorio M0S6ervidorS"="S creamos una carpeta uploads, por lo que quedar algo as*0
T 7emporary directory !or =77" uploaded !iles 2%ill use system de!ault i! not
T speci!ied4.
uploadJtmpJdir K RM016ervidor1"="1uploads1R
6i queremos camiar el tamaIo m(imo de los archivo que pueden suirse via =77",
uscamos -pload'a!filesi>e y camiamos el valor por de!ecto que trae, 2E 22 E54, por el
que queramos. Ho se recomienda poner un valor alto.
T Ea(imum allo%ed si+e !or uploaded !iles.
uploadJma(J!ilesi+e K 2E
"ara traa#ar con sesiones, deemos especi!icar un directorio donde se guarden los archivos
temporales. Al igual que 2 pasos antes, uscamos session.sa)epath y le damos el valor de
un directorio que e(ista 2o lo creamos40
session.saveJpath K RM016ervidor1"="1sessions1R
A continuacin copiamos el php.ini a la carpeta C:1Windows1 o C:1Win$=1 seg)n nuestra
versin de $indo%s.
UAhora vamos a decirle al Apache que tenemos el "="V
2.2.2 - Instalacin de 8985
El siguiente paso es con!igurar el php.ini. .enomramos o copiamos el archivo
C:1(er)idor18981php.ini-dist y le ponemos php.ini Ahora lo editamos con el mismo locA de
notas. 6i lo necesitramos 2lee antes la e(plicacin4, editamos la l*nea registerJgloals K 3!! y
la colocamos el valor0 registerJgloals K 3n
Qu hago con register_globals? ON u OFF?
Activar esta directiva nos permite asumir que las variales son gloales y pueden llegar por
cualquier m8todo 2"367, LE7, M33C9E, 6E.NE., etc4. As*, por e#emplo, si utili+amos una
variale gloal de sesin o cooAie se puede suplantar !cilmente mediante una variale por url,
con lo cual nuestro script no es seguro. -n uen programador de "=" tendr*a la directiva en
3<< y usar*a los arrays gloales 2O=77"JXJNA.64 o los supergloales OJ"367, OJLE7, etc.,
que estn disponiles a partir de la versin ?.1.X de "=". PG por qu8Q "ues por esos temas de
seguridad en los script y porque deemos acostumrarnos a no mane#ar variales gloales ya
que en un !uturo el "=" tendr la opcin en 3<< por de!ecto y no podremos camiarla. 6in
emargo, por temas de compatiilidad con script antiguos o que hagan uso de variales
gloales, podr*a interesarnos activar esta caracter*stica, pero repito que lo deseale ser*a
tenerla en 3<< y hacer uso de los arrays gloales o supergloales.
A continuacin vamos a indicar a "=" dnde se guardan las e(tensiones. ,entro del php.ini
uscamos e!tensiondir y le ponemos la carpeta que contiene los archivos php!!!.dll, que
por de!ecto es la carpeta e(t dentro de "=". I;8<,=A$=+: durante toda la con!iguracin de
directorios, dees utili+ar esta arra R1R y no esta RSR, adems de ponerlo entre comillas. 3 sea,
que dee quedar as*0
T ,irectory in %hich the loadale e(tensions 2modules4 reside.
e(tensionJdir K RM016ervidor1"="1e(t1R
Adems podemos activar las e(tensiones que queramos o necesitemos, para lo cual uscamos
Windows +!tensions y para cargar las e(tensiones les quitamos el T de delante. "or e#emplo,
si quisi8ramos cargar la e(tensin gd2.dll 2para mane#ar las !unciones "=" relativas a
imgenes4 deer*amos camiar Te(tensionKphpJgd2.dll por e(tensionKphpJgd2.dll "uedes ver
para qu8 sirve cada e(tensin en el Eanual o!icial de "=". Momo nota adicional, resaltar que
hay algunas e(tensiones que requieren de lirer*as e(tra que no vienen en el paquete completo
de "=", y para hacerlas !uncionar tendremos que uscar dichas lirer*as. Ho actives todas las
lirer*as a diestro y siniestro porque luego saldrn errores de que no se encuentra tal archivoT
antes de instalar una lirer*a, compruea que en la carpeta de "=" tienes los archivos ,//
correspondientes.
I;8<,=A$=+0 la lirer*a php'.s?l.dll es la que permite mane#ar las !unciones relacionadas
con Ey6F/, y por de!ecto en "="> viene desactivada, por tanto vamos a activarla de la !orma
que indicamos antes0 uscamos Te(tensionKphpJmysql.dll y le quitamos el T de delante.
Ahora, si vamos a hacer prueas con upload de archivos via =77", deemos indicar el
directorio donde los archivos se almacenarn temporalmente. "ara ello uscamos
-ploadt'pdir y le damos el valor de una carpeta que e(ista. "or e#emplo, en nuestro
directorio M0S6ervidorS"="S creamos una carpeta uploads, por lo que quedar algo as*0
T 7emporary directory !or =77" uploaded !iles 2%ill use system de!ault i! not
T speci!ied4.
uploadJtmpJdir K RM016ervidor1"="1uploads1R
6i queremos camiar el tamaIo m(imo de los archivo que pueden suirse via =77",
uscamos -pload'a!filesi>e y camiamos el valor por de!ecto que trae, 2E 22 E54, por el
que queramos. Ho se recomienda poner un valor alto.
T Ea(imum allo%ed si+e !or uploaded !iles.
uploadJma(J!ilesi+e K 2E
"ara traa#ar con sesiones, deemos especi!icar un directorio donde se guarden los archivos
temporales. Al igual que 2 pasos antes, uscamos session.sa)epath y le damos el valor de
un directorio que e(ista 2o lo creamos40
session.saveJpath K RM016ervidor1"="1sessions1R
A continuacin copiamos el php.ini a la carpeta C:1Windows1 o C:1Win$=1 seg)n nuestra
versin de $indo%s.
UAhora vamos a decirle al Apache que tenemos el "="V
2.3 - Config-racin del archi)o httpd.conf de Apache
Ga que al inicio hicimos una distincin 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 gestin de los
mdulos es distinta en amas versiones, por lo que la con!iguracin no es id8ntica. Asimismo
camia algo la con!iguracin si se trata de "="? o "=">, asi que tenemos ? casos posiles
cominando las dos versiones de Apache y las dos de "=". =ay que editar el archivo
httpd.conf que encontramos en la carpeta Conf dentro del directorio del Apache.
2.3.1 - Caso A: httpd.conf para Apache 1.3.X
5uscamos &.na'ic (hared <b@ect A&(<B (-pport que es donde se cargan los mdulos. Ah*
vamos a cargar el mdulo de "=" para Apache, dando la direccin del archivo php?apache.dll
2"="?4 o php>apache.dll 2"=">4 que lo contiene. Encontramos hasta un e#emplo0
W E(ample0
W /oadEodule !ooJmodule modules1modJ!oo.so
W
G ahora aIadimos #usto dea#o0
; 6i estamos instalando 898:0
/oadEodule php?Jmodule M016ervidor1"="1sapi1php?apache.dll
; 6i estamos instalando 89850
/oadEodule php>Jmodule M016ervidor1"="1php>apache.dll
,e tal manera que para 898: tiene que quedar as*0
W E(ample0
W /oadEodule !ooJmodule modules1modJ!oo.so
W
/oadEodule php?Jmodule M016ervidor1"="1sapi1php?apache.dll
G para 8985 tiene que quedar as*0
W E(ample0
W /oadEodule !ooJmodule modules1modJ!oo.so
W
/oadEodule php>Jmodule M016ervidor1"="1php>apache.dll
Ahora a#amos un poco por el httpd.con! y llamamos al mdulo 'odphp:.c en caso de que
estemos instalando 898: o al mdulo 'odphp5.c si estamos instalando 8985, de tal
manera que para "="? quede as*0
MlearEodule/ist
AddEodule modJphp?.c
WAddEodule modJvhostJalias.c
G para "="> dee quedar as*0
MlearEodule/ist
AddEodule modJphp>.c
WAddEodule modJvhostJalias.c
Nale, ahora uscamos en el httpd.con! el modulo modJdir.c y nos sale esto0
X9!Eodule modJdir.cY
,irectory9nde( inde(.html
X19!EoduleY
Eodi!icamos la l*nea central para que si entramos en un directorio tipo
http://12C.4.4.1/directorio/ nos autoe#ecute el inde( predeterminado 2si e(iste4 y no nos salga
un mensa#e de error. "uedes usar ms nomres si lo pre!ieres. 6e e#ecutarn por orden0 si no
encuentra el primero, pasa al segundoT 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 inde(.htm y un inde(.php, por de!ecto se e#ecutar el
inde(.htm ya que est antes.
,irectory9nde( inde(.html inde(.htm inde(.php inde(.php3 inde(.php? inde(.phtml
Ahora le aIadimos dea#o estas l*neas 2en la primera de ellas, si estamos instalando "=">
tami8n podemos aIadir la e(tensin .php> adems de las que aparecen40
Add7ype application1(;httpd;php .php .php3 .php? .phtml
Add7ype application1(;httpd;php;source .phps
/a primera indica las e(tensiones que sern interpretadas por el Apache. "or e#emplo podemos
aIadir la e(tensin .htm o .html para que el Apache e#ecute el cdigo "=" contenido en esas
pginas 2es decir, el uso de cdigo "=" no est limitado e(clusivamente a archivos Z."="4. /a
segunda sirve para que si entras en una pgina lo?-esea.phps entonces se muestra el cdigo
"=" a color, muy )til si queremos por e#emplo mostrar el cdigo !uente a color en una pgina.
,e tal !orma que al !inal todo queda as*0
X9!Eodule modJdir.cY
,irectory9nde( inde(.html inde(.htm inde(.php inde(.php3 inde(.php? inde(.phtml
Add7ype application1(;httpd;php .php .php3 .php? .phtml
Add7ype application1(;httpd;php;source .phps
X19!EoduleY
El directorio predeterminado para guardar nuestras pginas es el htdocs del Apache0
C:1Archi)os de progra'a1Apache 2ro-p1Apache1htdocs1
"ero podemos camiarlo !cilmente. 5uscamos &oc-'ent,oot y nos sale esto0
,ocument.oot RM01Archivos de programa1Apache Lroup1Apache1htdocsR
Hosotros sustituimos la carpeta htdocs del Apache por la que queramos. 7odos los archivos
que vayas a proar con el Apache deern estar locali+ados en esta carpeta. "or e#emplo nos
creamos una carpeta $E5 dentro del directorio del servidor0
,ocument.oot RM016ervidor1$E51R
G ya podemos guardar el archivo httpd.con!
2.3.2 - Caso 3: httpd.conf para Apache 2.4.X
5uscamos &.na'ic (hared <b@ect A&(<B (-pport que es donde se cargan los mdulos. Ah*
vamos a cargar el mdulo de "=" para Apache, dando la direccin del archivo
php?apache2.dll 2"="?4 o php>apache2.dll 2"=">4 que lo contiene. Encontramos hasta un
e#emplo0
W E(ample0
W /oadEodule !ooJmodule modules1modJ!oo.so
W
G ahora aIadimos #usto dea#o0
; 6i estamos instalando 898:0
/oadEodule php?Jmodule M016ervidor1"="1sapi1php?apache2.dll
; 6i estamos instalando 89850
/oadEodule php>Jmodule M016ervidor1"="1php>apache2.dll
,e tal manera que para 898: tiene que quedar as*0
W E(ample0
W /oadEodule !ooJmodule modules1modJ!oo.so
W
/oadEodule php?Jmodule M016ervidor1"="1sapi1php?apache2.dll
G para 8985 tiene que quedar as*0
W E(ample0
W /oadEodule !ooJmodule modules1modJ!oo.so
W
/oadEodule php>Jmodule M016ervidor1"="1php>apache2.dll
El directorio predeterminado para guardar nuestras pginas es el htdocs del Apache0
C:1Archi)os de progra'a1Apache 2ro-p1Apache1htdocs1
"ero podemos camiarlo !cilmente. 5uscamos &oc-'ent,oot y nos sale esto0
W
W ,ocument.oot0 7he directory out o! %hich you %ill serve your
W documents. 5y de!ault, all requests are taAen !rom this directory, ut
W symolic linAs and aliases may e used to point to other locations.
W
,ocument.oot RM01Archivos de programa1Apache Lroup1Apache1htdocsR
Hosotros sustituimos la carpeta htdocs del Apache por la que queramos. 7odos los archivos
que vayas a proar con el Apache deern estar locali+ados en esta carpeta. "or e#emplo nos
creamos una carpeta $E5 dentro del directorio del servidor0
,ocument.oot RM016ervidor1$E51R
"or lo que construiremos toda nuestra pgina dentro de ese directorio, que equivale al
directorio ra*+ de nuestro host local.
Ahora uscamos el &irector.Inde! y nos sale algo como esto0
W
W ,irectory9nde(0 sets the !ile that Apache %ill serve i! a directory
W is requested.
W
W 7he inde(.html.var !ile 2a type;map4 is used to deliver content;
W negotiated documents. 7he EultiNie%s 3ption can e used !or the
W same purpose, ut it is much slo%er.
W
,irectory9nde( inde(.html inde(.html.var
Eodi!icamos la )ltima l*nea para que si entramos en un directorio tipo
http://12C.4.4.1/directorio/ nos autoe#ecute el inde( predeterminado 2si e(iste4 y no nos salga
un mensa#e de error. "uedes usar ms nomres si lo pre!ieres. 6e e#ecutarn por orden0 si no
encuentra el primero, pasa al segundoT 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 inde(.htm y un inde(.php, por de!ecto se e#ecutar el
inde(.htm ya que est antes.
,irectory9nde( inde(.html inde(.htm inde(.php inde(.php3 inde(.php? inde(.phtml
inde(.html.var
Ahora le aIadimos dea#o estas l*neas 2en la primera de ellas, si estamos instalando "=">
tami8n podemos aIadir la e(tensin .php> adems de las que aparecen40
Add7ype application1(;httpd;php .php .php3 .php? .phtml
Add7ype application1(;httpd;php;source .phps
/a primera indica las e(tensiones que sern interpretadas por el Apache. "or e#emplo podemos
aIadir la e(tensin .htm o .html para que el Apache e#ecute el cdigo "=" contenido en esas
pginas 2es decir, el uso de cdigo "=" no est limitado e(clusivamente a archivos Z."="4. /a
segunda sirve para que si entras en una pgina lo?-esea.phps entonces se muestra el cdigo
"=" a color, muy )til si queremos por e#emplo mostrar el cdigo !uente a color en una pgina.
,e tal !orma que al !inal todo queda as*0
W
W ,irectory9nde(0 sets the !ile that Apache %ill serve i! a directory
W is requested.
W
W 7he inde(.html.var !ile 2a type;map4 is used to deliver content;
W negotiated documents. 7he EultiNie%s 3ption can e used !or the
W same purpose, ut it is much slo%er.
W
,irectory9nde( inde(.html inde(.htm inde(.php inde(.php3 inde(.php? inde(.phtml
inde(.html.var
Add7ype application1(;httpd;php .php .php3 .php? .phtml
Add7ype application1(;httpd;php;source .phps
G ya podemos guardar el archivo httpd.con!
2.: - 8robando n-estro ser)idor Apache
Ahora vamos a proar el Apache y "=", para lo cual deeremos arrancar el Apache.
8ara Apache 1.3.X slo tenemos que arrancar el apache.e(e de la carpeta del Apache para
iniciar el servidor, con lo cual nos sale una ventanita de E6;,os donde nos indicar que est
activo 2running4 o no. 5asta cerrar la ventanita de E6;,os para desactivar el Apache.
8ara Apache 2.4.X accederemos desde los accesos directos que se crean en el men) de inicio
al acceso directo ;onitor Apache (er)ers y aparecer un icono al lado del relo#. "inchando
en el icono, sale un men) desde donde podremos iniciar, apagar y reiniciar el Apache. Momo
queremos encenderlo, si no lo hace automticamente le daremos a 6tart. 6i ya estaa
encendido le daremos a .estart 2)til si camiamos alguna con!iguracin de "=" Ral vueloR4
para que al reiniciarlo nos co#a los camios que hemos hecho.
6i todo ha ido ien, podemos crear un archivo llamado por e#emplo info.php dentro de la
carpeta de nuestra %e cuyo contenido sea e(clusivamente el siguiente0
XQ
phpin!o24T
QY
6i accedemos mediante nuestro navegador a la direccin http://12C.4.4.1/info.php o
http://localhost/info.php 2recuerda que 12:.0.0.1 K localhost4 con el Apache activo
deeremos visuali+ar una pgina de in!ormacin de "=". 6i no sale, algo ha !allado, revisa los
pasos.
Momo has podido oservar, para acceder a nuestro servidor local y as* poder proar nuestros
script y las pginas de nuestra %e, siempre accederemos con la direccin 12C.4.4.1 o
localhost 2sin $$$4 en el navegador pues esta es la direccin del host local de nuestro
ordenador. En general, para visuali+ar o acceder a cualquier archivo 2"=", =7E/, 7X7, @9",
L9<, ["L, etc.4 que tengamos en nuestra carpeta de la %e, lo haremos de la siguiente !orma0
http://localhost/CA,8+=A/A,C9ID<.+X=
,onde MA."E7A es la carpeta 2o serie de carpetas4 relativas a la rai+ en que se encuentra el
A.M=9N3.EX7
"or tanto resaltar que no slo podemos hacer llamadas a script "=", sino tami8n a pginas
=7E/, descarga de archivos, imgenes, etc., tan solo poniendo la direccin correcta en el
navegador. Es simplemente un servidor. ,e esta !orma, podemos tener nuestra %e
!uncionando en nuestro propio ordenador para construirla desde cero o ien hacer las prueas
que necesitemos sin tener que estar conectados a 9nternet.
3 - Instalacin de ;.(E0 - Web oficial: http://www.'.s?l.co'
Namos a hacer la instalacin de una versin ?.0.X, por lo que en este caso uscaremos la
versin que corresponda en los do%nloads para $indo%s. En la !echa de actuali+acin de este
manual, la versin utili+ada !ue la ?.0.23 G repito que usamos una versin ?.0.X, no una ?.1.X,
pues la ?.1.X no !uncionar si sigues los pasos de este tutorial.
E(isten dos tipos de archivo descargale, en @9" y en EXE. Go pre!iero el @9" porque es
descomprimir y listo, y luego para actuali+ar la versin es ms sencillo. El instalador EXE lleva
un setup muy ma#o, por de!ecto se instala en C:1;.(E01 .ecomiendo elegir otra ruta de
instalacin, y por e#emplo lo vamos a hacer en C:1(er)idor1;.(E01 para tener el "=" y
Ey6F/ en la misma carpeta. -na ve+ !inali+ada la instalacin, solo hay que llamar al
%inmysqladmin.e(e que estar*a en C:1(er)idor1;.(E01bin1 y la primera ve+ que lo
e#ecutemos nos pide un nomre de usuario y contraseIa, que introduciremos sin mayor
complicacin. "or e#emplo podemos poner el usuario R8epeR y la contraseIa RholaR, pero t)
ponlo a tu gusto. Ahora al lado del relo# saldr un sem!oro. 6i el sem!oro se pone en verde,
per!ecto, si no, algo ha !allado.
"or de!ecto, Ey6F/ crea un usuario de nomre root y sin contraseIa, y 8ste es el usuario que
usaremos en nuestros script o en las aplicaciones que nos lo pidan 2!oros, "=" HuAe, etc.4. 6in
emargo, al !inal de esta gu*a se e(pone cmo crear nuestro propio usuario con nuestra propia
contraseIa, para as* evitar usar este usuario que se crea Rpor de!ectoR y conseguir un nivel de
seguridad mayor. "ero vayamos por partes, pues antes tendremos que instalar el phpEyAdmin,
una aplicacin que nos simpli!icar la vida en el mane#o de las ases de datos.
: - Instalacin de php;.Ad'in - Web oficial: http://www.php'.ad'in.net
"hpEyAdmin es una utilidad que nos sirve para inteactuar con una ase de datos de !orma
muy sencilla y desde una inter!a+ %e. Hos sirve por e#emplo para crear ases de datos, talas,
orrar o modi!icar dados, aIadir registros, hacer copias de seguridad, etc. Es una aplicacin tan
)til que casi todos los hosting con Ey6F/ disponen de ella, por ello se anali+ar su instalacin.
Adems, vamos a usarlo para crear los usuarios Ey6F/ para as* poder utili+ar las ases de
datos de !orma segura. Al ser una aplicacin escrita en "=", necesita de Apache y Ey6F/
para poder !uncionar.
6i accedemos a la pgina o!icial, nos encontramos en la seccin de do%nloads con una lista de
linAs, y el que tenemos que elegir es el @9" de la )ltima versin. En nuestro caso vamos a
utili+ar la versin 2.\.1 de esta aplicacin, que es la versin disponile en la !echa de
actuali+acin de este manual.
/a instalacin es relativamente sencilla0 e(traer todo el @9" en la carpeta ra*+ de nuestra %e.
3[30 en la carpeta de nuestra %e, C:1(er)idor1W+31 y no dentro de la carpeta del "=" o
similares. Momo pone un nomre e(traIo a la carpeta, me#or la renomramos a phpmyadmin,
de !orma que quedaria algo as*0 C:1(er)idor1W+31php'.ad'in1
Ahora vamos a hacer una pequeIa con!iguracin del phpEyAdmin. "ara ello deemos editar el
archivo config.inc.php y, leyendo de arria hacia aa#o, uscamos la primera aparicin de la
siguiente l*nea0
Oc!gB]"maAsolute-ri]D K ]]T
,eemos darle la ruta asoluta donde tenemos el phpEyAdmin. En nuestro caso ser*a as*0
Oc!gB]"maAsolute-ri]D K ]http011localhost1phpmyadmin1]T
.ecuerda que podemos poner localhost o 12:.0.0.1 2a gusto del consumidor4. Ahora uscamos
si nos aparece algo como esto0
Oc!gB]lo%!ishJsecret]D K ]]T
/e pondremos una cadena de caracteres cualquiera, que servir de semilla para la encriptacin
de contraseIas al usar la autenti!icacin con cooAies0
Oc!gB]lo%!ishJsecret]D K ]aqui puedes poner lo que quieras]T
G guardaremos el archivo, pero no lo cerraremos. "uedes proar phpEyAdmin para ver si
!unciona, ya saes0 http011localhost1phpmyadmin1
5 - Config-rando los -s-arios del ser)idor ;.(E0
6i has llegado hasta aqu*, ya tenemos todo instalado y listo para !uncionar. .ecuerda que
ahora nuestro usuario de Ey6F/ es root sin pass%ord. Mon esto podr*a valernos para hacer
prueas utili+ando Ey6F/ en nuestro host local. 6in emargo, en este paso vamos a ver cmo
eliminar el usuario Rpor de!ectoR y cmo crear nuestro propio usuario con contraseIa, ya que
as* evitamos la recha de seguridad que produce el tener el usuario root y dotamos de cierta
seguridad a nuestro host local. /o haremos mediante la utilidad phpEyAdmin.
Ahora entramos a phpEyAdmin mediante la direccin
http://localhost/php'.ad'in/inde!.php 2recuerda tener Ey6F/ y Apache activos para que
phpEyAdmin !uncione4. 5sicamente vamos a reali+ar las siguientes tareas0
; Mrear nuestro propio usuario.
; 5orrar usuarios no deseados 2e#. el usuario root4.
; Aplicar los camios reali+ados.
; Mon!igurar phpEyAdmin y los script para el nuevo usuario.
5.1 - Creacin de n-estro -s-ario para ;.(E0
,esde la portada de phpEyAdmin podemos seleccionar el idioma castellano si lo deseamos. A
continuacin, pinchamos en el linA 8ri)ilegios y en la siguiente pantalla damos a Agregar
n-e)o -s-ario. Ahora vamos a agregar nuestro usuario y contraseIa, que ser el que usemos
luego en nuestros script locales que hagan uso de Ey6F/. "or e#emplo, podemos poner el
mismo usuario y contraseIa que tenemos en nuestro =osting, pues as* tendremos menos
cosas que recordar. Momo e#emplo, pongamos el usuario 8epe y la contraseIa hola.
9ntroduciremos el nomre de usuario y contraseIa, le daremos acceso a RMualquier servidorR
2para que se pueda acceder a Ey6F/ desde cualquier 9", incluidas las e(ternas a nuestro
ordenador4 o a R/ocalR 2si slo queremos que se acceda desde nuestro ordenador donde
hemos instalado Ey6F/4 y le daremos todos los permisos y privilegios 2marcando todas las
casillas que aparecen4.
5.2 - 3orrado de -s-arios no deseados
-na ve+ creado nuestro usuario o usuarios, vamos a orrar aquellos que se crean Rpor de!ectoR
y que conviene orrar para evitar rechas de seguridad, sore todo si vamos a usar el "M
como servidor hacia 9nternet y no slo para hacer prueas desde nuestro hogar. "or e#emplo,
vamos a orrar todos los usuarios e(cepto el que acaamos de crear. /o hacemos de una
!orma rpida y sencilla desde el mismo linA 8ri)ilegios de antes0 seleccionar los usuarios que
no queramos y eliminarlos.
5.3 - ,ecarga de pri)ilegios
-na ve+ eliminados, deemos uscar un linA que sirve para recargar la pgina de privilegios y
pulsar en 8l para que los camios sean e!ectivos. ,e todas !ormas podemos hacer el anterior
paso y 8ste de una ve+0 al eliminar usuarios, aseg)rate de marcar la casilla que indica que se
eliminarn los usuarios y posteriormente se cargar la pgina de privilegios. Este paso es
importante, pues si no recargas los privilegios, ning)n camio anterior har sido e!ectivo.
5.: - Config-rar los script para el n-e)o -s-ario
-na ve+ orrado el usuario root y recargados los privilegios, phpEyAdmin de#a de !uncionar.
P"or qu8Q "ues porque phpEyAdmin ven*a con!igurado para usuario root sin pass%ord, y 8ste
lo acaamos de eliminar. Entonces ahora tendremos que camiar dicha con!iguracin de
phpEyAdmin para que !uncione con el nuevo usuario.
Nolvemos al config.inc.php del phpEyAdmin, que no ha*amos cerrado y locali+amos la
primera aparicin de estas variales0
Oc!gB]6ervers]DBOiDB]authJtype]D
Oc!gB]6ervers]DBOiDB]user]D
Oc!gB]6ervers]DBOiDB]pass%ord]D
G les camiamos su valor. En la primera ponemos config para que no nos pida contraseIa al
entrar 2)til si somos el )nico usuario que va a disponer de este phpEyAdmin4, o si queremos
que nos la pida, ponemos http para autenti!icacin =77" o ien coo%ie para autenti!icacin y
navegacin con cooAies. A la segunda le damos el nomre de usuario y a la tercera la
contraseIa del usuario que acaamos de crear.
Oc!gB]6ervers]DBOiDB]authJtype]D K ]cooAie]T
Oc!gB]6ervers]DBOiDB]user]D K ]"epe]T
Oc!gB]6ervers]DBOiDB]pass%ord]D K ]hola]T
$<=A: phpEyAdmin tiene un !allo 2ug conocido4 en esta +ona. Al usar autenti!icacin =77",
un usuario que acaa de aandonar la sesin no puede volver a entrar con el mismo nomre.
"ara solucionarlo, se deen cerrar todas las ventanas del navegador que est8n aiertas, y a
continuacin si arimos una nueva ventana y volvemos a intentar entrar nos deer*a de#ar sin
prolemas. 6i quieres poner contraseIa a phpEyAdmin y para evitar este prolema, te
recomiendo que de los dos m8todos eli#as el de cooAies.
6i ahora desde tu navegador, y con el Apache y Ey6F/ activos, accedes a la direccin
http://localhost/php'.ad'in/inde!.php podrs empe+ar a utili+ar phpEyAdmin con tu nuevo
usuario y contraseIa. 6i elegiste pedir contraseIa, cuando accedas a phpEyAdmin tu usuario y
tu contraseIa sern las que pusiste al crear el usuario0 8epe y hola en nuestro caso. /o
primero que hars ser crearte una nueva ase de datos para meter ah* lo que quieras.
,e la misma !orma, en nuestros script "=" que usen Ey6F/ usaremos el usuario y contraseIa
que nos hemos creado, de tal !orma que al hacer la cone(in a Ey6F/ quede algo como esto0
XQphp
11 .....<unciones "=".....
mysqlJconnect2R12:.0.0.1R,R"epeR,RholaR4T
11 .....Es !unciones "=".....
QY
3 ien, si estamos instalando un pre!aricado como "=" HuAe o un !oro, o incluso cualquier
aplicacin en la que nos solicitan un host, usuario y contraseIa, los datos que deeremos
indicar son esos0 12C.4.4.1 o localhost como servidor, 8epe como usuario, hola como
contraseIa, y el nomre de la ase de datos que hayamos creado con phpEyAdmin. Ho
ostante, se recomienda tener unos conocimientos sicos sore Ey6F/ en "=" para
mane#ar correctamente estas !unciones.
# - C'o reali>ar las act-ali>aciones a )ersiones s-periores
Momo nos gusta ir a la )ltima y continuamente hay actuali+aciones de seguridad, voy a poner
unas notas de cmo actuali+ar estos elementos una ve+ los tengamos instalados y saquen una
nueva versin. 7en en cuenta que al sacar una nueva versin puede que haya camios
grandes en la !orma de instalacin, pues estas notas se harn suponiendo que la !orma de
instalacin no camia de una versin a otra, lo cual es haitual.
#.1 - C'o act-ali>ar Apache
"ara actuali+arlo lo primero ser cerrar todos los procesos que usan Apache, incluidos los que
se e#ecutan ocultos como servicio del sistema. /o ms sencillo es ir al men) M7./ ^ A/7 ^
6upr y cerrar todos los procesos en que est8 involucrado el Apache. ,espu8s desinstalaremos
el programa desde el "anel de Montrol ; Agregar o Fuitar "rogramas. A continuacin
orraremos manualmente aquellas carpetas del Apache que el desinstalador no haya orrado.
G !inalmente, instalaremos la nueva versin de Apache y con!iguraremos el httpd.con! igual que
se e(plica en los pasos anteriores, usando las mismas carpetas que usaste en la versin
anterior de Apache para que nada camie.
#.2 - C'o act-ali>ar 898
Empe+aremos cerrando todos los procesos de Apache y Ey6F/ de la !orma citada en el
prra!o anterior. A continuacin eliminaremos la carpeta "=" que se encuentra en
C:1(er)idor18981 /uego instalaremos la nueva versin de "=" como se dice arria,
con!iguraremos el nuevo php.ini, y en los pasos que se dice que copiemos ciertos archivos a
los directorios de $indo%s, soreescriiremos todos archivos e(istentes con los nuevos,
incluido el nuevo php.ini Ga slo te queda arrancar de nuevo el Apache y Ey6F/ y ver si todo
ha ido ien.
#.3 - C'o act-ali>ar ;.(E0
Al igual que antes, cerraremos todos los procesos activos que tengan que ver con Ey6F/ para
evitarnos prolemas. ,espu8s copiaremos el directorio data 2que est dentro de la carpeta de
Ey6F/ y es el que contiene nuestras ases de datos, talas, etc. que queremos guardar4 a
otro directorio cualquiera de !orma temporal. /uego desinstalaremos Ey6F/, ya sea desde el
Agregrar o Fuitar "rogramas si usaste la versin que trae instalador, o ien orrando el
directorio si usaste la versin que viene sin instalador. A continuacin instalaremos la nueva
versin, tras lo cual volveremos a copiar el directorio data de nuevo a la carpeta de Ey6F/
soreescriiendo el que haya, y de esta !orma no se pierden los datos de nuestras ases de
datos. G !inalmente slo queda reiniciar Ey6F/, ver si el sem!oro se pone verde y comproar
si los script y phpEyAdmin siguen !uncionando.
#.: - C'o act-ali>ar php;.Ad'in
_ste es el ms sencillo de actuali+ar, pues lo )nico que hay que hacer es orrar el anterior y
luego instalar y con!igurar el nuevo como se cita ms arria. Adems, aseg)rate tami8n de
camiar el usuario y contraseIa para que luego !uncione.
C - +!tra: instalacin de -n ser)idor de correo (;=8
6i vamos a hacer prueas con env*o de correos o ien vamos a usar nuestro "M como servidor
de nuestra %e, es posile que nos interese instalar un pequeIo servidor de correo para poder
usar la !uncin 'ailAB de "=". Mon uno de estos servidores podremos enviar correos desde
"=", pero oviamente no podremos reciir nada ya que se tratan de servidores 6E7" 2enviar4
y no "3"19EA" 2reciir4. Namos entonces a ello. En principio no hay que camiar nada en el
php.ini ya que 8ste viene por de!ecto con!igurado para un servidor de correo instalado en el
localhost, que es de lo que trata este manual. "ero s* podremos camiar la variale
send'ailfro', que ser el remitente que le aparecer a la persona que recia el correo si no
ponemos el campo <.3E en las caeceras del email mediante la !uncin mail24
Bmail !unctionD
T <or $in32 only.
6E7" K localhost
T <or $in32 only.
sendmailJ!rom K me`localhost.com
/o que s* hay que tener en cuenta es que para que estos servidores de correo !uncionen, hay
que tener cone(in a internet. -na opcin de servidor ser*a el FC 6E7" que encontramos en
%%%.qAso!t.com Este servidor es instalar y listo. 6lo queda tenerlo aierto y ya podremos
enviar correos mediante "=". Este servidor tiene una versin trial.
3tro servidor interesante ser*a el Argoso!t Eail 6erver. Este servidor es gratuito aunque
requiere una pequeIa con!iguracin. En un art*culo de la Asociacin de 9nternautas e(plican
cmo con!igurar este servidor para enviar correo con 3utlooA, pero dicha con!iguracin tami8n
!unciona con "=", asi que nos sirve plenamente. /a direccin del art*culo es la siguiente0
%%%.internautas.org1article.phpQsidK1\: En dicha pgina encontraremos la descarga del
programa y cmo con!igurarlo.
" - +!tra: Apache ;anager para Apache 1.3.X - Web
oficial: http://'oonspot.net/ap'gr.ht'l
El Apache Eanager para $indo%s es una pequeIa utilidad que permite e#ecutar el Apache
1.3.X como un icono al lado del relo# y no como una ventana de Es;,os que puede llegar a ser
molesta. Adems permite cerrar, pausar y reiniciar el Apache si por e#emplo estamos haciendo
una con!iguracin. Este programa se distriuye en un @9" que contiene un e#ecutale y ms
archivosT estos archivos son el cdigo !uente, pero el archivo que nos interesa es el ap'gr.e!e
que copiaremos en la misma carpeta que est8 el apache.e(e A continuacin, asta llamar al a
apmgr.e(e para arrancar el Apache. 6i lo acemos desde un acceso directo, en el destino
podemos poner C:1,-ta-del-Apache1ap'gr.e!e -r donde el -r indica que arranque
automticamente el Apache al iniciar el apmgr.e(e 5a#o $indo%s X" ha !uncionado la versin
1.0 del Apache Eanager pero no la 2.1, y a#o $indo%s &' parece que todas las versiones
!uncionan.
F - $otas finales
UG por !in, ya est todoV /argo, pero merece la pena. Ahora ya puedes empe+ar a hacer tus
prueas en "=" y Ey6F/. .ecuerda que estamos traa#ando con programas servidores, con
lo cual estos programas tienen que estar activos cuando vayamos a hacer nuestras prueas.
Esto quiere decir que el Apache dee estar conectado 2dee estar activado para poder
interpretar los script4 y que el script dee estar dentro de la carpeta especi!icada anteriormente
en ,ocumentroot, adems tami8n Ey6F/ dee estar !uncionando para traa#ar con ases de
datos, y deemos tener tener el servidor de correo !uncionando con cone(in a internet si
vamos a usar !unciones de env*o de email.
-na nota importante es que tanto Apache 2.0.X como Ey6F/ pueden e#ecutarse como servicio
del sistema. Esto quiere decir que, aunque no veamos ning)n icono en la arra de tareas,
amos estn !uncionando de !orma oculta. Esto puede resultar )til si los usamos a menudo,
pues nos evitamos el tener que e#ecutar Apache y Ey6F/ para hacer las prueas. "ero si
deseas quitarlo, deeremos usar la utilidad 'sconfig para evitar que arranquen de inicio0 9nico
; E#ecutar ; mscon!ig y en la pestaIa (er)icios desmarcaremos el Apache y Ey6F/. Al
reiniciar el ordenador, ya no se e#ecutarn como servicio del sistema y tendremos que
arrancarlos manualmente.
6i no usamos estos servidores como servicio, har que arrancarlos manualmente. Ey6F/ se
arranca e#ecutando el %inmysqladmin.e(e que est en la carpeta in del directorio de Ey6F/.
El Apache 2.0.X se arranca desde el acceso directo ;onitor Apache (er)ers que se crea en
el grupo de iconos en el men) 9nicio. G el Apache 1.3.X se arranca tami8n desde un acceso
directo que se crea al archivo apache.e(e "ara el servidor de correo no tendremos prolemas,
arir o cerrar el programa y listo.
Asimismo, resaltar que todo este tutorial y con!iguraciones han sido elaorados a#o un sistema
$indo%s X" =ome Edition. 6i tenemos un programa corta!uegos instalado en el ordenador, es
posile que tengamos que arir los puertos que se nos soliciten para que !uncione el invento.
7ami8n deemos tener cuidado si tenemos el 996 !uncionando, para que no se peguen el
Apache y el 996 entre s*.
-n agradecimiento por la colaoracin de Mluster en la elaoracin de este tutorial.

También podría gustarte