• Like
Presentació del servidor Apache
Upcoming SlideShare
Loading in...5
×

Presentació del servidor Apache

  • 59 views
Uploaded on

Presentació del servidor web Apache. …

Presentació del servidor web Apache.

Més manuals a: http://www.exabyteinformatica.com

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
59
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Presentació del servidor ApacheDescripció de larquitectura en mòduls de lApache. Explicació i enumeració de lesfuncionalitats associades a cada mòdul:El servidor Apache és un programari que està estructurat en mòduls. La configuració de cadamòdul es fa mitjançant la configuració de les directives que estan contingudes dins del mòdul.Els mòduls de lApache es poden classificar en tres categories:· Mòduls base: Mòdul amb les funcions bàsiques de lApache.· Mòduls multi procés: són els responsables de la unió amb els ports de la màquina, acceptantles peticions i enviant als fills a atendre a les peticions.· Mòduls addicionals: Qualsevol altre mòdul que li afegeixi una funcionalitat al servidor.Les funcionalitats més elementals es troben en el mòdul base, sent necessari un mòdul multiprocés per gestionar les peticions. Shan dissenyat diversos mòduls multi procés per acadascun dels sistemes operatius sobre els quals sexecuta lApache, optimitzant el rendiment irapidesa del codi.La resta de funcionalitats del servidor saconsegueixen per mitjà de mòduls addicionals que espoden carregar. Per afegir un conjunt dutilitats al servidor, simplement cal afegir-li un mòdul,de manera que no és necessari tornar a instal·lar el programari.Mòduls base i mòduls multi procéscore: Funcions bàsiques de lApache que estan sempre disponibles.mpm_common: Col·lecció de directives que simplementen en més dun mòdul multi procés.beos: Mòdul de multi procés optimitzat per BeOS.leader: Variable experimental de MPM.mpm_netware: Mòdul de multi procés que implementa un servidor web optimitzat per NovellNetWare.mpmt_us2: MPM híbrid, multi procés i multi fil para OS/2 .perchild: Mòdul multi procés que permet als processos dimoni servir les peticions quesassignen a diferents usuaris.prefork: Implementa un servidor sense fils.threadpool: Variant experimental del mòdul estàndard de MPM .
  • 2. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/mpm_winnt: Mòdul multi procés optimitzat per Windows NT.worker: Mòdul multi procés que implementa un híbrid multi fils i multi processos de servidorWeb.Mòduls addicionalsmod_access: proporciona control daccés basant-se en el nom del host del client, la sevaadreça IP o altres característiques de la petició del client.mod_actions: aquest mòdul sutilitza per executar scripts CGI, basant-se en el tipus de mitjà oel mètode de petició.mod_àlies: proporcionat per mapejar diferents parts del sistema de fitxers del servidor enlarbre de documents del servidor, i per a redirecció dURLs.mod_asis: enviament de fitxers que tenen les seves pròpies capçaleres http.mod_auth: autenticació dusuari utilitzant fitxers de text.mod_auth_anon: permet a usuaris anònims accedir a àrees autenticades.mod_auth_dbm: proporciona autenticació utilitzant fitxers DBM.mod_auth_digest: autenticació dusuari utilitzant MD5.mod_auth_ldap: permet la utilització un directori LDAP per emmagatzemar la base de dadesdautenticació.mod_autoindex: mostra els continguts dun directori automàticament, semblant a la instruccióls dUnix.mod_cache: Cache de continguts indexats per URIs.mod_cern_meta: Semàntica detiquetes del CERN.mod_cgi: Execució de scritps CGI.mod_cgid: execució de scripts CGI utilitzant un dimoni CGI extern.mod_charset_lite: per a lespecificació del joc de caràcters de les traduccions.mod_deflate: comprimeix el contingut abans de ser enviat al client.mod_dir: Proporcionat per a redireccionaments i per servir els fitxers del llistat de directoris.mod_disk_cache: Cache per emmagatzemar continguts identificats per URI.mod_tiro: Un servidor simple per il·lustrar els mòduls del protocol.mod_env: modificació de lentorn que es envia als scripts CGI i les pàgines SSL.
  • 3. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/mod_expire: Generació de les capçaleres http expire, dacord amb els criteris especificats perlusuari.mod_ext_filter: passa el cos de la resposta a través dun programa abans denviar-la-hi alclient.mod_file_cache: escorcolla una llista estàtica de fitxers en memòria.mod_headers: personalització de les peticions HTTP i les capçaleres de les respostes.mod_imap: procés dimatges en el costat del servidor (Server Side).mod_include: Documents HTML generats pel servidor (Server Side Includes).mod_info: proporciona una visió comprensiva de la configuració del servidor.mod_isapi: Extensions ISAPI en Apache per Windows.mod_ldap: pool de connexions LDAP i escorcoll de resultats per a la utilització daltres mòdulsLDAP.mod_log_config: registre de les peticions fetes al servidor.mod_logio: registre del nombre de bytes rebuts i enviats en cada resposta.mod_mem_cache: Cache de continguts identificats per URI.mod_mime: associa les extensions de peticions dels fitxers amb el comportament del fitxer(gestionadores i filtres) i contingut (tipus mime, idioma, joc de caràcters i codificació).mod_mime_magic: determina el tipus mime dun fitxer mirant uns pocs bytes del contingut.mod_negotiation: es fa servir per a la negociació del contingut.mod_proxy: servidor HTTP/1.1 proxy/gateway.mod_proxy_connect: extensió de mod_proxy per a la gestió de les peticions connect.mod_proxy_ftp: suport FTP per mod_proxy.mod_proxy_http: suporta HTTP per al mòdul mod_proxy.mod_rewrite: proporciona un motor de reescriptura basat en regles que torna a escriure lespeticions dURLs al vol.mod_setenvif: permet la configuració de les variables dentorn basant-se en lescaracterístiques de la petició.mod_speling: intenta corregir les URL mal posades pels usuaris, ignorant les majúscules ipermetent fins a una falta.mod_ssl: criptografia avançada utilitzant els protocols Secure Sockets Layer i Transport LayerSecurity.
  • 4. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/mod_status: proporciona informació en lactivitat i rendiment del servidor.mod_suexec: permet als scripts CGI ser executats amb un nom i grup específic.mod_unique_id: proporciona variables dentorn i un identificador únic per a cada petició.mod_userdir: directoris específics per a usuaris.mod_usertrack: registre dactivitat dun usuari en el lloc.mod_vhost_alias: Proporcionat per configurar molts servidors virtuals dinàmicament.Explicarem el procés de descàrrega i instal·lació del servidor Apache en sistemes Windows.El procés per instal·lar Apache en Windows és molt senzill. Dara endavant, és possible que laconfiguració del servidor pugui complicar-se una mica, no obstant això, si desitgem utilitzar-hoamb les funcions habituals, no hem de tenir majors problemes en cap moment.Descàrrega dApacheEl servidor web Apache es pot descarregar a la pàgina de la Fundació Apache, a apache.org.En la URL http://httpd.apache.org/ teniu una secció en particular per al servidor HTTP(Protocol de transmissió utilitzat en la web), en la qual haurem de buscar lenllaç per a ladescàrrega.Una vegada a la pàgina de descàrrega hem de buscar lúltima versió estable o la versió querecomanen. El servidor està disponible per a sistemes Unix o Windows, per la qual cosa ensoferiran diverses opcions de descàrrega, fins i tot per obtenir el codi font del programa. Sidesitgem instal·lar-ho en un sistema Windows, necessitem obtenir larxiu Win-32 binari, que ésun instal·lador Windows.Instal·lacióUna vegada descarregat, hem dinstal·lar-ho en el nostre sistema, executant larxiu obtingut.Donarem pas a un assistent que ens guiarà en el procés dinstal·lació del servidor. Durant elprocés ens preguntarà el nom del domini i del servidor, que podem emplenar amb localhost.Ens demanarà també una adreça de correu, que podem emplenar amb qualsevol quedesitgem. També ens pregunta si desitgem que el servidor respongui en el port 80 per a totsels usuaris o si desitgem que només sactivi per a lusuari actual en el port 8080, quan siniciïmanualment. El normal és que ho activem per a tots els usuaris.Amb aquestes dades queda configurat lApache inicialment. En qualsevol moment podemeditar-lo al nostre gust o necessitats. Per a això haurem deditar el fitxer httpd.conf, que es
  • 5. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/troba en el directori dinstal·lació dApache, que hem indicat durant el procés dinstal·lació,més concretament, en el subdirectori conf. Dara endavant en aquest manual podremaprendre les configuracions més habituals.Nota: Hem danar amb compte de no tenir un altre servidor configurat per treballar en el port80 (per exemple el servidor IIS que ve en les versions professionals o servidor de Windows). Encas de tenir en marxa un altre servidor web durant la instal·lació, pot fallar i mostrar-nos unmissatge derror que indiqui això precisament, és a dir, que no podem tenir dos servidorsalhora escoltant en el port 80.Per solucionar el problema nhi ha prou que parem el IIS o laltre servidor que estiguifuncionant. El IIS el podem parar accedint a Panell de control - Eines administratives - ServeisdInternet Information Server. La pantalla que surt és la consola dadministració del sistema.Aquí hem de desplegar larbre de lesquerra, prement sobre el signe +, fins que trobem el "Llocweb predeterminat". Ens posem damunt de ell i premem el botó de STOP que està situat en labarra deines de la consola dadministració. També podem trobar una opció per parar el serveiprement amb el botó dret en el "Lloc web predeterminat".Una vegada instal·lat, lApache es posa en funcionament. Per controlar lApache podem trobaren el botó dinici, secció programes, un nou grup anomenat "Apache HTTP Server", amb iconesper detenir el servidor, engegar-ho, editar larxiu de configuració httpd.conf o per veure elslogs daccés. També podem veure en la barra de tasques una nova icona que indica quelApache està funcionant i que ofereix opcions per controlar-ho si premem sobre ell.Veure si està funcionantPer comprovar que el servidor està actiu i funciona correctament podem obrir un explorador iprovar d’accedir a la URL http://localhost, que és el nostre propi servidor. Si tot ha anat béobservarem el missatge de benvinguda del servidor amb alguna cosa com "Funciona! Elservidor Apache ha estat instal·lat en aquest equip!".Per seguir aprenent a configurar Apache és interessant llegir-se el manual dinstal·lació iconfiguració dApache, que explica on hem de canviar les opcions més comuns del servidor.Explicació de lestructura de directoris que obtenim una vegada instal·lat el servidor ApacheUna vegada instal·lat lApache, en el directori arrel de la instal·lació, es trobaran els següentsdirectoris:bin: fitxers executables de lApache.conf: fitxers de configuració del servidor.error: fitxers amb els missatges derror del servidor, en diversos llenguatges.htdocs: directori arrel per defecte del servidor (Es guarden les pàgines Web).
  • 6. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/icons: directori on es troben les icones que utilitza el servidor (entre altres coses per mostrarestructures de directoris).logs: directori on semmagatzemen els registres daccés i errors del servidor.manual: directori on es troba el manual de lApache.proxy: Directori amb els fitxers de la cache del servidor.Bàsicament les configuracions del servidor resideixen dins de dos fitxers, el de configuracióprincipal que es troba dins de la carpeta conf, amb el nom httpd.conf, o dins dun fitxer amb elnom .htaccess que es pot trobar dins de qualsevol directori que es trobi mapejat dins delservidor. Dins de cadascun daquests fitxers se situen les directives de configuració. Moltesdaquestes directives de configuració es poden trobar tant dins del fitxer de configuracióprincipal com dins dun fitxer .htaccess. Els valors de les directives que es troben dins dunfitxer .htaccess, prevalen enfront dels valors de configuració especificats dins del fitxerhttpd.conf.Estructura del fitxer principal de configuració de lApacheEl fitxer httpd.conf és el fitxer principal de configuració de lApache, es troba dins del directoriconf, en el directori dinstal·lació de lApache.En primer lloc cal destacar que el fitxer està dividit en tres seccions, que són:· Paràmetres globals.· Directives de funcionament.· Host virtuals.En el fitxer es troben tots els paràmetres de funcionament de lApache. Alguns paràmetres sóngenerals per a la instal·lació i funcionament de lApache. Molts d’altres dels paràmetres espoden configurar independents per a un conjunt de directoris i/o fitxers . En aquests casos elsparàmetres es troben situats dins de seccions on sindica làmbit daplicació del paràmetre.Les seccions més importants són:: Els paràmetres que es troben dins daquesta secció, només saplicaran al directori especificat ials seus subdirectoris: Igual que Directory, però accepta en el nom del directori expressionsregulars. Els paràmetres de configuració proporcionen control daccés dels fitxers pel seu nom.Igual que Files, però accepta expressions regulars en el nom del fitxer. Proporciona un controldaccés dels fitxers per mitjà de la URL. Igual que Location, però accepta expressions regularsen el nom del fitxer.
  • 7. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Algunes vegades les directives de funcionament de les seccions anteriors es poden creuar.També cal destacar, que el fitxer conté un munt de comentaris per a la seva correctautilització, les línies comentades apareixen amb el símbol #.Enumeració i descripció dels paràmetres de la secció paràmetres globals del fitxer httpd.confTots els paràmetres que sestableixen dins daquesta secció són globals per al funcionamentdel servidor, per la qual cosa no admeten estar dins de cap directiva.ServerRoot: especifica la ubicació del directori arrel on es troba instal·lat lApache, a partir delcom es crea larbre de directoris comentat anteriorment. Aquesta directiva no hauria decanviar tret que es mogui la carpeta dinstal·lació dApache a un altre directori. Es trobadisponible a través del mòdul core.PidFile: ubicació del fitxer que contindrà el nombre didentificació del procés quan sencenguiel servidor. Es troba disponible a través de diversos mòduls beos, leader, mpm_winnt,mpmt_us2, perchild, prefork, threadpool o worker.TimeOut: el valor sutilitza per configurar mesurat en segons, tres paràmetres:- El temps tal que pot trigar una petició a ser rebuda.- La quantitat de temps d’espera entre recepció de paquets TCP.- La quantitat de temps entre ACKs en transmissions TCP.Passat aquest temps es produeix un missatge derror en el qual sindica que sha consumit eltemps màxim despera. Establir un valor molt petit pot donar lloc al fet que els usuaris rebinaquest missatge derror, i establir un valor molt petit donarà lloc a una sobrecàrrega de lamàquina. Es troba disponible a través del mòdul core.KeepAlive: especifica si sutilitzaran connexions persistents, és a dir, que totes les peticionsdun usuari satendran amb la mateixa connexió. Es troba disponible a través del mòdul core.MaxKeepAliveRequests: nombre màxim de connexions persistents. (nombre màxim dusuarisconcurrents si KeepAlive està a ON). Per establir aquest paràmetre, cal tenir en compte lamplede banda de sortida del nostre servidor, pel qual haurà de ser enviada tota la informació, sisestableix un valor molt gran respecte a lample de banda, el temps de resposta es veuràincrementat per a cada usuari. Es troba disponible a través del mòdul core.KeepAliveTimeout: temps que espera en segons entre peticions dun usuari, abans deconsiderar que aquest ha acabat, i tancar la seva connexió.Si el valor és molt petit provocarà que alguns usuaris no puguin visualitzar la pàgina a causaque el nombre màxim de connexions persistents sha superat, mentre que si sestableix unvalor molt gran sestaran utilitzant molts recursos de la màquina. Es troba disponible a travésdel mòdul core.
  • 8. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Listen: aquesta directiva permet especificar quins port sutilitzaran per atendre les peticions.Per defecte sutilitza el port 80 (www), també permet especificar quines adreces IP atendrà,per defecte totes. Per atendre dos adreces IP diferents, amb diferents port, sutilitzaria:Listen 192.168.0.10:80Listen 192.168.0.9:8080Es troba disponible a través de diversos mòduls beos, leader, mpm_winnt, mpmt_us2,perchild, prefork, threadpool o worker.LoadModule: Directiva que serveix per carregar mòduls que inclouen diferents funcionalitats.La sintaxi és:LoadModule nom_del_mòdul ubicació_ArxiuDescripció de les directives de funcionament que es troben dins del fitxer httpd.confAquesta és la secció principal de configuració del servidor, en ella podem trobar les següentsopcions:ServerAdmin: especifica ladreça de correu electrònic de ladministrador, aquesta adreçaapareix en els missatges derror, per permetre a lusuari notificar un error a ladministrador. Nopot estar dins de cap secció. Es troba disponible a través del mòdul core.ServerName: especifica el nom i el port que el servidor utilitza per identificar-se, normalmentes determina automàticament, però és recomanable especificar-ho explícitament perquè no hihagi problemes en iniciar el servidor. Si el servidor no té un nom registrat en les DNS, esrecomana posar el seu número IP. No pot estar dins de cap secció.La sintaxi és:ServerName direccióIP:Port p.ex:. ServerName localhost:80Es troba disponible a través del mòdul core.DocumentRoot: la carpeta arrel que se situa en el servidor, des de la qual se serviran elsdocuments. Per defecte, totes les peticions, tindran com a arrel aquesta carpeta, tret quesutilitzin àlies (directoris virtuals en IIS).Per defecte, la carpeta arrel és la carpeta htdocs, que es troba en la carpeta dinstal·lació delApache. No pot estar dins de cap secció.Si es canvia aquest directori per un altre, és molt important que es posi el nou valor, no nomésen aquesta línia, sinó també en la secció de la qual sestableixen els paràmetres deconfiguració daquest directori.Aquesta línia comença per "
  • 9. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Es troba disponible a través del mòdul core.DirectoryIndex: especifica el fitxer per defecte que buscarà en cada directori, en cas que nosespecifiqui cap. Per defecte és index.html. És a dir, que si per exemple es posa en elnavegador: www.exabyteinformatica.com el servidor per defecte serviràwww.exabyteinformatica.com/index.htmlEn aquesta directiva es poden especificar més dun fitxer, la sintaxi és la següent:DirectoryIndex fitxer1 fitxer2 fitxer3Lordre amb el qual sespecifica el nom de fitxer determinarà la prioritat a lhora de decidirquin fitxer és el que es mostra.La directiva es pot trobar fora de qualsevol secció, dins duna secció o dins dun fitxer.htaccess.Es troba disponible a través del mòdul mod_dir.AccessFileName: és el nom del fitxer de configuració que es buscarà en cadascun delsdirectoris del servidor per conèixer la configuració del mateix. Aquest fitxer permet configurarel comportament de cadascun dels directoris individualment. Perquè aquesta configuraciófuncioni, la directiva AllowOverride ha de tenir un valor que ho permeti. No pot estar dins decap secció.El nom de fitxer que sespecifica per defecte és el del fitxer ".htaccess".Com a mesura de seguretat, la configuració de lApache estableix que no es mostri lexistènciadaquest fitxer a cap usuari, encara que sí establir lopció de llistat de directoris. Si es decideixcanviar al nom, caldrà redefinir la seguretat perquè no es mostri el contingut del nou fitxer.Això es fa en el fitxer httpd.conf en una secció File com la qual es presenta a continuació en laqual sestableix que tots els fitxers que comencin per .ht no es mostraran.Order allow,denyDeny from allEs troba disponible a través del mòdul core.Descripció de les directives de funcionament que es troben dins del fitxer httpd.confTypesConfig: especifica el nom del fitxer que conté la llista de tipus mime que coneix elservidor, i que determinarà depenent de les extensions per generar les capçaleres http. No potestar dins de cap secció.
  • 10. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Es troba disponible a través del mòdul mod_mime.DefaultType: tipus mime que se servirà per defecte en cas de no conèixer lextensió del fitxerque sestà servint. Per defecte, sindicarà que se serveix text pla, amb el valor text/plain. Ladirectiva es pot trobar fora de qualsevol secció, dins duna secció o dins dun fitxer .htaccess.Sintaxi: DefaultType tipusMimeEs troba disponible a través del mòdul Core.HostnameLookups: sutilitza en els fitxers de registre. Per defecte quan es produeix un accés,es guarda simplement el seu nombre IP, si aquesta directiva es troba en On, el servidorbuscarà la correspondència daquest nombre IP amb el seu nom, i emmagatzemarà el nom.Establir aquesta configuració en ON provocarà que almenys shagi de fer una petició al servidorde noms per cadascuna de les peticions dusuari, per la qual cosa el rendiment de la màquinaes pot veure reduït. Aquesta directiva es pot trobar dins duna secció o fora de qualsevol altra.Es troba disponible a través del mòdul Core.ErrorLog: especifica la ubicació del fitxer que conté el registre derrors, per defecte en lacarpeta logs. Aquesta directiva només es pot trobar fora de qualsevol secció.Es troba disponible a través del mòdul Core.LogLevel: especifica el tipus de missatges que es guardessin en el fitxer de registre derrors,depenent dels valors especificats, es guardaran mes o menys. Aquesta directiva només es pottrobar fora de qualsevol secció.Valor de més a menys són: debug, info, notice, warn, error, crit, alert, emergEs troba disponible a través del mòdul Core.LogFormat: la directiva permet definir el format que sutilitzarà per emmagatzemar elsregistres. A cada format se li pot assignar un nom, utilitzant-ho després per crear diferentstipus de fitxers de registre. Poden existir diversos logFormat diferents.Sintaxi:LogFormat "configuracióError" nomAquesta directiva es troba fora de qualsevol secció.Es troba disponible a través del mòdul mod_log_config.CustomLog: la directiva sutilitza per especificar la ubicació i el tipus de format que sutilitzaràen un fitxer de registre. Poden existir diversos fitxers de registre diferents amb configuracionsdiferents. Per fer això, simplement cal posar diverses línies customlogSintaxi: CustomLog fitxer formatAquesta directiva es troba fora de qualsevol secció.
  • 11. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Es troba disponible a través del mòdul mod_log_config.ServerTokens: Aquesta directiva estableix la informació que es retorna dins de la capçalerahttp que envia el servidor.Aquesta directiva es troba fora de qualsevol secció.Es troba disponible a través del mòdul Core.IndexOptions: Aquesta directiva controla laparença de la pàgina que es mostrarà a un usuariquan es demana la llista de fitxers dun directori.Sintaxi:IndexOptions [+|-]opció [[+|-]opció]Entre les opcions que es poden posar, destaca:FancyIndexing: que mostra els noms dels fitxers, amb icones etc..Es troba disponible a través del mòdul mod_autoindex.FoldersFirst: Fa que primer es mostrin els directoris. Aquesta opció només es pot establir en elcas que FancyIndexing estigui activa.Aquesta directiva es pot trobar dins del fitxer .htaccess, dins duna secció i fora de qualsevolaltre.Es troba disponible a través del mòdul mod_autoindex.Descripció de les directives de funcionament que es troben dins del fitxer httpd.confAddIconByEncoding: Aquesta directiva permet associar una icona a un tipus mime, de maneraque quan la directiva fancyIndexing estigui activada, es mostrarà al costat del fitxer la iconacorresponent.Sintaxi:AddIconByEncoding icon MIME-encodingExemple:AddIconByEncoding/icons/icona_PC.gif x-compressAquesta directiva es pot trobar dins del fitxer .htaccess, dins duna secció i fora de qualsevolaltra.Es troba disponible a través del mòdul mod_autoindex.
  • 12. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/AddIconByType: Aquesta directiva associa una icona a un fitxer depenent de lun tipus mime,de manera que quan la directiva fancyIndexing està activada, es mostrarà al costat del fitxer laicona corresponent.Sintaxi:AddIconByType icon MIME-encodingExemple:AddIconByType /icons/Icona_Llapis.gif text/*La diferència entre AddIconByType i AddIconByEncoding resideix en que mentre que en laprimera es determina el tipus mime mitjançant la codificació del fitxer, en la segona esdetermina el tipus mime basant-se en el nom del fitxer.Ambdues directives es poden trobar dins del fitxer .htaccess, dins duna secció o fora dequalsevol altra.Es troba disponible a través del mòdul mod_autoindex.AddDescription: Aquesta directiva permet associar una descripció a un tipus de fitxer, que esmostrarà en llistar un directori. Aquesta directiva es pot trobar dins del fitxer .htaccess, dinsduna secció o fora de qualsevol altra.Sintaxi:AddDescripcion cadena , fitxerEs troba disponible a través del mòdul mod_autoindex.AddDefaultCharset: Aquesta directiva defineix la codificació de caràcters que sutilitzarà deforma predeterminada per als documents. Per defecte ve establert el valor ISO-8859-1.Aquesta directiva es pot trobar dins de qualsevol secció i en els fitxers .htaccess.Es troba disponible a través del mòdul core.ErrorDocument: Aquesta directiva estableix el la configuració del servidor per quan esprodueix un error. Es poden establir quatre configuracions diferents:Mostrar un text derror.Redirigir a un fitxer en el mateix directori.Redirigir a un fitxer en el nostre servidor.Redirigir a un fitxer fora del nostre servidor.Cal tenir en compte que si el text derror s’envia a Internet Explorer, aquest haurà de teniralmenys 512 Bytes, perquè sinó Internet Explorer mostrarà la seva pròpia pàgina derror.
  • 13. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Sintaxi:ErrorDocument NúmeroError AccióAquesta directiva es pot trobar tant dins del fitxer .htaccess, dins de la secció o fora dequalsevol altra secció.Exemple:ErrorDocument 404 /error_404.html.En cas de no trobar-se un fitxer, es mostrarà el fitxer error_404.htmlEs troba disponible a través del mòdul Core.CacheRoot: estableix el directori on es trobaran els fitxers de la cache de lApache.Es troba disponible a través del mòdul mod_disk_cacheCacheSize: Grandària de la cache en Kilobytes.Es troba disponible a través del mòdul mod_disk_cacheCacheGcInterval: Estableix cada quantes hores es verificarà la grandària dels fitxers de la cacheper comprovar si es corresponen amb la grandària establerta dins de CacheSize. El valoraccepta nombres flotants, per la qual cosa es poden establir els intervals en minuts. Com mésgran sigui el valor daquesta directiva, més possibilitats existiran que se sobrepassi el valorestablert en CacheSize.Es troba disponible a través del mòdul mod_disk_cacheCacheMaxExpire: màxim nombre dhores que els fitxers romandran dins de la cache.Es troba disponible a través del mòdul mod_cacheCacheLastModifiedFactor: Serveix per calcular la caducitat dun fitxer en la cache, que serà elde lhora de lúltima modificació, multiplicat per aquest valor.Es troba disponible a través del mòdul mod_cacheCacheDefaultExpire: Nombre dhores per defecte a partir de les quals un fitxer caduca. Saplicaen aquells casos en els quals no es pot determinar lhora de creació del fitxer.Totes les directives de la caché, han de trobar-se fora de qualsevol secció. Aquesta directiva noes pot trobar dins de cap secció.Es troba disponible a través del mòdul mod_cache directori virtual. Un directori que es trobaen un directori diferent del que es mapeja en la URL.
  • 14. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Com crear-los en ApacheAquesta directiva només es troba dins del fitxer de configuració httpd.conf, i es tracta apartien aquest capítol a causa de la seva importància.Àlies:Permet la definició de directoris virtuals, un directori virtual és un directori que es troba en undirectori diferent del que es mapeja en la URL. El directori virtual no es té perquè trobar dinsde l’arbre de directoris que es crea a partir de DocumentRoot, sinó que es pot trobar enqualsevol altra ubicació, fins i tot es podria trobar en un altre servidor diferent.Per exemple, quan sescriu www.exabyteinformatica.com/manual/php la carpeta php no shade trobar necessàriament dins de la carpeta manual, que al seu torn està dins de la carpetaarrel exabyteinformatica, sinó que pot estar en una ubicació diferent, i fora de larbre desubdirectoris de la directiva DocumentRootSintaxi:Alias nomFictici ubicacióRealExemple:Alias /manual/Wordpress "c:Wordpress"El directori Wordpress no es troba dins del directori manual dins de la carpeta documentRoot,sinó en la carpeta o directori c:Wordpress.Per defecte vénen creats dos redireccionaments amb Àlies.- Icons: per establir la carpeta on es troben les icones que utilitzarà lApache per mostrar elcontingut dels directoris.- Manual: que apunta a la carpeta on està instal·lat el manual de lApache en cas que shaguéstriat lopció durant la instal·lació.AliasMatch:La utilitat daquesta directiva és idèntica a la de la directiva Alias, lúnica diferència és queÀlies utilitza expressions estàndard regulars per especificar la URL que es va mapejar.Aspectes importants a tenir en compte en la seguretat dApache:Autenticació i autorització dusuaris amb ApacheQuan un servidor Apache rep una petició duna pàgina web, abans de retornar el resultat, duua terme diverses accions per verificar que la petició està autoritzada.Les diferents accions que duu a terme per verificar la validesa de laplicació, es poden agruparen tres tipus: autenticació, autorització i control daccés.
  • 15. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Lautenticació és el procés pel qual es verifica la identitat duna persona. Duna forma simple,aquest procés es pot dur a terme mitjançant un nom dusuari i una contrasenya, però es podenarribar a utilitzar altres mètodes per validar la identitat duna persona, com mitjançant lús decertificats, targetes etc…En Apache lautenticació pot estar gestionada per diferents mòduls, depenent de la formadimplementació. Si decideix dur-la a terme gestionant fitxers amb llistes dusuaris icontrasenyes (xifrades), haurà dutilitzar el mòdul mod_auth. No obstant això, si decideix dur-la a terme mitjançant la base de dades, haurà dutilitzar els mòduls mod_auth_dbm.Lautorització és el procés pel qual es verifica que un usuari amb una identitat coneguda, téaccés al recurs sol·licitat. Per dur a terme aquesta acció, se solen utilitzar llistes de permisos enles quals senumeren cadascuna de les accions que pot realitzar un usuari, o les que no pot fer.Normalment, per simplificar la gestió daquests fitxers, els usuaris se solen unir en grupsproporcionant els permisos al grup.En Apache lautorització a recursos és gestionada o bé mitjançant la directiva en el fitxerprincipal de configuració, o bé mitjançant la configuració de la carpeta a través de fitxers.htaccess.El control daccés és el procés pel qual es verifica que la màquina des de la qual sha fet lapetició, té accés al recurs. Els controls daccés sutilitzen per limitar i controlar les màquinesque tenen accés a un recurs independentment de lusuari que accedeix, ja que aquestscontrols es duen a terme abans que es realitzi el procés dautenticació.En Apache, el control daccés es pot dur a terme mitjançant les directives i , o a través del fitxerde configuració .htaccess per controlar una carpeta especifica.En tot cas i per poder dur a terme la configuració de les tres característiques aquí enumerades,autenticació, autorització i control daccés, és necessari tenir la directiva AllowOverride amb elvalor AuthConfig, per així permetre lús de les diferents directives dautenticació.Autenticació i autorització dusuaris en Apache. Mod_authPer configurar el servidor Apache perquè sigui capaç dautenticar als usuaris i verificarlautorització del mateix al recurs sol·licitat, és necessari realitzar les següents accions:Crear un fitxer amb usuaris.Crear un fitxer amb grups (si és necessari).Definir les directives en el fitxer de configuració o mitjançant un fitxer .htaccess
  • 16. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/En els fitxers dusuaris dApache, en cada línia sespecifica un usuari, escrivint el nom dusuariseparat de dos punts, seguit de la contrasenya xifrada amb MD5.En els fitxers de grups dApache, en cada línia sespecifica un grup escrivint el nom del grupseguit de dos punts, i a continuació separat per espais, els noms dels usuaris.És recomanable que tant els fitxers dusuaris com els de grups, es trobin emmagatzemats foradels directoris publicats, perquè daquesta forma ningú pugui descarregar-los. Així mateix,només lusuari root hauria destar autoritzat a escriure en ell, mentre que només lusuari queexecuta el servei web, hauria destar autoritzat per llegir-ho.El fitxer de grups es pot crear manualment, però el fitxer amb els usuaris és recomanablecrear-ho mitjançant la utilitat htpasswd, que es troba en la carpeta amb els binaris dApache.Per crear un fitxer dusuari sutilitzarà la següent sintaxi:htpasswd -c ruta/passwords usuariEl paràmetre -c sutilitza per crear un fitxer nou, per la qual cosa només shaurà de posar laprimera vegada que es crea el fitxer, sinó ho esborrarà.Els mòduls que intervenen en lautenticació i autorització són els de core i mod_auth.Les directives de mod_auth necessàries per configurar lautenticació i autorització són lessegüents:AuthUserFile: serveix per especificar la ruta on semmagatzemarà el fitxer dusuaris.AuthGroupFile: serveix per especificar la ruta on semmagatzemarà el fitxer de grups.Les directives de core necessàries per complementar la configuració del mòdul són:AuthType: selecciona el tipus dautenticació dusuaris que sutilitzarà per autenticar a unusuari. Pot variar per directori. Els valors possibles són Basic i Digest. Amb Basic, latransferència de les claus es farà sense xifrar, i amb digest es faran xifrades.AuthName: especifica un nom del domini pel qual se sol·licita laccés, aquest nom figurarà enla pantalla on es demana la clau, i al seu torn servirà perquè el client identifiqui la contrasenyaque ha dutilitzar en enviar una petició a un àrea determinada.Require: selecciona els usuaris que poden accedir a un àrea determinada, els usuaris es podendeterminar a través de noms o grups.
  • 17. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Com protegir una carpeta i Autenticació i autorització dusuaris amb MySQL i Apachemod_auth_MySQL.· Crear un fitxer de claus fora de la part pública:-htpasswd -c /ruta/passwords JoanEn fer-ho, demanarà que sintrodueixi la clau, i aquesta serà codificada, escrivint el fitxer.· Crear un nou fitxer, en la mateixa ubicació que "ruta", que es dirà "grups" en la qualsemmagatzemaran els grups, ara com ara un, per a això escriure la següent línia i guardar elfitxer:usuarisAutenticats: JoanDaquesta forma, hauria de tenir un fitxer que s’anomeni passwords, i que contingui una líniaamb les dades de lusuari Joan, i un fitxer, amb el nom de grups, que conté una línia definint ungrup anomenat usuarisAutenticats, del que només lusuari Joan forma part.· Crear un fitxer amb el nom .htaccess en la carpeta que es vol protegir, escriure les següentslínies i guardar el fitxer:AuthType BasicAuthName "Nom_del_Servidor"AuthUserFile /ruta/passwordsAuthGroupFile /ruta/grupsRequire group usuarisAutenticatsLexplicació del contingut del fitxer és la següent:Amb "AuthType Basic" sestarà protegint la carpeta amb autenticació bàsica, és a dir que laclau que lusuari introdueixi, es transmetrà sense xifrar per la web.Amb "AuthName "Nom_del_Servidor" sassociarà aquesta carpeta amb el domini "Nom_del_Servidor ", nom amb el qual ho identificarà el client.Amb "AuthUserFile /ruta/passwords" i "AuthGroupFile /ruta/grups" Es definirà la ubicació tantdels fitxers dusuaris com els fitxers de grups i semmagatzemaran en la carpeta /ruta, ambnoms passwords i grups respectivament.
  • 18. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Amb "Require group usuarisAutenticats" sautoritzarà laccés al contingut daquesta carpeta atots els usuaris que formen part del grup de "usuarisAutenticats", per la qual cosa en lapràctica sautoritzarà laccés al contingut a lusuari Joan.En comptes de realitzar les autoritzacions a grups complets, es pot autoritzar a un usuarideterminat canviant lúltima línia per "Require user Joan", daquesta forma noméssautoritzarà a lusuari Joan.Es pot permetre laccés a tots els usuaris identificats mitjançant la introducció de la següentdirectiva "Require valid-user". El fet que aquesta directiva està inclosa en el fitxer, fa que lesaltres no tinguin efecte.Autenticació i autorització dusuaris amb MySQL i Apache. mod_auth_MySQLAnteriorment hem explicat com controlar lautenticació i lautorització dusuaris amb elmod_auth. Aquest mòdul té com a característica el que emmagatzema els noms dusuari, lescontrasenyes i els grups en fitxers de text que han de ser escrits i gestionats perladministrador del sistema. Aquesta solució és òbviament poc escalable, ja que quan elnombre dusuaris i de grups és elevat, el gestionar-los i controlar-los pot ser un problema.Per aquest motiu existeix el mod_auth_MySQL, aquest mòdul permet gestionar lautenticació iautorització, emmagatzemant els usuaris i els grups en taules de MySQL, de manera que fins itot es poden gestionar mitjançant un panell de control escrit en php.Per configurar el mòdul en Linux, serà necessari extreure-ho i executar:./configure --with-MySQL=/usr/local/MySQL --with-Apache=/usr/local/ApacheSubstituint el lloc on es troba la instal·lació de MySQL i dApache.Per utilitzar el mòdul és necessari disposar de com a mínim una taula on semmagatzemin elsusuaris i una altra on semmagatzemin els grups. Per a això es pot crear una taula usuaris ambels camps, nom i password, i una altra taula anomenada grups amb els camps grup, usuari,emmagatzemant una entrada per cada usuari que tingui un grup.La configuració és la següent:En primer lloc serà necessari establir el servidor, lusuari i la contrasenya de la connexió amb labase de dades, això es farà escrivint la següent línia en el fitxer httpd.conf, i reemplaçant elsvalors pels correctes:Auth_MySQL_InfoPer configurar el mòdul serà necessari establir els valors de les següents directives del mòdul:Auth_MySQL_DB: nom de la base de dades.
  • 19. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Auth_MySQL_Password_Table: nom de la base de dades que conté els noms dusuari i lescontrasenyes.Auth_MySQL_Username_Field: nom del camp de la taula que conté a lusuari.Auth_MySQL_Password_Field: nom del camp de la taula que conté la contrasenya de lusuari.Auth_MySQL_Group_Table: nom de la taula que conté els usuaris i els grups als qualspertanyen.Auth_MySQL_Group_Field: nom del camp de la taula que conté el nom del grup.Auth_MySQL_Empty_Passwords on/off per determinar si saccepten usuaris amb contrasenyesbuides.Auth_MySQL_Encryption_Types per especificar el tipus de xifrat que sutilitzarà peremmagatzemar la clau de lusuari dins de la base de dades.Auth_MySQL_Senar_Persistent on/off per especificar si es desitgen utilitzar connexionspersistents.A més serà necessari establir les següent directives de core per al seu correcte funcionament:AuthName: amb el nom del domini.AuthType: establert a Basic.Una vegada engegat, el funcionament és anàleg al mòdul mod_auth.El mòdul de control daccés dApache permet controlar laccés als diferents directoris i fitxersdel servidor depenent del nom de la màquina o adreça IP del client.Les directives que proporciona aquest mòdul es poden utilitzar dins dels elements , i del fitxerde configuració httpd.conf, o bé dins de fitxers .htaccess situats dins de les carpetes.Les directives amb les quals explica el mòdul per permetre o denegar laccés són:Allow: controla els servidors que tindran accés al contingut, per exemple:Allow from exabyteinformatica.com Permet laccés des de exabyteinformatica.comAllow from 192.168.0.10 Permet laccés des de 192.168.0.10Allow from 192.168 Permet laccés des de totes les adreces Ip que comencen per 192.168Allow from all Permet tots els accessos.
  • 20. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Deny: controla els servidors als quals es denegarà laccés, per exemple:Deny from exabyteinformatica.com Denega laccés des de exabyteinformatica.comDeny from 192.168.0.10 Denega laccés des de 192.168.0.10Deny from 192.168 Denega laccés des de totes les adreces IP que comencen per 192.168Deny from all Denega totes les IP’s.Order: determina lordre en el qual es llegiran els permisos, per exemple per llegir primer elspermesos i després els no permesos es posarà "Allow,Deny" en aquest cas si un servidoraquesta en la llista de permesos, i en la de denegats, laccés al mateix serà denegat, ja quelentrada dins de lopció Deny sobreescriurà la de lentrada Allow.Cal tenir en compte que lús de order juntament amb Allow from all o Deny from all, permetespecificar configuracions com, permetre des duna màquina qualsevol i denegar de la resta,duna forma molt senzilla.Addicionalment, mitjançant la directiva SetEnvIf del mòdul mod_setenvif, es poden establirvariables dentorn que determinin el funcionament de Allow o Deny de la mateixa forma quesutilitzen nombres IP o noms de màquines. Per exemple, utilitzant Allow from env=entradapermetrà laccés a totes les peticions que tinguin definida la variable dentorn "entrada".Controlar accés depenent del navegador amb ApacheMitjançant lús conjunt de les directives Allow, Deny, Order i SetEnvIf es pot restringir laccés aun lloc depenent del tipus de navegador. Per realitzar-ho simplement nhi ha prou amb crearuna variable dentorn depenent del tipus del navegador, i permetre laccés a les peticions quecomptin amb aquesta variable dentorn denegant-li-ho a la resta.Per a això la configuració necessària és la següent:SetEnvId User-Agent googlebot entrarOrder Deny, AllowDeny from allAllow from env=entrarEn la primera línia sespecifica que es crearà una variable dentorn anomenada entrar quan elnavegador sigui el motor dindexació de Google.En la segona línia sespecifica lordre en el qual sutilitzarà la llista de servidors, primer elsdenegats i després els permesos.
  • 21. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/En la quarta línia sespecifica que es denega laccés a qualsevol petició.En la cinquena línia sespecifica que es permet laccés a les peticions que tenen definida lavariable dentorn entrar.En el cas que entri el motor dindexació de Google, primer es llegirà la línia en què esdeneguen totes les peticions, per a continuació llegir la línia en la línia en la qual es permetlaccés des de les peticions que tenen definida la variable entrar, com el navegador que ho faés el googlebot, aquesta variable estarà definida i entrarà.En el cas en què la petició sigui realitzada per qualsevol altre navegador, primer es llegirà lalínia en la qual es deneguen les peticions, i com no satisfà la línia en què ho permet, noentrarà.En aquest document anem a ensenyar a utilitzar una API dApache per gestionar lesconfiguracions de les vostres aplicacions de manera avançada.Alguna vegada has implementat classes que gestionessin directament dades de configuració?Si la resposta és afirmativa, segurament hagis reinventat la roda.Existeixen diverses formes estàndard de gestionar les dades de configuració dels nostrescomponents i aplicacions:Mitjançant la classe java.util.PropertiesA través de les classes del paquet java.util.prefs. (API molt potent que permet gestionar dadesde configuració de manera jeràrquica a lestil del "Registre de Windows" que recomano llegir sila desconeixes).Hi ha una API que és denorme utilitat i potència per a la gestió de dades de configuració. Estracta dApache Jakarta Commons Configuration.Apache Jakarta Commons Configuration és un sub-projecte de la sèrie de projectes ApacheJakarta Commons.Commons Configuration és un conjunt de projectes que intenten estandarditzar les tasquescomunes que gairebé totes les aplicacions i components realitzen normalment.Una tasca molt comuna en qualsevol aplicació és la gestió de dades de configuració. És aquí onentra en joc Apache Jakarta Commons Configuration.Podem obtenir tot el necessari des de la següent adreça:http://jakarta.apache.org/commons/configuration/Bàsicament Apache Commons Configuration ens permet:Gestió de les dades de configuració independentment del lloc en el qual estiguinemmagatzemades. (Fitxers de propietats, documents XML, base de dades, etc.).Un potent motor de consultes per realitzar cerques del valor que tenen determinadespropietats de configuració.
  • 22. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Recarrega automàtica de les dades de configuració en cas de que siguin modificades en el seulloc físic dorigen (Fitxer de text pla, fitxer XML, etcètera...).Possibilitat demmagatzemar les dades de configuració automàticament en el seu lloc físic(fitxer de text pla, fitxer XML, etc).Alguns exemples:Abans de res, ressaltem que aquesta secció és només una introducció al API, i que ha dedocumentar-se en la Web oficial del API per veure totes les possibilitats que ens proporciona..Exemple:Suposem que tenim el següent fitxer de propietats, en el qual es defineixen dades deconfiguració relacionades amb linterfície gràfica de laplicació.app.windows.properties:mainmdi.title=Títol de la meva aplicació de provamainmdi.width=1024mainmdi.height=768mainmdi.state=maximizeduserform.title=Gestió dusuarisuserform.width=640userform.height=480userform.state=normallanguage=Catalàlanguage=Englishlanguage=FrenchDoncs a través de Commons Configuration, podríem accedir a les propietats de la següentforma:try {// Llegim les dades de configuració. El fitxer ha destar en el mateix directori que laplicació.PropertiesConfiguration config = new PropertiesConfiguration("app.windows.properties");
  • 23. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/// La següent sentència imprimirà: 1024System.out.println(config.getInt("main.mdi.width"));// La següent sentència imprimirà: Títol de la meva aplicació de provaSystem.out.println(config.getString("main.mdi.title"));// La següent sentència imprimirà: CatalàSystem.out.println(config.getStringArray("language")[0]);// La següent sentència configura lobjecte perquè salvi les propietats// automàticament a lorigen (En aquest cas un fitxer) quan s’actualitzen// o quan s’afegeixen noves propietatsconfig.setAutoSave(true);// Afegim un parell de propietatsconfig.addProperty("version", "1.0");config.addProperty("author", "Nom_de_l’autor");// No fa falta gràcies a que està establerta la propietat autoSave// config.save();} catch (ConfigurationException ex){System.out.println(ex);}Altres Característiques interessantsAquest API també ens dóna la possibilitat que es recarregin automàticament les dades deconfiguració sobre lobjecte Configuration en cas que aquests hagin estat modificats.
  • 24. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Per habilitar aquesta característica haurà dindicar-ho mitjançant la següent línia de codi:config.setReloadingStrategy(new FileChangedReloadingStrategy());ConclusionsAquesta API és més completa, potent i flexible que la resta de APIS o mètodes per gestionardades de configuració.Encara que java.util.prefs proporciona una funcionalitat i potència similar a CommonsConfigurations, les dades de configuració en java.util.prefs només poden ser modificades desdaplicacions i no manualment, doncs entre altres coses no se sap on guarda realment aquestAPI les dades de configuració.Quan utilitzem objectes Properties per gestionar les propietats, hem de realitzar conversionsde tipus de dades, amb aquest API ens estalviem aquest treball.Per comentar alguna cosa negativa, aquesta API depèn daltres sub-projectes de Jakarta, per laqual cosa hem dincloure els seus JAR’s associats si volem usar-ho. Per exemple, per usar lesfuncions bàsiques, el API depèn de:Apache Jakarta Commons LangApache Jakarta Commons CollectionsApache Jakarta Commons LogginAquestes són 20 recomanacions per optimitzar la seguretat en el teu servidor ApacheDe la mateixa manera has de tenir en compte que algunes daquestes recomanacions podendisminuir el rendiment del teu servidor depenent de la teva configuració i de lesespecificacions del sistema.Primer, assegura’t de tenir instal·lat els últims pegats de seguretat.No té sentit posar un pany mes resistent a la teva porta si deixes la finestra oberta. De lamateixa manera si no tenim els últims pegats de seguretat instal·lats no tindria sentitcontinuar amb loptimització de seguretat.
  • 25. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Restringir l’accés per IPSi tens un recurs al que hagi de només tenir accés alguna xarxa, o IP en concret potsconfigurar-ho en Apache. Per exemple si desitges restringir laccés a la teva Intranet perpermetre nomès la xarxa 192.168:Order Deny,AllowDeny from allAllow from 192.168.0.0/255o per IP:Order Deny,AllowDeny from allAllow from 127.0.0.1Ocultar la versió i una altra informació delicadaPer defecte moltes instal·lacions dApache mostren el nombre de versió que està funcionant, elsistema operatiu i un informe de mòduls dApache estan instal·lats en el servidor. Els usuarismaliciosos poden utilitzar aquesta informació per atacar el teu servidor.Hi ha dues directives que necessites afegir o corregir en el teu arxiu de httpd.conf:ServerSignature OffServerTokens ProdEl ServerSignature apareix en la part inferior de les pàgines generades per Apache tals com elsfamosos errors 404.La directiva ServerTokens sutilitza per determinar-se el que posarà Apache en la capçalera dela resposta HTTP del servidor.
  • 26. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Apache ha de funcionar sota el seu propi compte i grup dusuariAlgunes versions dApache corren sota lusuari nobody, això compromet molt la seva seguretatper tant fes el següent:User ApacheGroup ApacheUtilitza el mod_securityEl mod_security és un mòdul fantàstic dApache escrit per Ivan Ristic, lautor dApache SecuritydOReilly.Aquesta és una llista de coses que pots fer amb mod_security:Filtració simple.Filtració basada en expressions regulars.Validació de codificació de la URL.Validació de codificació Unicode.Auditoria.Prevenció de latac NULL Byte.Limitar la memòria de pujada.Emmascarar la identitat del servidor.I més...Deshabilitar qualsevol mòdul innecessariApache ve per defecte instal·lat amb un sèrie de mòduls. Has de fer-li un cop dull a ladocumentació dApache i veure perquè serveix cadascun dells, i daquesta manera tadonaràsque hi ha alguns que no són útils en el teu servidor.Cerca en httpd.conf les línies que continguin LoadModule. Per deshabilitar el mòdul hasdafegir un # al principi de la línia, perquè daquesta forma passi a ser un comentari. Perbuscar els mòduls prova amb:
  • 27. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/grep LoadModule httpd.confAquí estan alguns mòduls que sinstal·len per defecte però sovint no són necessaris:mod_imap, mod_include, mod_info, mod_userdir, mod_status, mod_cgi, mod_autoindex.Assegura’t de que els arxius als quals saccedeix són els desitjats.No desitgem que es pugui accedir als directoris que no tinguin permisos per a això, suposemque el directori arrel per les nostres webs és /web, la configuració òptima hauria de ser lasegüent:Order Deny,AllowDeny from allOptions NoneAllowOverride NoneOrder Allow,DenyAllow from allDesactiva les opcions per explorar directorisAixò ho pots fer amb les opcions de directiva dins de letiqueta directori té dos possiblesvalors: none o index.Options -IndexDesactiva els includes del costat del servidor.Això també es fa amb les opcions de directiva dins de letiqueta directori té dos possiblesvalors: none o include.Options -IncludesDesactiva lexecució de CGI.Si no necessites lexecució de CGI per algun motiu en concret desactiva’ls es fa amb les opcionsde directiva dins de letiqueta directori té dos possibles valors: none o ExecCGI.Options –ExecCGI
  • 28. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/No permetre que Apache segueixi enllaços simbòlicsDe nou es configura amb les opcions de directiva dins de letiqueta directori té dos possiblesvalors: none o FollowSymLinks.Options -FollowSymLinksDesactivar totes les opcions.Si desitges desactivar lús de totes les opcions simplement:Options NoneSi solament desitges desactivar algunes en concret, separa-les amb un espai en les opcions dedirectiva:Options -ExecCGI -FollowSymLinks -IndexisDesactivar lajuda per als arxius .htaccessAixò està fet ja però amb la directiva AllowOverride. Canvia-ho a none.AllowOverride NoneUna altra opció interessant seria bloquejar la descàrrega de tots els arxius que comencin amb.ht per exemple, es faria de la següent manera:AccessFileName .httpdoverrideOrder allow,denyDeny from allSatisfy AllDisminueix el valor màxim de temps desperaPer defecte el temps despera és de 300 segons. Pots disminuir-ho per seguretat per preveniratacs daquesta manera:Timeout 45
  • 29. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Limitar la grandària màxima de peticionsApache té diverses directives que permeten que limitis la grandària duna petició, això pot sermolt útil.Una bona manera de començar és amb la directiva LimitRequestBody. Aquesta directiva estàfixada a il·limitat per defecte. Si estàs permetent uploads darxius que no siguin majors a 1Megabyte, podries fixar aquest ajust a alguna cosa semblat a això:LimitRequestBody 105000Si no estàs permetent uploads darxius pots fixar-ho fins i tot a una grandària més petita.Alguns altres directives a mirar són LimitRequestFields, LimitRequestFieldSize iLimitRequestLine.ConclusióEspero que aquestes recomanacions us hagin estat útils i recorda que lús que li has de donardepèn en gran mesura dels recursos que necessites i de les característiques del teu servidor,abans de fer qualsevol canvi si no estàs segur documentat i utilitza aquest article únicamentcom una referència perquè et porti a la solució més ideal.Solució a un problema en dominis allotjats en servidors amb el panell de control PleskRelatiu a la directiva de PHP open_basedir.Estem utilitzant un nou servidor que té suport per PHP 5. (Fins al moment estàvem treballantamb PHP 4, però ja era hora de canviar). Com sempre, migrar a un nou servidor porta els seusproblemes, però afortunadament amb lajuda del suport tècnic i amb la documentació que estroba per Internet, es van arreglant.En aquest article us explicarem un error que hem trobat a lhora de configurar el domini, quedesprés s’ha vist que és comú a moltes persones que tenen el panell de control Plesk com agestor dels recursos del servidor. Així doncs vaig a intentar expressar el problema i la solucióque hem trobat.El problema amb open_basedirPlesk té una configuració pròpia de la directiva de PHP open_basedir (que es defineix en elphp.ini). Per la configuració de Plesk de open_basedir, només es poden incloure arxius quepengin del directori de publicació del domini, és a dir el directori httpdocs del domini.Lestat de open_basedir configurat per Plesk de manera predeterminada és el següent:
  • 30. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/open_basedir = "/var/www/vhosts/elteudomini.com/httpdocs:/tmp"Per aquesta directiva no es poden incloure arxius (amb la funció include o require de PHP) queestiguin en altres carpetes o sub-carpetes que pengin de les marcades en el open_basedir.Nosaltres tenim algunes carpetes que contenen codis font i no sestaven podent incloure. Peraixò ens saltava sovint un error PHP com a aquest:open_basedir restriction in effect. File(./../directori-fonts-httpdocs/arxiu.php) is not within theallowed path(s): (/var/www/vhosts/elmeudomini.com/httpdocs:/tmp)Després es va veure que aquest problema ho tenen també usuaris que tinguin codis inclososen frameworks per PHP com PEAR.Solució al problema: configurar PleskLa primera aproximació a la solució va ser, com es va pensar, modificar larxiu PHP.ini. De fet,és el que pensava que ho arreglaria. Per canviar la directiva open_basedir del php.ini. Però elscanvis, no van fer efecte. També vaig provar canviant la directiva include_path, però tampoc esva arreglar gens.Una vegada consultat amb el servei tècnic del nostre proveïdor, ens van aconsellar mouretotes les carpetes al directori de publicació, però això no és possible, per diverses raons. Peròens van donar la pista que el problema estava relacionat amb Plesk.Finalment buscant per Pear i Plesk en Google va aparèixer un article molt interessant en unapàgina en anglès: How to: Enable PEAR/Set open_basedir.En aquest article s’expressa pas a pas el que sha de fer, que resumint seria:Existeix un arxiu que Plesk utilitza per configurar cada domini, de manera que no convé tocarel php.ini, perquè això afectaria a tot el servidor (i no sempre, perquè algunes directives, comopen_basedir, després les sobre-escriu Plesk en altres arxius apart i per molt que es toquin enel php.ini no tindrà cap efecte).Hi ha un lloc on shan de configurar els canvis del php.ini, específics per a cada domini allotjat.En el meu cas aquest arxiu de configuració no estava creat, per la qual cosa he hagut de crear-ho. Larxiu de configuració específic per a cada domini està en el directori/var/www/vhosts/midominio.com/confI larxiu que cal crear allí, o modificar si és que ja existeix és:vhost.confPerquè funcioni, el contingut de larxiu que he col·locat és el següent:
  • 31. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/php_admin_value open_basedir"/var/www/vhosts/elmeudomini.com/httpdocs:/tmp:/var/www/vhosts/elmeudomini.com/directori_includesphp_admin_value display_errors OnEs tracta simplement de definir el open_basedir marcant tots els directoris on hi ha arxius quees pretenen incloure des de PHP. (Amb incloure un directori et permet incloure arxius de totsels subdirectoris que hi hagi dins).En el codi anterior pots veure que hem modificat un altre paràmetre del PHP:display_errors On (Això és per poder veure els errors directament a la pàgina, en comptes dellog derrors, que és més còmode almenys durant les proves i fins a migrar definitivament eldomini).Ara bé, ja sabem on tocar per configurar directives PHP del php.ini específiques per a undomini allotjat. Podrem definir totes les directives que es necessitin. Per exemple, una altracosa que es pot necessitar canviar és anul·lar el safe_mode per a un domini en concret i això espot fer des daquest mateix arxiu amb la línia:php_admin_value safe_mode OffPerquè els canvis tinguin efecte àdhuc hem de realitzar un parell de passos.Es tracta primer de dir-li a Plesk que actualitzi la configuració dun domini. Això es fa amb lainstrucció:/usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=elmeudomini.comAra també haurem de reiniciar lApache, que es pot fer amb la instrucció:/etc/init.d/httpd restartO bé amb la instrucció:service httpd restartAixò és tot, ara hauria de funcionar.
  • 32. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Què és la compressió per GZIP dun lloc web, com funciona i de quina manera ajuda enloptimització de la descàrrega duna pàginaLa compressió per GZIP és una de les possibilitats més importants per optimitzar un lloc web,per buscar un millor acompliment en la càrrega de les pàgines. Consisteix a enviar els codis dellloc en format comprimit, perquè ocupin molt menys espai i per tant es transfereixin per laxarxa duna manera més ràpida.Tenim vàries formes de definir que senviïn comprimits els arxius de la pàgina. La manera mésnormal és configurar el servidor web on estigui allotjada la pàgina, ja sigui Apache, IIS oqualsevol altre sistema, per marcar que sutilitzi algun dels mètodes de compressió per alsarxius. Encara que en ocasions espanta una mica això de configurar el servidor web, us podemavançar que aquesta configuració és molt senzilla de realitzar i al llarg de l’article anem aexplicar detingudament com realitzar-la de diverses maneres.Una altra manera denviar els arxius comprimits és programar nosaltres mateixos aquestafuncionalitat amb algun mòdul a la teva pàgina realitzada en llenguatges del servidor com PHP.Aquest mòdul que podries programar sencarregaria de comprimir els arxius i enviar-loscomprimits al client web, però aquestes tècniques només serien recomanades si no tenim lapossibilitat de configurar directament el servidor web. Dara endavant veurem de quinesmaneres que es poden enviar els arxius comprimits amb algun llenguatge de programació.En definitiva, veurem maneres diferents daconseguir aquesta configuració i així qualsevolpersona, en qualsevol àmbit de treball, pugui optimitzar la distribució dels continguts de laseva pàgina amb GZIP.Avantatges de comprimir amb GZIPLavantatge de comprimir amb GZIP el nostre lloc web és que serà menys pesat en KB, la qualcosa derivarà al seu torn en altres avantatges importants:Estalvi dample de banda / transferència: el nostre lloc web enviarà arxius comprimits i pertant, la transferència que utilitzarà per enviar una mateixa pàgina, serà molt millor que si noestigués comprimida. Al cap del mes, sobretot en llocs web amb bastant tràfic, sobtindrà unestalvi considerable en transferència.Velocitat del lloc: els arxius comprimits trigaran menys a arribar als seus destinataris, per tantel lloc carregarà amb major rapidesa. Si estem optimitzant el lloc a la recerca de millorar eltemps de càrrega, la compressió amb GZIP serà una de les més importants opcions quetindrem a la nostra disposició i podrem configurar-la en pocs minuts.Suport en tots els navegadors actuals: avui dia podem estar tranquils amb la compatibilitat dela compressió amb GZIP, ja que tots els navegadors actuals la implementen.En realitat, comprimir els arxius amb GZIP sempre ens porta avantatges interessants que faranque nostre lloc web funcioni més de pressa, per la qual cosa resultarà positiu en qualsevol cas.
  • 33. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Lúnic marc que podria donar problemes és que el navegador que està utilitzant el visitant noaccepti compressió a les pàgines, però realment en el panorama actual de navegadors això éspoc probable. Per tant, tret que el teu lloc web hagi de ser compatible amb, per exemple, laversió 3 dInternet Explorer, pots utilitzar-la sense problemes.De qualsevol forma, el nostre servidor pot enviar els arxius comprimits només als navegadorsque suportin aquest format. Pel que no hauria de preocupar-nos ni tan sols aquesta possibilitatdun navegador no compatible.Llocs web populars com Yahoo.com o Google comprimeixen les pàgines amb GZIP abansdenviar-les al client web, per la qual cosa resulta clar que nosaltres també hem daprofitaraquesta possibilitat doptimització de la web. De fet, no fer-ho, significa que estem perdentuna oportunitat molt bona per fer que el nostre lloc sigui més ràpid.Per posar un parell dexemples, la portada de Yahoo.com en aquest moment ocupa 149 Kb.,però com senvia comprimida, en realitat només es transfereixen 28 Kb..exabyteinformatica.com, el lloc on estem publicant aquestes informacions, ocupa en la sevahome page 92 KB i en enviar-se comprimida la pàgina per GZIP en realitat només estransfereixen 43 KB. Això vol dir que estem estalviant més dun 40% de la transferència que enprincipi seria necessària si no ho comprimíssim.Com podem crear un arxiu .htaccess per configurar Apache i demanar-li que enviï tots elsarxius, menys les imatges, comprimides amb GZIP?Després dhaver llegit el Manual de compressió amb GZIP dun lloc web ja hem de tenir unaidea sobre els avantatges de comprimir les pàgines i altres recursos abans denviar-los alnavegador. A més, hem conegut ja diversos mètodes de fàcil configuració per aconseguiraquesta compressió GZIP a les pàgines PHP i altres arxius externs com JS o CSS.En aquest article anem a continuar explorant possibilitats de configuració del nostre servidorweb Apache, també per mitjà dun arxiu .htaccess, que és la manera més senzilla i a labastdun major nombre de persones. En concret anem a mostrar com definir en una sola instruccióque es comprimeixin tots els arxius menys les imatges.Potser alguns de vosaltres es preguntin: Per què no comprimim les imatges? I és que realment,com ja havíem assenyalat en aquest manual, les imatges ja estan comprimides, ja que elsarxius gràfics utilitzats en web tenen tots un nivell de compressió. Per tant, comprimir un GIFamb GZIP no tindrà pràcticament millora alguna, doncs el pes de larxiu comprimit seràpràcticament el mateix que el GIF original. A més, representarà un esforç per al processadordel servidor web, que haurà de comprimir aquests arxius abans denviar-los al client. Al final, elrendiment del servidor pot veures reduït, per haver de comprimir totes les imatges, i realmentno haurem avançat en gens, ja que les imatges ocuparan gairebé el mateix espai en KB. Aixòpassa amb qualsevol tipus darxiu gràfic, no només amb els GIF, sinó amb altres utilitzats perfer webs, com JPG o PNG.
  • 34. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Instrucció htaccess per comprimir un tipus de mitjàExisteix una instrucció que sinsereix en el codi dels htaccess que serveix per definir lacompressió GZIP / DEFLATE. La instrucció es diu AddOutputFilterByType i hem dindicar-lidesprés el tipus de compressió i el tipus de mitjà que desitgem comprimir.Per exemple, amb aquesta línia de codi comprimiríem tots els arxius de text pla:AddOutputFilterByType DEFLATE text/plainSi desitgem, podem comprimir tots els arxius HTML amb aquesta línia de codi en el htaccess.AddOutputFilterByType DEFLATE text/htmlA continuació podem veure una sèrie de línies amb diferents tipus de mitjans que sestanindicant per comprimir:AddOutputFilterByType DEFLATE text/xmlAddOutputFilterByType DEFLATE text/cssAddOutputFilterByType DEFLATE application/javascriptAddOutputFilterByType DEFLATE application/x-javascriptAddOutputFilterByType DEFLATE application/xmlAddOutputFilterByType DEFLATE application/xhtml+xmlAddOutputFilterByType DEFLATE application/rss+xmlAmb aquest mètode, Apache serà prou intel·ligent per enviar els arxius comprimits només perals navegadors que suporten aquesta optimització i nosaltres no hem de fer res perquè totfuncioni correctament.Entre els dos mètodes GZIP / DEFLATE podem triar qualsevol dells. Deflate és bastant ràpid icompatible amb més versions de navegadors antics.Com configurar i personalitzar la pàgina derror 404, de pàgina no oposada, en el servidorApache amb la directiva ErrorDocumentLes pàgines derror 404 són tan típiques que és possible que tots les coneguem sense parlarmés delles. Penso que és difícil trobar algú que navegui habitualment per la xarxa i no hagi
  • 35. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/reparat en elles en alguna ocasió, però així i tot la persona que desitgi saber una mica més, potconsultar què diuen els usuaris de la Wiki en lentrada sobre lerror 404.Apache, el servidor web més utilitzat mundialment, ofereix una senzilla manera de configurarles pàgines derror, accessible fins i tot per a les persones que menys experiència tenen quanta desenvolupament de pàgines web. En aquest article veurem dues possibles maneres de dir-lial nostre servidor web Apache la pàgina que desitgem es mostri en el cas que es produeixi unerror 404.En principi, les dues possibilitats que veurem són independents una de laltra, per la qual cosapodrem triar la que més ens convingui, o la que suporti el nostre espai dallotjament. Les duesmaneres passen per configurar la variable de sistema "ErrorDocument", que serveix per indicarel document HTML que ha de lliurar-se quan sorgeixi un error de pàgina no oposada.Nota: de manera predeterminada, en produir-se un error 404, Apache mostra una pàginaderror molt simple, que la veritat és que no ofereix a lusuari molta informació útil que liserveixi per detectar el motiu de lerror. Per això, pot merèixer la pena configurar la nostrapròpia pàgina derror 404 personalitzada.Configuració de lerror 404 en el httpd.confLa primera possibilitat per configurar la pàgina derror 404 és editar larxiu principal deconfiguració dApache, anomenat httpd.conf. Aquest arxiu és bastant llarg i conté centenars deconfiguracions possibles per al servidor web. En el Manual dApache ja vam veure diversosarticles sobre els quals tractem aquest arxiu httpd.conf i les variables principals per a la sevaconfiguració. En concret, recomanem llegir larticle Directives de funcionament en httpd.conf.Lúnica cosa que haurem dafegir és una línia on indiquem la ruta de larxiu que envia enproduir-se un error de recurs no oposat, per mitjà de la variable "ErrorDocument".ErrorDocument 404 /mipagina404.htmlEn aquest cas, sindicaria que, sota un error 404, sha denviar el document que està en larxiu"lamevapàgina404.html" (o qualsevol altre document que vulguem utilitzar com a pàginaderror). La ruta indicada cap a larxiu comença per "/", per la qual cosa Apache entendrà queel mateix està en larrel del domini.Nota: Abans dafegir aquesta línia, hauríem de comprovar si existeix en alguna part de larxiuhttpd.conf una referència anterior a aquesta directiva, fent una cerca pel text"ErrorDocument" dins de larxiu. Però tenir en compte que en larxiu httpd.conf totes les líniesque comencen per "#" són comentaris.Recordar també que, perquè els canvis en el httpd.conf facin efecte, hem de guardar larxiu idesprés reiniciar el servidor Apache.
  • 36. Más manuales en: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware© Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/Configuració de la pàgina derror 404 per .htaccessEn la majoria dels casos que puguem trobar-nos, en els plans dallotjament per a la nostra web,no ens permetran editar el httpd.conf, ja que aquest arxiu conté moltes directives deconfiguració crítiques, que mal editades podrien donar lloc a funcionaments erronis delservidor. Per això, per configurar el nostre espai de hosting en Apache segurament ens vindràmolt millor aquesta segona opció.La segona possibilitat es tracta simplement de crear un arxiu que s’anomeni .htaccess (larxiucomença per ".", com si no tingués nom i només sindica aquesta extensió), on col·locarem ladirectiva de configuració "ErrorDocument".Larxiu .htaccess es col·locarà en larrel del domini i tindrà el següent contingut.ErrorDocument 404 /error404.htmlCom es pot veure, sindica també la ruta on estaria la pàgina derror en el nostre sistema. Enaquest cas en un arxiu anomenat error404.html, que estaria en larrel del domini. Òbviament,cada persona col·locarà el nom darxiu que vulgui utilitzar com a error 404 i la ruta on es trobiaquest arxiu dins del domini.Nota: Si disposem ja dun arxiu .htaccess en la nostra arrel del domini, simplement hauremdeditar-ho per incorporar aquesta línia.Conclusió i altres referències sobre error 404A partir de que hàgim realitzat aquesta configuració podrem accedir a qualsevol pàgina que noexisteixi, o qualsevol altre tipus de recurs, com una imatge, i veure que Apache ens mostra desde llavors larxiu que hàgim configurat per expressar lerror 404.Com dèiem, els errors 404 són bastant típics i gràcies a aquesta tècnica podem utilitzar-los perredireccionar a lusuari cap a altres continguts o explicar-li els motius de lerror, així com oferir-li possibles accions per solucionar-los o trobar allò que buscava.