Академический Документы
Профессиональный Документы
Культура Документы
|DigitalOcean
Menu
Communit
:rennenearnes uscrie
CmoinstalarLinux,Apache,MQL,PHP(LAMP)enUuntu16.04?
Posted Decemer12,2016 35.2k LAMPTACK PHP MYQL APACH UUNTU16.04 1
Introduccin
edenomina"LAMP"aungrupodesoftwaredecdigolirequeseinstalanormalmenteenconjuntoparahailitarunservidorparaalojarsitios
aplicacioneswedinmicas.stetrminoenrealidadesunacrnimoquerepresentaunsistemaoperativoLinuxconunserviorApache.Losdatos
delsitiosonalmacenadosenasededatosMQLelcontenidodinmicoesprocesadoconPHP.
nestagua,vamosainstalarLAMPenunDropletconUuntu16.04.Uuntucumplirconnuestroprimerrequisito:unsistemaoperativoLinux.
RequisitosPrevios
Antesdecomenzarconestagua,deetenerunacuentadeusuarioindependientequenosearoot,conprivilegiosde sudo configuradosensu
servidor.Puedeaprendercmohacerlocompletandolospasos1-4enlaconfiguracininicialdelservidordeUuntu16.04.
Paso1:InstalarApachePermitirelFirewall
lservidorWeApacheesactualmenteelmspopulardelmundo.stiendocumentado,hasidoampliamenteutilizadoenlahistoriadela
we,loquehacequeseaunagranopcinpordefectoparamontarunsitiowe.
Paranuestrospropsitos,podemosiniciarescriiendolossiguientescomandos:
$ sudoaptgetupdate
$ sudoaptgetinstallapache2
stalecererverNameparauprimirlosrroresdeintaxis
Acontinuacin,agregamosunasolalneaalarchivo /etc/apache2/apache2.conf parasuprimirunmensajedeadvertencia.inosedefine
ServerName gloalmente,reciirlasiguienteadvertenciacuandocomprueelaconfiguracindeApacheparaloserroresdesintaxis:
$ sudoapache2ctlconfigtest
Output
AH00558:apache2:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using127.0.1.1.Setthe'ServerName'directiveglobally
SyntaxOK
ignupforournewsletter.
GetthelatesttutorialsonsAdminandopensourcetopics.
Araelarchivodeconfiguracinprincipalconsueditordetexto:
nterouremailaddress ignUp
$ sudonano/etc/apache2/apache2.conf
https://www.digitalocean.com/community/tutorials/comoinstalarlinuxapachemysqlphplampenubuntu1604es 1/10
28/2/2017 CmoinstalarLinux,Apache,MySQL,PHP(LAMP)enUbuntu16.04?|DigitalOcean
Nota:inoconocesudireccinIPdelservidor,vaaalaseccinsorecmoencontrarladireccinIPdesuservidorparaencontrarla.
/etc/apache2/apache2.conf
...
ServerNamedominio_del_servidor_o_IP
Guardecierreelarchivocuandotermine.
Despus,reviseloserroresdesintaxisescriiendo:
$ sudoapache2ctlconfigtest
Output
SyntaxOK
ReinicieApacheparaimplementarloscamios:
$ sudosystemctlrestartapache2
Ahorapuedecomenzaraajustarelfirewall.
AjustarelFirewallparaPermitirelTrficoWe
Ahora,asumiendoquehaseguidolasinstruccionesinicialesdeconfiguracindelservidorparahailitarelfirewallUFW,asegresedequeel
firewallpermitaeltrficoHTTPHTTP.PuedeasegurarsedequeUFWtieneunperfildeaplicacinparaApacheas:
$ sudoufwapplist
Output
Availableapplications:
Apache
ApacheFull
ApacheSecure
OpenSSH
$ sudoufwappinfo"ApacheFull"
Output
Profile:ApacheFull
Title:WebServer(HTTP,HTTPS)
Description:Apachev2isthenextgenerationoftheomnipresentApacheweb
server.
ignupforournewsletter.
Ports: GetthelatesttutorialsonsAdminandopensourcetopics.
80,443/tcp
nterouremailaddress ignUp
Permitireltrficoentranteparaeseperfil:
$ sudoufwallowin"ApacheFull"
https://www.digitalocean.com/community/tutorials/comoinstalarlinuxapachemysqlphplampenubuntu1604es 2/10
28/2/2017 CmoinstalarLinux,Apache,MySQL,PHP(LAMP)enUbuntu16.04?|DigitalOcean
UstedpuedehacerunchequeoinmediatoparaverificarquetodosalisegnloplaneadovisitandoladireccinIPplicadesuservidorensu
navegadorwe(vealanotaenelsiguienteencaezadoparaaveriguarculessudireccinIPplicasinotieneestainformacina):
http://la_ip_de_su_servidor
VerlapginawepredeterminadadeApacheUuntu16.04,queestdisponileparafinesinformativosdepruea.Deeseralgocomoesto:
ApacheUuntu16.04pordefecto
iustedveestapgina,entoncessuservidorweestcorrectamenteinstaladoaccesileatravsdelfirewall.
CmoncontrarlaDireccinIPPlicadetuervidor?
inoconocecualesladireccinIPplicadesuservidor,existenvariasformasdeaveriguarlo.Usualmenteestaesladireccinqueutilizapara
conectarseasuservidoratravsdeH.
$ ipaddrshoweth0|grepinet|awk'{print$2;}'|sed's/\/.*$//'
storegresar1o2lneas.Amassoncorrectas,peroelequiposlopuedesercapazdeusarunadeellas,asqueesliredeproarconcadauna
deellas.
$ sudoaptgetinstallcurl
$ curlhttp://icanhazip.com
IndependientementedelmtodoqueutiliceparaotenersudireccinIP,puedeescriirlaenlaarradedireccionesdetunavegadorparaaccesar
asuservidor.
Paso2:InstalarMQL
Ahoraqueatenemosnuestroservidorweconfiguradocorriendo,eselmomentodeinstalarMQL.MQLesunsistemadegestindease
dedatos.sicamente,seencargadeorganizarfacilitarelaccesoalasasesdedatosdondenuestrositiopuedealmacenarinformacin.
$ sudoaptgetinstallmysqlserverphp5mysql
Unavezms,selemostrarunalistadelospaquetesquesevanainstalar,juntoconlacantidaddeespacioendiscoqueocupar.IntroduzcaY
paracontinuar.
ignupforournewsletter.
Durantelainstalacin,elservidorlepedirqueseleccioneconfirmeunacontraseaparaelusuario"root"deMQL.staesunacuenta
administrativaenMQLquehaaumentadoprivilegios.Pienseenellocomoalgosimilaralacuentaderootparaelpropioservidor(laqueest
GetthelatesttutorialsonsAdminandopensourcetopics.
configurandoahoraesunacuentaespecficadeMQL).Asegresedequeseaunacontraseasegura,nica,nolodejeenlanco.
nterouremailaddress ignUp
Cuandolainstalacinsehaacompletado,ejecutaremosunscriptsimpledeseguridadquenospermiteeliminaralgunasconfiguraciones
peligrosasloquearunpocoelaccesoanuestrosistemadeasededatos.Inicieelscriptinteractivoejecutando:
https://www.digitalocean.com/community/tutorials/comoinstalarlinuxapachemysqlphplampenubuntu1604es 3/10
28/2/2017 CmoinstalarLinux,Apache,MySQL,PHP(LAMP)enUbuntu16.04?|DigitalOcean
$ sudomysql_secure_installation
LepedirqueintroduzcalacontraseaqueestaleciparalacuentarootdeMQL.Acontinuacin,lepreguntarsideseaconfigurarel VALIDATE
PASSWORDPLUGIN (PlugindeValidacindeContraseas).
Advertencia:Laactivacindeestafuncinesalgoascomounacuestindecriterio.isehailita,lascontraseasquenocoincidenconloscriterios
especificadossernrechazadasporMQLconunerror.stocausarprolemassiseutilizaunacontraseadilenconjuncinconelsoftwareque
configuraautomticamentelascredencialesdeusuariodeMQL,comolospaquetesdeUuntuparaphpMAdmin.ssegurodejarlavalidacin
desactivado,perosiempresedeeutilizarcontraseasnicasfuertesparalascredencialesdeasededatos.
Ingreseparas,ocualquierotracosaparacontinuarsinhailitar.
VALIDATEPASSWORDPLUGINcanbeusedtotestpasswords
andimprovesecurity.Itchecksthestrengthofpassword
andallowstheuserstosetonlythosepasswordswhichare
secureenough.WouldyouliketosetupVALIDATEPASSWORDplugin?
Pressy|YforYes,anyotherkeyforNo:
Lepedirqueseleccioneunniveldevalidacindecontrasea.Tengaencuentaquesiintroduce2,paraelnivelmsalto,reciirerroresal
intentarestalecercualquiercontraseaquenocontienenmeros,letrasmasculas,minsculascaracteresespeciales,oqueseasaenlas
palarasdeldiccionariocomunes.
Therearethreelevelsofpasswordvalidationpolicy:
LOWLength>=8
MEDIUMLength>=8,numeric,mixedcase,andspecialcharacters
STRONGLength>=8,numeric,mixedcase,specialcharactersanddictionaryfile
Pleaseenter0=LOW,1=MEDIUMand2=STRONG:1
ihahailitadolavalidacindecontrasea,semuestraunafuerzadecontraseaparalacontraseaderootexistente,lepreguntarsidesea
camiarlacontrasea.inoestsatisfechoconsucontraseaactual,introduzcanparael"no"enlaconsola:
Usingexistingpasswordforroot.
Estimatedstrengthofthepassword:100
Changethepasswordforroot?((Pressy|YforYes,anyotherkeyforNo):n
Paraelrestodelaspreguntas,haqueingresarYdespuspulsarnterencadapregunta.stoeliminaralgunosusuariosdeejemplolaase
dedatosdepruea,desactivarlasconexionesrootremotas,cargarestasnuevasreglasparaqueMQLrespeteinmediatamenteloscamios
quehemosrealizado.
nestepunto,elsistemadeasededatosaestconfiguradopodemosseguiradelante.
Paso3:InstalarPHP
PHPeselcomponentedenuestraconfiguracinqueprocesarcdigoparamostrarcontenidodinmico.Puedeejecutarsecuenciasdecomandos,
conectarseanuestrasasesdedatosMQLparaotenerinformacin,entregarelcontenidoprocesadoanuestroservidorweparamostrarlo.
ignupforournewsletter.
$ sudoaptgetinstallphplibapache2modphpphpmcryptphpmysql
GetthelatesttutorialsonsAdminandopensourcetopics.
nterouremailaddress
stodeerinstalarPHPsinningnprolema.Vamosaproarestoenunmomento. ignUp
nlamaoradeloscasos,vamosaquerermodificarlaformaenqueApachesirvearchivoscuandosesolicitaundirectorio.Actualmente,siun
usuariosolicitaundirectoriodelservidor,Apacheuscarprimerounarchivollamado index.html .Nosotrosqueremosdecirleanuestroservidor
https://www.digitalocean.com/community/tutorials/comoinstalarlinuxapachemysqlphplampenubuntu1604es 4/10
28/2/2017 CmoinstalarLinux,Apache,MySQL,PHP(LAMP)enUbuntu16.04?|DigitalOcean
$ sudonano/etc/apache2/modsenabled/dir.conf
everdeformasimilaraesto:
/etc/apache2/mods-enaled/dir.conf
<IfModulemod_dir.c>
DirectoryIndexindex.htmlindex.cgiindex.plindex.phpindex.xhtmlindex.htm
</IfModule>
/etc/apache2/mods-enaled/dir.conf
<IfModulemod_dir.c>
DirectoryIndexindex.phpindex.htmlindex.cgiindex.plindex.xhtmlindex.htm
</IfModule>
Cuandohaaterminado,guardecierreelarchivopresionando"CTRL-X".Vaatenerqueconfirmarelguardadoingresando"Y"luegopulsando
"nter"paraconfirmarlauicacindealmacenamientodearchivos.
Despusdeesto,tenemosquereiniciarelservidorweApacheparaquenuestroscamiosseanreconocidos.Puedehacerlohacerloejecutando
esto:
$ sudosystemctlrestartapache2
sudosystemctlstatusapache2
SampleOutput
apache2.serviceLSB:Apache2webserver
Loaded:loaded(/etc/init.d/apache2;bad;vendorpreset:enabled)
DropIn:/lib/systemd/system/apache2.service.d
apache2systemd.conf
Active:active(running)sinceWed2016041314:28:43EDT;45sago
Docs:man:systemdsysvgenerator(8)
Process:13581ExecStop=/etc/init.d/apache2stop(code=exited,status=0/SUCCESS)
Process:13605ExecStart=/etc/init.d/apache2start(code=exited,status=0/SUCCESS)
Tasks:6(limit:512)
CGroup:/system.slice/apache2.service
13623/usr/sbin/apache2kstart
13626/usr/sbin/apache2kstart
13627/usr/sbin/apache2kstart
13628/usr/sbin/apache2kstart
13629/usr/sbin/apache2kstart
13630/usr/sbin/apache2kstart
Apr1314:28:42ubuntu16lampsystemd[1]:StoppedLSB:Apache2webserver.
Apr1314:28:42ubuntu16lampsystemd[1]:StartingLSB:Apache2webserver...
Apr1314:28:42ubuntu16lampapache2[13605]:*StartingApachehttpdwebserverapache2
ignupforournewsletter.
Apr1314:28:42ubuntu16lampapache2[13605]:AH00558:apache2:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using127
GetthelatesttutorialsonsAdminandopensourcetopics.
Apr1314:28:43ubuntu16lampapache2[13605]:*
Apr1314:28:43ubuntu16lampsystemd[1]:StartedLSB:Apache2webserver.
nterouremailaddress ignUp
InstalacindeMdulosdePHP
https://www.digitalocean.com/community/tutorials/comoinstalarlinuxapachemysqlphplampenubuntu1604es 5/10
28/2/2017 CmoinstalarLinux,Apache,MySQL,PHP(LAMP)enUbuntu16.04?|DigitalOcean
ParamejorarlafuncionalidaddePHP,podemosinstalaropcionalmentealgunosmdulosadicionales.
$ aptcachesearchphp|less
Uselasteclasdeflechaparadesplazarsehaciaarriahaciaaajo,qparasalir.
Losresultadossontodosloscomponentesopcionalesquesepuedeninstalar.eledarunarevedescripcindecadauno:
libnetlibidnperlEnlacesdePerlparaGNULibidn
phpalldevPaquetequedependedetodoslospaquetesdedesarrollodePHPsoportados
phpcgiDelladodelservidor,lenguajedescriptingembebidoenHTML(CGIbinario)(Pordefecto)
phpcliIntrpretedelneadecomandosparaellenguajedescriptingPHP(Pordefecto)
phpcommonArchivoscomunesparapaquetesconstruidosdesdefuentePHP
phpcurlMduloCURLparaPHP[Pordefecto]
phpdevArchivosparaelmdulodedesarrolloPHP(Pordefecto)
phpgdMduloGDparaPHP[Pordefecto]
phpgmpMduloGMPparaPHP[Pordefecto]
:
Paraotenermsinformacinsoreloquehacecadamdulo,puedeuscarenInternet,osepuedeverenladescripcinlargadelpaquete
escriiendo:
$ aptcacheshownombre_del_paquete
$ aptcacheshowphpcli
Juntoconunagrancantidaddeotrainformacin,encontraralgoquesepareceaesto:
Output
Descriptionen:commandlineinterpreterforthePHPscriptinglanguage(default)
Thispackageprovidesthe/usr/bin/phpcommandinterpreter,usefulfor
testingPHPscriptsfromashellorperforminggeneralshellscriptingtasks.
.
PHP(recursiveacronymforPHP:HypertextPreprocessor)isawidelyused
opensourcegeneralpurposescriptinglanguagethatisespeciallysuited
forwebdevelopmentandcanbeembeddedintoHTML.
.
Thispackageisadependencypackage,whichdependsonDebian'sdefault
PHPversion(currently7.0).
ignupforournewsletter.
idecidimosquenecesitamos phpclies ,podemosescriir:
GetthelatesttutorialsonsAdminandopensourcetopics.
nterouremailaddress
sudoaptgetinstallphpcli ignUp
https://www.digitalocean.com/community/tutorials/comoinstalarlinuxapachemysqlphplampenubuntu1604es 6/10
28/2/2017 CmoinstalarLinux,Apache,MySQL,PHP(LAMP)enUbuntu16.04?|DigitalOcean
$ sudoaptgetinstallpaquete1paquete2...
nestepunto,LAMPestinstaladoconfigurado.inemargo,todavadeemosproarnuestroPHP.
Paso4:PrueadelProcesadorPHPenelervidorWe
ConelfindeproarquenuestrosistemasehaconfiguradocorrectamenteparaPHP,podemoscrearunscriptPHPmusico.
$ sudonano/var/www/html/info.php
stoarirunarchivoenlanco.Queremosponereltextosiguiente,queeselcdigoPHPvlido,dentrodelarchivo:
info.php
<?php
phpinfo();
?>
Cuandohaaterminado,guardecierreelarchivo.
AhorapodemosproarsinuestroservidorwepuedevisualizarcorrectamenteelcontenidogeneradoporunscriptPHP.Paraproaresto,slo
tenemosquevisitarestapginaennuestronavegadorwe.DenuevonecesitarladireccinIPplicadelservidor.
Ladireccinquedeseavisitarser:
http://direccin_IP_del_servidor/info.php
Lapginaqueverdeeseralgocomoesto:
PHPinfopordefectoenUuntu16.04
stapginasicamenteledainformacinsoreelservidordesdelaperspectivadePHP.stilparaladepuracinparaasegurarsedequelos
ajustesseestnaplicandocorrectamente.
iestofueunxito,entoncessuPHPestfuncionandocomoseesperaa.
sposilequedeseeeliminarestearchivodespusdeestapruea,aqueenrealidadpodradarinformacinsoreelservidoralosusuariosno
autorizados.Paraello,puedeescriirlosiguiente:
$ sudorm/var/www/html/info.php
iempresepuedevolveracrearestapginasinecesitaaccederalainformacinnuevamente.
Conclusin
AhoraquetieneunLAMPinstalado,hamuchasopcionesparaprocederdespusdeesto.sicamentesehainstaladounaplataformaque
permitirlainstalacindelamaoriadelossitioswesoftwareweentuservidor.
ignupforournewsletter.
Comopasoinmediato,deesasegurartedequelasconexionesasuservidorweestnaseguradas,accediendoaellasatravsdeHTTP.La
GetthelatesttutorialsonsAdminandopensourcetopics.
opcinmsfcilenestecasoesutilizarLet'sncrptparaprotegersusitioconuncertificadoliredeTL/L.
nterouremailaddress ignUp
Algunasotrasopcionespopularesson:
InstalarWordpresselsistemadegestindecontenidosmspopularenInternet.
https://www.digitalocean.com/community/tutorials/comoinstalarlinuxapachemysqlphplampenubuntu1604es 7/10
28/2/2017 CmoinstalarLinux,Apache,MySQL,PHP(LAMP)enUbuntu16.04?|DigitalOcean
ConfigurarphpMAdminparaaudaramanejartusasesdedatosMQLdesdetunavegadorwe.
MsinformacinsoreMQLparagestionartusasesdedatos.
AprendaausarFTPparatransferirarchivosdesdehaciaelservidor.
Nota:Actualizaremoslosenlacesamedidaqueseactualicelainformacinalaversin16.04.
Translation:
TonnORG
pinupanDcloudserverinunderaminute.
implesetup.Fullrootaccess.
traightforwardpricing.
DPLOYRVR
RelatedTutorials
ComoInstalaroWordPresscomLAMPnoUuntu16.04
HowToecureApachewithLet'sncrptonDeian8
ComoinstalarapilhaLinux,Apache,MQL,PHP(LAMP)noUuntu16.04
CmoinstalarWordPressconLAMPenUuntu16.04?
Linux,Apache,MQL,PHP(LAMP)Uuntu16.04
0Comments
Leaveacomment...
ignupforournewsletter. LogIntoComment
GetthelatesttutorialsonsAdminandopensourcetopics.
nterouremailaddress ignUp
https://www.digitalocean.com/community/tutorials/comoinstalarlinuxapachemysqlphplampenubuntu1604es 8/10
28/2/2017 CmoinstalarLinux,Apache,MySQL,PHP(LAMP)enUbuntu16.04?|DigitalOcean
ThisworkislicensedunderaCreative
CommonsAttriution-NonCommercial-
hareAlike4.0InternationalLicense.
Copright2017DigitalOceanInc.
ignupforournewsletter.
GetthelatesttutorialsonsAdminandopensourcetopics.
nterouremailaddress ignUp
https://www.digitalocean.com/community/tutorials/comoinstalarlinuxapachemysqlphplampenubuntu1604es 9/10
28/2/2017 CmoinstalarLinux,Apache,MySQL,PHP(LAMP)enUbuntu16.04?|DigitalOcean
https://www.digitalocean.com/community/tutorials/comoinstalarlinuxapachemysqlphplampenubuntu1604es 10/10