Está en la página 1de 18

Apache + PHP + MySql + PhpMyAdmin como mdulo de Apache

1. Instalacin de Apache
Caso A: Instalacin de Apache 1.3X
Si te decides por utilizar la versin 1.3.! "uscaremos la #ltima versin de este tipo. $n la
%echa de actualizacin de este manual! la #ltima versin esta"le era la 1.3.31! y el archivo
que tenemos que "a&ar es'
apache_1.3.31-win32-x86-no_src.exe
(ien! una vez que lo ten)amos! e&ecutamos el instalador y vamos recorriendo las pantallas
hasta que sal)a una donde nos piden unos datos! en cuyo caso pondremos'
Network Domain' 1*+.,.,.1
Server Name' 1*+.,.,.1
Administrator's mai! Address' nuestro e-mail! aunque no es totalmente necesario.
"#n when started man#a!!$% on!$ &or me. Seleccionamos esta opcin.
.a IP 1*+.,.,.1 es la direccin IP asociada a nuestra m/quina! es decir el host local o
vul)armente conocido como 'oca!host. $s importante decir que a la hora de pro"ar tus
scripts en modo local! da i)ual que pon)as 1*+.,.,.1 o localhost. 0inalmente! recordar que
el Apache se instala por de%ecto en la carpeta'
()*Archivos de pro+rama*Apache ,ro#p*Apache*
(ien! ahora vamos a instalar el PHP. Ase)#rate ahora de tener cerrado el Apache.
Caso A: Instalacin de Apache 2.0X
Para esta versin! en la %echa de actualizcin del manual la #ltima versin disponi"le era la
*.,.1,! por lo que el archivo que tenemos que "a&ar puede ser'
apache_2.-..--win32-x86-no_ss!.exe' para todos los casos.
apache_2.-..--win32-x86-no_ss!.msi' slo si disponemos del 2indo3s Installer. $n este
caso el archivo a descar)ar ocupa "astante menos.
(ien! una vez que lo ten)amos e&ecutamos el instalador y vamos recorriendo las pantallas
hasta que sal)a una donde nos piden unos datos! en cuyo caso pondremos'
Network Domain' 1*+.,.,.1
Server Name' 1*+.,.,.1
Administrator's mai! Address' nuestro e-mail! aunque no es totalmente necesario.
/or A!! 0sers% on 1ort 8-% as a Service' seleccionamos esta opcin.
.a IP 1*+.,.,.1 es la direccin IP asociada a nuestra m/quina! es decir el host local o
vul)armente conocido como 'oca!host. $s importante decir que a la hora de pro"ar tus
scripts en modo local! da i)ual que pon)as 1*+.,.,.1 o localhost. 0inalmente! recordar que
el Apache se instala por de%ecto en la carpeta'
()*Archivos de pro+rama*Apache ,ro#p*Apache*
(ien! en el si)uiente cap4tulo vamos a Instalar PHP para poder correr p/)ina .php en
nuestro Servidor
*. Instalacin de PHP
Copi de Archivos
5ependiendo de si estamos instalando una versin 6 de PHP o una versin 1! se)uiremos
una parte o la otra.
Instalacin de PHP4
Procedemos a descar)ar el PHP para 2indo3s. $l archivo est/ localizado en la seccin
5o3nloads! apartado 2indo3s (inaries! y es el de mayor tama7o. Para la versin 6.3.8!
que es la versin disponi"le a %echa de actualizacin de este manual! es' PHP 6.3.8 zip
pac9a)e :;!813<"=. Se)#n vayan saliendo nuevas versiones podr/s irlas encontrando en la
citada seccin do3nloads.
>na vez descar)ado todo el ?IP! nos creamos una carpeta en el sitio donde queramos
instalar los archivos del servidor @PHP! MySA....B! por e&emplo nos creamos una carpeta en
la ra4z del disco duro y que quede as4' ()*Servidor* Ahora eCtraemos los archivos del ?IP
de PHP dendro de esa carpeta. $n este caso se crea la carpeta ()*Servidor*php-2.3.3-
4in32* pero como no nos )usta su nom"re procedemos a renom"rarla a ()*Servidor*151*
D ahora hay que co)er el php2ts.d!! @localizado en ()*Servidor*151*php2ts.d!!B y
copiarlo al directorio System @en 2indo3s 8CB o System3* @EF!*,,,!P!*,,3B de la
carpeta del 2indo3s. Si hay otro archivo en System o System3* lo so"reescri"imos.
I)ualmente co)er los archivos que est/n en la carpeta ()*Servidor*151*d!!s* y copiarlos a
la carpeta System o System3* i)ual que hicimos con el archivo php6ts.dll
Instalacin de PHP5
Procedemos a descar)ar el PHP para 2indo3s. $l archivo est/ localizado en la seccin
5o3nloads! apartado 2indo3s (inaries! y es el de mayor tama7o. Para la versin 1.,.*!
que es la versin disponi"le a %echa de actualizacin de este manual! es' PHP 1.,.* zip
pac9a)e :+!13G<"=. Se)#n vayan saliendo nuevas versiones podr/s irlas encontrando en la
citada seccin do3nloads.
>na vez descar)ado todo el ?IP! nos creamos una carpeta en el sitio donde queramos
instalar los archivos del servidor @PHP! MySA....B! por e&emplo nos creamos una carpeta en
la ra4z del disco duro y que quede as4' ()*Servidor* 5entro de esta carpeta nos creamos
otra carpeta y la llamamos PHP. .ue)o eCtraemos los archivos del ?IP dendro de esa
carpeta PHP! tal que los contenidos del ?IP quedar/n dentro de la ruta ()*Servidor*151*
D ahora hay que co)er el todos los archivos 5.. localizados en la carpeta principal
()*Servidor*151* y copiarlos al directorio System @en 2indo3s 8CB o System3*
@EF!*,,,!P!*,,3B de la carpeta del 2indo3s @los archivos 5.. contenidos en la carpeta
$F no hace %alta copiarlosB.
Confi!racin del archivo php.ini
I)ual que el paso anterior! hay peque7as di%erencias dependiendo de si estamos instalando
PHP6 o PHP1! asi que eli&e tu caso.
Instalacin de PHP4
$l si)uiente paso es con%i)urar el php.ini. Henom"ramos o copiamos el archivo
()*Servidor*151*php.ini-dist y le ponemos php.ini Ahora lo editamos con el mismo
"loc9 de notas. Si lo necesit/ramos @lee antes la eCplicacinB! editamos la l4nea
re)isterI)lo"als J K%% y la colocamos el valor' re)isterI)lo"als J Kn
"#!$ hao con reister%lo&als' "() ! (**'
Activar esta directiva nos permite asumir que las varia"les son )lo"ales y pueden lle)ar por
cualquier mLtodo @PKSF! M$F! NKK<I$! S$HO$H! etcB. As4! por e&emplo! si utilizamos
una varia"le )lo"al de sesin o coo9ie se puede suplantar %/cilmente mediante una varia"le
por url! con lo cual nuestro script no es se)uro. >n "uen pro)ramador de PHP tendr4a la
directiva en K00 y usar4a los arrays )lo"ales @PHFFPIIOAHSB o los super)lo"ales
PIPKSF! PIM$F! etc.! que est/n disponi"les a partir de la versin 6.1. de PHP. QD por
quLR Pues por esos temas de se)uridad en los script y porque de"emos acostum"rarnos a no
mane&ar varia"les )lo"ales ya que en un %uturo el PHP tendr/ la opcin en K00 por de%ecto
y no podremos cam"iarla. Sin em"ar)o! por temas de compati"ilidad con script anti)uos o
que ha)an uso de varia"les )lo"ales! podr4a interesarnos activar esta caracter4stica! pero
repito que lo desea"le ser4a tenerla en K00 y hacer uso de los arrays )lo"ales o
super)lo"ales.
A continuacin vamos a indicar a PHP dnde se )uardan las eCtensiones. 5entro del php.ini
"uscamos extension_dir y le ponemos la carpeta que contiene los archivos php_xxx.d!!!
que por de%ecto es la carpeta eCtensions dentro de PHP. 6718"9AN9) durante toda la
con%i)uracin de directorios! de"es utilizar esta "arra STS y no esta SUS. K sea! que de"e
quedar as4'
V 5irectory in 3hich the loada"le eCtensions @modulesB reside.
eCtensionIdir J N'TServidorTPHPTeCtensionsT
Adem/s podemos activar las eCtensiones que queramos o necesitemos! para lo cual
"uscamos 4indows xtensions y para car)ar las eCtensiones les quitamos el V de delante.
Por e&emplo! si quisiLramos car)ar la eCtensin +d2.d!! @para mane&ar las %unciones PHP
relativas a im/)enesB de"er4amos cam"iar VeCtensionJphpI)d*.dll por
eCtensionJphpI)d*.dll Puedes ver para quL sirve cada eCtensin en el Manual o%icial de
PHP. Nomo nota adicional! resaltar que hay al)unas eCtensiones que requieren de li"rer4as
eCtra que no vienen en el paquete completo de PHP! y para hacerlas %uncionar tendremos
que "uscar dichas li"rer4as.
Ahora! si vamos a hacer prue"as con upload de archivos via HFFP! de"emos indicar el
directorio donde los archivos se almacenar/n temporalmente. Para ello "uscamos
#p!oad_tmp_dir y le damos el valor de una carpeta que eCista. Por e&emplo! en nuestro
directorio N'UServidorUPHPU creamos una carpeta uploads! por lo que pondremos
:();Servidor;151;#p!oads;:! quedando al)o as4'
V Femporary directory %or HFFP uploaded %iles @3ill use system de%ault i% not
V speci%iedB.
uploadItmpIdir J N'TServidorTPHPTuploadsT
Si queremos cam"iar el tama7o m/Cimo de los archivo que pueden su"irse via HFFP!
"uscamos #p!oad_max_&i!esi<e y cam"iamos el valor por de%ecto que trae! *M @* M(B!
por el que queramos. Eo se recomienda poner un valor alto.
V MaCimum allo3ed size %or uploaded %iles.
uploadImaCI%ilesize J *M
Para tra"a&ar con sesiones! de"emos especi%icar un directorio donde se )uarden los archivos
temporales. Al i)ual que * pasos antes! "uscamos session.save_path y le damos el valor de
un directorio que eCista @o lo creamosB'
session.saveIpath J N'TServidorTPHPTsessionsT
A continuacin copiamos el php.ini a la carpeta ()*4indows* o ()*4inN9* se)#n nuestra
versin de 2indo3s.
WAhora vamos a decirle al Apache que tenemos el PHPX
Instalacin de PHP5
$l si)uiente paso es con%i)urar el php.ini. Henom"ramos o copiamos el archivo
()*Servidor*151*php.ini-dist y le ponemos php.ini Ahora lo editamos con el mismo
"loc9 de notas. Si lo necesit/ramos @lee antes la eCplicacinB! editamos la l4nea
re)isterI)lo"als J K%% y la colocamos el valor' re)isterI)lo"als J Kn
"#!$ hao con reister%lo&als' "() ! (**'
Activar esta directiva nos permite asumir que las varia"les son )lo"ales y pueden lle)ar por
cualquier mLtodo @PKSF! M$F! NKK<I$! S$HO$H! etcB. As4! por e&emplo! si utilizamos
una varia"le )lo"al de sesin o coo9ie se puede suplantar %/cilmente mediante una varia"le
por url! con lo cual nuestro script no es se)uro. >n "uen pro)ramador de PHP tendr4a la
directiva en K00 y usar4a los arrays )lo"ales @PHFFPIIOAHSB o los super)lo"ales
PIPKSF! PIM$F! etc.! que est/n disponi"les a partir de la versin 6.1. de PHP. QD por
quLR Pues por esos temas de se)uridad en los script y porque de"emos acostum"rarnos a no
mane&ar varia"les )lo"ales ya que en un %uturo el PHP tendr/ la opcin en K00 por de%ecto
y no podremos cam"iarla. Sin em"ar)o! por temas de compati"ilidad con script anti)uos o
que ha)an uso de varia"les )lo"ales! podr4a interesarnos activar esta caracter4stica! pero
repito que lo desea"le ser4a tenerla en K00 y hacer uso de los arrays )lo"ales o
super)lo"ales.
A continuacin vamos a indicar a PHP dnde se )uardan las eCtensiones. 5entro del php.ini
"uscamos extension_dir y le ponemos la carpeta que contiene los archivos php_xxx.d!!!
que por de%ecto es la carpeta eCt dentro de PHP. 6718"9AN9) durante toda la
con%i)uracin de directorios! de"es utilizar esta "arra STS y no esta SUS. K sea! que de"e
quedar as4'
V 5irectory in 3hich the loada"le eCtensions @modulesB reside.
eCtensionIdir J N'TServidorTPHPTeCtT
Adem/s podemos activar las eCtensiones que queramos o necesitemos! para lo cual
"uscamos 4indows xtensions y para car)ar las eCtensiones les quitamos el V de delante.
Por e&emplo! si quisiLramos car)ar la eCtensin +d2.d!! @para mane&ar las %unciones PHP
relativas a im/)enesB de"er4amos cam"iar VeCtensionJphpI)d*.dll por
eCtensionJphpI)d*.dll Puedes ver para quL sirve cada eCtensin en el Manual o%icial de
PHP. Nomo nota adicional! resaltar que hay al)unas eCtensiones que requieren de li"rer4as
eCtra que no vienen en el paquete completo de PHP! y para hacerlas %uncionar tendremos
que "uscar dichas li"rer4as.
$n concreto la li"rer4a php_m$s=!.d!! es la que permite mane&ar las %unciones relacionadas
con MySA.! y por de%ecto en PHP1 viene desactivada! por tanto vamos a activarla de la
%orma que indicamos antes' "uscamos VeCtensionJphpImysql.dll y le quitamos el V de
delante.
Ahora! si vamos a hacer prue"as con upload de archivos via HFFP! de"emos indicar el
directorio donde los archivos se almacenar/n temporalmente. Para ello "uscamos
#p!oad_tmp_dir y le damos el valor de una carpeta que eCista. Por e&emplo! en nuestro
directorio N'UServidorUPHPU creamos una carpeta uploads! por lo que pondremos
:();Servidor;151;#p!oads;:! quedando al)o as4'
V Femporary directory %or HFFP uploaded %iles @3ill use system de%ault i% not
V speci%iedB.
uploadItmpIdir J N'TServidorTPHPTuploadsT
Si queremos cam"iar el tama7o m/Cimo de los archivo que pueden su"irse via HFFP!
"uscamos #p!oad_max_&i!esi<e y cam"iamos el valor por de%ecto que trae! *M @* M(B!
por el que queramos. Eo se recomienda poner un valor alto.
V MaCimum allo3ed size %or uploaded %iles.
uploadImaCI%ilesize J *M
Para tra"a&ar con sesiones! de"emos especi%icar un directorio donde se )uarden los archivos
temporales. Al i)ual que * pasos antes! "uscamos session.save_path y le damos el valor de
un directorio que eCista @o lo creamosB'
session.saveIpath J N'TServidorTPHPTsessionsT
A continuacin copiamos el php.ini a la carpeta ()*4indows* o ()*4inN9* se)#n nuestra
versin de 2indo3s.
WAhora vamos a decirle al Apache que tenemos el PHPX
Confi!racin del archivo httpd.conf de Apache
Da que al inicio hicimos una distincin para los casos de Apache 1.3. y para Apache
*.,.! no vamos a ser menos ahora y distin)uiremos los dos tipos. $l motivo es que la
)estin de los mdulos es distinta en am"as versiones! por lo que la con%i)uracin no es
idLntica. Asimismo cam"ia al)o la con%i)uracin si se trata de PHP6 o PHP1! asi que
tenemos 6 casos posi"les com"inando las dos versiones de Apache y las dos de PHP. Hay
que editar el archivo httpd.con& que encontramos en la carpeta (on& dentro del directorio
del Apache.
Caso A: httpd.conf para Apache 1.3X
(uscamos D$namic Shared 8>?ect @DS8A S#pport que es donde se car)an los mdulos.
Ah4 vamos a car)ar el mdulo de PHP para Apache! dando la direccin del archivo
php6apache.dll @PHP6B o php1apache.dll @PHP1B que lo contiene. $ncontramos hasta un
e&emplo'
Y $Cample'
Y .oadModule %ooImodule modulesTmodI%oo.so
Y
D ahora a7adimos &usto de"a&o'
- Si estamos instalando 1512'
.oadModule php6Imodule N'TServidorTPHPTsapiTphp6apache.dll
- Si estamos instalando 151.'
.oadModule php1Imodule N'TServidorTPHPTphp1apache.dll
5e tal manera que para 1512 tiene que quedar as4'
Y $Cample'
Y .oadModule %ooImodule modulesTmodI%oo.so
Y
.oadModule php6Imodule N'TServidorTPHPTsapiTphp6apache.dll
D para 151. tiene que quedar as4'
Y $Cample'
Y .oadModule %ooImodule modulesTmodI%oo.so
Y
.oadModule php1Imodule N'TServidorTPHPTphp1apache.dll
Ahora "a&amos un poco por el httpd.con% y llamamos al mdulo mod_php2.c en caso de
que estemos instalando 1512 o al mdulo mod_php..c si estamos instalando 151.! de tal
manera que para PHP6 quede as4'
NlearModule.ist
AddModule modIphp6.c
YAddModule modIvhostIalias.c
D para PHP1 de"e quedar as4'
NlearModule.ist
AddModule modIphp1.c
YAddModule modIvhostIalias.c
Oale! ahora "uscamos en el httpd.con% el modulo modIdir.c y nos sale esto'
ZI%Module modIdir.c[
5irectoryIndeC indeC.html
ZTI%Module[
Modi%icamos la l4nea central para que si entramos en un directorio tipo
http);;12B.-.-.1;directorio; nos autoe&ecute el indeC predeterminado @si eCisteB y no nos
sal)a un mensa&e de error. Puedes usar m/s nom"res si lo pre%ieres. Se e&ecutar/n por
orden' si no encuentra el primero! pasa al se)undoV si no est/ el se)undo! pasa al tercero! y
as4 sucesivamente hasta que si no encuentra nin)uno entonces da error. $n la si)uiente
l4nea! si en nuestro directorio tenemos un indeC.htm y un indeC.php! por de%ecto se
e&ecutar/ el indeC.htm ya que est/ antes.
5irectoryIndeC indeC.html indeC.htm indeC.php indeC.php3 indeC.php6 indeC.phtml
Ahora le a7adimos de"a&o estas l4neas @en la primera de ellas! si estamos instalando PHP1
tam"iLn podemos a7adir la eCtensin .php1 adem/s de las que aparecenB'
AddFype applicationTC-httpd-php .php .php3 .php6 .phtml
AddFype applicationTC-httpd-php-source .phps
.a primera indica las eCtensiones que ser/n interpretadas por el Apache. Por e&emplo
podemos a7adir la eCtensin .htm o .html para que el Apache e&ecute el cdi)o PHP
contenido en esas p/)inas @es decir! el uso de cdi)o PHP no est/ limitado eCclusivamente
a archivos \.PHPB. .a se)unda sirve para que si entras en una p/)ina !o=#esea.phps
entonces se muestra el cdi)o PHP a color! muy #til si queremos por e&emplo mostrar el
cdi)o %uente a color en una p/)ina. 5e tal %orma que al %inal todo queda as4'
ZI%Module modIdir.c[
5irectoryIndeC indeC.html indeC.htm indeC.php indeC.php3 indeC.php6 indeC.phtml
AddFype applicationTC-httpd-php .php .php3 .php6 .phtml
AddFype applicationTC-httpd-php-source .phps
ZTI%Module[
$l directorio predeterminado para )uardar nuestras p/)inas es el htdocs del Apache'
()*Archivos de pro+rama*Apache ,ro#p*Apache*htdocs*
Pero podemos cam"iarlo %/cilmente. (uscamos Doc#ment"oot y nos sale esto'
5ocumentHoot SN'TArchivos de pro)ramaTApache MroupTApacheThtdocsS
Eosotros sustituimos la carpeta htdocs del Apache por la que queramos. Fodos los archivos
que vayas a pro"ar con el Apache de"er/n estar localizados en esta carpeta. Por e&emplo
nos creamos una carpeta 2$( dentro del directorio del servidor'
5ocumentHoot SN'TServidorT2$(TS
D ya podemos )uardar el archivo httpd.con%
Caso +: httpd.conf para Apache 2.0X
(uscamos D$namic Shared 8>?ect @DS8A S#pport que es donde se car)an los mdulos.
Ah4 vamos a car)ar el mdulo de PHP para Apache! dando la direccin del archivo
php6apache*.dll @PHP6B o php1apache*.dll @PHP1B que lo contiene. $ncontramos hasta un
e&emplo'
Y $Cample'
Y .oadModule %ooImodule modulesTmodI%oo.so
Y
D ahora a7adimos &usto de"a&o'
- Si estamos instalando 1512'
.oadModule php6Imodule N'TServidorTPHPTsapiTphp6apache*.dll
- Si estamos instalando 151.'
.oadModule php1Imodule N'TServidorTPHPTphp1apache*.dll
5e tal manera que para 1512 tiene que quedar as4'
Y $Cample'
Y .oadModule %ooImodule modulesTmodI%oo.so
Y
.oadModule php6Imodule N'TServidorTPHPTsapiTphp6apache*.dll
D para 151. tiene que quedar as4'
Y $Cample'
Y .oadModule %ooImodule modulesTmodI%oo.so
Y
.oadModule php1Imodule N'TServidorTPHPTphp1apache*.dll
$l directorio predeterminado para )uardar nuestras p/)inas es el htdocs del Apache'
()*Archivos de pro+rama*Apache ,ro#p*Apache*htdocs*
Pero podemos cam"iarlo %/cilmente. (uscamos Doc#ment"oot y nos sale esto'
Y
Y 5ocumentHoot' Fhe directory out o% 3hich you 3ill serve your
Y documents. (y de%ault! all requests are ta9en %rom this directory! "ut
Y sym"olic lin9s and aliases may "e used to point to other locations.
Y
5ocumentHoot SN'TArchivos de pro)ramaTApache MroupTApacheThtdocsS
Eosotros sustituimos la carpeta htdocs del Apache por la que queramos. Fodos los archivos
que vayas a pro"ar con el Apache de"er/n estar localizados en esta carpeta. Por e&emplo
nos creamos una carpeta 2$( dentro del directorio del servidor'
5ocumentHoot SN'TServidorT2$(TS
Por lo que construiremos toda nuestra p/)ina dentro de ese directorio! que equivale al
directorio ra4z de nuestro host local.
Ahora "uscamos el Director$6ndex y nos sale al)o como esto'
Y
Y 5irectoryIndeC' sets the %ile that Apache 3ill serve i% a directory
Y is requested.
Y
Y Fhe indeC.html.var %ile @a type-mapB is used to deliver content-
Y ne)otiated documents. Fhe MultiOie3s Kption can "e used %or the
Y same purpose! "ut it is much slo3er.
Y
5irectoryIndeC indeC.html indeC.html.var
Modi%icamos la #ltima l4nea para que si entramos en un directorio tipo
http);;12B.-.-.1;directorio; nos autoe&ecute el indeC predeterminado @si eCisteB y no nos
sal)a un mensa&e de error. Puedes usar m/s nom"res si lo pre%ieres. Se e&ecutar/n por
orden' si no encuentra el primero! pasa al se)undoV si no est/ el se)undo! pasa al tercero! y
as4 sucesivamente hasta que si no encuentra nin)uno entonces da error. $n la si)uiente
l4nea! si en nuestro directorio tenemos un indeC.htm y un indeC.php! por de%ecto se
e&ecutar/ el indeC.htm ya que est/ antes.
5irectoryIndeC indeC.html indeC.htm indeC.php indeC.php3 indeC.php6 indeC.phtml
indeC.html.var
Ahora le a7adimos de"a&o estas l4neas @en la primera de ellas! si estamos instalando PHP1
tam"iLn podemos a7adir la eCtensin .php1 adem/s de las que aparecenB'
AddFype applicationTC-httpd-php .php .php3 .php6 .phtml
AddFype applicationTC-httpd-php-source .phps
.a primera indica las eCtensiones que ser/n interpretadas por el Apache. Por e&emplo
podemos a7adir la eCtensin .htm o .html para que el Apache e&ecute el cdi)o PHP
contenido en esas p/)inas @es decir! el uso de cdi)o PHP no est/ limitado eCclusivamente
a archivos \.PHPB. .a se)unda sirve para que si entras en una p/)ina !o=#esea.phps
entonces se muestra el cdi)o PHP a color! muy #til si queremos por e&emplo mostrar el
cdi)o %uente a color en una p/)ina. 5e tal %orma que al %inal todo queda as4'
Y
Y 5irectoryIndeC' sets the %ile that Apache 3ill serve i% a directory
Y is requested.
Y
Y Fhe indeC.html.var %ile @a type-mapB is used to deliver content-
Y ne)otiated documents. Fhe MultiOie3s Kption can "e used %or the
Y same purpose! "ut it is much slo3er.
Y
5irectoryIndeC indeC.html indeC.htm indeC.php indeC.php3 indeC.php6 indeC.phtml
indeC.html.var
AddFype applicationTC-httpd-php .php .php3 .php6 .phtml
AddFype applicationTC-httpd-php-source .phps
D ya podemos )uardar el archivo httpd.con%
Pro&ando n!estro servidor Apache
Ahora vamos a pro"ar el Apache y PHP! para lo cual de"eremos arrancar el Apache.
1ara Apache 1.3.C slo tenemos que arrancar el apache.eCe de la carpeta del Apache para
iniciar el servidor! con lo cual nos sale una ventanita de MS-5os donde nos indicar/ que
est/ activo @runnin)B o no. (asta cerrar la ventanita de MS-5os para desactivar el Apache.
1ara Apache 2.-.C accederemos desde los accesos directos que se crean en el men# de
inicio al acceso directo 7onitor Apache Servers y aparecer/ un icono al lado del relo&.
Pinchando en el icono! sale un men# desde donde podremos iniciar! apa)ar y reiniciar el
Apache. Nomo queremos encenderlo! si no lo hace autom/ticamente le daremos a Start. Si
ya esta"a encendido le daremos a Hestart @#til si cam"iamos al)una con%i)uracin de PHP
Sal vueloSB para que al reiniciarlo nos co&a los cam"ios que hemos hecho.
Si todo ha ido "ien! podemos crear un archivo llamado por e&emplo in&o.php dentro de la
carpeta de nuestra 3e" cuyo contenido sea eCclusivamente el si)uiente'
ZR
phpin%o@BV
R[
Si accedemos mediante nuestro nave)ador a la direccin http);;12B.-.-.1;in&o.php o
http);;!oca!host;in&o.php @recuerda que 1*+.,.,.1 J localhostB con el Apache activo
de"eremos visualizar una p/)ina de in%ormacin de PHP. Si no sale! al)o ha %allado! revisa
los pasos.
http'TT333.maestrosdel3e".comTeditorialTutilTphpin%o.html
Al)o as4 de"er4a aparecerte.
Nomo has podido o"servar! para acceder a nuestro servidor local y as4 poder pro"ar
nuestros script y las p/)inas de nuestra 3e"! siempre accederemos con la direccin
12B.-.-.1 o !oca!host @sin 222B en el nave)ador pues esta es la direccin del host local
de nuestro ordenador. $n )eneral! para visualizar o acceder a cualquier archivo @PHP!
HFM.! FF! ?IP! MI0! ]PM! etc.B que ten)amos en nuestra carpeta de la 3e"! lo haremos
de la si)uiente %orma'
http);;!oca!host;(A"19A;A"(56D8.C9
5onde NAHP$FA es la carpeta @o serie de carpetasB relativas a la raiz en que se encuentra
el AHNHIOK.$F
Por tanto resaltar que no slo podemos hacer llamadas a script PHP! sino tam"iLn a p/)inas
HFM.! descar)a de archivos! im/)enes! etc.! tan solo poniendo la direccin correcta en el
nave)ador. $s simplemente un servidor. 5e esta %orma! podemos tener nuestra 3e"
%uncionando en nuestro propio ordenador para construirla desde cero o "ien hacer las
prue"as que necesitemos sin tener que estar conectados a Internet
3. Instalacin de MySA. - 2e" o%icial
Oamos a hacer la instalacin de una versin 6.,.! por lo que en este caso "uscaremos la
versin que corresponda en los do3nloads para 2indo3s. $n la %echa de actualizacin de
este manual! la versin utilizada %ue la 6.,.*1
$Cisten dos tipos de archivo descar)a"le! en ?IP y en $$. Do pre%iero el ?IP porque es
descomprimir y listo! y lue)o para actualizar la versin es m/s sencillo. $l instalador $$
lleva un setup muy ma&o! por de%ecto se instala en ()*7$SE'* Hecomiendo ele)ir otra ruta
de instalacin! y por e&emplo lo vamos a hacer en ()*Servidor*7$SE'* para tener el PHP
y MySA. en la misma carpeta. >na vez %inalizada la instalacin! solo hay que llamar al
3inmysqladmin.eCe que estar4a en ()*Servidor*7$SE'*>in* y la primera vez que lo
e&ecutemos nos pide un nom"re de usuario y contrase7a! que introduciremos sin mayor
complicacin. Por e&emplo podemos poner el usuario S1epeS y la contrase7a Sho!aS! pero
t# ponlo a tu )usto. Ahora al lado del relo& saldr/ un sem/%oro. Si el sem/%oro se pone en
verde! per%ecto! si no! al)o ha %allado.
Por de%ecto! MySA. crea un usuario de nom"re root y sin contrase7a! y Lste es el usuario
que usaremos en nuestros script o en las aplicaciones que nos lo pidan @%oros! PHP Eu9e!
etc.B. Sin em"ar)o! al %inal de esta )u4a se eCpone cmo crear nuestro propio usuario con
nuestra propia contrase7a! para as4 evitar usar este usuario que se crea Spor de%ectoS y
conse)uir un nivel de se)uridad acepta"le. Pero vayamos por partes! pues antes tendremos
que instalar el phpMyAdmin! una aplicacin que nos simpli%icar/ la vida en el mane&o de
las "ases de datos.
6. Instalacin de phpMyAdmin - 2e" o%icial
Instalacin de php,-Ad.in
PhpMyAdmin es una utilidad que nos sirve para inteactuar con una "ase de datos de %orma
muy sencilla y desde una inter%az 3e". Eos sirve por e&emplo para crear "ases de datos!
ta"las! "orrar o modi%icar dados! a7adir re)istros! hacer copias de se)uridad! etc. $s una
aplicacin tan #til que casi todos los hostin) con MySA. disponen de ella! por ello se
analizar/ su instalacin. Adem/s! vamos a usarlo para crear los usuarios MySA. para as4
poder utilizar las "ases de datos de %orma se)ura. Al ser una aplicacin escrita en PHP!
necesita de Apache y MySA. para poder %uncionar.
Si accedemos a la p/)ina o%icial! nos encontramos en la seccin de do3nloads con una lista
de lin9s! y el que tenemos que ele)ir es el ?IP de la #ltima versin. $n nuestro caso vamos
a utilizar la versin *.1.+ de esta aplicacin! que es la versin disponi"le en la %echa de
actualizacin de este manual.
.a instalacin es relativamente sencilla' eCtraer todo el ?IP en la carpeta ra4z de nuestra
3e". K]K' en la carpeta de nuestra 3e"! ()*Servidor*4F* y no dentro de la carpeta del
PHP o similares. Nomo pone un nom"re eCtra7o a la carpeta! me&or la renom"ramos a
phpmyadmin! de %orma que quedaria al)o as4' ()*Servidor*4F*phpm$admin*
Ahora vamos a hacer una peque7a con%i)uracin del phpMyAdmin. Para ello de"emos
editar el archivo con&i+.inc.php y! leyendo de arri"a hacia a"a&o! "uscamos la primera
aparicin de la si)uiente l4nea'
Pc%):^PmaA"solute>ri^= J ^^V
5e"emos darle la ruta a"soluta donde tenemos el phpMyAdmin. $n nuestro caso ser4a as4'
Pc%):^PmaA"solute>ri^= J ^http'TTlocalhostTphpmyadminT^V
Hecuerda que podemos poner localhost o 1*+.,.,.1 Ahora "uscamos si nos aparece al)o
como esto'
Pc%):^"lo3%ishIsecret^= J ^^V
.e pondremos una cadena de caracteres cualquiera! que servir/ de semilla para la
encriptacin de contrase7as al usar la autenti%icacin con coo9ies'
Pc%):^"lo3%ishIsecret^= J ^aqui puedes poner lo que quieras^V
D )uardaremos el archivo.
1. Non%i)uraciones para MySA.
Confi!rando los !s!arios del servidor ,-/#0
Si has lle)ado hasta aqu4! ya tenemos todo instalado y listo para %uncionar. Hecuerda que
ahora nuestro usuario de MySA. es root sin pass3ord. Non esto podr4a valernos para hacer
prue"as utilizando MySA. en nuestro host local. Sin em"ar)o! en este paso vamos a ver
cmo eliminar el usuario Spor de%ectoS y cmo crear nuestro propio usuario con contrase7a!
ya que as4 evitamos la "recha de se)uridad que produce el tener el usuario root y dotamos
de cierta se)uridad a nuestro host local. .o haremos mediante la utilidad phpMyAdmin.
Ahora entramos a phpMyAdmin mediante la direccin
http);;!oca!host;phpm$admin;index.php @recuerda tener MySA. y Apache activos para
que phpMyAdmin %uncioneB. (/sicamente vamos a realizar las si)uientes tareas'
- Nrear nuestro propio usuario.
- (orrar usuarios no deseados @e&. el usuario rootB.
- Aplicar los cam"ios realizados.
- Non%i)urar phpMyAdmin y los script para el nuevo usuario.
Creacin de !n n!evo !s!ario de ,-/#0
5esde la portada de phpMyAdmin podemos seleccionar el idioma castellano si lo
deseamos. A continuacin! pinchamos en el lin9 1rivi!e+ios y en la si)uiente pantalla
damos a A+re+ar n#evo #s#ario. Ahora vamos a a)re)ar nuestro usuario y contrase7a! que
ser/ el que usemos lue)o en nuestros script locales que ha)an uso de MySA.. Por e&emplo!
podemos poner el mismo usuario y contrase7a que tenemos en nuestro Hostin)! pues as4
tendremos menos cosas que recordar. Nomo e&emplo! pon)amos el usuario 1epe y la
contrase7a ho!a.
Introduciremos el nom"re de usuario y contrase7a! le daremos acceso a SNualquier
servidorS @para que se pueda acceder a MySA. desde cualquier IP! incluidas las eCternas a
nuestro ordenadorB o a S.ocalS @si slo queremos que se acceda desde nuestro ordenador
donde hemos instalado MySA.B y le daremos todos los permisos y privile)ios @marcando
todas las casillas que aparecenB.
+orrado de 1s!arios no deseados
>na vez creado nuestro usuario o usuarios! vamos a "orrar aquellos que se crean Spor
de%ectoS y que conviene "orrar para evitar "rechas de se)uridad! so"re todo si vamos a usar
el PN como servidor hacia Internet y no slo para hacer prue"as desde nuestro ho)ar. Por
e&emplo! vamos a "orrar todos los usuarios menos el que aca"amos de crear. .o hacemos de
una %orma r/pida y sencilla desde el mismo lin9 1rivi!e+ios de antes' seleccionar los
usuarios que no queramos y eliminarlos.
2ecara de Privileios
>na vez eliminados! de"emos "uscar un lin9 que sirve para recar)ar la p/)ina de
privile)ios y pulsar en Ll para que los cam"ios sean e%ectivos. 5e todas %ormas podemos
hacer el anterior paso y Lste de una vez' al eliminar usuarios! ase)#rate de marcar la casilla
que indica que se eliminar/n los usuarios y posteriormente se car)ar/ la p/)ina de
privile)ios. $ste paso es importante! pues si no recar)as los privile)ios! nin)#n cam"io
anterior ha"r/ sido e%ectivo.
Confi!rar los /cript para el n!evo !s!ario
>na vez "orrado el usuario root y recar)ados los privile)ios! phpMyAdmin de&a de
%uncionar. QPor quLR Pues porque phpMyAdmin ven4a con%i)urado para usuario root sin
pass3ord! y Lste lo aca"amos de eliminar. $ntonces ahora tendremos que cam"iar dicha
con%i)uracin de phpMyAdmin para que %uncione con el nuevo usuario.
Oolvemos a a"rir el con&i+.inc.php del phpMyAdmin! y localizamos la primera aparicin
de estas varia"les'
Pc%):^Servers^=:Pi=:^authItype^=
Pc%):^Servers^=:Pi=:^user^=
Pc%):^Servers^=:Pi=:^pass3ord^=
D les cam"iamos su valor. $n la primera ponemos con&i+ para que no nos pida contrase7a
al entrar @#til si somos el #nico usuario que va a disponer de este phpMyAdminB! o si
queremos que nos la pida ponemos http para autenti%icacin HFFP o "ien cookie para
autenti%icacin y nave)acin con coo9ies. A la se)unda le damos el nom"re de usuario y a
la tercera la contrase7a del usuario que aca"amos de crear.
Pc%):^Servers^=:Pi=:^authItype^= J ^coo9ie^V
Pc%):^Servers^=:Pi=:^user^= J ^Pepe^V
Pc%):^Servers^=:Pi=:^pass3ord^= J ^hola^V
N89A) phpMyAdmin tiene un %allo @"u) conocidoB en esta zona. Al usar autenti%icacin
HFFP! un usuario que aca"a de a"andonar la sesin no puede volver a entrar con el mismo
nom"re. Para solucionarlo! se de"en cerrar todas las ventanas del nave)ador que estLn
a"iertas! y a continuacin si a"rimos una nueva ventana y volvemos a intentar entrar nos
de"er4a de&ar sin pro"lemas. Si quieres poner contrase7a a phpMyAdmin y para evitar este
pro"lema! te recomiendo que de los dos mLtodos eli&as el de coo9ies.
Si ahora desde tu nave)ador! y con el Apache y MySA. activos! accedes a la direccin
http);;!oca!host;phpm$admin;index.php podr/s empezar a utilizar phpMyAdmin con tu
nuevo usuario y contrase7a. Si ele)iste pedir contrase7a! cuando accedas a phpMyAdmin tu
usuario y tu contrase7a ser/n las que pusiste al crear el usuario' 1epe y ho!a en nuestro
caso. .o primero que har/s ser/ crearte una nueva "ase de datos para meter ah4 lo que
quieras.
5e la misma %orma! en nuestros script PHP que usen MySA. usaremos el usuario y
contrase7a que nos hemos creado! de tal %orma que al hacer la coneCin a MySA. quede
al)o como esto'
ZRphp
TT .....0unciones PHP.....
mysqlIconnect@S1*+.,.,.1S!SPepeS!SholaSBV
TT .....M/s %unciones PHP.....
R[
K "ien! si estamos instalando un pre%a"ricado como PHP Eu9e o un %oro! o incluso
cualquier aplicacin en la que nos solicitan un host! usuario y contrase7a! los datos que
de"eremos indicar son esos' 12B.-.-.1 o !oca!host como servidor! 1epe como usuario! ho!a
como contrase7a! y el nom"re de la "ase de datos que hayamos creado. Eo o"stante! se
recomienda tener unos conocimientos "/sicos so"re MySA. en PHP para mane&ar
correctamente estas %unciones.
;. Instalacin de un servidor de correo SMFP
Instalacin de !n /ervidor de correo /,3P
Si vamos a hacer prue"as con env4o de correos o "ien vamos a usar nuestro PN como
servidor de nuestra 3e"! es posi"le que nos interese instalar un peque7o servidor de correo
para poder usar la %uncin mai!@A de PHP. Non uno de estos servidores podremos enviar
correos desde PHP! pero o"viamente no podremos reci"ir nada ya que se tratan de
servidores SMFP @enviarB y no PKPTIMAP @reci"irB. Oamos entonces a ello. $n principio no
hay que cam"iar nada en el php.ini ya que Lste viene por de%ecto con%i)urado para un
servidor de correo instalado en el localhost! que es de lo que trata este manual. Pero s4
podremos cam"iar la varia"le sendmai!_&rom! que ser/ el remitente que le aparecer/ a la
persona que reci"a el correo si no ponemos el campo 0HKM en las ca"eceras del email
mediante la %uncin mail@B
:mail %unction=
V 0or 2in3* only.
SMFP J localhost
V 0or 2in3* only.
sendmailI%rom J me_localhost.com
.o que s4 hay que tener en cuenta es que para que estos servidores de correo %uncionen! hay
que tener coneCin a internet. >na opcin de servidor ser4a el A< SMFP que encontramos
en 333.q9so%t.com $ste servidor es instalar y listo. Slo queda tenerlo a"ierto y ya
podremos enviar correos mediante PHP. $ste servidor tiene una versin trial de 11 d4as.
Ktro servidor interesante ser4a el Ar)oso%t Mail Server. $ste servidor es )ratuito aunque
requiere una peque7a con%i)uracin. $n un art4culo de la Asociacin de Internautas
eCplican cmo con%i)urar este servidor para enviar correo con Kutloo9! pero dicha
con%i)uracin tam"iLn %unciona con PHP! asi que nos sirve plenamente. .a direccin del
art4culo es la si)uiente' 333.internautas.or)Tarticle.phpRsidJ1;+ $n dicha p/)ina
encontraremos la descar)a del pro)rama y cmo con%i)urarlo.
)otas *inales
D por %in! ya est/ todoX .ar)o! pero merece la pena. Ahora ya puedes empezar a hacer tus
prue"as en PHP y MySA.. Hecuerda que estamos tra"a&ando con pro)ramas servidores!
con lo cual estos pro)ramas tienen que estar activos cuando vayamos a hacer nuestras
prue"as. $sto quiere decir que el Apache de"e estar conectado @de"e estar activado para
poder interpretar los scriptB y que el script de"e estar dentro de la carpeta especi%icada
anteriormente en 5ocumentroot! adem/s tam"iLn MySA. de"e estar %uncionando para
tra"a&ar con "ases de datos! y de"emos tener tener el servidor de correo %uncionando con
coneCin a internet si vamos a usar %unciones de env4o de email.
>na nota importante es que tanto Apache *.,. como MySA. pueden e&ecutarse como
servicio del sistema. $sto quiere decir que! aunque no veamos nin)#n icono en la "arra de
tareas! am"os est/n %uncionando de %orma oculta. $sto puede resultar #til si los usamos a
menudo! pues nos evitamos el tener que e&ecutar Apache y MySA. para hacer las prue"as.
Pero si deseas quitarlo! de"eremos usar la utilidad mscon&i+ para evitar que arranquen de
inicio' Inico - $&ecutar - mscon%i) y en la pesta7a Servicios desmarcaremos el Apache y
MySA.. Al reiniciar el ordenador! ya no se e&ecutar/n como servicio del sistema y
tendremos que arrancarlos manualmente.
Si no usamos estos servidores como servicio! ha"r/ que arrancarlos manualmente. MySA.
se arranca e&ecutando el 3inmysqladmin.eCe que est/ en la carpeta "in del directorio de
MySA.. $l Apache *.,. se arranca desde el acceso directo 7onitor Apache Servers que
se crea en el )rupo de iconos en el men# Inicio. D el Apache 1.3. se arranca tam"iLn
desde un acceso directo que se crea al archivo apache.eCe Para el servidor de correo no
tendremos pro"lemas! a"rir o cerrar el pro)rama y listo.
Asimismo! resaltar que todo este tutorial y con%i)uraciones han sido ela"orados "a&o un
sistema 2indo3s P Home $dition. Si tenemos un pro)rama corta%ue)os instalado en el
ordenador! es posi"le que ten)amos que a"rir los puertos que se nos soliciten para que
%uncione el invento.
>n a)radecimiento por la cola"oracin de Maestrosdel2e".com para ela"orar este tutorial.
D por el personal de 333.A.NomputersServices.com por hacer lle)arlo a ustedes.

También podría gustarte