Professional Documents
Culture Documents
Despliegue de un
servidor web (Linux
+ Apache + MySQL +
phpMyAdmin) en
CentOS 6.9
NDICE
IntroduccinPag3
Paso 1. Configuracin de red.Pag3
Paso 2. Instalacin y configuracin de Apache..Pag3
Paso 3. Instalacin y configuracin de un intrprete PHP.Pag8
Paso 4. Instalacin y configuracin de MySQL...Pag9
Paso 5. Instalacin y configuracin de PHPMyAdmin.Pag10
Introduccin.
PartimosdeunamquinavirtualLinuxconCentOS6.9x64instalada,con
conexinvaethernet.Dentrodelamquinacontamosconeleditordetextoplano
nano,yconlapolticadeSELinuxdesactivada.
NuestroobjetivoespreparareldesplieguedeunservidorwebconApache,
MySQL,PHPyPHPMyAdminparapodercomenzarausaraplicacioneswebcomo
WordpressoJoomla.
Paso1.Configuracindered.
Laprimerapartedelaconfiguracindelareddebemoshacerlaennuestro
sistemadevirtualizacin(VMWare)antesdearrancarlapropiamquina.Debemos
configurarelmododeconexindelamquinaenelmejorajusteennuestrared.
EnnuestrocasodebemosusarelmodoNAT.
Utilizamoselcomando
# ip link show
Nossaldrunalistadelastarjetasdereddenuestroequipoaunquestasnoestn
configuradas.Aqupodremoscorroborarlacorrectaexistenciadenuestratarjeta
eth0.
Elsiguientepasosetratadeeditarelarchivodeconfiguracindelatarjetaeth0.
Paraelloabrimoselsiguientearchivoconnuestroeditornano.
#nano /etc/sysconfig/network-scripts/ifcfg-eth0
Enestearchivodebemoscomprobarlosvaloresde3parmetros;bootproto(el
mododeobtencindeIP),onboot(arranqueautomticodelatarjetaeth0),
nm_controlled(aplicaonolaconfiguracindelasistentedered).Losvaloresdeben
dequedaras:
Conestodamosporconcluidalaconfiguracindelatarjetadered.Para
comprobarlacorrecin,usamoselcomando# ifconfig yvemossiladireccin
IPesunaIPcorrectaconsalidaainternet,porejemplo,conelusodelcomando
# yum update
Conesecomandoutilizado,salimosainternetacomprobarsihayactualizaciones,
porloquesinodaningntipodeerror,podremosconfirmarlacorrectaconexin,y
porlotanto,finalizadadeunavezportodaslaconfiguracindered.
Paso2.InstalacinyconfiguracindeApache.
Apacheesunservidorwebhttpquetenemosqueinstalarennuestramquina
servidorparaprocederconeldesplieguedenuestrasaplicacionesweb.Sufuncin
esbsicamentedeaceptarpeticiones(odenegarlas,dependedesisecumplecon
lasnormasdeseguridadestablecidas)depginaswebalosclientesquese
conectenanuestrositioweb.
Parainstalarlo,hacemosusodelsiguientecomando:
# yum -y httpd
UnavezhayamosinstaladoelservidorApache,debemoshacerqueelservicio
inicie,sininiciar,aunquelotengamosinstalado,noservirdenada.Paralevantar
elservidorApacheusaremoselsiguientecomando.
Conesto,enteoradeberamoshaberiniciadoelservidorApachesinohaocurrido
ningnerror.Podemoscomprobarelestadodelservidorcon
EstecomandonosdevolverunalneadetextoquenosdirsielservidorApache
seestejecutando,sinoseencuentra,ocualquiertipodeerrorquehayamos
tenidoenelprocedimiento.
Lomscmodoseraconfigurarelservicioparaqueseiniciecadavezque
iniciamosnuestramquina(normalmente,losequiposquealojanunservidorweb
noseapagan,yencasodeapagarse,sebuscaqueelservicioserestablezcacon
eliniciodelequipo,deahlautilidad)
# chkconfig httpd on
ConApachecorrectamenteiniciado,procederemosaabrirelpuerto80paraque
losclientespuedanaccederasanuestrositioweb.
ElarchivoiptablesdeLinuxeselfirewalldeLinuxintegradodirectamenteensu
kernel.Desdel,podremosabrirelpuertoquenecesitemos.Podemosabrirlocon
nanodesdelasiguienteruta.
# nano /etc/sysconfig/iptables
Debemosencontrarnosconundocumentotalqueas.
Debemosfijarnosbienenlasiguientedirectiva:
EsadirectivaabrelaspeticionesdelpuertoTCP22.Teniendoencuentaque
queremoshacerlomismoconelpuerto80,tambinTCP,lonicoquedebemos
haceresincluirunadirectivaigualaesa,justodebajo,cambiandoel22porel80,
demaneraquequedeas.
Teniendoencuentaqueelfirewalldeiptablesesunservicio,recargamosel
servicioparaaplicarloscambios.
Unavezreiniciadoelservicio,enunnavegadorwebdeamquinaanfitriona,
ponemosladireccinIPdelamquinaCentOS.Nossaldrlapginapordefecto
deApacheenCentOSporquenotenemosarchivoshtmlquemostrar.
Paraprevisualizarquetodoestcorrecto,creamosunarchivosimpledeHTML
paraverquelomuestrecorrectamente.
DebemosiralacarpetadeApachedondealojalosarchivos.htmlparamostrar,
creandoconnanounarchivoquesellameindex.htmlparamostrardeinicio.
# nano /var/www/html/index.html
Elcontenidodelarchivopuedesercualquierestructurahtmlvlida,aunque
nosotrosusaremosunaestructurasimpleproporcionadaporelprofesor.
VolvemosareiniciarApacheparaaplicartodosloscambios.
AhoraprobamosaintroducirdenuevoladireccinIPdelamquinaCentOS,ahora
veremoscomolapginaquenosmuestraesnuestroarchivoindex.html
Conesto,habremosacabadoconlainstalacinbsicadeApacheyvisualizado
contenidohtmlennuestroservicioweb.
Paso3.InstalacinyconfiguracindeunintrpretedePHP.
NecesitamoscontarconunintrpretePHPparanuestroservidorApachepara
poderutilizararchivosphpdewebenlugardeHTML.
Loprimeroquenecesitamosdescargarelgestordedescargaswgetparapoder
obtenerarchivosdedirectoriosespecficos.Hacemosusodelcomando:
NecesitaremosobtenerlosficherosdeconfiguracindesdelosrepositoriosEpely
Remi,hacemosusodelcomandowgetsobreesosrepositoriosparaobtenerlos.
# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-
release-6-8.noarch.rpm
Elsiguientepasoserinstalarlaherramientayumutilsparaaadirpluginsayum
paraseleccionarlosrepositoriossinuncomandoespecficodelosrepositorios
aadidos.
ContinuamoshabilitandoelrepositoriodeRemiquecontienelosarchivosdephpy
einstalamoslossiguientespaquetes.
ParaprobarqueelintrpretedePHPhasidoinstaladocorrectamenteharemosuna
pruebacreandounarchivollamadotest.phpconlasiguienteestructuraen
/var/www/html.
Sitodohaidocorrectamente,siponemosenelnavegadordelamquinaanfitriona
ladireccinIPdelservidorseguidode/test.phpnosapareceralgocomo:
Paso4.InstalacinyconfiguracindeMySQL.
Paragestionarlainformacindenuestrawebnecesitaremosungestordebasede
datos,eligiendoMySQL.ParainstalarMySQL,primeronosharemosconlos
repositoriosnecesariosparapoderobtenerlo.
# wget http://dev.mysql.com/get/mysql57-community-release-
el6-7.noarch.rpm
Pasamosacomprobarsilosrepositoriosestncorrectamenteinstaladosbuscando
unaspalabrasclavesenlalistaderepositorios,paraversinosdevuelvelacorrecta
existenciadeestosrepositoriosennuestroequipo.
Sitodoestcorrecto,vamosconlainstalacindelgestorMySQL.
IniciamoselservicioMySQLyluegocomprobamoslacorrectaversin.
# mysql --version
Porltimo,debemosiniciarsesinenelgestordebasedatosparapodergestionar
lasbases.Debemoselegirnuestrapropiacontrasea,yaqueelserviciodepors
traeunatemporalparaqueestaseacambiadaluegodelprimeriniciodesesin.
Paraencontrarlacontraseatemporal,labuscamosenelficherolog
correspondiente.
Apuntamoslacontraseayprocederemosaentrarenlainstalacindeseguridad
deMySQL,dondepodremoscambiarlacontrasea,ytrasaceptarunaseriede
condiciones,tendremoselservicioMySQLlisto.
# mysql-security-installation
Paso5.InstalacinyconfiguracindePHPMyAdmin.
Procederemosconlaltimainstalacindelproceso.PHPMyAdminesuna
herramientaparalagestindedatosdeMySQLdesdelapropiaweb.
LosrepositoriosdondeseencuentransonrepositoriosdeEpelyRemiinstalados
conanterioridad,aunqueloptimoserabuscarlaversinquesenospermiteyver
siesosrepositoriossonloscorrectos.Encualquiercaso,paracomprobarlos
repositoriossimplementeusamos
# yum repolist
ParainstalarPHPMyAdmindesdeelrepositorioRemihacemosusodelsiguiente
comando
SernecesarioparareiniciarelservidorApache,ytrashacerlo,siponemosenel
navegadordelanfitrionnuestraIPdelservidorseguidode/phpMyAdmin,
aparecerunapginadequeelaccesoestprohibido.Estosetrataporqueel
archivodeconfiguracindePHPMyAdmindeniegatodaslasconexionesdesdela
quesequieraentrarpordefecto.Slotendremosquecambiaresoyyapodremos
entrarennuestrogestordebasededatosponiendoloanteriorenelnavegador.
Paracambiarlo,nosiremosaeditarelsiguientearchivo.
# nano /etc/httpd/conf.d/phpMyAdmin.conf
Dentrodeesearchivo,buscamoslasdirectivasOrderDeny,AllowyDenyfrom
Allylascomentamos,paraquetodaslasconexionesseanaceptadas.Lo
hacemosdeestamaneraporquenosencontramosenunentornomedianamente
segurocomolaredlocaldenuestraclase,peroparaaplicarloenunservidorreal,
loptimoyseguroseracrearunadirectivaconAllowxsiendoxladireccinIP
delequipodesdeelquequeramosacceder.
Comprobamosdenuevoentrandoenhttp://NuestraIP/phpMyAdminydebera
aparecerlosiguiente.
Iniciamossesincomorootyconlacontraseaqueeligisemosenlainstalacin
deseguridaddeMySQL.
Conesto,habremosacabadocontodoeldesplieguedeloscomplementosde
nuestroservidorweb.