Вы находитесь на странице: 1из 10

28/2/2017 CmoinstalarLinux,Apache,MySQL,PHP(LAMP)enUbuntu16.04?

|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.

PodemosinstalarApachefacilmentedesdeelgestordepaquetesdeUuntu, apt .Ungestordepaquetesnospermiteinstalarconmaorfacilidad


unsoftwaredesdeunrepositoriomantenidoporUuntu.Puedeaprendermssorecmoutilizar apt aqu.

Paranuestrospropsitos,podemosiniciarescriiendolossiguientescomandos:

$ sudoaptgetupdate
$ sudoaptgetinstallapache2

Yaqueestamosutilizandoelcomando sudo ,estasoperacionessonejecutadasconprivilegiosdeadministrador,porloquelepedirlacontrasea


paraverificarsusintenciones.

Unavezquehaaingresadosucontrasea, apt ledirqupaquetesplaneainstalarcuntoespacioadicionalocuparnensudisco.IngreseY


presionenterparacontinuar,lainstalacincontinuar.

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

Dentro,enlaparteinferiordelarchivo,agregueunadirectiva ServerName ,apuntandoasunomrededominioprincipal.inotieneunnomrede


dominioasociadoconsuservidor,puedeutilizarladireccinIPplicadesuservidor:

Nota:inoconocesudireccinIPdelservidor,vaaalaseccinsorecmoencontrarladireccinIPdesuservidorparaencontrarla.

/etc/apache2/apache2.conf

...
ServerNamedominio_del_servidor_o_IP

Guardecierreelarchivocuandotermine.

Despus,reviseloserroresdesintaxisescriiendo:

$ sudoapache2ctlconfigtest

Puestoquehemosaadidoladirectivagloal ServerName ,todoloquedeeveres:

Output
SyntaxOK

ReinicieApacheparaimplementarloscamios:

$ sudosystemctlrestartapache2

Ahorapuedecomenzaraajustarelfirewall.

AjustarelFirewallparaPermitirelTrficoWe
Ahora,asumiendoquehaseguidolasinstruccionesinicialesdeconfiguracindelservidorparahailitarelfirewallUFW,asegresedequeel
firewallpermitaeltrficoHTTPHTTP.PuedeasegurarsedequeUFWtieneunperfildeaplicacinparaApacheas:

$ sudoufwapplist

Output
Availableapplications:
Apache
ApacheFull
ApacheSecure
OpenSSH

ioservaelperfil ApacheFull ,deeriamostrarquehailitaeltrficoalospuertos80443:

$ 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.

Desdelalneadecomando,puedeencontrarestodevariasformas,primeropuedeutilizarlaherramienta iproute2 paraotenersudireccin


escriiendoesto:

$ ipaddrshoweth0|grepinet|awk'{print$2;}'|sed's/\/.*$//'

storegresar1o2lneas.Amassoncorrectas,peroelequiposlopuedesercapazdeusarunadeellas,asqueesliredeproarconcadauna
deellas.

Unmtodoalternativoesutilizarlautilidad curl paraponerseencontactoconunaparteexternaqueledigacmosevesuservidor.Puedehacer


estopreguntandoaunservidorespecficoculessudireccinIP:

$ sudoaptgetinstallcurl
$ curlhttp://icanhazip.com

IndependientementedelmtodoqueutiliceparaotenersudireccinIP,puedeescriirlaenlaarradedireccionesdetunavegadorparaaccesar
asuservidor.

Paso2:InstalarMQL
Ahoraqueatenemosnuestroservidorweconfiguradocorriendo,eselmomentodeinstalarMQL.MQLesunsistemadegestindease
dedatos.sicamente,seencargadeorganizarfacilitarelaccesoalasasesdedatosdondenuestrositiopuedealmacenarinformacin.

Unavezms,podemosusar apt paraadquirireinstalarnuestrosoftware.stavez,taminvamosainstalarotrospaquetes"auxiliares"que


permitirnanuestroscomponentescomunicarseunosconotros:

$ sudoaptgetinstallmysqlserverphp5mysql

Note:nestecaso,notienequeejecutar sudoaptgetupdate antesdelcomando.stosedeeaquerecientementeloejecutamosalinstalar


Apache.lndicedepaquetesennuestroservidoradeeestaralda.

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.

Unavezmspodemosaprovecharelsistema apt parainstalarnuestroscomponentes.Vamosaincluiralgunospaquetesdeauda,as,porloque


elcdigoPHPsepuedeejecutarenelservidorApachehalarconnuestraasededatosMQL:

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

wequeelijalosarchivosPHPdepreferencia,porloquevamosahacerApacheusqueunarchivo index.php primero.

Paraello,escriastecomandoparaarirelarchivo dir.conf enuneditordetextoconprivilegiosderoot:

$ sudonano/etc/apache2/modsenabled/dir.conf

everdeformasimilaraesto:

/etc/apache2/mods-enaled/dir.conf

<IfModulemod_dir.c>
DirectoryIndexindex.htmlindex.cgiindex.plindex.phpindex.xhtmlindex.htm
</IfModule>

QueremosmoverelndicedelarchivoPHPdestacandoloalaprimeraposicindespusdelaespecificacindel DirectoryIndex ,as:

/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

Taminpodemoscomproarelestadodelserviciode apache2 atravsde systemctl :

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.

ParaverlasopcionesdisponilesparalosmdulosdePHPiliotecas,sepuedecanalizarlosresultadosdelasqueda aptcache dentrode


less ,unlocalizadorquelepermitedesplazarseatravsdelasalidadeotroscomandos:

$ 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

Harunagrancantidaddesalida,conunsolocampollamado Descriptionen quetendrunaexplicacinmslargadelafuncionalidadque


proporcionaelmdulo.

Porejemplo,paraaveriguarloquehaceelmdulo phpcli ,podramosescriiresto:

$ 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).

idespusdeinvestigar,decidequelegustarainstalarunpaquete,puedehacerloutilizandoelcomando aptgetinstall comolohemos


venidohaciendoparanuestrootrosoftware.

ignupforournewsletter.
idecidimosquenecesitamos phpclies ,podemosescriir:
GetthelatesttutorialsonsAdminandopensourcetopics.

nterouremailaddress
sudoaptgetinstallphpcli ignUp

ideseainstalarmsdeunmdulo,puedehacerlolistandocadauno,separadosporunespacio,despusdelcomando aptgetinstall ,algo


as:

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.

Vamosallamaraestescript info.php .ParaqueApachepuedauscarelarchivolotraajecorrectamente,sedeeguardarenundirectoriomu


especfico,alcualseleconocecomo"raz".

nUuntu16.04,estedirectorioseencuentraen /var/www/html/ .Podemoscrearelarchivoenesauicacinejecutando:

$ 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.

:rennenearnes Upvote (1) uscrie

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.

Communit Tutorials Questions Projects Tags Newsletter R

Distros&One-ClickApps Terms,Privac,&Copright ecurit Reportaug GetPaidtoWrite hop

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

Вам также может понравиться