diff options
75 files changed, 13580 insertions, 0 deletions
diff --git a/usr.sbin/httpd/htdocs/index.html.ca b/usr.sbin/httpd/htdocs/index.html.ca new file mode 100644 index 00000000000..1ef6837fba6 --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.ca @@ -0,0 +1,51 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <TITLE>Pàgina de prova de l'instal·lació d'Apache</TITLE> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > + <H1 ALIGN="CENTER"> + Funciona ! El servidor web Apache està instal·lat + en aquest lloc ! + </H1> + <P> + Si veu aquesta pàgina, es que els propietaris d'aquest domini + acaben d'instal·lar satisfactòriament el + servidor web Apache. + Ara han d'afegir contingut en aquest directori i substituir aquesta pàgina, + o bè dirigir aquest servidor cap al contingut real. + </P> + <HR> + <BLOCKQUOTE> + Si està veien aquesta pàgina i no es la que esperava, posis en + contacte amb + <STRONG>l'administrador web d'aquest lloc.</STRONG> + (Provi d'enviar un correu electrònic a <SAMP><Webmaster@<EM>domain</EM>></SAMP>.) + Encara que aquest lloc està utilitzant el programari Apache, es gairebé segur + que no tè res a veure amb el Grup Apache, per tant + no enviï cap correu electrònic als autors d'Apache referent a aquest lloc o al seu contingut. + Si es que ho fa, el seu missatge serà <STRONG><BIG>ignorat</BIG></STRONG>. + </BLOCKQUOTE> + <HR> + <P> + La + <A HREF="manual/">documentació</A> + d'Apache ha estat inclosa en aquesta distribució. + </P> + <P> + L'administrador de web pot utilitzar lliurement la imatge d'aquí sota + en el servidor web equipat amb el programari Apache. + Gràcies per utilitzar Apache ! + </P> + <DIV ALIGN="CENTER"> + <IMG SRC="apache_pb.gif" ALT=""> + </DIV> + </BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/index.html.cz b/usr.sbin/httpd/htdocs/index.html.cz new file mode 100644 index 00000000000..e0cd2ba6109 --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.cz @@ -0,0 +1,51 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <META HTTP-Equiv="Content-Type" CONTENT="text/html; charset=iso-8859-2"> + <TITLE>Testovacν strαnka instalace web serveru Apache</TITLE> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > + <H1 ALIGN="CENTER"> + Funguje to! Na tomto serveru bμΎν Apache! + </H1> + <P> + Pokud vidνte tuto zprαvu, sprαvce tohoto poθνtaθe prαvμ ϊspμΉnμ + nainstaloval Apache web server. + Teο jeΉtμ musν doplnit obsah a nahradit tuto standardnν uvνtacν + strαnku, nebo pψesmμrovat server na skuteθnou domovskou strαnku. + </P> + <HR> + <BLOCKQUOTE> + Pokud vidνte tuto zprαvu mνsto oθekαvanι domovskι strαnky, + <STRONG>kontaktujte, prosνm, sprαvce pψνsluΉnιho web + serveru.</STRONG> (Zkuste poslat e-mail na adresu + <SAMP><Webmaster@<EM>domain</EM>></SAMP>.) + PψestoΎe tento server pouΎνvα program Apache, tιmμψ jistμ nemα nic + spoleθnιho s Apache Group, proto prosνm neposνlejte e-maily o tomto + serveru nebo jeho obsahu autorωm Apache. Pokud to udμlαte, budeme + vaΉe zprαvy <STRONG><BIG>ignorovat</BIG></STRONG>. + </BLOCKQUOTE> + <HR> + <P> + Zde najdete + <A + HREF="manual/" + >dokumentaci</A> + Apache (anglicky) obsaΎenou v tιto distribuci. + </P> + <P> + Nαsledujνcν logo mωΎe bύt pouΎito bez omezenν na web serveru s + programem Apache. Dμkujeme za pouΎitν Apache! + </P> + <DIV ALIGN="CENTER"> + <IMG SRC="apache_pb.gif" ALT=""> + </DIV> + </BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/index.html.de b/usr.sbin/httpd/htdocs/index.html.de new file mode 100644 index 00000000000..0aff1c65206 --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.de @@ -0,0 +1,61 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <TITLE>Testseite fuer die Apache-Installation auf dieser Web Site</TITLE> + <!-- Translated Wed Aug 18 11:04:02 GMT 1999 - Martin.Kraemer@Mchp.Siemens.De --> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > + <H1 ALIGN="CENTER"> + Es klappt! Der Apache Web-Server ist auf dieser Web-Site installiert! + </H1> + <P> + Wenn Sie diese Seite sehen, dann bedeutet das, dass die + Eigentümer dieser Domäne soeben einen neuen + Apache Web-Server + erfolgreich installiert haben. Jetzt muss noch der + richtige Web-Inhalt zugefügt und diese Platzhalter-Seite + ersetzt werden (oder der Web-Server für den Zugriff auf den + richtigen Inhalt umkonfiguriert werden). + </P> + <HR> + <BLOCKQUOTE> + Wenn Sie diese Seite an Stelle einer anderen erwarteten Web-Site + sehen sollten, dann <STRONG>nehmen Sie bitte Kontakt mit dem + Eigentümer dieser Site auf</STRONG> (Versuchen Sie, eine EMail + an <SAMP><Webmaster@<EM>domänenname</EM>></SAMP> + zu senden)!<BR> + <P> + Obwohl der Eigentümer dieser Domäne die Apache + Web-Server Software verwendet, hat diese Web-Site ziemlich sicher + keinerlei Verbindung mit der <EM>Apache Software Foundation</EM> + (die diese Software kostenlos vertreibt). Es besteht also + <BIG><STRONG>keinerlei Veranlassung</STRONG></BIG>, eine EMail an + die Entwickler der Software zu senden. Sollten Sie das dennoch + tun, wird Ihre Mail stillschweigend + <STRONG><BIG>ignoriert</BIG></STRONG>. + </BLOCKQUOTE> + <HR> + <P> + Die englische <A + HREF="manual/">Online-Dokumentation</A> für die + Apache Web-Server Software ist Bestandteil dieser + Software-Distribution. + </P> + <P> + Dem <I>WebMaster</I> dieser Web-Site steht es frei, das + untenstehende "Powered by Apache"-Logo auf einem Apache-basierten + Web-Server zu verwenden.<BR> + Vielen Dank, dass Sie Apache gewählt haben! + </P> + <DIV ALIGN="CENTER"> + <IMG SRC="apache_pb.gif" ALT="Powered by Apache!"> + </DIV> + </BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/index.html.dk b/usr.sbin/httpd/htdocs/index.html.dk new file mode 100644 index 00000000000..b0048580f3c --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.dk @@ -0,0 +1,47 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <TITLE>Prøveside for Apache installationen</TITLE> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > + <H1 ALIGN="CENTER"> + Det virkede! Apache Webserveren er installeret på denne maskine! + </H1> + <P> + Hvis du kan se denne side, så har dem som ejer dette domæne lige + installeret Apache Webserveren. + Du må nu placere web sider i dette directory og fjerne denne side, eller + konfigurere serveren til at anvende et andet directory. + </P> + <HR> + <BLOCKQUOTE> + Hvis du ser denne side istedet for en anden forventet side, <STRONG>kontakt + venligst administratoren for den server du prøver at kontakte.</STRONG> + (Prøv at sende mail til <SAMP><Webmaster@<EM>domain</EM>></SAMP>.) + Apachegruppen har ikke noget at gøre med denne site, så det vil ikke + hjælpe at sende mail to Apache udviklerne angående denne site. + </BLOCKQUOTE> + <HR> + <P> + Apache- + <A + HREF="manual/" + >documentationen</A> + er inkluderet med denne distribution. + </P> + <P> + Webmasteren af denne site må gerne bruge den følgende grafik + på en Apache-drevet webserver. Mange tak for at bruge Apache! + </P> + <DIV ALIGN="CENTER"> + <IMG SRC="apache_pb.gif" ALT=""> + </DIV> + </BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/index.html.ee b/usr.sbin/httpd/htdocs/index.html.ee new file mode 100644 index 00000000000..7007d6478a3 --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.ee @@ -0,0 +1,53 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <TITLE>Apache veebiserveri installatsiooni testlehekülg</TITLE> + <!-- Original translation: Ahti Heinla, ahti@ahti.bluemoon.ee, Thu Aug 19 12:57:48 GMT 1999 --> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > + <H1 ALIGN="CENTER"> + Kujuta pilti, käima läks! Apache veebiserver on installeeritud! + </H1> + <P> + Kui Sa näed seda lehekülge, siis selle domeeni omanikud on + edukalt hakkama saanud Apache veebiserveri + installeerimisega. Järgmiseks peaks nad selle lehekülje asendama + misiganes materjaliga, mida nad oma veebisaidis näidata tahavad, + või siis juhatama veebiserverile kätte tegeliku materjali + asukoha. + </P> + <HR> + <BLOCKQUOTE> + Kui Sa ootasid siin leheküljel näha hoopis midagi muud, + siis palun <STRONG>võta ühendust selle veebisaidi + administraatoriga.</STRONG> (Võid näiteks kirjutada aadressil + <SAMP><Webmaster@<EM>domain</EM>></SAMP>.) Kuigi see veebisait + kasutab Apache tarkvara, pole ta peaaegu kindlasti mitte Apache Group'iga + mingil muul moel seotud. Seega, palun ära kirjuta selle saidi + asjus Apache autoritele. Kui sa seda teed, siis sinu kirja + <STRONG><BIG>ignoreeritakse</BIG></STRONG>. + </BLOCKQUOTE> + <HR> + <P> + Ka Apache + <A + HREF="manual/" + >dokumentatsioon</A> + on selles distributsioonis olemas. + </P> + <P> + Kohalik veebmeister võib vabalt kasutada allpool olevat + pilti oma Apache veebiserveril. Aitäh Apachet kasutamast! + </P> + <DIV ALIGN="CENTER"> + <IMG SRC="apache_pb.gif" ALT=""> + </DIV> + </BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/index.html.el b/usr.sbin/httpd/htdocs/index.html.el new file mode 100644 index 00000000000..75c8737e821 --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.el @@ -0,0 +1,37 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EL"> +<HTML> + <HEAD> + <TITLE>Δοκιμαστική Σελίδα για την Εγκατάσταση του Apache</TITLE> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > + + +<P> +Εάν μπορείτε να δείτε αυτή τη σελίδα, τότε η εγκατάσταση του λογισμικού του Εξυπηρετητή WWW Apache σε αυτό το σύστημα ήταν επιτυχής. Μπορείτε τώρα να προσθέσετε περιεχόμενο σε αυτό τον κατάλογο και να αντικαταστήσετε αυτή τη σελίδα. + +<P><HR WIDTH="50%" SIZE="8"> + +<H2 ALIGN="CENTER">Βλέπετε αυτή τη σελίδα αντί για το δικτυακό τόπο που περιμένατε;</H2> + +<P> +Αυτή η σελίδα βρίσκεται εδώ γιατί ο διαχειριστής αυτού του δικτυακού τόπου τροποποίησε τις ρυθμίσεις στον εξυπηρετητή Apache. Παρακαλώ <STRONG>επικοινωνήστε με τον υπεύθυνο για τη διαχείριση του παρόντος εξυπηρετητή.</STRONG> Το Ίδρυμα Λογισμικού Apache (The Apache Software Foundation) έγραψε το λογισμικό του εξυπηρετητή WWW το οποίο χρησιμοποιεί ο διαχειριστής αυτού του δικτυακού τόπου. Το Ίδρυμα όμως δεν έχει καμιά αρμοδιότητα σχετική με τη διαχείριση αυτού του δικτυακού τόπου και δεν μπορεί να βοηθήσει στην επίλυση θεμάτων που έχουν σχέση με τις ρυθμίσεις του. + +<P><HR WIDTH="50%" SIZE="8"> + + +<P> +Η <A HREF="manual/">τεκμηρίωση</A> του Apache έχει συμπεριληφθεί σε αυτή τη διανομή. + +<P> +Είστε ελεύθερος/η να χρησιμοποιήσετε την παρακάτω εικόνα σε έναν εξυπηρετητή του WWW που βασίζεται σε Apache. Ευχαριστούμε που χρησιμοποιείτε τον Apache! + +<DIV ALIGN="CENTER"><IMG SRC="apache_pb.gif" ALT=""></DIV> +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/index.html.en b/usr.sbin/httpd/htdocs/index.html.en new file mode 100644 index 00000000000..0a5fb3dfe39 --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.en @@ -0,0 +1,88 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <TITLE>Test Page for the SSL/TLS-aware Apache Installation on Web Site</TITLE> + <STYLE TYPE="text/css"> + H1 { + font-weight: bold; + font-size: 18pt; + line-height: 18pt; + font-family: arial,helvetica; + font-variant: normal; + font-style: normal; + } + BODY { + color: black; + background-color: white; + background-image: url(manual/images/feather.jpg); + background-repeat: no-repeat; + } + </STYLE> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red +(active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#0000FF" + ALINK="#FF0000" + > + <BLOCKQUOTE> + <BLOCKQUOTE> + <BR> + <H1> + Hey, it worked <I>!</I><BR> + The SSL/TLS-aware Apache webserver was<BR> + successfully installed on this website. + </H1> + <P> + If you can see this page, then the people who own this website have just + installed the <A HREF="http://www.apache.org/">Apache Web server</A> + software and the <A HREF="http://www.modssl.org/">Apache + Interface to OpenSSL (mod_ssl)</A> successfully. They now have to add + content to this directory and replace this placeholder page, or else point + the server at their real content. + </P> + <BLOCKQUOTE> + <STRONG>ATTENTION!</STRONG><BR> + If you are seeing this page instead of the site you expected, please + <STRONG>contact the administrator of the site involved.</STRONG> + (Try sending mail to <SAMP><webmaster@<EM>domain</EM>></SAMP>.) + Although this site is + running the Apache software it almost certainly has no other connection + to the Apache Group, so please do not send mail about this site or its + contents to the Apache authors. If you do, your message will be + <STRONG>ignored</STRONG>. + </BLOCKQUOTE> + <P> + The Apache online + <A + HREF="manual/index.html" + >documentation</A> + has been included with this distribution.<BR> + Especially also read the + <A + HREF="manual/mod/mod_ssl/" + >mod_ssl User Manual</A> + carefully. + </P> + <P> + Your are allowed to use the images below on your SSL-aware Apache Web server.<BR> + Thanks for using Apache, mod_ssl and OpenSSL! + </P> + <P> + <DIV ALIGN="CENTER"> + <A HREF="http://www.apache.org/" + ><IMG SRC="manual/images/apache_pb.gif" ALT="Apache Webserver" BORDER=0></A> + + <A HREF="http://www.modssl.org/" + ><IMG SRC="manual/images/mod_ssl_sb.gif" ALT="mod_ssl Interface" BORDER=0></A> + + <A HREF="http://www.openssl.org/" + ><IMG SRC="manual/images/openssl_ics.gif" ALT="OpenSSL Toolkit" BORDER=0></A> + </DIV> + </BLOCKQUOTE> + </BLOCKQUOTE> + </BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/index.html.es b/usr.sbin/httpd/htdocs/index.html.es new file mode 100644 index 00000000000..6f501db5b68 --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.es @@ -0,0 +1,51 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//ES"> +<HTML> + <HEAD> + <TITLE>Pagína para probar la instalación de Apache</TITLE> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > + <H1 ALIGN="CENTER"> + ¡Funcionó! ¡El Servidor de Red Apache ha sido instalado en ese sitio! + </H1> + <P> + Si usted puede ver esta pagína, entonces los dueños de esta + maquína han instalado el Servidor de + Red Apache con exíto. Ahora deben añadir contenido a este directorio + y reemplazar esta pagína, ó apuntar este servidor al contenido real. + </P> + <HR> + <BLOCKQUOTE> + Si usted esta leyendo esta pagína y no es lo que esperaba, por favor + <STRONG>contacte el administrador de este sitio.</STRONG> + (Trate de enviar correo electrónico a <SAMP><Webmaster@<EM>domain</EM>></SAMP>.) + Aunque este sitio esta utilizando el programa Apache es casi seguro + que no tiene ninguna conexión con el Apache Group, por eso favor de + no enviar correo sobre este sitio o su contenido a los autores de + Apache. Si lo hace, su mensaje sera + <STRONG><BIG>ignorado</BIG></STRONG>. + </BLOCKQUOTE> + <HR> + <P> + La + <A + HREF="manual/index.html" + >documentación</A> + de Apache ha sido incluida en esta distribución. + </P> + <P> + El administrador del sitio esta invitado a usar la siguiente + imagen para indicar que su sitio es servido por Apache. + ¡Gracias por usar Apache! + </P> + <DIV ALIGN="CENTER"> + <IMG SRC="apache_pb.gif" ALT=""> + </DIV> + </BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/index.html.fr b/usr.sbin/httpd/htdocs/index.html.fr new file mode 100644 index 00000000000..a8db4c9b233 --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.fr @@ -0,0 +1,46 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <TITLE>Page de test de l'installation d'Apache</TITLE> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red +(active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > + + +<p>Si vous lisez cette page, c'est que les propriétaires de ce +domaine viennent d'installer le +serveur web Apache +avec succès. Ils doivent maintenant ajouter du contenu à ce +répertoire et remplacer cette page, ou bien faire pointer le serveur +vers l'endroit où se trouve le contenu réel du site.</p> + +<HR WIDTH="50%" SIZE="8"> + +<H2 ALIGN="CENTER">Vous voyez cette page au lieu du site attendu ?</H2> + +<p>Vous voyez cette page parce que l'administrateur du site a modifié +la configuration de ce serveur Web. Veuillez contacter +<STRONG>l'administrateur du site concerné</STRONG>. La Fondation +Apache (Apache Software Foundation), qui produit le logiciel Apache +utilisé par ce site, n'a rien à voir avec la maintenance de ce +site et ne peut intervenir sur sa configuration.</p> + +<HR WIDTH="50%" SIZE="8"> + +<p>La <A HREF="manual/">documentation</A> Apache est incluse dans cette +distribution.</p> + +<p>Le webmaster de ce site peut librement utiliser l'image ci-dessous sur un +site web utilisant le logiciel Apache. Merci d'avoir choisi Apache !</p> + +<DIV ALIGN="CENTER"><IMG SRC="apache_pb.gif" ALT=""></DIV> + +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/index.html.it b/usr.sbin/httpd/htdocs/index.html.it new file mode 100644 index 00000000000..dbf5901a584 --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.it @@ -0,0 +1,38 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <title>Pagina di prova dell'installazione di un sito Web con Apache</title> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#000080" alink="#FF0000"> + +<center> +<h1> +Funziona! Il Server Web Apache e' stato installato su questo sito Web!</h1></center> +Se riuscite a vedere questa pagina, allora vuol dire che coloro che gestiscono +questo dominio hanno appena installato il software Web Server +Apache correttamente. Ora e' necessario aggiungere il vostro materiale +in questo direttorio e sostituire questa pagina di prova, oppure configurare +il server per far riferimento al vostro materiale se collocato altrove. +<p> +<hr> +<blockquote>Se state vedendo questa pagina invece del sito che pensavate, +vi preghiamo di <b>contattare l'amministratore del sito in questione.</b> +(Provate ad inviare un email a <tt><Webmaster@<i>domain</i>></tt>.) +Nonostante questo sito stia utilizzando il software Apache, questo non +vi garantisce nessun tipo di contatto diretto al Gruppo Apache, quindi +vi preghiamo di non inviare email riguardanti questo sito o al materiale +in esso contenuto agli autori di Apache. Ogni messaggio del genere verra' +<b><font size="+1">ignorato</font></b>.</blockquote> + +<hr> +<br>La <a href="manual/">documentazione</a> relativa di Apache +e' inclusa nella distribuzione. +<p>Il Webmaster di questo sito e' libero di utilizzare l'immagine qui sotto +su qualsiasi Web server potenziato con Apache. Grazie per aver scelto Apache! +<center> +<p><img SRC="apache_pb.gif" ALT="" ></center> + +</body> +</html> diff --git a/usr.sbin/httpd/htdocs/index.html.ja.jis b/usr.sbin/httpd/htdocs/index.html.ja.jis new file mode 100644 index 00000000000..dcd4d87ead5 --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.ja.jis @@ -0,0 +1,42 @@ +<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" + "http://www.w3.org/TR/REC-html40/loose.dtd"> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=ISO-2022-JP"> + <title>Apache $B%$%s%9%H!<%k;~$N%F%9%H%Z!<%8(B</title> + </head> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <body + bgcolor="#ffffff" + text="#000000" + link="#0000ff" + vlink="#000080" + alink="#ff0000" + > + + +<p> +$B$b$7$3$N%Z!<%8$,FI$a$?$N$G$"$l$P!"(BApache $B%&%'%V%5!<%P(B$B$N%$%s%9%H!<%k$,$3$N7W;;5!$GL5;v$K=*N;$7$?$3$H$r0UL#$7$^$9!#$"$J$?$O!"$3$N%G%#%l%/%H%j$KJ8=q$r2C$($?$j!"$3$N%Z!<%8$rCV$-$+$($k$3$H$,$G$-$^$9!#(B +</p> +<hr width="50%" size="8"> + +<h2 align="center">$B$"$J$?$NM=A[$KH?$7$F!"$3$N%Z!<%8$,8+$($F$$$k$G$7$g$&$+(B?</h2> + +<p> +$B$3$N%Z!<%8$O!"%5%$%H4IM}<T$,$3$N(B web $B%5!<%P$N@_Dj$rJQ99$7$?$?$a$K8+$($F$$$^$9!#(B +<strong>$B$3$N%5!<%P$r4IM}$9$k@UG$$r;}$C$F$$$kJ}$KO"Mm$r$H$C$F(B</strong>$B$/$@$5$$!#$3$N%5%$%H4IM}<T$,MxMQ$7$F$$$k(B web $B%5!<%P$r3+H/$7$?(B The Apache Software Foundation $B$O!"$3$N%5%$%H$N(B web $B%5!<%P$N4IM}$H$O4X78$,$J$/!"%5!<%P$N@_Dj$K4X$9$kLdBj$r2r7h$9$k$3$H$O$G$-$^$;$s!#(B +</p> +<hr width="50%" size="8"> + + +<p> +Apache $B$K4X$9$k(B<A HREF="manual/index.html">$BJ8=q(B</A> $B$O!"$3$N(B web $B%5!<%PG[I[J*$NCf$K4^$^$l$F$$$^$9!#(B +</p> +<p> +$B0J2<$N2hA|$O!"(BApache $B$rMxMQ$7$F$$$k(B web $B%5!<%P$G<+M3$K;H$&$3$H$,$G$-$^$9!#(BApache $B$r$4MxMQ$$$?$@$-!"$"$j$,$H$&$4$6$$$^$9(B! +</p> + <div align="center"> + <img src="apache_pb.gif" alt=""> + </div> + </body> +</html> diff --git a/usr.sbin/httpd/htdocs/index.html.nl b/usr.sbin/httpd/htdocs/index.html.nl new file mode 100644 index 00000000000..fdd7ff9312d --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.nl @@ -0,0 +1,54 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <TITLE>Test Pagina voor de Apache Installatie op deze Web Site</TITLE> + <!-- Translated Tue Aug 17 20:57:17 GMT 1999 - dirkx@webweaving.org --> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > + <H1 ALIGN="CENTER"> + Alles Werkt! De Apache Web Server is geinstalleerd op deze Web Site + </H1> + <P> + Mocht u deze pagina zien, dan betekent dat, dat de eigenaren van dit + domein zojuist een nieuwe Apache Web + Server hebben geinstalleerd. Nu moet men nog de echte inhoud gaan + toevoegen, en moet men deze pagina gaan vervangen door de echte web + site. + </P> + <HR> + <BLOCKQUOTE> + Mocht u deze pagina zien, in plaats van de pagina of web site die u + verwachtte, neem dan <STRONG>contact op met de beheerder van + deze site</STRONG>. Bijvoorbeeld door een berichtje te sturen naar + <SAMP><Webmaster@<EM>dit-domain</EM>></SAMP>. + <P> + Alhoewel deze web site gebruik maakt van de Apache Software is er + verder geen enkele relatie tussen de beheerders van deze web site en + de Apache Groep (die de web software geschreven heeft). Het heeft dus + <BIG><STRONG>absoluut</STRONG></BIG> + geen zin de web software auteurs een emailtje te sturen. Mocht u dat + toch doen, dan wordt uw bericht gewoon <STRONG><BIG>genegeerd</BIG></STRONG>. + </BLOCKQUOTE> + <HR> + <P> + De + <A HREF="manual/index.html" >handleiding</A> voor de apache web + server software maakt deel uit van deze distributie. + </P> + <P> + Als beheerder of <I>webmaster</I> is het u toegestaan het onderstaande + plaatje vrijelijk te gebruiken op uw 'Apache Powered' web site. Bedankt + voor het kiezen voor, en gebruiken van, Apache! + </P> + <DIV ALIGN="CENTER"> + <IMG SRC="apache_pb.gif" ALT="Klein 'Powered by Apache' Logotje"> + </DIV> + </BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/index.html.po.iso-pl b/usr.sbin/httpd/htdocs/index.html.po.iso-pl new file mode 100644 index 00000000000..8b030bd6516 --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.po.iso-pl @@ -0,0 +1,40 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <TITLE>Strona testowa instalacji serwera Apache</TITLE> + <META http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> + <!-- translated by Bart Grzybicki, bgrzybicki@morliny.pl - http://www.bgrzybicki.morliny.pl on 19th of December 2000 --> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > + + +<P> +JeΏeli strona ta jest widoczna, oznacza to poprawn± instalacjκ serwera Apache. MoΏna juΏ zamieniζ zawartoΆζ tej witryny. + +<P><HR WIDTH="50%" SIZE="8"> + +<H2 ALIGN="CENTER">Czy zamiast spodziewanej witryny WWW widoczna jest ta?</H2> + +<P> +Strona ta jest widoczna, poniewaΏ administrator serwera WWW zmieni³ jego konfiguracjκ. +Proszκ <STRONG>skontaktowaζ siκ z osob± odpowiedzialn± za zarz±dzanie tym serwerem.</STRONG> Apache Software Foundation, producent oprogramowania serwerowego Apache, nie administruje t± witryn± i nie jest w stanie pomσc w sprawach zwi±zanych z jej konfiguracj±. + +<P><HR WIDTH="50%" SIZE="8"> + + +<P> +Do niniejszej dystrybucji serwera Apache do³±czono anglojκzyczn± <A HREF="manual/index.html">dokumentacjκ</A>. + +<P> +PoniΏsze logo, "Powered by Apache", moΏna stosowaζ bez ograniczeρ. Dziκkujemy za wybranie Apache'a! + +<DIV ALIGN="CENTER"><IMG SRC="apache_pb.gif" ALT=""></DIV> +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/index.html.pt b/usr.sbin/httpd/htdocs/index.html.pt new file mode 100644 index 00000000000..6c4fd018ef2 --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.pt @@ -0,0 +1,42 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <TITLE>Pαgina de teste da instalaηγo do Apache Web Server</TITLE> +<!-- original translation for portuguese by Hugo Ramos, ramos@pop3r.com, Sat Jan 29 05:30:00 GMT 2000 --> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > + + +<P> Se está a ver esta página significa que a instalação + do Apache Web Server foi efectuada + com sucesso. Pode agora adicionar conteúdo a esta directoria e substituir + esta página. +<P><HR WIDTH="50%" SIZE="8"> + +<H2 ALIGN="CENTER">Está a ver esta página em vez do website que + esperava?</H2> + +<P> Esta página está neste momento activa porque o administrador + deste site alterou a configuração do web server. Por favor <STRONG>contacte + a pessoa responsável pela manutenção deste servidor.</STRONG> + A Fundação Apache Software (Apache Software Foundation), apesar + de ter produzido o web server que o administrador deste site está a usar, + não tem qualquer tipo de responsabilidade pela manutenção + deste nem pode ajudar a resolver problemas de configuração. +<P><HR WIDTH="50%" SIZE="8"> + + +<P> A <A HREF="manual/index.html">documentação</A> foi incluída + juntamente com esta distribuição. +<P> A imagem abaixo pode ser usada livremente em qualquer site presente num servidor + com o Apache Web Server instalado. Obrigado por usar o Apache Web Server! +<DIV ALIGN="CENTER"><IMG SRC="apache_pb.gif" ALT=""></DIV> +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/index.html.pt-br b/usr.sbin/httpd/htdocs/index.html.pt-br new file mode 100644 index 00000000000..9f5a1151c11 --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.pt-br @@ -0,0 +1,55 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <TITLE>Pagina teste para a instalacao do Apache no Web Site</TITLE> + <!-- original translation Dulce Lajas, dulce.lajas@jrc.it, Thu Aug 19 13:12:00 GMT 1999 --> + </HEAD> + <!-- Background white, links blue (unvisited), navy (visited), red + (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > + <H1 ALIGN="CENTER"> + Funcionou! O Apache Web Server esta instalado neste Web Site! + </H1> + <P> + Se conseguir ver esta pagina, entao as pessoas que possuem este + dominio acabaram + de instalar o software Apache Web + server + com sucesso. Agora tem de adicionar o conteudo a esta directoria + e substituir esta pagina "placeholder", ou apontar o servidor para o + seu conteudo real. + </P> + <HR> + <BLOCKQUOTE> + Se esta a ver esta pagina em vez do site que esperava, por favor + <STRONG>contacte o administrador do site envolvido.</STRONG> + (Tente enviar um e-mail para + <SAMP><Webmaster@<EM>domain</EM>></SAMP>.) + Apesar de neste site estar a + correr o software Apache e quase certo que nao tem + outra ligacao com o Grupo Apache, por isso por favor nao envie + e-mails acerca deste + site ou do seu conteudo para os autores do Apache. Se o fizer, a + sua mensagem vai ser + <STRONG><BIG>ignorada</BIG></STRONG>. + </BLOCKQUOTE> + <HR> + <P> + O Apache <A HREF="manual/index.html" >documentation</A> + foi incluido com esta distribuicao. + </P> + <P> + O Webmaster deste site e livre para utilizar a imagem abaixo num + Web server instalado com o Apache. Obrigado por utilizar o Apache! + </P> + <DIV ALIGN="CENTER"> + <IMG SRC="apache_pb.gif" ALT=""> + </DIV> + </BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/index.html.ru.ucs2 b/usr.sbin/httpd/htdocs/index.html.ru.ucs2 Binary files differnew file mode 100644 index 00000000000..4d22a70a05b --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.ru.ucs2 diff --git a/usr.sbin/httpd/htdocs/index.html.ru.ucs4 b/usr.sbin/httpd/htdocs/index.html.ru.ucs4 Binary files differnew file mode 100644 index 00000000000..8db773e6a6d --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.ru.ucs4 diff --git a/usr.sbin/httpd/htdocs/index.html.se b/usr.sbin/httpd/htdocs/index.html.se new file mode 100644 index 00000000000..748f0da0e32 --- /dev/null +++ b/usr.sbin/httpd/htdocs/index.html.se @@ -0,0 +1,43 @@ +<!doctype html public "-//W3C//DTD HTML 3.2 Final//EN"> +<html> + <head> + <title>Testsida för Apache-installationen</title> + </head> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <body + bgcolor="#FFFFFF" + text="#000000" + link="#0000FF" + vlink="#000080" + alink="#FF0000" + > + <h1 align="CENTER"> + Det fungerade! Apache är installerad på denna maskin! + </h1> + <p> + Om du kan se denna sida så har ägaren till denna maskin installerat + webbserverprogramvaran Apache.<br> + Denne måste nu placera webbsidor i detta bibliotek och ändra på denna sida, eller + peka servern mot ett annat bibliotek. + </p> + <hr> + <blockquote> + Om du förväntat dig att se något helt annat här än denna sida, <strong>kontakta + vänligen administratören för den webbserver du försöker komma i kontakt med.</strong> + (Försök att skicka ett brev till <samp><webmaster@<em>domain</em>></samp>.) + Apache Software Foundation har inget med denna webbplats att göra, så det är ingen idé + att skicka mail till författarna av Apache rörande denna webbplats. + </blockquote> + <hr> + <p> + Apache-<a href="manual/index.html">dokumentationen</a> är inkluderad i denna distribution. + </p> + <p> + Administratören av denna webbplats får gärna använda följande bild till en webbplats som använder Apache.<br> + Tack för att ni använder Apache! + </p> + <div align="CENTER"> + <img src="apache_pb.gif" alt=""> + </div> + </body> +</html> diff --git a/usr.sbin/httpd/htdocs/manual/configuring.html.en b/usr.sbin/httpd/htdocs/manual/configuring.html.en new file mode 100644 index 00000000000..fe00360d52a --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/configuring.html.en @@ -0,0 +1,252 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Configuration Files</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Configuration Files</H1> + +<ul> +<li><a href="#main">Main Configuration Files</a></li> +<li><a href="#syntax">Syntax of the Configuration Files</a></li> +<li><a href="#modules">Modules</a></li> +<li><a href="#scope">Scope of Directives</a></li> +<li><a href="#htaccess">.htaccess Files</a></li> +<li><a href="#logs">Log Files</a></li> +</ul> + +<hr> + +<H2><a name="main">Main Configuration Files</a></H2> + +<table border="1"><tr><td valign="top"> +<strong>Related Modules</strong><br><br> +<a href="mod/mod_mime.html">mod_mime</a><br> +</td> + +<td valign="top"> +<strong>Related Directives</strong><br><br> +<A HREF="mod/core.html#accessconfig">AccessConfig</A><br> +<A HREF="mod/core.html#ifdefine"><IfDefine></A><br> +<a href="mod/core.html#include">Include</a><br> +<A HREF="mod/core.html#resourceconfig">ResourceConfig</A><br> +<A HREF="mod/mod_mime.html#typesconfig">TypesConfig</A><br> +</td></tr></table> + +<P>Apache is configured by placing <A HREF="mod/directives.html" +>directives</A> in plain text configuration files. The main +configuration file is usually called <CODE>httpd.conf</CODE>. The +location of this file is set at compile-time, but may be overridden +with the <CODE>-f</CODE> command line flag. Some sites also have +<CODE>srm.conf</CODE> and <CODE>access.conf</CODE> files for <A +HREF="http://www.apache.org/info/three-config-files.html">historical +reasons</A>. In addition, other configuration files may be added using +the <CODE><A HREF="mod/core.html#include">Include</A></CODE> +directive. Any directive may be placed in any of these configuration +files. Changes to the main configuration files are only recognized by +Apache when it is started or restarted.</p> + +<P>New with Apache 1.3.13 is a feature where if any configuration +file is actually a directory, Apache will enter that directory +and parse any files (and subdirectories) found there as configuration +files. One possible use for this would be to add VirtualHosts +by creating small configuration files for each host, and placing +them in such a configuration directory. Thus, you can add or +remove VirtualHosts without editing any files at all, simply +adding or deleting them. This makes automating such processes +much easier. + +<P> +The server also reads a file containing mime document types; the +filename is set by the <A HREF="mod/mod_mime.html#typesconfig" +>TypesConfig</A> directive, and is <CODE>mime.types</CODE> by default. + +<hr> + +<H2><a name="syntax">Syntax of the Configuration Files</a></H2> + +<P>Apache configuration files contain one directive per line. The +back-slash "\" may be used as the last character on a line to indicate +that the directive continues onto the next line. There must be no +other characters or white space between the back-slash and the end of +the line. + +<P>Directives in the configuration files are case-insensitive, but +arguments to directives are often case sensitive. Lines which begin +with the hash character "#" are considered comments, and are ignored. +Comments may <STRONG>not</STRONG> be included on a line after a +configuration directive. Blank lines and white space occurring before +a directive are ignored, so you may indent directives for clarity. + +<P>You can check your configuration files for syntax errors without +starting the server by using <CODE>apachectl configtest</CODE> +or the <CODE>-t</CODE> command line option. + +<hr> + +<H2><a name="modules">Modules</a></H2> + +<table border="1"><tr><td valign="top"> +<strong>Related Modules</strong><br><br> +<a href="mod/mod_so.html">mod_so</a><br> +</td> +<td valign="top"> +<strong>Related Directives</strong><br><br> +<A HREF="mod/core.html#addmodule">AddModule</A><br> +<A HREF="mod/core.html#clearmodulelist">ClearModuleList</A><br> +<A HREF="mod/core.html#ifmodule"><IfModule></A><br> +<a href="mod/mod_so.html#loadmodule">LoadModule</a><br> +</td></tr></table> + +<P>Apache is a modular server. This implies that only the most basic +functionality is included in the core server. Extended features are +available through <A HREF="mod/index-bytype.html">modules</A> which +can be loaded into Apache. By default, a <A +HREF="mod/module-dict.html#Status">base</A> set of modules is +included in the server at compile-time. If the server is compiled to +use <A HREF="dso.html">dynamically loaded</A> modules, then modules +can be compiled separately and added at any time using the <A +HREF="mod/mod_so.html#loadmodule">LoadModule</A> directive. +Otherwise, Apache must be recompiled to add or remove modules. +Configuration directives may be included conditional on a presence of +a particular module by enclosing them in an <A +HREF="mod/core.html#ifmodule"><IfModule></A> block. + +<P>To see which modules are currently compiled into the server, +you can use the <CODE>-l</CODE> command line option. + +<hr> + +<H2><a name="scope">Scope of Directives</a></H2> + +<table border="1"><tr><td valign="top"> +<strong>Related Directives</strong><br><br> +<A HREF="mod/core.html#directory"><Directory></A><br> +<A HREF="mod/core.html#directorymatch"><DirectoryMatch></A><br> +<A HREF="mod/core.html#files"><Files></A><br> +<A HREF="mod/core.html#filesmatch"><FilesMatch></A><br> +<A HREF="mod/core.html#location"><Location></A><br> +<A HREF="mod/core.html#locationmatch"><LocationMatch></A><br> +<a href="mod/core.html#virtualhost"><VirtualHost></a><br> +</td></tr></table> + +<P>Directives placed in the main configuration files apply to the entire +server. If you wish to change the configuration for only a part of +the server, you can scope your directives by placing them in +<CODE><A HREF="mod/core.html#directory"><Directory></A>, +<A HREF="mod/core.html#directorymatch"><DirectoryMatch></A>, +<A HREF="mod/core.html#files"><Files></A>, +<A HREF="mod/core.html#filesmatch"><FilesMatch></A>, +<A HREF="mod/core.html#location"><Location></A>, +</CODE> and <CODE> +<A HREF="mod/core.html#locationmatch"><LocationMatch></A> +</CODE> +sections. These sections limit the application of the directives +which they enclose to particular filesystem locations or URLs. They +can also be nested, allowing for very fine grained configuration. + +<P>Apache has the capability to serve many different websites +simultaneously. This is called <A HREF="vhosts/">Virtual Hosting</A>. +Directives can also be scoped by placing them inside +<CODE><A HREF="mod/core.html#virtualhost"><VirtualHost></A></CODE> +sections, so that they will only apply to requests for a particular +website. + +<P>Although most directives can be placed in any of these sections, +some directives do not make sense in some contexts. For example, +directives controlling process creation can only be placed in the main +server context. To find which directives can be placed in which +sections, check the <A +HREF="mod/directive-dict.html#Context">Context</A> of the directive. +For further information, we provide details on <A +HREF="sections.html">How Directory, Location and Files sections +work</A>. + +<hr> + +<H2><a name="htaccess">.htaccess Files</a></H2> + +<table border="1"><tr><td valign="top"> +<strong>Related Directives</strong><br><br> +<A HREF="mod/core.html#accessfilename">AccessFileName</A><br> +<A HREF="mod/core.html#allowoverride">AllowOverride</A><br> +</td></tr></table> + +<P>Apache allows for decentralized management of configuration via +special files placed inside the web tree. The special files are +usually called <CODE>.htaccess</CODE>, but any name can be specified +in the <A HREF="mod/core.html#accessfilename"><CODE +>AccessFileName</CODE></A> directive. Directives placed in +<CODE>.htaccess</CODE> files apply to the directory where you place +the file, and all sub-directories. The <CODE>.htaccess</CODE> files +follow the same syntax as the main configuration files. Since +<CODE>.htaccess</CODE> files are read on every request, changes made +in these files take immediate effect. + +<P>To find which directives can be placed in <CODE>.htaccess</CODE> +files, check the <A HREF="mod/directive-dict.html#Context">Context</A> +of the directive. The server administrator further controls what +directives may be placed in <CODE>.htaccess</CODE> files by +configuring the <A +HREF="mod/core.html#allowoverride"><CODE>AllowOverride</CODE></A> +directive in the main configuration files. + +<hr> + +<H2><a name="logs">Log files</a></H2> +<!-- This section should be moved to its own file --> +<H3>security warning</H3> +Anyone who can write to the directory where Apache is writing a +log file can almost certainly gain access to the uid that the server is +started as, which is normally root. Do <EM>NOT</EM> give people write +access to the directory the logs are stored in without being aware of +the consequences; see the <A HREF="misc/security_tips.html">security tips</A> +document for details. + +<H3>pid file</H3> + +<P>On startup, Apache saves the process id of the parent httpd process to +the file <CODE>logs/httpd.pid</CODE>. This filename can be changed +with the <A HREF="mod/core.html#pidfile">PidFile</A> directive. The +process-id is for use by the administrator in restarting and +terminating the daemon: on Unix, a HUP or USR1 signal causes the +daemon to re-read its configuration files and a TERM signal causes it +to die gracefully; on Windows, use the -k command line option instead. +For more information see the <A HREF="stopping.html">Stopping and +Restarting</A> page. + +<P> +If the process dies (or is killed) abnormally, then it will be necessary to +kill the children httpd processes. + +<H3>Error log</H3> + +<P>The server will log error messages to a log file, by default +<CODE>logs/error_log</CODE> on Unix or <CODE>logs/error.log</CODE> on +Windows and OS/2. The filename can be set using the <A +HREF="mod/core.html#errorlog">ErrorLog</A> directive; different error +logs can be set for different <A +HREF="mod/core.html#virtualhost">virtual hosts</A>. + +<H3>Transfer log</H3> + +<P>The server will typically log each request to a transfer file, by +default <CODE>logs/access_log</CODE> on Unix or +<CODE>logs/access.log</CODE> on Windows and OS/2. The filename can be +set using a <A HREF="mod/mod_log_config.html#customlog">CustomLog</A> +directive; different transfer logs can be set for different <A +HREF="mod/core.html#virtualhost">virtual hosts</A>. + + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/manual/configuring.html.html b/usr.sbin/httpd/htdocs/manual/configuring.html.html new file mode 100644 index 00000000000..f32f3e637ac --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/configuring.html.html @@ -0,0 +1,253 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Configuration Files</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Configuration Files</H1> + +<ul> +<li><a href="#main">Main Configuration Files</a></li> +<li><a href="#syntax">Syntax of the Configuration Files</a></li> +<li><a href="#modules">Modules</a></li> +<li><a href="#scope">Scope of Directives</a></li> +<li><a href="#htaccess">.htaccess Files</a></li> +<li><a href="#logs">Log Files</a></li> +</ul> + +<hr> + +<H2><a name="main">Main Configuration Files</a></H2> + +<table border="1"><tr><td valign="top"> +<strong>Related Modules</strong><br><br> +<a href="mod/mod_mime.html">mod_mime</a><br> +</td> + +<td valign="top"> +<strong>Related Directives</strong><br><br> +<A HREF="mod/core.html#accessconfig">AccessConfig</A><br> +<A HREF="mod/core.html#ifdefine"><IfDefine></A><br> +<a href="mod/core.html#include">Include</a><br> +<A HREF="mod/core.html#resourceconfig">ResourceConfig</A><br> +<A HREF="mod/mod_mime.html#typesconfig">TypesConfig</A><br> +</td></tr></table> + +<P>Apache is configured by placing <A HREF="mod/directives.html" +>directives</A> in plain text configuration files. The main +configuration file is usually called <CODE>httpd.conf</CODE>. The +location of this file is set at compile-time, but may be overridden +with the <CODE>-f</CODE> command line flag. Some sites also have +<CODE>srm.conf</CODE> and <CODE>access.conf</CODE> files for <A +HREF="http://www.apache.org/info/three-config-files.html">historical +reasons</A>. In addition, other configuration files may be added using +the <CODE><A HREF="mod/core.html#include">Include</A></CODE> +directive. Any directive may be placed in any of these configuration +files. Changes to the main configuration files are only recognized by +Apache when it is started or restarted.</p> + +<P>New with Apache 1.3.13 is a feature where if any configuration +file is actually a directory, Apache will enter that directory +and parse any files (and subdirectories) found there as configuration +files. One possible use for this would be to add VirtualHosts +by creating small configuration files for each host, and placing +them in such a configuration directory. Thus, you can add or +remove VirtualHosts without editing any files at all, simply +adding or deleting them. This makes automating such processes +much easier. + +<P> +The server also reads a file containing mime document types; the +filename is set by the <A HREF="mod/mod_mime.html#typesconfig" +>TypesConfig</A> directive, and is <CODE>mime.types</CODE> by default. + +<hr> + +<H2><a name="syntax">Syntax of the Configuration Files</a></H2> + +<P>Apache configuration files contain one directive per line. The +back-slash "\" may be used as the last character on a line to indicate +that the directive continues onto the next line. There must be no +other characters or white space between the back-slash and the end of +the line. + +<P>Directives in the configuration files are case-insensitive, but +arguments to directives are often case sensitive. Lines which begin +with the hash character "#" are considered comments, and are ignored. +Comments may <STRONG>not</STRONG> be included on a line after a +configuration directive. Blank lines and white space occurring before +a directive are ignored, so you may indent directives for clarity. + +<P>You can check your configuration files for syntax errors without +starting the server by using <CODE>apachectl configtest</CODE> +or the <CODE>-t</CODE> command line option. + +<hr> + +<H2><a name="modules">Modules</a></H2> + +<table border="1"><tr><td valign="top"> +<strong>Related Modules</strong><br><br> +<a href="mod/mod_so.html">mod_so</a><br> +</td> +<td valign="top"> +<strong>Related Directives</strong><br><br> +<A HREF="mod/core.html#addmodule">AddModule</A><br> +<A HREF="mod/core.html#clearmodulelist">ClearModuleList</A><br> +<A HREF="mod/core.html#ifmodule"><IfModule></A><br> +<a href="mod/mod_so.html#loadmodule">LoadModule</a><br> +</td></tr></table> + +<P>Apache is a modular server. This implies that only the most basic +functionality is included in the core server. Extended features are +available through <A HREF="mod/index-bytype.html">modules</A> which +can be loaded into Apache. By default, a <A +HREF="mod/module-dict.html#Status">base</A> set of modules is +included in the server at compile-time. If the server is compiled to +use <A HREF="dso.html">dynamically loaded</A> modules, then modules +can be compiled separately and added at any time using the <A +HREF="mod/mod_so.html#loadmodule">LoadModule</A> directive. +Otherwise, Apache must be recompiled to add or remove modules. +Configuration directives may be included conditional on a presence of +a particular module by enclosing them in an <A +HREF="mod/core.html#ifmodule"><IfModule></A> block. + +<P>To see which modules are currently compiled into the server, +you can use the <CODE>-l</CODE> command line option. + +<hr> + +<H2><a name="scope">Scope of Directives</a></H2> + +<table border="1"><tr><td valign="top"> +<strong>Related Directives</strong><br><br> +<A HREF="mod/core.html#directory"><Directory></A><br> +<A HREF="mod/core.html#directorymatch"><DirectoryMatch></A><br> +<A HREF="mod/core.html#files"><Files></A><br> +<A HREF="mod/core.html#filesmatch"><FilesMatch></A><br> +<A HREF="mod/core.html#location"><Location></A><br> +<A HREF="mod/core.html#locationmatch"><LocationMatch></A><br> +<a href="mod/core.html#virtualhost"><VirtualHost></a><br> +</td></tr></table> + +<P>Directives placed in the main configuration files apply to the entire +server. If you wish to change the configuration for only a part of +the server, you can scope your directives by placing them in +<CODE><A HREF="mod/core.html#directory"><Directory></A>, +<A HREF="mod/core.html#directorymatch"><DirectoryMatch></A>, +<A HREF="mod/core.html#files"><Files></A>, +<A HREF="mod/core.html#filesmatch"><FilesMatch></A>, +<A HREF="mod/core.html#location"><Location></A>, +</CODE> and <CODE> +<A HREF="mod/core.html#locationmatch"><LocationMatch></A> +</CODE> +sections. These sections limit the application of the directives +which they enclose to particular filesystem locations or URLs. They +can also be nested, allowing for very fine grained configuration. + +<P>Apache has the capability to serve many different websites +simultaneously. This is called <A HREF="vhosts/">Virtual Hosting</A>. +Directives can also be scoped by placing them inside +<CODE><A HREF="mod/core.html#virtualhost"><VirtualHost></A></CODE> +sections, so that they will only apply to requests for a particular +website. + +<P>Although most directives can be placed in any of these sections, +some directives do not make sense in some contexts. For example, +directives controlling process creation can only be placed in the main +server context. To find which directives can be placed in which +sections, check the <A +HREF="mod/directive-dict.html#Context">Context</A> of the directive. +For further information, we provide details on <A +HREF="sections.html">How Directory, Location and Files sections +work</A>. + +<hr> + +<H2><a name="htaccess">.htaccess Files</a></H2> + +<table border="1"><tr><td valign="top"> +<strong>Related Directives</strong><br><br> +<A HREF="mod/core.html#accessfilename">AccessFileName</A><br> +<A HREF="mod/core.html#allowoverride">AllowOverride</A><br> +</td></tr></table> + +<P>Apache allows for decentralized management of configuration via +special files placed inside the web tree. The special files are +usually called <CODE>.htaccess</CODE>, but any name can be specified +in the <A HREF="mod/core.html#accessfilename"><CODE +>AccessFileName</CODE></A> directive. Directives placed in +<CODE>.htaccess</CODE> files apply to the directory where you place +the file, and all sub-directories. The <CODE>.htaccess</CODE> files +follow the same syntax as the main configuration files. Since +<CODE>.htaccess</CODE> files are read on every request, changes made +in these files take immediate effect. + +<P>To find which directives can be placed in <CODE>.htaccess</CODE> +files, check the <A HREF="mod/directive-dict.html#Context">Context</A> +of the directive. The server administrator further controls what +directives may be placed in <CODE>.htaccess</CODE> files by +configuring the <A +HREF="mod/core.html#allowoverride"><CODE>AllowOverride</CODE></A> +directive in the main configuration files. + +<hr> + +<H2><a name="logs">Log files</a></H2> +<!-- This section should be moved to its own file --> +<H3>security warning</H3> +Anyone who can write to the directory where Apache is writing a +log file can almost certainly gain access to the uid that the server is +started as, which is normally root. Do <EM>NOT</EM> give people write +access to the directory the logs are stored in without being aware of +the consequences; see the <A HREF="misc/security_tips.html">security tips</A> +document for details. + +<H3>pid file</H3> + +<P>On startup, Apache saves the process id of the parent httpd process to +the file <CODE>logs/httpd.pid</CODE>. This filename can be changed +with the <A HREF="mod/core.html#pidfile">PidFile</A> directive. The +process-id is for use by the administrator in restarting and +terminating the daemon: on Unix, a HUP or USR1 signal causes the +daemon to re-read its configuration files and a TERM signal causes it +to die gracefully; on Windows, use the -k command line option instead. +For more information see the <A HREF="stopping.html">Stopping and +Restarting</A> page. + +<P> +If the process dies (or is killed) abnormally, then it will be necessary to +kill the children httpd processes. + +<H3>Error log</H3> + +<P>The server will log error messages to a log file, by default +<CODE>logs/error_log</CODE> on Unix or <CODE>logs/error.log</CODE> on +Windows and OS/2. The filename can be set using the <A +HREF="mod/core.html#errorlog">ErrorLog</A> directive; different error +logs can be set for different <A +HREF="mod/core.html#virtualhost">virtual hosts</A>. + +<H3>Transfer log</H3> + +<P>The server will typically log each request to a transfer file, by +default <CODE>logs/access_log</CODE> on Unix or +<CODE>logs/access.log</CODE> on Windows and OS/2. The filename can be +set using a <A HREF="mod/mod_log_config.html#customlog">CustomLog</A> +directive; different transfer logs can be set for different <A +HREF="mod/core.html#virtualhost">virtual hosts</A>. + + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> + diff --git a/usr.sbin/httpd/htdocs/manual/configuring.html.ja.jis b/usr.sbin/httpd/htdocs/manual/configuring.html.ja.jis new file mode 100644 index 00000000000..b09ba149903 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/configuring.html.ja.jis @@ -0,0 +1,252 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> +<title>$B@_Dj%U%!%$%k(B</title> +</head> +<!-- English revision: 1.7 --> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<body + bgcolor="#FFFFFF" + text="#000000" + link="#0000FF" + vlink="#000080" + alink="#FF0000" +> +<!--#include virtual="header.html" --> +<h1 align="CENTER">$B%U%!%$%k$N@_Dj(B</h1> + +<ul> +<li><a href="#main">$B%a%$%s$N@_Dj%U%!%$%k(B</a></li> +<li><a href="#syntax">$B@_Dj%U%!%$%k$N9=J8(B</a></li> +<li><a href="#modules">$B%b%8%e!<%k(B</a></li> +<li><a href="#scope">$B%G%#%l%/%F%#%V$NE,MQHO0O(B</a></li> +<li><a href="#htaccess">.htaccess $B%U%!%$%k(B</a></li> +<li><a href="#logs">$B%m%0%U%!%$%k(B</a></li> +</ul> + +<hr> + +<h2><a name="main">$B%a%$%s$N@_Dj%U%!%$%k(B</a></h2> + +<table border="1"><tr><td valign="top"> +<strong>$B4XO"%b%8%e!<%k(B</strong><br><br> +<a href="mod/mod_mime.html">mod_mime</a><br> +</td> + +<td valign="top"> +<strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br><br> +<A HREF="mod/core.html#accessconfig">AccessConfig</A><br> +<A HREF="mod/core.html#ifdefine"><IfDefine></A><br> +<a href="mod/core.html#include">Include</a><br> +<A HREF="mod/core.html#resourceconfig">ResourceConfig</A><br> +<A HREF="mod/mod_mime.html#typesconfig">TypesConfig</A><br> +</td></tr></table> + +<P>Apache $B$O(B <A HREF="mod/directives.html">$B%G%#%l%/%F%#%V(B</A> $B$r(B +$B@_Dj%U%!%$%k$KJ?J8$G=q$/$3$H$K$h$j@_Dj$7$^$9!#%a%$%s$N(B +$B@_Dj%U%!%$%k$OIaDL$O(B <CODE>httpd.conf</CODE> $B$H$$$&L>A0$G$9!#(B +$B$3$N%U%!%$%k$N0LCV$O%3%s%Q%$%k;~$K@_Dj$5$l$^$9$,!"%3%^%s%I%i%$%s$N(B +<CODE>-f</CODE> $B%U%i%0$K$h$j>e=q$-$G$-$^$9!#(B +$B%5%$%H$K$h$C$F$O(B <A +HREF="http://www.apache.org/info/three-config-files.html">$BNr;KE*(B +$BM}M3(B</A> $B$K$h$j(B <CODE>srm.conf</CODE> $B$H(B <CODE>access.conf</CODE> $B$,(B +$B$"$k>l9g$b$"$j$^$9!#$=$N>e!"B>$N@_Dj%U%!%$%k$,(B +<CODE><A HREF="mod/core.html#include">Include</A></CODE> $B%G%#%l%/%F%#%V(B +$B$K$h$C$FDI2C$5$l$F$$$k$+$b$7$l$^$;$s!#$I$N%G%#%l%/%F%#%V$b(B +$B$3$l$i$N@_Dj%U%!%$%k$N$I$l$K$G$bF~$l$i$l$^$9!#(BApache $B$O5/F0;~$+(B +$B:F5/F0;~$N$_%a%$%s@_Dj%U%!%$%k$NJQ99$rG'<1$7$^$9!#(B</p> + +<P>Apache 1.3.13 $B$N?7$7$$5!G=$H$7$F!"@_Dj%U%!%$%k$,<B:]$O%G%#%l%/%H%j$G(B +$B$"$k$H$-$K$O$=$N%G%#%l%/%H%j$G8+$D$+$C$?$9$Y$F$N%U%!%$%k(B +($B$H%5%V%G%#%l%/%H%j(B) $B$r2r@O$9$k$H$$$&$b$N$,$"$j$^$9!#MxMQK!$H$7$F$O!"(B +$B%P!<%A%c%k%[%9%H$rDI2C$9$k$H$-$K!"$=$l$>$l$N%[%9%H$KBP$7$F>.$5$J@_Dj(B +$B%U%!%$%k$r:n$j!"@_Dj%G%#%l%/%H%j$KCV$/$H$$$&$b$N$,5s$2$i$l$^$9!#(B +$B$3$&$9$k$H!"C1$K%U%!%$%k$NDI2C!":o=|$r$9$k$3$H$K$h$jA4$/%U%!%$%k$r(B +$BJT=8$9$k$3$H$J$/%P!<%A%c%k%[%9%H$NDI2C!":o=|$,$G$-$^$9!#$3$l$O<+F02=$r(B +$B$:$C$H4JC1$K$7$^$9!#(B + +<P> +$B%5!<%P$O(B mime $B%I%-%e%a%s%H%?%$%W$r4^$s$G$$$k%U%!%$%k$bFI$_9~$_$^$9!#(B +$B%U%!%$%kL>$O(B <A HREF="mod/mod_mime.html#typesconfig" +>TypesConfig</A> $B$G@_Dj$5$l!"%G%U%)%k%H$G(B <CODE>mime.types</CODE> +$B$K$J$C$F$$$^$9!#(B +<hr> + +<H2><a name="syntax">$B@_Dj%U%!%$%k$N9=J8(B</a></H2> + +<P>Apache $B@_Dj%U%!%$%k$O(B1$B9T$K(B1$B$D$N%G%#%l%/%F%#%V$+$i$J$j$^$9!#(B +$B%P%C%/%9%i%C%7%e(B "\" $B$O%G%#%l%/%F%#%V$,<!$N9T$K7QB3$7$F$$$k$3$H$r(B +$B<($9$?$a$K9T$N:G8e$NJ8;z$H$7$F;H$o$l$F$$$k$+$b$7$l$^$;$s!#(B +$B9T$N:G8e$H%P%C%/%9%i%C%7%e$N4V$KB>$NJ8;z$d6uGr$,$"$C$F$O$$$1$^$;$s!#(B + +<P>$B@_Dj%U%!%$%k$N%G%#%l%/%F%#%V$OBgJ8;z>.J8;z$r6hJL$7$^$;$s$,!"(B +$B0z?t$K$O$7$P$7$P6hJL$9$k$b$N$,$"$j$^$9!#%O%C%7%eJ8;z(B "#" $B$G;O$^$k9T$O(B +$B%3%a%s%H$H8+$J$5$l$FL5;k$5$l$^$9!#@_Dj%G%#%l%/%F%#%V$N8e$N9T$G$O(B +$B%3%a%s%H$,4^$^$l$F$$$F$O(B<STRONG>$B$$$1$^$;$s(B</STRONG>$B!#%G%#%l%/%F%#%V$N(B +$BA0$N6u9T$H6uGr$OL5;k$5$l$^$9$N$G!"$o$+$j$d$9$/$9$k$?$a$K%G%#%l%/%F%#%V$r(B +$B%$%s%G%s%H$9$k$3$H$,$G$-$^$9!#(B + +<P>$B@_Dj%U%!%$%k$N9=J8%(%i!<$O(B +<CODE>apachectl configtest</CODE> $B$+%3%^%s%I%i%$%s%*%W%7%g%s(B +<CODE>-t</CODE> $B$r;H$C$FD4$Y$i$l$^$9!#(B + +<hr> + +<H2><a name="modules">$B%b%8%e!<%k(B</a></H2> + +<table border="1"><tr><td valign="top"> +<strong>$B4XO"%b%8%e!<%k(B</strong><br><br> +<a href="mod/mod_so.html">mod_so</a><br> +</td> +<td valign="top"> +<strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br><br> +<A HREF="mod/core.html#addmodule">AddModule</A><br> +<A HREF="mod/core.html#clearmodulelist">ClearModuleList</A><br> +<A HREF="mod/core.html#ifmodule"><IfModule></A><br> +<a href="mod/mod_so.html#loadmodule">LoadModule</a><br> +</td></tr></table> + +<P>Apache $B$O%b%8%e!<%k2=$5$l$?%5!<%P$G$9!#%3%"%5!<%P$K$O(B +$B0lHV4pK\E*$J5!G=$@$1$,4^$^$l$F$$$^$9!#3HD%5!G=$O(B Apache $B$K(B +$B%m!<%I$5$l$k(B <A HREF="mod/index-bytype.html">$B%b%8%e!<%k(B</A> $B$H$7$F(B +$BMxMQ2DG=$G$9!#%G%U%)%k%H$G$O%3%s%Q%$%k;~$K%b%8%e!<%k$N(B<A +HREF="mod/module-dict.html#Status">$B4pK\(B</A>$B%;%C%H$,(B +$B%5!<%P$K4^$^$l$^$9!#%5!<%P$,(B<A HREF="dso.html">$BF0E*%m!<%I(B</A>$B%b%8%e!<%k$r(B +$B;H$&$h$&$K%3%s%Q%$%k$5$l$F$$$k>l9g$O!"%b%8%e!<%k$rJL$K%3%s%Q%$%k$7$F!"(B +$B$$$D$G$b(B <A HREF="mod/mod_so.html#loadmodule">LoadModule</A> +$B%G%#%l%/%F%#%V$r;H$C$FDI2C$G$-$^$9!#$=$&$G$J$$>l9g$O!"%b%8%e!<%k$N(B +$BDI2C$d:o=|$r$9$k$?$a$K$O(B Apache $B$r:F%3%s%Q%$%k$9$kI,MW$,$"$j$^$9!#(B +$B@_Dj%G%#%l%/%F%#%V$O(B <A +HREF="mod/core.html#ifmodule"><IfModule></A> $B%V%m%C%/$K(B +$BF~$l$k$3$H$GFCDj$N%b%8%e!<%k$,B8:_$9$k$H$-$@$1(B +$B@_Dj%U%!%$%k$K4^$^$l$k$h$&$K$9$k$3$H$,$G$-$^$9!#(B + +<P>$B%3%^%s%I%i%$%s%*%W%7%g%s(B <CODE>-l</CODE> $B$r;H$C$F(B +$B8=;~E@$G$I$N%b%8%e!<%k$,%5!<%P$K%3%s%Q%$%k$5$l$F$$$k$+$r(B +$BCN$k$3$H$,$G$-$^$9!#(B + +<hr> + +<H2><a name="scope">$B%G%#%l%/%F%#%V$NE,MQHO0O(B</a></H2> + +<table border="1"><tr><td valign="top"> +<strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br><br> +<A HREF="mod/core.html#directory"><Directory></A><br> +<A HREF="mod/core.html#directorymatch"><DirectoryMatch></A><br> +<A HREF="mod/core.html#files"><Files></A><br> +<A HREF="mod/core.html#filesmatch"><FilesMatch></A><br> +<A HREF="mod/core.html#location"><Location></A><br> +<A HREF="mod/core.html#locationmatch"><LocationMatch></A><br> +<a href="mod/core.html#virtualhost"><VirtualHost></a><br> +</td></tr></table> + +<P>$B%a%$%s@_Dj%U%!%$%k$K$"$k%G%#%l%/%F%#%V$O%5!<%PA4BN$KE,MQ$5$l$^$9!#(B +$B%5!<%P$N0lItJ,$N@_Dj$@$1$rJQ99$7$?$$>l9g$O(B +<CODE><A HREF="mod/core.html#directory"><Directory></A>, +<A HREF="mod/core.html#directorymatch"><DirectoryMatch></A>, +<A HREF="mod/core.html#files"><Files></A>, +<A HREF="mod/core.html#filesmatch"><FilesMatch></A>, +<A HREF="mod/core.html#location"><Location></A>, +<A HREF="mod/core.html#locationmatch"><LocationMatch></A> +</CODE> +$B%;%/%7%g%s$NCf$KCV$/$3$H$GE,MQHO0O$r7h$a$i$l$^$9!#$3$l$i$N%;%/%7%g%s$O(B +$B$=$NCf$K$"$k%G%#%l%/%F%#%V$NE,MQHO0O$rFCDj$N%U%!%$%k%7%9%F%`$N0LCV$d(B +URL $B$K8BDj$7$^$9!#Hs>o$K:YN3EY$N@_Dj$r2DG=$K$9$k$?$a$K!"%;%/%7%g%s$r(B +$BF~$l;R$K$9$k$3$H$b$G$-$^$9!#(B + +<P>Apache $B$OF1;~$KB?$/$N0c$&%&%'%V%5%$%H$r07$&G=NO$,$"$j$^$9!#(B +$B$3$l$O(B <A HREF="vhosts/">$B%P!<%A%c%k%[%9%H(B</A> $B$H8F$P$l$F$$$^$9!#(B +$BFCDj$N%&%'%V%5%$%H$K$N$_E,MQ$5$l$k$h$&$K$9$k$?$a$K!"%G%#%l%/%F%#%V$O(B +<CODE><A HREF="mod/core.html#virtualhost"><VirtualHost></A></CODE> +$B%;%/%7%g%s$NCf$KCV$/$3$H$G$bE,MQHO0O$rJQ$($k$3$H$,$G$-$^$9!#(B + +<P>$B$[$H$s$I$N%G%#%l%/%F%#%V$O$I$N%;%/%7%g%s$K$G$b=q$1$^$9$,!"(B +$BCf$K$O%3%s%F%-%9%H$K$h$C$F$O0UL#$r$J$5$J$$$b$N$b$"$j$^$9!#Nc$($P!"(B +$B%W%m%;%9$N:n@.$r@)8f$7$F$$$k%G%#%l%/%F%#%V$O%a%$%s%5!<%P$N%3%s%F%-%9%H$K(B +$B$N$_=q$/$3$H$,$G$-$^$9!#$I$N%G%#%l%/%F%#%V$r$I$N%;%/%7%g%s$K=q$/$3$H$,(B +$B$G$-$k$+$rCN$k$?$a$K$O%G%#%l%/%F%#%V$N(B +<A HREF="mod/directive-dict.html#Context">Context</A> $B$rD4$Y$F$/$@$5$$!#(B +$B>\$7$$>pJs$O!"(B<A +HREF="sections.html">Directory, Location, Files $B%;%/%7%g%s$NF0:nK!(B</A> +$B$K$"$j$^$9!#(B + +<hr> + +<H2><a name="htaccess">.htaccess $B%U%!%$%k(B</a></H2> + +<table border="1"><tr><td valign="top"> +<strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br><br> +<A HREF="mod/core.html#accessfilename">AccessFileName</A><br> +<A HREF="mod/core.html#allowoverride">AllowOverride</A><br> +</td></tr></table> + +<P>Apache $B$G$O%&%'%V%D%j!<$NCf$KCV$+$l$?FCJL$J%U%!%$%k$r;H$C$F(B +$BHsCf1{=88"E*$J@_Dj4IM}$r$G$-$^$9!#$=$NFCJL$J%U%!%$%k$OIaDL$O(B +<CODE>.htaccess</CODE> $B$H$$$&L>A0$G!"(B +<A HREF="mod/core.html#accessfilename"><CODE +>AccessFileName</CODE></A> $B%G%#%l%/%F%#%V$G$I$s$JL>A0$G$b;XDj$G$-$^$9!#(B +<CODE>.htaccess</CODE> $B%U%!%$%k$K=q$+$l$?%G%#%l%/%F%#%V$O%U%!%$%k$r(B +$BCV$$$?%G%#%l%/%H%j$H$=$NA4$F$N%5%V%G%#%l%/%H%j$KE,MQ$5$l$^$9!#(B +<CODE>.htaccess</CODE> $B%U%!%$%k$O$9$Y$F$N%j%/%(%9%H$G(B +$BFI$_9~$^$l$k$?$a!"JQ99$O$9$0$KH?1G$5$l$^$9!#(B + +<P>$B$I$N%G%#%l%/%F%#%V$,(B <CODE>.htaccess</CODE> $B%U%!%$%k$K=q$1$k$+$r(B +$BD4$Y$k$K$O!"%G%#%l%/%F%#%V$N(B +<A HREF="mod/directive-dict.html#Context">Context</A> $B$rD4$Y$F$/$@$5$$!#(B +$B%5!<%P4IM}<T$O$5$i$K%a%$%s@_Dj%U%!%$%k$N(B <A +HREF="mod/core.html#allowoverride"><CODE>AllowOverride</CODE></A> +$B$r@_Dj$9$k$3$H$G$I$N%G%#%l%/%F%#%V$r(B <CODE>.htaccess</CODE> $B%U%!%$%k$K(B +$B=q$1$k$h$&$K$9$k$+$r@)8f$9$k$3$H$,$G$-$^$9!#(B + +<hr> + +<H2><a name="logs">$B%m%0%U%!%$%k(B</a></H2> +<!-- This section should be moved to its own file --> +<H3>$B%;%-%e%j%F%#$K4X$9$k7Y9p(B</H3> +Apache $B$,%m%0%U%!%$%k$r=q$$$F$$$k%G%#%l%/%H%j$K=q$-9~$a$k?M$OC/$G$b(B +$B$[$\3N<B$K%5!<%P$,5/F0$5$l$?(B uid $B$N%"%/%;%9$r<hF@$G$-$^$9!#(B +$B$=$7$F$=$l$OIaDL(B root $B$G$9!#$=$N7k2L$r$h$/$o$+$i$:$K%m%0$,J]4I$5$l$F$$$k(B +$B%G%#%l%/%H%j$K=q$-9~$_8"8B$rM?$($?$j(B<EM>$B$7$J$$(B</EM>$B$G$/$@$5$$!#>\:Y$O(B +<A HREF="misc/security_tips.html">$B%;%-%e%j%F%#>pJs(B</A>$B$r;2>H$7$F$/$@$5$$!#(B + +<H3>pid $B%U%!%$%k(B</H3> + +<P>$B5/F0;~$K(B Apache $B$O?F(B httpd $B%W%m%;%9$N%W%m%;%9(B ID $B$r(B +<CODE>logs/httpd.pid</CODE> $B%U%!%$%k$KJ]B8$7$^$9!#$3$N%U%!%$%kL>$O(B +<A HREF="mod/core.html#pidfile">PidFile</A> +$B%G%#%l%/%F%#%V$GJQ99$9$k$3$H$,$G$-$^$9!#%W%m%;%9(B ID $B$O4IM}<T$,%G!<%b%s$r(B +$B:F5/F0$7$?$j=*N;$7$?$j$9$k$?$a$K;H$$$^$9!#(BUnix $B$G$O(B HUP $B$H(B USR1 $B%7%0%J%k$G(B +$B%G!<%b%s$,@_Dj%U%!%$%k$r:FFI$_9~$_$7$^$9!#(BTERM $B%7%0%J%k$O%G!<%b%s$r(B +$BM%2m$K=*N;$5$;$^$9!#(BWindows $B$G$O!"Be$o$j$K%3%^%s%I%i%$%s%*%W%7%g%s(B -k $B$r(B +$B;H$$$^$9!#(B +$B>\$7$$>pJs$O(B<A HREF="stopping.html">$B5/F0$H=*N;(B</A>$B$r;2>H$7$F$/$@$5$$!#(B + +<P> +$B%W%m%;%9$,0[>o=*N;$9$k(B ($B$b$7$/$O(B kill $B$5$l$k(B) $B$H!";R(B httpd $B%W%m%;%9$r(B +kill $B$9$kI,MW$,$"$j$^$9!#(B + +<H3>$B%(%i!<%m%0(B</H3> + +<P>$B%5!<%P$O%(%i!<%a%C%;!<%8$r%m%0%U%!%$%k$K5-O?$7$^$9!#%G%U%)%k%H$O!"(BUnix +$B$G$O(B <CODE>logs/error_log</CODE> $B$G(B Windows $B$H(B OS/2 $B$G$O(B +<CODE>logs/error.log</CODE> $B$G$9!#%U%!%$%kL>$O(B <A +HREF="mod/core.html#errorlog">ErrorLog</A> $B%G%#%l%/%F%#%V$G@_Dj$G$-$^$9!#(B +$B0c$&(B<A +HREF="mod/core.html#virtualhost">$B%P!<%A%c%k%[%9%H(B</A> +$B$K0c$&%(%i!<%m%0$r@_Dj$9$k$3$H$,$G$-$^$9!#(B + +<H3>$BE>Aw%m%0(B</H3> + +<P>$B%5!<%P$OIaDL$=$l$>$l$N%j%/%(%9%H$rE>Aw%U%!%$%k$K%m%0$r<h$j$^$9!#(B +$B%G%U%)%k%H$O(B Unix $B$G$O(B <CODE>logs/access_log</CODE> $B$G(B Windows $B$H(B +OS/2 $B$G$O(B <CODE>logs/access.log</CODE> $B$G$9!#%U%!%$%kL>$O(B +<A HREF="mod/mod_log_config.html#customlog">CustomLog</A> +$B%G%#%l%/%F%#%V$r$G@_Dj$G$-$^$9!#0c$&(B<A +HREF="mod/core.html#virtualhost">$B%P!<%A%c%k%[%9%H(B</A>$B$K(B +$B0c$&E>Aw%m%0$r@_Dj$9$k$3$H$,$G$-$^$9!#(B + + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/manual/custom-error.html.en b/usr.sbin/httpd/htdocs/manual/custom-error.html.en new file mode 100644 index 00000000000..09604ea972b --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/custom-error.html.en @@ -0,0 +1,177 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Custom error responses</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Custom error responses</H1> + +<DL> + +<DT>Purpose + + <DD>Additional functionality. Allows webmasters to configure the response of + Apache to some error or problem. + + <P>Customizable responses can be defined to be activated in the + event of a server detected error or problem. + + <P>e.g. if a script crashes and produces a "500 Server Error" + response, then this response can be replaced with either some + friendlier text or by a redirection to another URL (local or + external). + <P> + +<DT>Old behavior + + <DD>NCSA httpd 1.3 would return some boring old error/problem message + which would often be meaningless to the user, and would provide no + means of logging the symptoms which caused it.<BR> + + <P> + +<DT>New behavior + + <DD>The server can be asked to; + <OL> + <LI>Display some other text, instead of the NCSA hard coded messages, or + <LI>redirect to a local URL, or + <LI>redirect to an external URL. + </OL> + + <P>Redirecting to another URL can be useful, but only if some information + can be passed which can then be used to explain and/or log the + error/problem + more clearly. + + <P>To achieve this, Apache will define new CGI-like environment + variables, <EM>e.g.</EM> + + <BLOCKQUOTE><CODE> +REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, image/jpeg <BR> +REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05 9000/712) <BR> +REDIRECT_PATH=.:/bin:/usr/local/bin:/etc <BR> +REDIRECT_QUERY_STRING= <BR> +REDIRECT_REMOTE_ADDR=121.345.78.123 <BR> +REDIRECT_REMOTE_HOST=ooh.ahhh.com <BR> +REDIRECT_SERVER_NAME=crash.bang.edu <BR> +REDIRECT_SERVER_PORT=80 <BR> +REDIRECT_SERVER_SOFTWARE=Apache/0.8.15 <BR> +REDIRECT_URL=/cgi-bin/buggy.pl <BR> + </CODE></BLOCKQUOTE> + + <P>note the <CODE>REDIRECT_</CODE> prefix. + + <P>At least <CODE>REDIRECT_URL</CODE> and <CODE>REDIRECT_QUERY_STRING</CODE> + will + be passed to the new URL (assuming it's a cgi-script or a cgi-include). + The + other variables will exist only if they existed prior to the + error/problem. + <STRONG>None</STRONG> of these will be set if your ErrorDocument is an + <EM>external</EM> redirect (<EM>i.e.</EM>, anything starting with a + scheme name + like <CODE>http:</CODE>, even if it refers to the same host as the + server).<P> + +<DT>Configuration + + <DD> Use of "ErrorDocument" is enabled for .htaccess files when the + <A HREF="mod/core.html#allowoverride">"FileInfo" override</A> is + allowed. + + <P>Here are some examples... + + <BLOCKQUOTE><CODE> +ErrorDocument 500 /cgi-bin/crash-recover <BR> +ErrorDocument 500 "Sorry, our script crashed. Oh dear<BR> +ErrorDocument 500 http://xxx/ <BR> +ErrorDocument 404 /Lame_excuses/not_found.html <BR> +ErrorDocument 401 /Subscription/how_to_subscribe.html + </CODE></BLOCKQUOTE> + + <P>The syntax is, + + <P><CODE><A HREF="mod/core.html#errordocument">ErrorDocument</A></CODE> +<3-digit-code> action + + <P>where the action can be, + + <OL> + <LI>Text to be displayed. Prefix the text with a quote ("). Whatever + follows the quote is displayed. <EM>Note: the (") prefix isn't + displayed.</EM> + + <LI>An external URL to redirect to. + + <LI>A local URL to redirect to. + + </OL> +</DL> + +<P><HR><P> + +<H2>Custom error responses and redirects</H2> + +<DL> + +<DT>Purpose + + <DD>Apache's behavior to redirected URLs has been modified so that additional + environment variables are available to a script/server-include.<P> + +<DT>Old behavior + + <DD>Standard CGI vars were made available to a script which has been + redirected to. No indication of where the redirection came from was + provided. + + <P> + +<DT>New behavior + <DD> + +A new batch of environment variables will be initialized for use by a +script which has been redirected to. Each new variable will have the +prefix <CODE>REDIRECT_</CODE>. <CODE>REDIRECT_</CODE> environment +variables are created from the CGI environment variables which existed +prior to the redirect, they are renamed with a <CODE>REDIRECT_</CODE> +prefix, <EM>i.e.</EM>, <CODE>HTTP_USER_AGENT</CODE> becomes +<CODE>REDIRECT_HTTP_USER_AGENT</CODE>. In addition to these new +variables, Apache will define <CODE>REDIRECT_URL</CODE> and +<CODE>REDIRECT_STATUS</CODE> to help the script trace its origin. +Both the original URL and the URL being redirected to can be logged in +the access log. + +</DL> +<P> +If the ErrorDocument specifies a local redirect to a CGI script, the script +should include a "<SAMP>Status:</SAMP>" header field in its output +in order to ensure the propagation all the way back to the client +of the error condition that caused it to be invoked. For instance, a Perl +ErrorDocument script might include the following: +</P> +<PRE> + : + print "Content-type: text/html\n"; + printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; + : +</PRE> +<P> +If the script is dedicated to handling a particular error condition, such as +<SAMP>404 Not Found</SAMP>, it can use the specific code and +error text instead. +</P> + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/manual/custom-error.html.html b/usr.sbin/httpd/htdocs/manual/custom-error.html.html new file mode 100644 index 00000000000..7cebb653c3d --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/custom-error.html.html @@ -0,0 +1,178 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Custom error responses</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Custom error responses</H1> + +<DL> + +<DT>Purpose + + <DD>Additional functionality. Allows webmasters to configure the response of + Apache to some error or problem. + + <P>Customizable responses can be defined to be activated in the + event of a server detected error or problem. + + <P>e.g. if a script crashes and produces a "500 Server Error" + response, then this response can be replaced with either some + friendlier text or by a redirection to another URL (local or + external). + <P> + +<DT>Old behavior + + <DD>NCSA httpd 1.3 would return some boring old error/problem message + which would often be meaningless to the user, and would provide no + means of logging the symptoms which caused it.<BR> + + <P> + +<DT>New behavior + + <DD>The server can be asked to; + <OL> + <LI>Display some other text, instead of the NCSA hard coded messages, or + <LI>redirect to a local URL, or + <LI>redirect to an external URL. + </OL> + + <P>Redirecting to another URL can be useful, but only if some information + can be passed which can then be used to explain and/or log the + error/problem + more clearly. + + <P>To achieve this, Apache will define new CGI-like environment + variables, <EM>e.g.</EM> + + <BLOCKQUOTE><CODE> +REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, image/jpeg <BR> +REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05 9000/712) <BR> +REDIRECT_PATH=.:/bin:/usr/local/bin:/etc <BR> +REDIRECT_QUERY_STRING= <BR> +REDIRECT_REMOTE_ADDR=121.345.78.123 <BR> +REDIRECT_REMOTE_HOST=ooh.ahhh.com <BR> +REDIRECT_SERVER_NAME=crash.bang.edu <BR> +REDIRECT_SERVER_PORT=80 <BR> +REDIRECT_SERVER_SOFTWARE=Apache/0.8.15 <BR> +REDIRECT_URL=/cgi-bin/buggy.pl <BR> + </CODE></BLOCKQUOTE> + + <P>note the <CODE>REDIRECT_</CODE> prefix. + + <P>At least <CODE>REDIRECT_URL</CODE> and <CODE>REDIRECT_QUERY_STRING</CODE> + will + be passed to the new URL (assuming it's a cgi-script or a cgi-include). + The + other variables will exist only if they existed prior to the + error/problem. + <STRONG>None</STRONG> of these will be set if your ErrorDocument is an + <EM>external</EM> redirect (<EM>i.e.</EM>, anything starting with a + scheme name + like <CODE>http:</CODE>, even if it refers to the same host as the + server).<P> + +<DT>Configuration + + <DD> Use of "ErrorDocument" is enabled for .htaccess files when the + <A HREF="mod/core.html#allowoverride">"FileInfo" override</A> is + allowed. + + <P>Here are some examples... + + <BLOCKQUOTE><CODE> +ErrorDocument 500 /cgi-bin/crash-recover <BR> +ErrorDocument 500 "Sorry, our script crashed. Oh dear<BR> +ErrorDocument 500 http://xxx/ <BR> +ErrorDocument 404 /Lame_excuses/not_found.html <BR> +ErrorDocument 401 /Subscription/how_to_subscribe.html + </CODE></BLOCKQUOTE> + + <P>The syntax is, + + <P><CODE><A HREF="mod/core.html#errordocument">ErrorDocument</A></CODE> +<3-digit-code> action + + <P>where the action can be, + + <OL> + <LI>Text to be displayed. Prefix the text with a quote ("). Whatever + follows the quote is displayed. <EM>Note: the (") prefix isn't + displayed.</EM> + + <LI>An external URL to redirect to. + + <LI>A local URL to redirect to. + + </OL> +</DL> + +<P><HR><P> + +<H2>Custom error responses and redirects</H2> + +<DL> + +<DT>Purpose + + <DD>Apache's behavior to redirected URLs has been modified so that additional + environment variables are available to a script/server-include.<P> + +<DT>Old behavior + + <DD>Standard CGI vars were made available to a script which has been + redirected to. No indication of where the redirection came from was + provided. + + <P> + +<DT>New behavior + <DD> + +A new batch of environment variables will be initialized for use by a +script which has been redirected to. Each new variable will have the +prefix <CODE>REDIRECT_</CODE>. <CODE>REDIRECT_</CODE> environment +variables are created from the CGI environment variables which existed +prior to the redirect, they are renamed with a <CODE>REDIRECT_</CODE> +prefix, <EM>i.e.</EM>, <CODE>HTTP_USER_AGENT</CODE> becomes +<CODE>REDIRECT_HTTP_USER_AGENT</CODE>. In addition to these new +variables, Apache will define <CODE>REDIRECT_URL</CODE> and +<CODE>REDIRECT_STATUS</CODE> to help the script trace its origin. +Both the original URL and the URL being redirected to can be logged in +the access log. + +</DL> +<P> +If the ErrorDocument specifies a local redirect to a CGI script, the script +should include a "<SAMP>Status:</SAMP>" header field in its output +in order to ensure the propagation all the way back to the client +of the error condition that caused it to be invoked. For instance, a Perl +ErrorDocument script might include the following: +</P> +<PRE> + : + print "Content-type: text/html\n"; + printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; + : +</PRE> +<P> +If the script is dedicated to handling a particular error condition, such as +<SAMP>404 Not Found</SAMP>, it can use the specific code and +error text instead. +</P> + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> + diff --git a/usr.sbin/httpd/htdocs/manual/custom-error.html.ja.jis b/usr.sbin/httpd/htdocs/manual/custom-error.html.ja.jis new file mode 100644 index 00000000000..c4a2520fc47 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/custom-error.html.ja.jis @@ -0,0 +1,177 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> +<title>$B%+%9%?%`%(%i!<%l%9%]%s%9(B</title> +</head> +<!-- English revision: 1.14 --> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<body + bgcolor="#FFFFFF" + text="#000000" + link="#0000FF" + vlink="#000080" + alink="#FF0000" +> +<!--#include virtual="header.html" --> +<h1 align="CENTER">$B%+%9%?%`%(%i!<%l%9%]%s%9(B</h1> + +<dl> + +<dt>$BL\E*(B + + <dd>$BDI2C5!G=$NDs6!!#%&%'%V%^%9%?!<$,2?$i$+$N%(%i!<$dLdBj$KBP$9$k(B Apache $B$NH?1~$r(B + $B@_Dj$G$-$k$h$&$K$7$^$9!#(B + + <p>$B%5!<%P$,%(%i!<$dLdBj$rH/8+$7$?>l9g$NH?1~$r!"(B + $B%+%9%?%^%$%:$7$FDj5A$9$k$3$H$,$G$-$^$9!#(B</p> + + <p>$BNc$($P!"%9%/%j%W%H$N<B9T$,<:GT$7$F(B "500 Server Error" $B$rH/@8$5$;$?$H$7$^$9!#(B + $B$3$N>l9g$NH?1~$r!"$h$j9%$^$7$$%F%-%9%H$d!"JL$N(B URL ($BFbIt5Z$S30It(B) $B$X$N%j%@%$%l%/%7%g%s$K(B + $BCV$-49$($k$3$H$,$G$-$^$9!#(B</p> + + + +<dt>$B8E$$F0:n(B + + <dd>NCSA httpd 1.3 $B$O!"8E$/$FB`6~$J%(%i!<(B/$BLdBj%a%C%;!<%8$rJV$7$F$$$^$7$?!#(B + $B$=$l$O$7$P$7$P%f!<%6$K$OL50UL#$G$"$j!"(B + $B$^$?$=$l$rH/@8$5$;$?860x$r5-O?$9$kJ}K!$bDs6!$7$F$$$^$;$s$G$7$?!#(B + + + +<dt>$B?7$7$$F0:n(B + + <dd> + <ol> + <li>NCSA $B$N%O!<%I%3!<%I$5$l$?%a%C%;!<%8$NBe$o$j$KB>$N%F%-%9%H$rI=<((B</li> + <li>$B%m!<%+%k$N(B URL $B$K%j%@%$%l%/%H(B</li> + <li>$B30It$N(B URL $B$K%j%@%$%l%/%H(B</li> + </ol> + $B$9$k$h$&$K%5!<%P$r@_Dj$G$-$^$9!#(B + <p>$BJL$N(B URL $B$K%j%@%$%l%/%H$9$k$3$H$OLr$KN)$A$^$9$,!"(B + $B$=$l$O@bL@$r$7$?$j!"$h$jL@3N$K8m$j(B/$BLdBj$r5-O?$7$?$j$9$k$?$a$K(B + $B2?$+>pJs$rEA$($i$l$k$H$-$K8B$j$^$9!#(B</p> + + + <p>$B$3$l$r<B8=$9$k$?$a$K!"(B Apache $B$O?7$7$/(B CGI $B$N$h$&$J4D6-JQ?t$rDj5A$7$^$9!#(B + <em>$BNc$($P(B</em>$B0J2<$N$h$&$J$b$N$,$"$j$^$9!#(B + + <blockquote><code> +REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, image/jpeg <br> +REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05 9000/712) <br> +REDIRECT_PATH=.:/bin:/usr/local/bin:/etc <br> +REDIRECT_QUERY_STRING= <br> +REDIRECT_REMOTE_ADDR=121.345.78.123 <br> +REDIRECT_REMOTE_HOST=ooh.ahhh.com <br> +REDIRECT_SERVER_NAME=crash.bang.edu <br> +REDIRECT_SERVER_PORT=80 <br> +REDIRECT_SERVER_SOFTWARE=Apache/0.8.15 <br> +REDIRECT_URL=/cgi-bin/buggy.pl <br> + </code></blockquote> + + <p>$BF,$KIU$/(B <code>REDIRECT_</code> $B$KCmL\$7$F$/$@$5$$!#(B</p> + + <p>$B>/$J$/$H$b(B <code>REDIRECT_URL</code> $B$H(B <code>REDIRECT_QUERY_STRING</code> $B$O(B + $B?7$7$$(B URL (CGI $B%9%/%j%W%H$+(B CGI $B%$%s%/%k!<%I$G$"$k$H2>Dj$5$l$^$9(B) $B$KEO$5$l$^$9!#(B + $BB>$NJQ?t$O!"%(%i!<$dLdBj$,5/$-$kA0$KB8:_$7$?>l9g$K$@$1B8:_$7$^$9!#(B + $B$b$7$"$J$?$N@_Dj$7$?(B ErrorDocument $B$,(B + <em>$B30It(B</em>$B%j%@%$%l%/%H(B + (<em>$B$9$J$o$A(B</em>$B!"(B + <code>http:</code> $B$N$h$&$JBN7OL>$+$i;O$^$k$9$Y$F$N$b$N!#(B + $B$?$H$(F1$8%[%9%H$r;X$7$F$$$F$b(B) $B$J$i$P!"(B + $B$3$l$i$O(B<strong>$B$^$C$?$/(B</strong>$B@_Dj$5$l$^$;$s!#(B + + + +<dt>$B@_Dj(B + + <dd><a + href="mod/core.html#allowoverride">"FileInfo" $B%*!<%P!<%i%$%I(B</a>$B$,5v2D$5$l$F$$$l$P!"(B + .htaccess $B%U%!%$%k$G(B "ErrorDocument" $B$r;HMQ$9$k$3$H$,$G$-$^$9!#(B + + <p>$B$3$3$K!"$$$/$D$+$NNc$r5s$2$^$9!#(B</p> + + <blockquote><code>ErrorDocument 500 /cgi-bin/crash-recover +ErrorDocument 500 /cgi-bin/crash-recover <br> +ErrorDocument 500 "Sorry, our script crashed. Oh dear<br> +ErrorDocument 500 http://xxx/ <br> +ErrorDocument 404 /Lame_excuses/not_found.html <br> +ErrorDocument 401 /Subscription/how_to_subscribe.html + </code></blockquote> + + <p>$B9=J8(B</p> + + <p><code><a + href="mod/core.html#errordocument">ErrorDocument</a></code> <3 $B7e%3!<%I(B> $BF0:n(B</p> + + <p>$BF0:n$O!"(B + + <ol> + <li>$BI=<($5$l$k$Y$-%F%-%9%H!#%F%-%9%H$K$O0zMQId(B (") $B$r$D$1$^$9!#(B + $B0zMQId$N8e$KB3$/$b$N$,2?$G$bI=<($5$l$^$9!#(B + <em>$BCm0U(B : (") $B$OI=<($5$l$^$;$s(B</em></li> + + <li>$B%j%@%$%l%/%H@h$N30It(B URL </li> + + <li>$B%j%@%$%l%/%H@h$N%m!<%+%k(B URL </li> + + </ol></p> +</dl> + +<p><hr><p> + +<h2>$B%+%9%?%`%(%i!<%l%9%]%s%9$H%j%@%$%l%/%H(B</h2> + +<dl> + +<dt>$BL\E*(B + + <dd>$B%9%/%j%W%H(B/SSI $B$KDI2C$N4D6-JQ?t$,MxMQ2DG=$K$J$k$h$&$K!"(B + $B%j%@%$%l%/%H$5$l$?(B URL $B$KBP$9$k(B Apache $B$NF0:n$,JQ99$5$l$^$7$?!#(B + +<dt>$B8E$$F0:n(B + + <dd>$B%j%@%$%l%/%H$5$l$?%9%/%j%W%H$OI8=`$N(B CGI $B4D6-JQ?t$rMxMQ2DG=$G$7$?!#(B + $B$7$+$7!"$I$3$+$i%j%@%$%l%/%H$5$l$?$+$N>pJs$ODs6!$5$l$F$$$^$;$s$G$7$?!#(B + + + + +<dt>$B?7$7$$F0:n(B + <dd> + +$B%j%@%$%l%/%H$5$l$?@h$N%9%/%j%W%H$,;HMQ2DG=$J$h$&$K!"?7$7$$$?$/$5$s$N4D6-JQ?t$,=i4|2=$5$l$^$9(B +$B?7$7$$JQ?t$O!"$=$l$>$l(B <code>REDIRECT_</code> $B$G;O$^$j$^$9!#(B +<code>REDIRECT_</code> $B$G;O$^$k4D6-JQ?t$O(B +$B%j%@%$%l%/%H$5$l$kA0$KB8:_$7$F$$$?(B CGI $B4D6-JQ?t$NF,$K(B + <code>REDIRECT_</code> $B$rIU$1$F:n@.$5$l$^$9!#(B +<em>$B$9$J$o$A(B</em>$B!"(B<code>HTTP_USER_AGENT</code> $B$O(B +<code>REDIRECT_HTTP_USER_AGENT</code> $B$K$J$j$^$9!#(B +$B$3$l$i$N?7$7$$JQ?t$K2C$($F!"(BApache $B$O!"(B +$B%9%/%j%W%H$,%j%@%$%l%/%H85$N%H%l!<%9$r=u$1$k$?$a$K(B +<code>REDIRECT_URL</code> $B$H(B <code>REDIRECT_STATUS</code> $B$rDj5A$7$^$9!#(B +$B%"%/%;%9%m%0$K$O85$N(B URL $B$H%j%@%$%l%/%H$5$l$?(B URL $B$NN>J}$,5-O?$5$l$^$9!#(B + +</dl> +<p> +ErrorDocument $B$,(B CGI $B%9%/%j%W%H$X$N%m!<%+%k%j%@%$%l%/%H$r;XDj$7$F$$$k>l9g$O!"(B +$B$=$l$r5/F0$9$k$3$H$K$J$C$?%(%i!<%3%s%G%#%7%g%s$r%/%i%$%"%s%H$^$GEA$($i$l$k$3$H$r(B +$B3N<B$K$9$k$?$a$K(B <samp>"Status:" </samp> $B%X%C%@$r4^$`$Y$-$G$9!#(B +$BNc$($P!"(BErrorDocument $BMQ$N(B Perl $B%9%/%j%W%H$O0J2<$N$h$&$J$b$N$r4^$`$+$b$7$l$^$;$s!#(B + +</p> +<pre> + : + print "Content-type: text/html\n"; + printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; + : +</pre> +<p>$B%9%/%j%W%H$,(B +<samp>404 Not Found</samp> $B$N$h$&$J(B +$BFCDj$N%(%i!<%3%s%G%#%7%g%s$r07$&$?$a$@$1$K;H$o$l$k>l9g$O!"(B +$BBe$o$j$KFCDj$N%3!<%I$H%(%i!<%F%-%9%H$r;HMQ$9$k$3$H$,$G$-$^$9!#(B +</p> + +<!--#include virtual="footer.html" --> +</body> +</html> diff --git a/usr.sbin/httpd/htdocs/manual/handler.html.en b/usr.sbin/httpd/htdocs/manual/handler.html.en new file mode 100644 index 00000000000..357ec0e77e9 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/handler.html.en @@ -0,0 +1,156 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Apache's Handler Use</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Apache's Handler Use</H1> + +<ul> +<li><a href="#definition">What is a Handler</a></li> +<li><a href="#examples">Examples</a></li> +<li><a href="#programmer">Programmer's Note</a></li> +</ul> + +<hr> +<H2><a name="definition">What is a Handler</a></H2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Modules</strong><br><br> + +<a href="mod/mod_actions.html">mod_actions</a><br> +<A HREF="mod/mod_asis.html">mod_asis</A><br> +<A HREF="mod/mod_cgi.html">mod_cgi</A><br> +<A HREF="mod/mod_imap.html">mod_imap</A><br> +<A HREF="mod/mod_info.html">mod_info</A><br> +<A HREF="mod/mod_include.html">mod_include</A><br> +<a href="mod/mod_mime.html">mod_mime</a><br> +<A HREF="mod/mod_negotiation.html">mod_negotiation</A><br> +<A HREF="mod/mod_status.html">mod_status</A><br> +</td> +<td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="mod/mod_actions.html#action">Action</a><br> +<A HREF="mod/mod_mime.html#addhandler">AddHandler</A><br> +<a href="mod/mod_mime.html#removehandler">RemoveHandler</a><br> +<A HREF="mod/mod_mime.html#sethandler">SetHandler</A><br> +</td> +</tr></table> + + +<P>A "handler" is an internal Apache representation of the action to be +performed when a file is called. Generally, files have implicit +handlers, based on the file type. Normally, all files are simply +served by the server, but certain file types are "handled" +separately.</P> + +<P>Apache 1.1 adds the ability to use handlers explicitly. Based on +either filename extensions or on location, handlers can be specified +without relation to file type. This is advantageous both because it is +a more elegant solution, and because it also allows for both a type +<STRONG>and</STRONG> a handler to be associated with a file. (See also +<A HREF="mod/mod_mime.html#multipleext">Files with Multiple +Extensions</A>.)</p> + +<P>Handlers can either be built into the server or included in a module, +or they can be added with the <A +HREF="mod/mod_actions.html#action">Action</A> directive. The built-in +handlers in the standard distribution are as follows:</P> + +<UL> +<LI><STRONG>default-handler</STRONG>: + Send the file using the <CODE>default_handler()</CODE>, which is the + handler used by default to handle static content. + (core) +<LI><STRONG>send-as-is</STRONG>: + Send file with HTTP headers as is. + (<A HREF="mod/mod_asis.html">mod_asis</A>) +<LI><STRONG>cgi-script</STRONG>: + Treat the file as a CGI script. + (<A HREF="mod/mod_cgi.html">mod_cgi</A>) +<LI><STRONG>imap-file</STRONG>: + Parse as an imagemap rule file. + (<A HREF="mod/mod_imap.html">mod_imap</A>) +<LI><STRONG>server-info</STRONG>: + Get the server's configuration information. + (<A HREF="mod/mod_info.html">mod_info</A>) +<LI><STRONG>server-parsed</STRONG>: + Parse for server-side includes. + (<A HREF="mod/mod_include.html">mod_include</A>) +<LI><STRONG>server-status</STRONG>: + Get the server's status report. + (<A HREF="mod/mod_status.html">mod_status</A>) +<LI><STRONG>type-map</STRONG>: + Parse as a type map file for content negotiation. + (<A HREF="mod/mod_negotiation.html">mod_negotiation</A>) +</UL> + +<hr> + +<h2><a name="examples">Examples</a></h2> + +<h3>Modifying static content using a CGI script</h3> + +<p>The following directives will cause requests for files with the +<code>html</code> extension to trigger the launch of the +<code>footer.pl</code> CGI script.</p> + +<pre> + Action add-footer /cgi-bin/footer.pl + AddHandler add-footer .html +</pre> + +<p>Then the CGI script is responsible for sending the originally +requested document (pointed to by the <code>PATH_TRANSLATED</code> +environment variable) and making whatever modifications or additions +are desired.</p> + +<h3>Files with HTTP headers</h3> + +<p>The following directives will enable the <code>send-as-is</code> +handler, which is used for files which contain their own HTTP headers. +All files in the <code>/web/htdocs/asis/</code> directory will be +processed by the <code>send-as-is</code> handler, regardless of their +filename extensions.</p> + +<pre> + <Directory /web/htdocs/asis> + SetHandler send-as-is + </Directory> +</pre> + +<hr> + +<H2><a name="programmer">Programmer's Note</a></H2> + +<P>In order to implement the handler features, an addition has been +made to the <A HREF="misc/API.html">Apache API</A> that you may wish to +make use of. Specifically, a new record has been added to the +<CODE>request_rec</CODE> structure:</P> +<PRE> + char *handler +</PRE> +<P>If you wish to have your module engage a handler, you need only to +set <CODE>r->handler</CODE> to the name of the handler at any time +prior to the <CODE>invoke_handler</CODE> stage of the +request. Handlers are implemented as they were before, albeit using +the handler name instead of a content type. While it is not +necessary, the naming convention for handlers is to use a +dash-separated word, with no slashes, so as to not invade the media +type name-space.</P> + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> + diff --git a/usr.sbin/httpd/htdocs/manual/handler.html.html b/usr.sbin/httpd/htdocs/manual/handler.html.html new file mode 100644 index 00000000000..7f3e322fe52 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/handler.html.html @@ -0,0 +1,157 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Apache's Handler Use</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Apache's Handler Use</H1> + +<ul> +<li><a href="#definition">What is a Handler</a></li> +<li><a href="#examples">Examples</a></li> +<li><a href="#programmer">Programmer's Note</a></li> +</ul> + +<hr> +<H2><a name="definition">What is a Handler</a></H2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Modules</strong><br><br> + +<a href="mod/mod_actions.html">mod_actions</a><br> +<A HREF="mod/mod_asis.html">mod_asis</A><br> +<A HREF="mod/mod_cgi.html">mod_cgi</A><br> +<A HREF="mod/mod_imap.html">mod_imap</A><br> +<A HREF="mod/mod_info.html">mod_info</A><br> +<A HREF="mod/mod_include.html">mod_include</A><br> +<a href="mod/mod_mime.html">mod_mime</a><br> +<A HREF="mod/mod_negotiation.html">mod_negotiation</A><br> +<A HREF="mod/mod_status.html">mod_status</A><br> +</td> +<td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="mod/mod_actions.html#action">Action</a><br> +<A HREF="mod/mod_mime.html#addhandler">AddHandler</A><br> +<a href="mod/mod_mime.html#removehandler">RemoveHandler</a><br> +<A HREF="mod/mod_mime.html#sethandler">SetHandler</A><br> +</td> +</tr></table> + + +<P>A "handler" is an internal Apache representation of the action to be +performed when a file is called. Generally, files have implicit +handlers, based on the file type. Normally, all files are simply +served by the server, but certain file types are "handled" +separately.</P> + +<P>Apache 1.1 adds the ability to use handlers explicitly. Based on +either filename extensions or on location, handlers can be specified +without relation to file type. This is advantageous both because it is +a more elegant solution, and because it also allows for both a type +<STRONG>and</STRONG> a handler to be associated with a file. (See also +<A HREF="mod/mod_mime.html#multipleext">Files with Multiple +Extensions</A>.)</p> + +<P>Handlers can either be built into the server or included in a module, +or they can be added with the <A +HREF="mod/mod_actions.html#action">Action</A> directive. The built-in +handlers in the standard distribution are as follows:</P> + +<UL> +<LI><STRONG>default-handler</STRONG>: + Send the file using the <CODE>default_handler()</CODE>, which is the + handler used by default to handle static content. + (core) +<LI><STRONG>send-as-is</STRONG>: + Send file with HTTP headers as is. + (<A HREF="mod/mod_asis.html">mod_asis</A>) +<LI><STRONG>cgi-script</STRONG>: + Treat the file as a CGI script. + (<A HREF="mod/mod_cgi.html">mod_cgi</A>) +<LI><STRONG>imap-file</STRONG>: + Parse as an imagemap rule file. + (<A HREF="mod/mod_imap.html">mod_imap</A>) +<LI><STRONG>server-info</STRONG>: + Get the server's configuration information. + (<A HREF="mod/mod_info.html">mod_info</A>) +<LI><STRONG>server-parsed</STRONG>: + Parse for server-side includes. + (<A HREF="mod/mod_include.html">mod_include</A>) +<LI><STRONG>server-status</STRONG>: + Get the server's status report. + (<A HREF="mod/mod_status.html">mod_status</A>) +<LI><STRONG>type-map</STRONG>: + Parse as a type map file for content negotiation. + (<A HREF="mod/mod_negotiation.html">mod_negotiation</A>) +</UL> + +<hr> + +<h2><a name="examples">Examples</a></h2> + +<h3>Modifying static content using a CGI script</h3> + +<p>The following directives will cause requests for files with the +<code>html</code> extension to trigger the launch of the +<code>footer.pl</code> CGI script.</p> + +<pre> + Action add-footer /cgi-bin/footer.pl + AddHandler add-footer .html +</pre> + +<p>Then the CGI script is responsible for sending the originally +requested document (pointed to by the <code>PATH_TRANSLATED</code> +environment variable) and making whatever modifications or additions +are desired.</p> + +<h3>Files with HTTP headers</h3> + +<p>The following directives will enable the <code>send-as-is</code> +handler, which is used for files which contain their own HTTP headers. +All files in the <code>/web/htdocs/asis/</code> directory will be +processed by the <code>send-as-is</code> handler, regardless of their +filename extensions.</p> + +<pre> + <Directory /web/htdocs/asis> + SetHandler send-as-is + </Directory> +</pre> + +<hr> + +<H2><a name="programmer">Programmer's Note</a></H2> + +<P>In order to implement the handler features, an addition has been +made to the <A HREF="misc/API.html">Apache API</A> that you may wish to +make use of. Specifically, a new record has been added to the +<CODE>request_rec</CODE> structure:</P> +<PRE> + char *handler +</PRE> +<P>If you wish to have your module engage a handler, you need only to +set <CODE>r->handler</CODE> to the name of the handler at any time +prior to the <CODE>invoke_handler</CODE> stage of the +request. Handlers are implemented as they were before, albeit using +the handler name instead of a content type. While it is not +necessary, the naming convention for handlers is to use a +dash-separated word, with no slashes, so as to not invade the media +type name-space.</P> + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> + + diff --git a/usr.sbin/httpd/htdocs/manual/handler.html.ja.jis b/usr.sbin/httpd/htdocs/manual/handler.html.ja.jis new file mode 100644 index 00000000000..6e10149f76d --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/handler.html.ja.jis @@ -0,0 +1,150 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> +<title>Apache $B$N%O%s%I%i$N;HMQ(B</title> +</HEAD> +<!-- English revision: 1.21 --> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<body + bgcolor="#FFFFFF" + text="#000000" + link="#0000FF" + vlink="#000080" + alink="#FF0000" +> +<!--#include virtual="header.html" --> +<h1 align="CENTER">Apache $B$N%O%s%I%i$N;HMQ(B</h1> + +<ul> +<li><a href="#definition">$B%O%s%I%i$H$O(B</a></li> +<li><a href="#examples">$BNc(B</a></li> +<li><a href="#programmer">$B%W%m%0%i%^8~$1$N%a%b(B</a></li> +</ul> + +<hr> +<h2><a name="definition">$B%O%s%I%i$H$O(B</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>$B4XO"%b%8%e!<%k(B</strong><br><br> + +<a href="mod/mod_actions.html">mod_actions</a><br> +<a href="mod/mod_asis.html">mod_asis</a><br> +<a href="mod/mod_cgi.html">mod_cgi</a><br> +<a href="mod/mod_imap.html">mod_imap</a><br> +<a href="mod/mod_info.html">mod_info</a><br> +<a href="mod/mod_include.html">mod_include</a><br> +<a href="mod/mod_mime.html">mod_mime</a><br> +<a href="mod/mod_negotiation.html">mod_negotiation</a><br> +<a href="mod/mod_status.html">mod_status</a><br> +</td> +<td valign="top"> +<strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br><br> + +<a href="mod/mod_actions.html#action">Action</a><br> +<a href="mod/mod_mime.html#addhandler">AddHandler</a><br> +<a href="mod/mod_mime.html#removehandler">RemoveHandler</a><br> +<a href="mod/mod_mime.html#sethandler">SetHandler</a><br> +</td> +</tr></table> + + +<p>$B!V%O%s%I%i!W$H$O!"%U%!%$%k$,8F$P$l$?$H$-$K<B9T$5$l$kF0:n$N(B Apache $B$K$*$1$k(B +$BFbItI=8=$G$9!#DL>o!"%U%!%$%k$O%U%!%$%k7?$K4p$E$$$?0EL[$N(B +$B%O%s%I%i$,$"$j$^$9!#IaDL$O$9$Y$F$N%U%!%$%k$OC1$K%5!<%P$K07$o$l$^$9$,!"(B +$B%U%!%$%k%?%$%W$NCf$K$OJL$K!V%O%s%I%k!W(B ($BLuCm(B: $B07$&(B) $B$5$l$k$b$N$b$"$j$^$9!#(B</p> + +<p>Apache 1.1 $B$G$O!"%O%s%I%i$rL@<(E*$K;HMQ$9$k5!G=$,DI2C$5$l$^$7$?!#(B +$B%U%!%$%k$N3HD%;R$dCV$$$F$$$k>l=j$K4p$E$$$F!"%U%!%$%k7?$H4X78$J$/%O%s%I%i$r(B +$B;XDj$9$k$3$H$,$G$-$^$9!#$3$l$O$h$jM%2m$J2r7hK!$H$$$&E@$H!"%U%!%$%k$K(B +$B%?%$%W(B<strong>$B$H(B</strong>$B%O%s%I%i$NN>J}$r4XO"IU$1$k$3$H$,$G$-$k$H$$$&(B +$BE@$GM%$l$F$$$^$9!#(B (<a +href="mod/mod_mime.html#multipleext">$BJ#?t$N3HD%;R$N$"$k%U%!%$%k(B</a> +$B$b;2>H$7$F$/$@$5$$(B)$B!#(B</p> + +<p>$B%O%s%I%i$O%5!<%P$KAH$_9~$s$@$j!"%b%8%e!<%k$H$7$F4^$a$?$j!"(B +<a href="mod/mod_actions.html#action">Action</a> $B%G%#%l%/%F%#%V$H$7$F(B +$BDI2C$7$?$j$9$k$3$H$,$G$-$^$9!#0J2<$OI8=`G[I[$KAH$_9~$^$l$F$$$k%O%s%I%i$G$9!#(B</p> + +<ul> +<li><strong>default-handler</strong>: + <code>default_handelr()</code> $B$r;H$C$F%U%!%$%k$rAw$j$^$9!#(B + $B@EE*$J%3%s%F%s%D$r07$&$H$-$K%G%U%)%k%H$G;HMQ$5$l$k%O%s%I%i$G$9!#(B + (core) +<li><strong>send-as-is</strong>: + HTTP $B%X%C%@$N$"$k%U%!%$%k$r$=$N$^$^Aw$j$^$9!#(B + (<a href="mod/mod_asis.html">mod_asis</a>) +<li><strong>cgi-script</strong>: + $B%U%!%$%k$r(B CGI $B%9%/%j%W%H$H$7$F07$$$^$9!#(B + (<a href="mod/mod_cgi.html">mod_cgi</a>) +<li><strong>imap-file</strong>: + $B%$%a!<%8%^%C%W$N%k!<%k%U%!%$%k$H$7$F2r@O$7$^$9!#(B + (<a href="mod/mod_imap.html">mod_imap</a>) +<li><strong>server-info</strong>: + $B%5!<%P$N@_Dj>pJs$r<hF@$7$^$9!#(B + (<a href="mod/mod_info.html">mod_info</a>) +<li><strong>server-parsed</strong>: + SSI $B$r2r@O$7$^$9!#(B + (<a href="mod/mod_include.html">mod_include</a>) +<li><strong>server-status</strong>: + $B%5!<%P$N>uBVJs9p$r<hF@$7$^$9!#(B + (<a href="mod/mod_status.html">mod_status</a>) +<li><strong>type-map</strong>: + $B%3%s%F%s%H%M%4%7%(!<%7%g%s$N$?$a$N%?%$%W%^%C%W$H$7$F2r@O$7$^$9!#(B + (<a href="mod/mod_negotiation.html">mod_negotiation</a>) +</ul> + +<hr> + +<h2><a name="examples">$BNc(B</a></h2> + +<h3>CGI $B%9%/%j%W%H$rMQ$$$F@EE*$J%3%s%F%s%D$rJQ99$9$k(B</h3> + +<p>$B0J2<$N%G%#%l%/%F%#%V$K$h$C$F!"3HD%;R$,(B <code>html</code> $B$G$"$k%U%!%$%k$O(B +<code>footer.pl</code> CGI $B%9%/%j%W%H$r5/F0$9$k$h$&$K$J$j$^$9!#(B</p> + +<pre> + Action add-footer /cgi-bin/footer.pl + AddHandler add-footer .html +</pre> + +<p>CGI $B%9%/%j%W%H$OK>$^$7$$=$@5$dDI2C$r9T$J$C$F!"85!9MW5a$5$l$?J8=q(B +($B4D6-JQ?t(B <code>PATH_TRANSLATED</code> $B$G;X$5$l$F$$$^$9(B) $B$rAw$k@UG$$,$"$j$^$9!#(B</p> + +<h3>HTTP $B%X%C%@$N$"$k%U%!%$%k(B</h3> + +<p>$B0J2<$N%G%#%l%/%F%#%V$O(B <code>send-as-is</code> $B%O%s%I%i$r;HMQ$9$k(B +$B$h$&$K;X<($7$^$9!#$3$N%O%s%I%i$O<+J,<+?H$N(B HTTP $B%X%C%@$r;}$C$F$$$k%U%!%$%k$K(B +$B;HMQ$5$l$^$9!#$3$3$G$O!"3HD%;R$K4X$o$i$:!"(B<code>/web/htdocs/asis</code> +$B%G%#%l%/%H%j$K$"$kA4$F$N%U%!%$%k$O(B <code>send-as-is</code> $B%O%s%I%i$K$h$C$F(B +$B07$o$l$^$9!#(B</p> + +<pre> + <Directory /web/htdocs/asis> + SetHandler send-as-is + </Directory> +</pre> + +<hr> + +<h2><a name="programmer">$B%W%m%0%i%^8~$1$N%a%b(B</a></h2> + +<p>$B%O%s%I%i$N5!G=$r<BAu$9$k$?$a$K!"MxMQ$9$k$HJXMx$+$b$7$l$J$$$b$N$,(B +<a href="misc/API.html">Apache API</a> $B$KDI2C$5$l$^$7$?!#(B +$B>\$7$/8@$&$H!"(B<code>request_rec</code> $B9=B$BN$K?7$7$$%l%3!<%I$,(B +$BDI2C$5$l$?$H$$$&$3$H$G$9!#(B</p> +<pre> + char *handler +</pre> +<p>$B$b$7%b%8%e!<%k$,%O%s%I%i$K4X$o$j$?$$>l9g!"$d$i$J$1$l$P$J$i$J$$$3$H$O!"(B +$B%j%/%(%9%H$,(B <code>invoke_handler</code> $B%9%F!<%8$KC#$9$k0JA0$K(B +<code>r->handler</code> $B$r@_Dj$9$k$3$H$@$1$G$9!#(B +$B%O%s%I%i$O%3%s%F%s%H%?%$%W$NBe$o$j$K%O%s%I%iL>$r;H$&$h$&$K$J$C$F$$$k$3$H0J30$O!"(B +$B0JA0$HF1$8$h$&$K<BAu$5$l$F$$$^$9!#I,$:MW5a$5$l$F$$$k$o$1$G$O$"$j$^$;$s$,!"(B +$B%a%G%#%"%?%$%W$NL>A06u4V$r?/$5$J$$$h$&$K!"%O%s%I%i$NL>A0$K$O%9%i%C%7%e(B +$B$r4^$^$J$$!"%@%C%7%e(B ($BLuCm(B: "-") $B$GJ,N%$5$l$?L>A0$rIU$1$k=,47$K$J$C$F$$$^$9!#(B</P> + +<!--#include virtual="footer.html" --> +</body> +</html> diff --git a/usr.sbin/httpd/htdocs/manual/howto/cgi.html.en b/usr.sbin/httpd/htdocs/manual/howto/cgi.html.en new file mode 100644 index 00000000000..fadbceb41cf --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/howto/cgi.html.en @@ -0,0 +1,499 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> +<title>Apache Tutorial: Dynamic Content with CGI</title> +<link rev="made" href="mailto:rbowen@rcbowen.com"> +</head> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080" +alink="#FF0000"> +<!--#include virtual="header.html" --> +<h1 align="CENTER">Dynamic Content with CGI</h1> + +<a name="__index__"></a> <!-- INDEX BEGIN --> + + +<ul> +<li><a href="#dynamiccontentwithcgi">Dynamic Content with +CGI</a></li> + +<li><a href="#configuringapachetopermitcgi">Configuring Apache to +permit CGI</a> + +<ul> +<li><a href="#scriptalias">ScriptAlias</a></li> + +<li><a href="#cgioutsideofscriptaliasdirectories">CGI outside of +ScriptAlias directories</a> + +<ul> +<li><a href="#explicitlyusingoptionstopermitcgiexecution">Explicitly using +Options to permit CGI execution</a></li> + +<li><a href="#htaccessfiles">.htaccess files</a></li> +</ul> +</li> +</ul> +</li> + +<li><a href="#writingacgiprogram">Writing a CGI program</a> + +<ul> +<li><a href="#yourfirstcgiprogram">Your first CGI program</a></li> +</ul> +</li> + +<li><a href="#butitsstillnotworking">But it's still not +working!</a> + +<ul> +<li><a href="#filepermissions">File permissions</a></li> + +<li><a href="#pathinformation">Path information</a></li> + +<li><a href="#syntaxerrors">Syntax errors</a></li> + +<li><a href="#errorlogs">Error logs</a></li> +</ul> +</li> + +<li><a href="#whatsgoingonbehindthescenes">What's going on behind +the scenes?</a> + +<ul> +<li><a href="#environmentvariables">Environment variables</a></li> + +<li><a href="#stdinandstdout">STDIN and STDOUT</a></li> +</ul> +</li> + +<li><a href="#cgimoduleslibraries">CGI modules/libraries</a></li> + +<li><a href="#formoreinformation">For more information</a></li> +</ul> + +<!-- INDEX END --> +<hr> +<h2><a name="dynamiccontentwithcgi">Dynamic Content with +CGI</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Modules</strong><br><br> + +<a href="../mod/mod_alias.html">mod_alias</a><br> +<a href="../mod/mod_cgi.html">mod_cgi</a><br> + +</td><td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="../mod/mod_mime.html#addhandler">AddHandler</a><br> +<A HREF="../mod/core.html#options">Options</a><br> +<a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a><br> + +</td></tr></table> + +<p>The CGI (Common Gateway Interface) defines a way for a web server +to interact with external content-generating programs, which are often +referred to as CGI programs or CGI scripts. It is the simplest, and +most common, way to put dynamic content on your web site. This +document will be an introduction to setting up CGI on your Apache web +server, and getting started writing CGI programs.</p> + +<hr> +<h2><a name="configuringapachetopermitcgi">Configuring Apache to +permit CGI</a></h2> + +<p>In order to get your CGI programs to work properly, you'll need to +have Apache configured to permit CGI execution. There are several ways +to do this.</p> + +<h3><a name="scriptalias">ScriptAlias</a></h3> + +<p>The <code>ScriptAlias</code> directive tells Apache that a +particular directory is set aside for CGI programs. Apache will assume +that every file in this directory is a CGI program, and will attempt to +execute it, when that particular resource is requested by a client.</p> + +<p>The <code>ScriptAlias</code> directive looks like:</p> + +<pre> + ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/ +</pre> + +<p>The example shown is from your default <code>httpd.conf</code> +configuration file, if you installed Apache in the default location. +The <code>ScriptAlias</code> directive is much like the +<code>Alias</code> directive, which defines a URL prefix that is to +mapped to a particular directory. <code>Alias</code> and +<code>ScriptAlias</code> are usually used for directories that are +outside of the <code>DocumentRoot</code> directory. The difference +between <code>Alias</code> and <code>ScriptAlias</code> is that +<code>ScriptAlias</code> has the added meaning that everything under +that URL prefix will be considered a CGI program. So, the example above +tells Apache that any request for a resource beginning with +<code>/cgi-bin/</code> should be served from the directory +<code>/usr/local/apache/cgi-bin/</code>, and should be treated as a CGI +program.</p> + +<p>For example, if the URL +<code>http://dev.rcbowen.com/cgi-bin/test.pl</code> is requested, +Apache will attempt to execute the file +<code>/usr/local/apache/cgi-bin/test.pl</code> and return the output. +Of course, the file will have to exist, and be executable, and return +output in a particular way, or Apache will return an error message.</p> + +<h3><a name="cgioutsideofscriptaliasdirectories">CGI outside of +ScriptAlias directories</a></h3> + +<p>CGI programs are often restricted to <code>ScriptAlias</code>'ed +directories for security reasons. In this way, administrators can +tightly control who is allowed to use CGI programs. However, if the +proper security precautions are taken, there is no reason why +CGI programs cannot be run from arbitrary directories. For example, +you may wish to let users have web content in their home directories +with the <code>UserDir</code> directive. If they want to have their +own CGI programs, but don't have access to the main +<code>cgi-bin</code> directory, they will need to be able to run CGI +programs elsewhere.</p> + +<h3><a name="explicitlyusingoptionstopermitcgiexecution">Explicitly using +Options to permit CGI execution</a></h3> + +<p>You could explicitly use the <code>Options</code> directive, inside +your main server configuration file, to specify that CGI execution was +permitted in a particular directory:</p> + +<pre> + <Directory /usr/local/apache/htdocs/somedir> + Options +ExecCGI + </Directory> +</pre> + +<p>The above directive tells Apache to permit the execution of CGI +files. You will also need to tell the server what files are CGI files. +The following <code>AddHandler</code> directive tells the server +to treat all files with the <code>cgi</code> or <code>pl</code> +extension as CGI programs:</p> + +<pre> + AddHandler cgi-script cgi pl +</pre> + +<h3><a name="htaccessfiles">.htaccess files</a></h3> + +<p>A <code>.htaccess</code> file is a way to set configuration +directives on a per-directory basis. When Apache serves a resource, it +looks in the directory from which it is serving a file for a file +called <code>.htaccess</code>, and, if it finds it, it will apply +directives found therein. <code>.htaccess</code> files can be permitted +with the <code>AllowOverride</code> directive, which specifies what +types of directives can appear in these files, or if they are not +allowed at all. To permit the directive we will need for this purpose, +the following configuration will be needed in your main server +configuration:</p> + +<pre> + AllowOverride Options +</pre> + +<p>In the <code>.htaccess</code> file, you'll need the following +directive:</p> + +<pre> + Options +ExecCGI +</pre> + +<p>which tells Apache that execution of CGI programs is permitted in +this directory.</p> + +<hr> +<h2><a name="writingacgiprogram">Writing a CGI program</a></h2> + +<p>There are two main differences between ``regular'' programming, and +CGI programming.</p> + +<p>First, all output from your CGI program must be preceded by a +MIME-type header. This is HTTP header that tells the client what sort +of content it is receiving. Most of the time, this will look like:</p> + +<pre> + Content-type: text/html +</pre> + +<p>Secondly, your output needs to be in HTML, or some other format that +a browser will be able to display. Most of the time, this will be HTML, +but occasionally you might write a CGI program that outputs a gif +image, or other non-HTML content.</p> + +<p>Apart from those two things, writing a CGI program will look a lot +like any other program that you might write.</p> + +<h3><a name="yourfirstcgiprogram">Your first CGI program</a></h3> + +<p>The following is an example CGI program that prints one line to your +browser. Type in the following, save it to a file called +<code>first.pl</code>, and put it in your <code>cgi-bin</code> +directory.</p> + +<pre> + #!/usr/bin/perl + print "Content-type: text/html\r\n\r\n"; + print "Hello, World."; +</pre> + +<p>Even if you are not familiar with Perl, you should be able to see +what is happening here. The first line tells Apache (or whatever shell +you happen to be running under) that this program can be executed by +feeding the file to the interpreter found at the location +<code>/usr/bin/perl</code>. The second line prints the content-type +declaration we talked about, followed by two carriage-return newline +pairs. This puts a blank line after the header, to indicate the end of +the HTTP headers, and the beginning of the body. The third line prints +the string ``Hello, World.'' And that's the end of it.</p> + +<p>If you open your favorite browser and tell it to get the address</p> + +<pre> + http://www.example.com/cgi-bin/first.pl +</pre> + +<p>or wherever you put your file, you will see the one line +<code>Hello, World.</code> appear in your browser window. It's not very +exciting, but once you get that working, you'll have a good chance of +getting just about anything working.</p> + +<hr> +<h2><a name="butitsstillnotworking">But it's still not +working!</a></h2> + +<p>There are four basic things that you may see in your browser when +you try to access your CGI program from the web:</p> + +<dl> +<dt>The output of your CGI program</dt> +<dd>Great! That means everything worked fine.<br><br></dd> + +<dt>The source code of your CGI program or a "POST Method Not Allowed" +message</dt> +<dd>That means that you have not properly configured +Apache to process your CGI program. Reread the section on <a +href="#configuringapachetopermitcgi">configuring Apache</a> and try to +find what you missed.<br><br></dd> + +<dt>A message starting with "Forbidden"</dt> <dd>That means that there +is a permissions problem. Check the <a href="#errorlogs">Apache +error log</a> and the section below on <a +href="#filepermissions">file permissions</a>.<br><br></dd> + +<dt>A message saying "Internal Server Error"</dt> <dd>If you check the +<a href="#errorlogs">Apache error log</a>, you will probably find +that it says "Premature end of script headers", possibly along with an +error message generated by your CGI program. In this case, you will +want to check each of the below sections to see what might be preventing +your CGI program from emitting the proper HTTP headers.</dd> +</dl> + + +<h3><a name="filepermissions">File permissions</a></h3> + +<p>Remember that the server does not run as you. That is, when the +server starts up, it is running with the permissions of an unprivileged +user - usually ``nobody'', or ``www'' - and so it will need extra +permissions to execute files that are owned by you. Usually, the way to +give a file sufficient permissions to be executed by ``nobody'' is to +give everyone execute permission on the file:</p> + +<pre> + chmod a+x first.pl +</pre> + +<p>Also, if your program reads from, or writes to, any other files, +those files will need to have the correct permissions to permit +this.</p> + +<p>The exception to this is when the server is configured to use <a +href="../suexec.html">suexec</a>. This program allows CGI programs to +be run under different user permissions, depending on which virtual +host or user home directory they are located in. Suexec has very +strict permission checking, and any failure in that checking will +result in your CGI programs failing with an "Internal Server Error". +In this case, you will need to check the suexec log file to see what +specific security check is failing.</p> + +<h3><a name="pathinformation">Path information</a></h3> + +<p>When you run a program from your command line, you have certain +information that is passed to the shell without you thinking about it. +For example, you have a path, which tells the shell where it can look +for files that you reference.</p> + +<p>When a program runs through the web server as a CGI program, it does +not have that path. Any programs that you invoke in your CGI program +(like 'sendmail', for example) will need to be specified by a full +path, so that the shell can find them when it attempts to execute your +CGI program.</p> + +<p>A common manifestation of this is the path to the script interpreter +(often <code>perl</code>) indicated in the first line of your CGI +program, which will look something like:</p> + +<pre> + #!/usr/bin/perl +</pre> + +<p>Make sure that this is in fact the path to the interpreter.</p> + +<h3><a name="syntaxerrors">Syntax errors</a></h3> + +<p>Most of the time when a CGI program fails, it's because of a problem +with the program itself. This is particularly true once you get the +hang of this CGI stuff, and no longer make the above two mistakes. +Always attempt to run your program from the command line before you +test if via a browser. This will eliminate most of your problems.</p> + +<h3><a name="errorlogs">Error logs</a></h3> + +<p>The error logs are your friend. Anything that goes wrong generates +message in the error log. You should always look there first. If the +place where you are hosting your web site does not permit you access to +the error log, you should probably host your site somewhere else. Learn +to read the error logs, and you'll find that almost all of your +problems are quickly identified, and quickly solved.</p> + +<hr> +<h2><a name="whatsgoingonbehindthescenes">What's going on behind +the scenes?</a></h2> + +<p>As you become more advanced in CGI programming, it will become +useful to understand more about what's happening behind the scenes. +Specifically, how the browser and server communicate with one another. +Because although it's all very well to write a program that prints +``Hello, World.'', it's not particularly useful.</p> + +<h3><a name="environmentvariables">Environment variables</a></h3> + +<p>Environment variables are values that float around you as you use +your computer. They are useful things like your path (where the +computer searches for a the actual file implementing a command when you +type it), your username, your terminal type, and so on. For a full list +of your normal, every day environment variables, type <code>env</code> +at a command prompt.</p> + +<p>During the CGI transaction, the server and the browser also set +environment variables, so that they can communicate with one another. +These are things like the browser type (Netscape, IE, Lynx), the server +type (Apache, IIS, WebSite), the name of the CGI program that is being +run, and so on.</p> + +<p>These variables are available to the CGI programmer, and are half of +the story of the client-server communication. The complete list of +required variables is at <a href= +"http://hoohoo.ncsa.uiuc.edu/cgi/env.html">http://hoohoo.ncsa.uiuc.edu/cgi/env.html</a></p> + +<p>This simple Perl CGI program will display all of the environment +variables that are being passed around. Two similar programs are +included in the <code>cgi-bin</code> directory of the Apache +distribution. Note that some variables are required, while others are +optional, so you may see some variables listed that were not in the +official list. In addition, Apache provides many different ways for +you to <a href="../env.html">add your own environment variables</a> to +the basic ones provided by default.</p> + +<pre> + #!/usr/bin/perl + print "Content-type: text/html\n\n"; + foreach $key (keys %ENV) { + print "$key --> $ENV{$key}<br>"; + } +</pre> + +<h3><a name="stdinandstdout">STDIN and STDOUT</a></h3> + +<p>Other communication between the server and the client happens over +standard input (<code>STDIN</code>) and standard output +(<code>STDOUT</code>). In normal everyday context, <code>STDIN</code> +means the keyboard, or a file that a program is given to act on, and +<code>STDOUT</code> usually means the console or screen.</p> + +<p>When you <code>POST</code> a web form to a CGI program, the data in +that form is bundled up into a special format and gets delivered to +your CGI program over <code>STDIN</code>. The program then can process +that data as though it was coming in from the keyboard, or from a +file</p> + +<p>The ``special format'' is very simple. A field name and its value +are joined together with an equals (=) sign, and pairs of values are +joined together with an ampersand (&). Inconvenient characters like +spaces, ampersands, and equals signs, are converted into their hex +equivalent so that they don't gum up the works. The whole data string +might look something like:</p> + +<pre> + name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey +</pre> + +<p>You'll sometimes also see this type of string appended to the a URL. +When that is done, the server puts that string into the environment +variable called <code>QUERY_STRING</code>. That's called a +<code>GET</code> request. Your HTML form specifies whether a +<code>GET</code> or a <code>POST</code> is used to deliver the data, by +setting the <code>METHOD</code> attribute in the <code>FORM</code> +tag.</p> + +<p>Your program is then responsible for splitting that string up into +useful information. Fortunately, there are libraries and modules +available to help you process this data, as well as handle other of the +aspects of your CGI program.</p> + +<hr> +<h2><a name="cgimoduleslibraries">CGI modules/libraries</a></h2> + +<p>When you write CGI programs, you should consider using a code +library, or module, to do most of the grunt work for you. This leads to +fewer errors, and faster development.</p> + +<p>If you're writing CGI programs in Perl, modules are available on <a +href="http://www.cpan.org/">CPAN</a>. The most popular module for this +purpose is CGI.pm. You might also consider CGI::Lite, which implements +a minimal set of functionality, which is all you need in most +programs.</p> + +<p>If you're writing CGI programs in C, there are a variety of options. +One of these is the CGIC library, from <a href= +"http://www.boutell.com/cgic/">http://www.boutell.com/cgic/</a></p> + +<hr> +<h2><a name="formoreinformation">For more information</a></h2> + +<p>There are a large number of CGI resources on the web. You can +discuss CGI problems with other users on the Usenet group +comp.infosystems.www.authoring.cgi. And the -servers mailing list from +the HTML Writers Guild is a great source of answers to your questions. +You can find out more at <a href= +"http://www.hwg.org/lists/hwg-servers/">http://www.hwg.org/lists/hwg-servers/</a></p> + +<p>And, of course, you should probably read the CGI specification, +which has all the details on the operation of CGI programs. You can +find the original version at the <a href= +"http://hoohoo.ncsa.uiuc.edu/cgi/interface.html">NCSA</a> and there is +an updated draft at the <a +href="http://web.golux.com/coar/cgi/">Common Gateway Interface RFC +project</a>.</p> + +<p>When you post a question about a CGI problem that you're having, +whether to a mailing list, or to a newsgroup, make sure you provide +enough information about what happened, what you expected to happen, +and how what actually happened was different, what server you're +running, what language your CGI program was in, and, if possible, the +offending code. This will make finding your problem much simpler.</p> + +<p>Note that questions about CGI problems should <strong>never</strong> +be posted to the Apache bug database unless you are sure you have found +a problem in the Apache source code.</p> + +<!--#include virtual="footer.html" --> + +</body> +</html> + diff --git a/usr.sbin/httpd/htdocs/manual/howto/cgi.html.html b/usr.sbin/httpd/htdocs/manual/howto/cgi.html.html new file mode 100644 index 00000000000..a48e7842391 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/howto/cgi.html.html @@ -0,0 +1,500 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> +<title>Apache Tutorial: Dynamic Content with CGI</title> +<link rev="made" href="mailto:rbowen@rcbowen.com"> +</head> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080" +alink="#FF0000"> +<!--#include virtual="header.html" --> +<h1 align="CENTER">Dynamic Content with CGI</h1> + +<a name="__index__"></a> <!-- INDEX BEGIN --> + + +<ul> +<li><a href="#dynamiccontentwithcgi">Dynamic Content with +CGI</a></li> + +<li><a href="#configuringapachetopermitcgi">Configuring Apache to +permit CGI</a> + +<ul> +<li><a href="#scriptalias">ScriptAlias</a></li> + +<li><a href="#cgioutsideofscriptaliasdirectories">CGI outside of +ScriptAlias directories</a> + +<ul> +<li><a href="#explicitlyusingoptionstopermitcgiexecution">Explicitly using +Options to permit CGI execution</a></li> + +<li><a href="#htaccessfiles">.htaccess files</a></li> +</ul> +</li> +</ul> +</li> + +<li><a href="#writingacgiprogram">Writing a CGI program</a> + +<ul> +<li><a href="#yourfirstcgiprogram">Your first CGI program</a></li> +</ul> +</li> + +<li><a href="#butitsstillnotworking">But it's still not +working!</a> + +<ul> +<li><a href="#filepermissions">File permissions</a></li> + +<li><a href="#pathinformation">Path information</a></li> + +<li><a href="#syntaxerrors">Syntax errors</a></li> + +<li><a href="#errorlogs">Error logs</a></li> +</ul> +</li> + +<li><a href="#whatsgoingonbehindthescenes">What's going on behind +the scenes?</a> + +<ul> +<li><a href="#environmentvariables">Environment variables</a></li> + +<li><a href="#stdinandstdout">STDIN and STDOUT</a></li> +</ul> +</li> + +<li><a href="#cgimoduleslibraries">CGI modules/libraries</a></li> + +<li><a href="#formoreinformation">For more information</a></li> +</ul> + +<!-- INDEX END --> +<hr> +<h2><a name="dynamiccontentwithcgi">Dynamic Content with +CGI</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Modules</strong><br><br> + +<a href="../mod/mod_alias.html">mod_alias</a><br> +<a href="../mod/mod_cgi.html">mod_cgi</a><br> + +</td><td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="../mod/mod_mime.html#addhandler">AddHandler</a><br> +<A HREF="../mod/core.html#options">Options</a><br> +<a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a><br> + +</td></tr></table> + +<p>The CGI (Common Gateway Interface) defines a way for a web server +to interact with external content-generating programs, which are often +referred to as CGI programs or CGI scripts. It is the simplest, and +most common, way to put dynamic content on your web site. This +document will be an introduction to setting up CGI on your Apache web +server, and getting started writing CGI programs.</p> + +<hr> +<h2><a name="configuringapachetopermitcgi">Configuring Apache to +permit CGI</a></h2> + +<p>In order to get your CGI programs to work properly, you'll need to +have Apache configured to permit CGI execution. There are several ways +to do this.</p> + +<h3><a name="scriptalias">ScriptAlias</a></h3> + +<p>The <code>ScriptAlias</code> directive tells Apache that a +particular directory is set aside for CGI programs. Apache will assume +that every file in this directory is a CGI program, and will attempt to +execute it, when that particular resource is requested by a client.</p> + +<p>The <code>ScriptAlias</code> directive looks like:</p> + +<pre> + ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/ +</pre> + +<p>The example shown is from your default <code>httpd.conf</code> +configuration file, if you installed Apache in the default location. +The <code>ScriptAlias</code> directive is much like the +<code>Alias</code> directive, which defines a URL prefix that is to +mapped to a particular directory. <code>Alias</code> and +<code>ScriptAlias</code> are usually used for directories that are +outside of the <code>DocumentRoot</code> directory. The difference +between <code>Alias</code> and <code>ScriptAlias</code> is that +<code>ScriptAlias</code> has the added meaning that everything under +that URL prefix will be considered a CGI program. So, the example above +tells Apache that any request for a resource beginning with +<code>/cgi-bin/</code> should be served from the directory +<code>/usr/local/apache/cgi-bin/</code>, and should be treated as a CGI +program.</p> + +<p>For example, if the URL +<code>http://dev.rcbowen.com/cgi-bin/test.pl</code> is requested, +Apache will attempt to execute the file +<code>/usr/local/apache/cgi-bin/test.pl</code> and return the output. +Of course, the file will have to exist, and be executable, and return +output in a particular way, or Apache will return an error message.</p> + +<h3><a name="cgioutsideofscriptaliasdirectories">CGI outside of +ScriptAlias directories</a></h3> + +<p>CGI programs are often restricted to <code>ScriptAlias</code>'ed +directories for security reasons. In this way, administrators can +tightly control who is allowed to use CGI programs. However, if the +proper security precautions are taken, there is no reason why +CGI programs cannot be run from arbitrary directories. For example, +you may wish to let users have web content in their home directories +with the <code>UserDir</code> directive. If they want to have their +own CGI programs, but don't have access to the main +<code>cgi-bin</code> directory, they will need to be able to run CGI +programs elsewhere.</p> + +<h3><a name="explicitlyusingoptionstopermitcgiexecution">Explicitly using +Options to permit CGI execution</a></h3> + +<p>You could explicitly use the <code>Options</code> directive, inside +your main server configuration file, to specify that CGI execution was +permitted in a particular directory:</p> + +<pre> + <Directory /usr/local/apache/htdocs/somedir> + Options +ExecCGI + </Directory> +</pre> + +<p>The above directive tells Apache to permit the execution of CGI +files. You will also need to tell the server what files are CGI files. +The following <code>AddHandler</code> directive tells the server +to treat all files with the <code>cgi</code> or <code>pl</code> +extension as CGI programs:</p> + +<pre> + AddHandler cgi-script cgi pl +</pre> + +<h3><a name="htaccessfiles">.htaccess files</a></h3> + +<p>A <code>.htaccess</code> file is a way to set configuration +directives on a per-directory basis. When Apache serves a resource, it +looks in the directory from which it is serving a file for a file +called <code>.htaccess</code>, and, if it finds it, it will apply +directives found therein. <code>.htaccess</code> files can be permitted +with the <code>AllowOverride</code> directive, which specifies what +types of directives can appear in these files, or if they are not +allowed at all. To permit the directive we will need for this purpose, +the following configuration will be needed in your main server +configuration:</p> + +<pre> + AllowOverride Options +</pre> + +<p>In the <code>.htaccess</code> file, you'll need the following +directive:</p> + +<pre> + Options +ExecCGI +</pre> + +<p>which tells Apache that execution of CGI programs is permitted in +this directory.</p> + +<hr> +<h2><a name="writingacgiprogram">Writing a CGI program</a></h2> + +<p>There are two main differences between ``regular'' programming, and +CGI programming.</p> + +<p>First, all output from your CGI program must be preceded by a +MIME-type header. This is HTTP header that tells the client what sort +of content it is receiving. Most of the time, this will look like:</p> + +<pre> + Content-type: text/html +</pre> + +<p>Secondly, your output needs to be in HTML, or some other format that +a browser will be able to display. Most of the time, this will be HTML, +but occasionally you might write a CGI program that outputs a gif +image, or other non-HTML content.</p> + +<p>Apart from those two things, writing a CGI program will look a lot +like any other program that you might write.</p> + +<h3><a name="yourfirstcgiprogram">Your first CGI program</a></h3> + +<p>The following is an example CGI program that prints one line to your +browser. Type in the following, save it to a file called +<code>first.pl</code>, and put it in your <code>cgi-bin</code> +directory.</p> + +<pre> + #!/usr/bin/perl + print "Content-type: text/html\r\n\r\n"; + print "Hello, World."; +</pre> + +<p>Even if you are not familiar with Perl, you should be able to see +what is happening here. The first line tells Apache (or whatever shell +you happen to be running under) that this program can be executed by +feeding the file to the interpreter found at the location +<code>/usr/bin/perl</code>. The second line prints the content-type +declaration we talked about, followed by two carriage-return newline +pairs. This puts a blank line after the header, to indicate the end of +the HTTP headers, and the beginning of the body. The third line prints +the string ``Hello, World.'' And that's the end of it.</p> + +<p>If you open your favorite browser and tell it to get the address</p> + +<pre> + http://www.example.com/cgi-bin/first.pl +</pre> + +<p>or wherever you put your file, you will see the one line +<code>Hello, World.</code> appear in your browser window. It's not very +exciting, but once you get that working, you'll have a good chance of +getting just about anything working.</p> + +<hr> +<h2><a name="butitsstillnotworking">But it's still not +working!</a></h2> + +<p>There are four basic things that you may see in your browser when +you try to access your CGI program from the web:</p> + +<dl> +<dt>The output of your CGI program</dt> +<dd>Great! That means everything worked fine.<br><br></dd> + +<dt>The source code of your CGI program or a "POST Method Not Allowed" +message</dt> +<dd>That means that you have not properly configured +Apache to process your CGI program. Reread the section on <a +href="#configuringapachetopermitcgi">configuring Apache</a> and try to +find what you missed.<br><br></dd> + +<dt>A message starting with "Forbidden"</dt> <dd>That means that there +is a permissions problem. Check the <a href="#errorlogs">Apache +error log</a> and the section below on <a +href="#filepermissions">file permissions</a>.<br><br></dd> + +<dt>A message saying "Internal Server Error"</dt> <dd>If you check the +<a href="#errorlogs">Apache error log</a>, you will probably find +that it says "Premature end of script headers", possibly along with an +error message generated by your CGI program. In this case, you will +want to check each of the below sections to see what might be preventing +your CGI program from emitting the proper HTTP headers.</dd> +</dl> + + +<h3><a name="filepermissions">File permissions</a></h3> + +<p>Remember that the server does not run as you. That is, when the +server starts up, it is running with the permissions of an unprivileged +user - usually ``nobody'', or ``www'' - and so it will need extra +permissions to execute files that are owned by you. Usually, the way to +give a file sufficient permissions to be executed by ``nobody'' is to +give everyone execute permission on the file:</p> + +<pre> + chmod a+x first.pl +</pre> + +<p>Also, if your program reads from, or writes to, any other files, +those files will need to have the correct permissions to permit +this.</p> + +<p>The exception to this is when the server is configured to use <a +href="../suexec.html">suexec</a>. This program allows CGI programs to +be run under different user permissions, depending on which virtual +host or user home directory they are located in. Suexec has very +strict permission checking, and any failure in that checking will +result in your CGI programs failing with an "Internal Server Error". +In this case, you will need to check the suexec log file to see what +specific security check is failing.</p> + +<h3><a name="pathinformation">Path information</a></h3> + +<p>When you run a program from your command line, you have certain +information that is passed to the shell without you thinking about it. +For example, you have a path, which tells the shell where it can look +for files that you reference.</p> + +<p>When a program runs through the web server as a CGI program, it does +not have that path. Any programs that you invoke in your CGI program +(like 'sendmail', for example) will need to be specified by a full +path, so that the shell can find them when it attempts to execute your +CGI program.</p> + +<p>A common manifestation of this is the path to the script interpreter +(often <code>perl</code>) indicated in the first line of your CGI +program, which will look something like:</p> + +<pre> + #!/usr/bin/perl +</pre> + +<p>Make sure that this is in fact the path to the interpreter.</p> + +<h3><a name="syntaxerrors">Syntax errors</a></h3> + +<p>Most of the time when a CGI program fails, it's because of a problem +with the program itself. This is particularly true once you get the +hang of this CGI stuff, and no longer make the above two mistakes. +Always attempt to run your program from the command line before you +test if via a browser. This will eliminate most of your problems.</p> + +<h3><a name="errorlogs">Error logs</a></h3> + +<p>The error logs are your friend. Anything that goes wrong generates +message in the error log. You should always look there first. If the +place where you are hosting your web site does not permit you access to +the error log, you should probably host your site somewhere else. Learn +to read the error logs, and you'll find that almost all of your +problems are quickly identified, and quickly solved.</p> + +<hr> +<h2><a name="whatsgoingonbehindthescenes">What's going on behind +the scenes?</a></h2> + +<p>As you become more advanced in CGI programming, it will become +useful to understand more about what's happening behind the scenes. +Specifically, how the browser and server communicate with one another. +Because although it's all very well to write a program that prints +``Hello, World.'', it's not particularly useful.</p> + +<h3><a name="environmentvariables">Environment variables</a></h3> + +<p>Environment variables are values that float around you as you use +your computer. They are useful things like your path (where the +computer searches for a the actual file implementing a command when you +type it), your username, your terminal type, and so on. For a full list +of your normal, every day environment variables, type <code>env</code> +at a command prompt.</p> + +<p>During the CGI transaction, the server and the browser also set +environment variables, so that they can communicate with one another. +These are things like the browser type (Netscape, IE, Lynx), the server +type (Apache, IIS, WebSite), the name of the CGI program that is being +run, and so on.</p> + +<p>These variables are available to the CGI programmer, and are half of +the story of the client-server communication. The complete list of +required variables is at <a href= +"http://hoohoo.ncsa.uiuc.edu/cgi/env.html">http://hoohoo.ncsa.uiuc.edu/cgi/env.html</a></p> + +<p>This simple Perl CGI program will display all of the environment +variables that are being passed around. Two similar programs are +included in the <code>cgi-bin</code> directory of the Apache +distribution. Note that some variables are required, while others are +optional, so you may see some variables listed that were not in the +official list. In addition, Apache provides many different ways for +you to <a href="../env.html">add your own environment variables</a> to +the basic ones provided by default.</p> + +<pre> + #!/usr/bin/perl + print "Content-type: text/html\n\n"; + foreach $key (keys %ENV) { + print "$key --> $ENV{$key}<br>"; + } +</pre> + +<h3><a name="stdinandstdout">STDIN and STDOUT</a></h3> + +<p>Other communication between the server and the client happens over +standard input (<code>STDIN</code>) and standard output +(<code>STDOUT</code>). In normal everyday context, <code>STDIN</code> +means the keyboard, or a file that a program is given to act on, and +<code>STDOUT</code> usually means the console or screen.</p> + +<p>When you <code>POST</code> a web form to a CGI program, the data in +that form is bundled up into a special format and gets delivered to +your CGI program over <code>STDIN</code>. The program then can process +that data as though it was coming in from the keyboard, or from a +file</p> + +<p>The ``special format'' is very simple. A field name and its value +are joined together with an equals (=) sign, and pairs of values are +joined together with an ampersand (&). Inconvenient characters like +spaces, ampersands, and equals signs, are converted into their hex +equivalent so that they don't gum up the works. The whole data string +might look something like:</p> + +<pre> + name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey +</pre> + +<p>You'll sometimes also see this type of string appended to the a URL. +When that is done, the server puts that string into the environment +variable called <code>QUERY_STRING</code>. That's called a +<code>GET</code> request. Your HTML form specifies whether a +<code>GET</code> or a <code>POST</code> is used to deliver the data, by +setting the <code>METHOD</code> attribute in the <code>FORM</code> +tag.</p> + +<p>Your program is then responsible for splitting that string up into +useful information. Fortunately, there are libraries and modules +available to help you process this data, as well as handle other of the +aspects of your CGI program.</p> + +<hr> +<h2><a name="cgimoduleslibraries">CGI modules/libraries</a></h2> + +<p>When you write CGI programs, you should consider using a code +library, or module, to do most of the grunt work for you. This leads to +fewer errors, and faster development.</p> + +<p>If you're writing CGI programs in Perl, modules are available on <a +href="http://www.cpan.org/">CPAN</a>. The most popular module for this +purpose is CGI.pm. You might also consider CGI::Lite, which implements +a minimal set of functionality, which is all you need in most +programs.</p> + +<p>If you're writing CGI programs in C, there are a variety of options. +One of these is the CGIC library, from <a href= +"http://www.boutell.com/cgic/">http://www.boutell.com/cgic/</a></p> + +<hr> +<h2><a name="formoreinformation">For more information</a></h2> + +<p>There are a large number of CGI resources on the web. You can +discuss CGI problems with other users on the Usenet group +comp.infosystems.www.authoring.cgi. And the -servers mailing list from +the HTML Writers Guild is a great source of answers to your questions. +You can find out more at <a href= +"http://www.hwg.org/lists/hwg-servers/">http://www.hwg.org/lists/hwg-servers/</a></p> + +<p>And, of course, you should probably read the CGI specification, +which has all the details on the operation of CGI programs. You can +find the original version at the <a href= +"http://hoohoo.ncsa.uiuc.edu/cgi/interface.html">NCSA</a> and there is +an updated draft at the <a +href="http://web.golux.com/coar/cgi/">Common Gateway Interface RFC +project</a>.</p> + +<p>When you post a question about a CGI problem that you're having, +whether to a mailing list, or to a newsgroup, make sure you provide +enough information about what happened, what you expected to happen, +and how what actually happened was different, what server you're +running, what language your CGI program was in, and, if possible, the +offending code. This will make finding your problem much simpler.</p> + +<p>Note that questions about CGI problems should <strong>never</strong> +be posted to the Apache bug database unless you are sure you have found +a problem in the Apache source code.</p> + +<!--#include virtual="footer.html" --> + +</body> +</html> + + diff --git a/usr.sbin/httpd/htdocs/manual/howto/cgi.html.ja.jis b/usr.sbin/httpd/htdocs/manual/howto/cgi.html.ja.jis new file mode 100644 index 00000000000..b6bf58c2194 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/howto/cgi.html.ja.jis @@ -0,0 +1,495 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> +<title>Apache Tutorial: CGI $B$K$h$kF0E*%3%s%F%s%D(B</title> +</head> +<!-- English revision: 1.6 --> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080" +alink="#FF0000"> +<!--#include virtual="header.html" --> +<h1 align="CENTER">CGI $B$K$h$kF0E*%3%s%F%s%D(B</h1> + +<a name="__index__"></a> <!-- INDEX BEGIN --> + + +<ul> +<li><a href="#dynamiccontentwithcgi">CGI $B$K$h$kF0E*%3%s%F%s%D(B</a></li> + +<li><a href="#configuringapachetopermitcgi">CGI $B$r5v2D$9$k$h$&$K(B Apache $B$r(B +$B@_Dj$9$k(B</a> + +<ul> +<li><a href="#scriptalias">ScriptAlias</a></li> + +<li><a href="#cgioutsideofscriptaliasdirectories">ScriptAlias $B%G%#%l%/%H%j30$N(B +CGI</a> + +<ul> +<li><a href="#explicitlyusingoptionstopermitcgiexecution">CGI $B$N<B9T$r2DG=$K(B +$B$9$k$?$a$K(B Options $B$rL@<(E*$K;HMQ$9$k(B</a></li> + + +<li><a href="#htaccessfiles">.htaccess $B%U%!%$%k(B</a></li> +</ul> +</li> +</ul> +</li> + +<li><a href="#writingacgiprogram">CGI $B%W%m%0%i%`$r=q$/(B</a> + +<ul> +<li><a href="#yourfirstcgiprogram">$B$"$J$?$N:G=i$N(B CGI $B%W%m%0%i%`(B</a></li> +</ul> +</li> + +<li><a href="#butitsstillnotworking">$B$7$+$7!"$^$@F0$+$J$$(B !</a> + +<ul> +<li><a href="#filepermissions">$B%U%!%$%k$N%Q!<%_%C%7%g%s(B</a></li> + +<li><a href="#pathinformation">$B%Q%9>pJs(B</a></li> + +<li><a href="#syntaxerrors">$B9=J8%(%i!<(B</a></li> + +<li><a href="#errorlogs">$B%(%i!<%m%0(B</a></li> +</ul> +</li> + +<li><a href="#whatsgoingonbehindthescenes">$BN"$G2?$,5/$3$C$F$$$k$N$+(B?</a> + +<ul> +<li><a href="#environmentvariables">$B4D6-JQ?t(B</a></li> + +<li><a href="#stdinandstdout">$BI8=`F~=PNO(B</a></li> +</ul> +</li> + +<li><a href="#cgimoduleslibraries">CGI $B%b%8%e!<%k(B/$B%i%$%V%i%j(B</a></li> + +<li><a href="#formoreinformation">$B99$J$k>pJs(B</a></li> +</ul> + +<!-- INDEX END --> +<hr> +<h2><a name="dynamiccontentwithcgi">CGI $B$K$h$kF0E*%3%s%F%s%D(B</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>$B4XO"%b%8%e!<%k(B</strong><br><br> + +<a href="../mod/mod_alias.html">mod_alias</a><br> +<a href="../mod/mod_cgi.html">mod_cgi</a><br> + +</td><td valign="top"> +<strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br><br> + +<a href="../mod/mod_mime.html#addhandler">AddHandler</a><br> +<A HREF="../mod/core.html#options">Options</a><br> +<a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a><br> + +</td></tr></table> + +<p>CGI (Common Gateway Interface) $B$O!"%&%'%V%5!<%P$,%3%s%F%s%D@8@.$r$9$k(B +$B30It%W%m%0%i%`$H6(D4$7$FF0:n$9$k$?$a$NJ}K!$rDj5A$7$F$$$^$9!#$=$N%W%m%0%i%`$O$7$P$7$P(B +CGI $B%W%m%0%i%`$d(B CGI $B%9%/%j%W%H$H8F$P$l$^$9!#(BCGI $B$O!"%&%'%V%5%$%H$K(B +$BF0E*$J%3%s%F%s%D$rCV$/$?$a$N:G$b4JC1$G0lHLE*$JJ}K!$G$9!#$3$N%I%-%e%a%s%H$O!"(B +Apache $B%&%'%V%5!<%P$G(B CGI $B$r@_Dj$7!"(BCGI $B%W%m%0%i%`$r=q$-;O$a$k$?$a$N(B +$BF~Lg=q$H$J$k$G$7$g$&!#(B</p> + +<hr> +<h2><a name="configuringapachetopermitcgi">CGI $B$r5v2D$9$k$h$&$K(B Apache $B$r(B +$B@_Dj$9$k(B</a></h2> + +<p>CGI $B%W%m%0%i%`$r@5$7$/F0:n$5$;$k$K$O!"(BCGI $B$r5v2D$9$k$h$&$K(B +Apache $B$N@_Dj$r9T$&I,MW$,$"$j$^$9!#$3$l$r9T$J$&$?$a$NJ}K!$,$$$/$D$+(B +$B$"$j$^$9!#(B</p> + +<h3><a name="scriptalias">ScriptAlias</a></h3> + +<p><code>ScriptAlias</code> $B%G%#%l%/%F%#%V$r;HMQ$7$F!"(BCGI $B%W%m%0%i%`MQ$N(B +$BFCJL$JJL%G%#%l%/%H%j$r(B Apache $B$K@_Dj$7$^$9!#(B +Apache $B$O!"$3$N%G%#%l%/%H%jCf$NA4$F$N%U%!%$%k$r(B CGI $B%W%m%0%i%`$G$"$k$H(B +$B2>Dj$7$^$9!#$=$7$F!"$3$NFCJL$J%j%=!<%9$,%/%i%$%"%s%H$+$iMW5a$5$l$k$H!"(B +$B$=$N%W%m%0%i%`$N<B9T$r;n$_$^$9!#(B</p> + +<p><code>ScriptAlias</code> $B%G%#%l%/%F%#%V$O0J2<$N$h$&$K;HMQ$7$^$9(B:</p> + +<pre> + ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/ +</pre> + +<p>$B%G%U%)%k%H0LCV$K(B Apache $B$r%$%s%9%H!<%k$7$?$J$i$P!"(B +$B$3$NNc$O%G%U%)%k%H>uBV$N(B <code>httpd.conf</code> $B@_Dj%U%!%$%k(B +$B$K4^$^$l$F$$$^$9!#(B +<code>ScriptAlias</code> $B%G%#%l%/%F%#%V$O!"(BURL $B$NA0$KIU2C$9$k%G%#%l%/%H%j$rDj5A$9$k(B <code>Alias</code> $B%G%#%l%/%F%#%V$H$+$J$j;w$F$$$^$9!#(B +<code>Alias</code> $B$H(B <code>ScriptAlias</code> $B$ODL>o!"(B +<code>DocumentRoot</code> $B%G%#%l%/%H%j30$N%G%#%l%/%H%j$N$?$a$K;HMQ$5$l$^$9!#(B +<code>Alias</code> $B$H(B <code>ScriptAlias</code> $B$H$N:9$O!"(B +<code>ScriptAlias</code> $B$,@\F,<-$G;O$^$k$9$Y$F$N(B URL $B$O(B CGI $B%W%m%0%i%`$H(B +$B$_$J$5$l$k$H$$$&DI2C$N0UL#$r4^$s$G$$$k$3$H$G$9!#=>$C$F!"(B +$B>e5-$NNc$G$O!"(B<code>/cgi-bin/</code> +$B$G;O$^$k%j%=!<%9$X$N$"$i$f$k%j%/%(%9%H$KBP$7$F!"%G%#%l%/%H%j(B +<code>/usr/local/apache/cgi-bin/</code> +$B$+$iDs6!$7!"$=$l$i$r(B CGI $B%W%m%0%i%`$H$7$F07$&$h$&(B Apache $B$K<($7$^$9!#(B</p> + +<p>$BNc$($P!"(BURL <code>http://dev.rcbowen.com/cgi-bin/test.pl</code> +$B$,MW5a$5$l$?>l9g!"(BApache $B$O(B $B%U%!%$%k(B +<code>/usr/local/apache/cgi-bin/test.pl</code> $B$r<B9T$7!"$=$N=PNO$rJV$9$3$H$r(B +$B;n$_$^$9!#(B +$B$b$A$m$s!"%U%!%$%k$,B8:_$7!"<B9T2DG=$G$"$j!"7h$a$i$l$?J}K!$G=PNO$rJV$7$^$9!#(B +$B$=$&$G$J$1$l$P!"(BApache $B$O%(%i!<%a%C%;!<%8$rJV$7$^$9!#(B + +<h3><a name="cgioutsideofscriptaliasdirectories"> +ScriptAlias $B%G%#%l%/%H%j30$N(B CGI</a></h3> + +<p>CGI $B%W%m%0%i%`$O!"%;%-%e%j%F%#>e$NM}M3$+$i(B +<code>ScriptAlias</code> $B$5$l$?%G%#%l%/%H%j$K@)8B$5$l$k$3$H$,$7$P$7$P$"$j$^$9!#(B +$B$3$NJ}K!$K$h$j!"(BCGI $B%W%m%0%i%`$r;HMQ$G$-$k%f!<%6$r4IM}<T$,87$7$/@)8f$9$k(B +$B$3$H$,$G$-$^$9!#(B +$B$7$+$7$J$,$i!"E,@Z$J%;%-%e%j%F%#;vA0BP:v$,$H$i$l$k$J$i$P!"(BCGI $B%W%m%0%i%`(B +$B$rG$0U$N%G%#%l%/%H%j$G<B9T$G$-$J$$$h$&$K$9$kM}M3$O$"$j$^$;$s!#(B +$BNc$($P!"%f!<%6$K(B <code>UserDir</code> $B%G%#%l%/%F%#%V$G(B +$BH`$i$N%[!<%`%G%#%l%/%H%jG[2<$K%&%'%V%3%s%F%s%D$r;}$?$;$?$$$H$7$^$9!#(B +$B$b$7!"H`$i$,(B CGI $B%W%m%0%i%`$r;}$D$3$H$rK>$s$G$$$F$b!"%a%$%s$N(B +<code>cgi-bin</code> $B%G%#%l%/%H%j$X$N%"%/%;%9$,$G$-$J$$>l9g!"(BCGI $B%W%m%0%i%`$r(B +$B<B9T$9$k$3$H$,$G$-$kB>$N>l=j$,I,MW$K$J$j$^$9!#(B</p> + +<h3><a name="explicitlyusingoptionstopermitcgiexecution"> +CGI $B$N<B9T$r2DG=$K$9$k$?$a$K(B Options $B$rL@<(E*$K;HMQ$9$k(B</a></h3> + +<p>$B%5!<%P$N%a%$%s$N@_Dj%U%!%$%kCf$G(B <code>Options</code> $B%G%#%l%/%F%#%V$r(B +$BL@<(E*$K;HMQ$9$k$3$H$G!"FCDj$N%G%#%l%/%H%jG[2<$G(B CGI $B$N<B9T$r5v2D$9$k$h$&$K(B +$B;XDj$9$k$3$H$,$G$-$^$9(B:<p> + +<pre> + <Directory /usr/local/apache/htdocs/somedir> + Options +ExecCGI + </Directory> +</pre> + +<p>$B>e5-%G%#%l%/%F%#%V$O!"(BCGI $B%U%!%$%k$N<B9T$r2DG=$K$9$k$h$&(B Apache +$B$KEA$($^$9!#$^$?!"$I$N%U%!%$%k$,(B CGI $B%U%!%$%k$+$r(B +$B%5!<%P$KEA$($kI,MW$,$"$j$^$9!#<!$N(B <code>AddHandler</code> +$B%G%#%l%/%F%#%V$NNc$G$O!"(B<code>cgi</code> $B$^$?$O(B <code>pl</code> $B$r3HD%;R$K(B +$B;}$D$9$Y$F$N%U%!%$%k$r(B CGI $B%W%m%0%i%`$H$7$F$_$J$9$3$H$r%5!<%P$KEA$($^$9(B:<p> + +<pre> + AddHandler cgi-script cgi pl +</pre> + +<h3><a name="htaccessfiles">.htaccess $B%U%!%$%k(B</a></h3> + +<p><code>.htaccess</code> $B%U%!%$%k$O!"%G%#%l%/%H%jKh$K(B +$B%G%#%l%/%F%#%V$r;XDj$9$kJ}K!$G$9!#(B +Apache $B$O!"%j%=!<%9$rDs6!$9$k$H$-$K!"Ds6!$9$k%U%!%$%k$,CV$+$l$F$$$k(B +$B%G%#%l%/%H%jCf$N(B <code>.htaccess</code> $B$H$$$&%U%!%$%k$r;2>H$7$^$9!#(B +$B$=$N%U%!%$%k$rH/8+$7$?$i!"$=$NCf$GH/8+$5$l$?%G%#%l%/%F%#%V$,E,MQ$5$l$^$9!#(B +<code>.htaccess</code> $B%U%!%$%k$O!"(B<code>AllowOverride</code> +$B%G%#%l%/%F%#%V$N;XDj$K$h$j;H$($k$h$&$K$J$j$^$9!#(B +<code>AllowOverride</code> $B%G%#%l%/%F%#%V$O!"(B<code>.htaccess</code> $B%U%!%$%k$G(B +$B@_Dj$G$-$k%G%#%l%/%F%#%V$N%?%$%W$r;XDj$7$^$9!#(B +<code>AllowOverride</code> $B%G%#%l%/%F%#%V$N;XDj$,$J$$>l9g!"$^$C$?$/;H$($^$;$s!#(B +CGI $B$N<B9T$r5v2D$9$k$?$a$KI,MW$H$J$k%G%#%l%/%F%#%V$r;XDj2DG=$K$9$k$K$O!"(B +$B0J2<$N@_Dj$,%5!<%P$N%a%$%s$N@_Dj$GI,MW$K$J$j$^$9(B:</p> + +<pre> + AllowOverride Options +</pre> + +<p><code>.htaccess</code> $B%U%!%$%k$G$O!"<!$N%G%#%l%/%F%#%V$,I,MW$H(B +$B$J$j$^$9(B:</p> + +<pre> + Options +ExecCGI +</pre> + +<p>$B$3$N@_Dj$G$O!"$3$N%G%#%l%/%H%j$K$*$1$k(B CGI $B%W%m%0%i%`$N<B9T$r5v2D$9$k$h$&(B +Apache $B$KEA$($^$9!#(B</p> + +<hr> +<h2><a name="writingacgiprogram">CGI $B%W%m%0%i%`$r=q$/(B</a></h2> + +<p>$BDL>o$N%W%m%0%i%_%s%0$H(B CGI $B%W%m%0%i%_%s%0$N4V$K$O<g$KFs$D$N0c$$$,(B +$B$"$j$^$9!#(B</p> + +<p>$B0l$D$O!"(BCGI $B%W%m%0%i%`$N$9$Y$F$N=PNO$K$O(B MIME-type +$B%X%C%@$rIU$1$J$1$l$P$J$j$^$;$s!#$3$l$O$I$N$h$&$J<oN`$N%3%s%F%s%D$r<u$1<h$C$F(B +$B$$$k$+$r%/%i%$%"%s%H$K<($9(B HTTP $B%X%C%@$G$9!#$[$H$s$I$N>l9g$G$O!"(B +$B<!$N$h$&$K=PNO$7$^$9(B:</p> + +<pre> + Content-type: text/html +</pre> + +<p>$B$b$&0l$D$O!"=PNO$r(B HTML $B$+!"%V%i%&%6$,I=<($9$k$3$H$,(B +$B$G$-$k2?$+B>$N7A<0$K$9$kI,MW$,$"$j$^$9!#(B +$BBgDq$N>l9g$O(B HTML $B$G$7$g$&$,!"(BGIF $B%$%a!<%8$dB>$NHs(B HTML +$B%3%s%F%s%D$r=PNO$9$k(B CGI $B%W%m%0%i%`$r=q$/$3$H$b$"$k$G$7$g$&!#(B</p> + +<p>$B$3$l$iFsE@0J30$G$O!"(BCGI $B%W%m%0%i%`$r=q$/$3$H$O!"$"$J$?$,=q$$$F$$$k(B +$BB>$N%W%m%0%i%`$HBg$$$K;w$F$$$k$G$7$g$&!#(B</p> + +<h3><a name="yourfirstcgiprogram">$B$"$J$?$N:G=i$N(B CGI $B%W%m%0%i%`(B</a></h3> + +<p>$B<!$K<($9$N$O!"%V%i%&%6$K(B 1 $B9T0u;z$9$k(B CGI $B%W%m%0%i%`$NNc$G$9!#(B +$B0J2<$rF~NO$7!"(B<code>first.pl</code> $B$H$$$&%U%!%$%k$KJ]B8$7!"$=$l$r(B +<code>cgi-bin</code> $B%G%#%l%/%H%j$KCV$$$F$/$@$5$$!#(B</p> + +<pre> + #!/usr/bin/perl + print "Content-type: text/html\r\n\r\n"; + print "Hello, World."; +</pre> + +<p>Perl $B$K@:DL$7$F$$$J$/$F$b!"2?$,5/$3$k$+$r(B +$BM}2r$9$k$3$H$O$G$-$k$O$:$G$9!#(B +1 $B9TL\$O!"(B<code>/usr/bin/perl</code> $B$G8+$D$1(B +$B$i$l$k%$%s%?%W%j%?$K$3$N%U%!%$%k$r6!5k$9$k$3$H$G$3$N%W%m%0%i%`$,<B9T$5$l$k$3$H$r(B +Apache $B$K(B ($B%7%'%k>e$G<B9T$7$h$&$H$7$F$$$k$J$i$P!"$=$N%7%'%k$K(B ) $B<($7$^$9!#(B +2 $B9TL\$O!"A0=R$7$?$H$*$j(B content-type $B$NDj5A$r0u;z$7$^$9!#(B +$B$3$l$K$OI|5"2~9T$NFs$D$NAH$r8e$KIU2C$7$^$9!#$3$l$K$h$j!"(B +$B%X%C%@$N=*$j$K6u9T$,CV$+$l!"(BHTTP $B%X%C%@$N=*$j$H%\%G%#$N;O$^$j$r<($7$^$9!#(B +3 $B9TL\$O!"(B``Hello, World.'' $B$H$$$&J8;zNs$r0u;z$7!"$3$l$G=*$j$H$J$j$^$9!#(B</p> + +<p>$B9%$_$N%V%i%&%6$r3+$-!"%"%I%l%9(B</p> + +<pre> + http://www.example.com/cgi-bin/first.pl +</pre> + +<p>$B$"$k$$$O%U%!%$%k$rCV$$$?%m%1!<%7%g%s$r;XDj$9$k$H!"(B +<code>Hello, World.</code> $B$H$$$&(B 1 $B9T$,%V%i%&%6%&%#%s%I$K8=$l$k$G$7$g$&!#(B +$B$=$l$O$"$^$j%(%-%5%$%F%#%s%0$J$3$H$G$O$"$j$^$;$s!#(B +$B$7$+$7!"$3$l$,$&$^$/F0$1$P!"(B +$BB>$N$I$N$h$&$J$b$N$G$bF0$+$9$3$H$,$G$-$k$h$&$K$J$j$^$9!#(B</p> + +<hr> +<h2><a name="butitsstillnotworking">$B$7$+$7!"$^$@F0$+$J$$(B !</a></h2> + +<p>$B%&%'%V$+$i(B CGI $B%W%m%0%i%`$X$N%"%/%;%9$r9T$J$C$?$H$-!"(B +$B%V%i%&%6$G8+$k2DG=@-$,$"$k;M$D$N4pK\E*$J$3$H$,$"$j$^$9(B:</p> + +<dl> +<dt>CGI $B%W%m%0%i%`$N=PNO(B</dt> +<dd>$BAG@2$i$7$$(B ! $B$=$l$O$9$Y$F$,$&$^$/F0$$$?$3$H$r0UL#$7$^$9!#(B<br><br></dd> + +<dt>CGI $B%W%m%0%i%`$N%=!<%9%3!<%I!"$^$?$O(B "POST Method Not Allowed" +$B$H$$$&%a%C%;!<%8(B</dt> +<dd>$B$3$l$O!"(BCGI $B%W%m%0%i%`$r=hM}$G$-$k$h$&(B Apache $B$rE,@Z$K@_Dj$7$F(B +$B$$$J$+$C$?$3$H$r0UL#$7$^$9!#(B +<a href="#configuringapachetopermitcgi">$B!V(BCGI $B$r5v2D$9$k$h$&$K(B Apache $B$r@_Dj$9$k!W(B</a>$B$N>O$rFI$_D>$7!"$"$J$?$,2?$r4V0c$($?$+$r(B +$BC5$7$F$_$F$/$@$5$$!#(B<br><br></dd> + +<dt>$B%a%C%;!<%8$,(B "Forbidden" $B$G;O$^$C$F$$$k(B</dt> +<dd>$B$3$l$O%Q!<%_%C%7%g%s$NLdBj$H$$$&$3$H$r0UL#$7$^$9!#(B +<a href="#errorlogs">Apache $B$N%(%i!<%m%0(B</a>$B$H!"8e=R$N(B +<a href="#filepermissions">$B!V%U%!%$%k$N%Q!<%_%C%7%g%s!W(B</a>$B$N>O$r(B +$B%A%'%C%/$7$F$/$@$5$$!#(B +<br><br></dd> + +<dt>"Internal Server Error" $B$H$$$&%a%C%;!<%8(B</dt> +<dd><a href="#errorlogs">Apache $B$N%(%i!<%m%0(B</a>$B$r%A%'%C%/$9$k$H!"(B +"Premature end of script headers" $B$H$$$&%m%0$,5-O?$5$l$F$$$k$H;W$$$^$9!#(B +$B$=$7$F!"$*$=$i$/(B CGI $B%W%m%0%i%`$K$h$C$F@8@.$5$l$?%(%i!<%a%C%;!<%8$b5-O?$5$l$F$$$k$G$7$g$&!#(B +$B$3$N>l9g!"(BCGI $B%W%m%0%i%`$,E,@Z$J(B HTTP $B%X%C%@$r=PNO$G$-$J$$860x$r(B +$BCN$k$?$a$K!"0J2<$N3F>O$G%A%'%C%/$7$F$_$F$/$@$5$$!#(B</dd> +</dl> + +<h3><a name="filepermissions">$B%U%!%$%k$N%Q!<%_%C%7%g%s(B</a></h3> + +<p>$B%5!<%P$O$"$J$?$N8"8B$G<B9T$5$l$F$$$J$$$N$rK:$l$J$$$h$&$K!#(B +$B$D$^$j!"5/F0$9$k$H$-!"%5!<%P$OFC8"$r$b$?$J$$%f!<%6(B - $BDL>o(B ``nobody'' $B$d(B ``www'' +$B$N8"8B$G<B9T$5$l$^$9!#$7$?$,$C$F!"$"$J$?$,=jM-$9$k%U%!%$%k$r(B +$B<B9T$9$k$K$OJL$N%Q!<%_%C%7%g%s$,I,MW$H$J$j$^$9!#(B +$BDL>o!"(B``nobody'' $B$,<B9T$9$k$N$K==J,$J%Q!<%_%C%7%g%s$rM?$($kJ}K!$O!"%U%!%$%k$K(B +$BC/$G$b<B9T2DG=$H$9$k%Q!<%_%C%7%g%s$rM?$($k$3$H$G$9(B:</p> + +<pre> + chmod a+x first.pl +</pre> + +<p>$B$^$?!"$b$7$"$J$?$N%W%m%0%i%`$,B>$N%U%!%$%k$rFI$_=q$-$9$k$J$i$P!"(B +$B$=$l$i$N%U%!%$%k$O!"$3$l$,2DG=$H$J$k@5$7$$%Q!<%_%C%7%g%s$r;}$C$F$$$kI,MW$,(B +$B$"$j$^$9!#(B</p> + +<p>$B$3$l$KBP$9$kNc30$O!"%5!<%P$,(B <a href="../suexec.html">suexec</a> $B$r(B +$B;HMQ$9$k$h$&@_Dj$5$l$F$$$k>l9g$G$9!#(B +suexec $B$O!"(BCGI $B%W%m%0%i%`$,CV$+$l$F$$$k%P!<%A%c%k%[%9%H$^$?$O%f!<%6$N%[!<%`(B +$B%G%#%l%/%H%j$K$h$C$F!"0[$J$k%f!<%68"8B$G(B +$B<B9T$5$l$k$h$&$K$7$^$9!#(B +suexec $B$O$H$F$b87$7$$%Q!<%_%C%7%g%s$N%A%'%C%/$,$"$j!"(B +$B$=$N%A%'%C%/$rDL2a$G$-$J$$$H(B "Internal Server Error" $B$H$J$j!"(B +$B$=$N(B CGI $B%W%m%0%i%`$N<B9T$O<:GT$7$^$9!#(B +$B$3$N>l9g!"$I$N%;%-%e%j%F%#%A%'%C%/$,<:GT$7$F$$$k$N$+$rCN$k(B +$B$?$a$K(B suexec $B%m%0%U%!%$%k$r%A%'%C%/$9$kI,MW$,$"$j$^$9!#(B</p> + +<h3><a name="pathinformation">$B%Q%9>pJs(B</a></h3> + +<p>$B%3%^%s%I%i%$%s$+$i%W%m%0%i%`$r<B9T$9$k$H$-!"0U<1$7$J$/$F$b(B +$B%7%'%k$KEO$5$l$k>pJs$,$"$j$^$9!#(B +$BNc$($P!";2>H$9$k%U%!%$%k$N$?$a$K$I$3$r8!:w$7$?$i$h$$$+$r%7%'%k$KEA$($k%Q%9$,(B +$B$"$j$^$9!#(B</p> + +<p>$B%W%m%0%i%`$,(B CGI $B%W%m%0%i%`$H$7$F%&%'%V%5!<%P$K$h$C$F<B9T$5$l$k$H$-!"(B +$B$=$l$O%Q%9$r;}$A$^$;$s!#(B +CGI $B%W%m%0%i%`Fb$G8F$S=P$9$"$i$f$k%W%m%0%i%`(B ($BNc$($P!"(B'sendmail' $B$N(B +$B$h$&$J$b$N(B) $B$O!"%U%k%Q%9$G;XDj$9$kI,MW$,$"$k$G$7$g$&!#(B +$B$=$l$K$h$j!"(BCGI $B%W%m%0%i%`$r<B9T$7$h$&$H$7$?$H$-!"%7%'%k$O$=$N$h$&$J%W%m%0%i%`$r(B +$B8+$D$1$k$3$H$,$G$-$^$9!#(B</p> + +<p>$BF1MM$J$3$H$O!"%9%/%j%W%H$N%$%s%?%W%j%?(B ($B$7$P$7$P(B <code> perl </code>) +$B$X$N%Q%9$G!"(BCGI $B%W%m%0%i%`$N(B 1 $B9TL\$K<!$N$h$&$K<($5$l$^$9(B:</p> + +<pre> + #!/usr/bin/perl +</pre> + +<p>$B$3$l$,%$%s%?!<%W%j%?$X$N<B:]$N%Q%9$G$"$k$3$H$r3N<B$K$7$F$*$-$^$9!#(B</p> + +<h3><a name="syntaxerrors">$B9=J8%(%i!<(B</a></h3> + +<p>CGI $B%W%m%0%i%`$,<:GT$9$k$N$OBgDq!"%W%m%0%i%`<+?H$KLdBj$,$"$k>l9g$G$9!#(B +$B0lEY(B CGI $B$N;H$$J}$rM}2r$7!"A0=R$NFs$D$N8m$j$rHH$7$F$$$J$$$J$i$P!"(B +$B$^$:4V0c$$$J$/$=$&$G$7$g$&!#%V%i%&%6$rDL$7$F%F%9%H$r9T$&A0$KI,$:!"%3%^%s%I%i%$%s(B +$B$+$i%W%m%0%i%`$N<B9T$r;n$7$J$5$$!#$3$l$K$h$j!"BgDq$NLdBj$,5/$3$i$J$/$J$j$^$9!#(B</p> + +<h3><a name="errorlogs">$B%(%i!<%m%0(B</a></h3> + +<p>$B%(%i!<%m%0$OM'C#$G$9!#A4$F$N$&$^$/$$$+$J$$$3$H$O!"%(%i!<%m%0$K(B +$B%a%C%;!<%8$r@8@.$7$^$9!#I,$:$=$l$r:G=i$K8+$k$Y$-$G$9!#(B +$B$b$7!"$"$J$?$,%&%'%V%5%$%H$r<g:E$7$F$$$k>l=j$,%(%i!<%m%0$N;2>H$r(B +$B5v$7$F$$$J$$$J$i$P!"$-$C$HB>$N%5%$%H$G<g:E$9$k$Y$-$G$9!#(B +$B%(%i!<%m%0$NFI$_J}$r3X$V$3$H$G!"$[$H$s$IA4$F$NLdBj$,?WB.$K(B +$B3NG'$5$l!"?WB.$K2r7h$5$l$k$H$$$&$3$H$,J,$+$k$G$7$g$&!#(B</p> + +<hr> +<h2><a name="whatsgoingonbehindthescenes">$BN"$G2?$,5/$3$C$F$$$k$N$+(B?</a></h2> + +<p>CGI $B%W%m%0%i%_%s%0$K=OC#$9$k$H!"N"$G5/$3$C$F$$$k(B +$B$3$H$K$D$$$F99$KM}2r$9$k$3$H$OM-1W$K$J$k$G$7$g$&!#%V%i%&%6$H(B +$B%5!<%P$,$I$N$h$&$KAj8_DL?.$9$k$+$K$D$$$F$OFC$K$=$&$G$9!#$J$<$J$i!"(B +``Hello, World.'' $B$r0u;z$9$k%W%m%0%i%`$r=q$/$3$H$O$^$3$H$K7k9=$G$9$,!"(B +$B$=$l$OFC$KM-1W$G$O$"$j$^$;$s!#(B</p> + +<h3><a name="environmentvariables">$B4D6-JQ?t(B</a></h3> + +<p>$B4D6-JQ?t$O!"$"$J$?$,%3%s%T%e!<%?$r;H$&$H$-$KJU$j$KB8:_$7$F$$$kCM$G$9!#(B +$B$=$l$i$O!"%Q%9(B ($B%3%^%s%I$r%?%$%W$7$?$H$-$K<B9T$9$k<B:]$N%U%!%$%k$r(B +$BC5$7=P$9$H$3$m(B)$B!"%f!<%6L>!"C<Kv7?$J$I$N$h$&$JJXMx$J$b$N$G$9!#(B +$BDL>o$N!"KhF|$N4D6-JQ?t$N40A4$J%j%9%H$rD4$Y$k$K$O!"%3%^%s%I%W%m%s%W%H$G(B +<code>env</code> $B$rF~NO$7$^$9!#(B</p> + +<p>CGI $B$N=hM}Cf!"%5!<%P$H%V%i%&%6$b4D6-JQ?t$r@_Dj$7!"$=$l$K$h$j(B +$BAj8_$KDL?.$9$k$3$H$,$G$-$k$h$&$K$J$j$^$9!#(B +$B$=$N4D6-JQ?t$O!"%V%i%&%6%?%$%W(B (Netscape, IE, Lynx)$B!"(B +$B%5!<%P%?%$%W(B (Apache, IIS, WebSite)$B!"<B9T$5$l$F$$$k(B CGI $B%W%m%0%i%`$NL>A0(B +$B$J$I$N$h$&$J$b$N$G$9!#(B</p> + +<p>$B$3$l$i$NJQ?t$O(B CGI $B%W%m%0%i%^$,;HMQ$9$k$3$H$,$G$-$^$9!#$=$7$F!"(B +$B$=$l$O%/%i%$%"%s%H$H%5!<%P$NDL?.$NOC$NH>J,$G$9!#I,MW$JJQ?t$N40A4$J%j%9%H$O(B +<a href="http://hoohoo.ncsa.uiuc.edu/cgi/env.html">http://hoohoo.ncsa.uiuc.edu/cgi/env.html</a> +$B$K$"$j$^$9!#(B</p> + +<p>$B0J2<$NC1=c$J(B Perl CGI $B%W%m%0%i%`$O!"EO$5$l$kA4$F$N4D6-JQ?t$r(B +$BI=<($7$^$9!#F1MM$N%W%m%0%i%`$O!"(BApache $B%G%#%9%H%j%S%e!<%7%g%s$N(B +<code>cgi-bin</code> $B%G%#%l%/%H%j$KFs$D4^$^$l$F$$$^$9!#(B +$B$$$/$D$+$NJQ?t$,I,?\$G$"$j!"$$$/$D$+$OG$0U$G$"$k$3$H$KCm0U$7$F$/$@$5$$!#(B +$B$=$7$F!"8x<0$N%j%9%H$K$O$J$$$$$/$D$+$NJQ?t$,I=<($5$l$F$$$k$+$b$7$l$^$;$s!#(B +$B$5$i$K!"(BApache $B$O%G%U%)%k%H$GMQ0U$5$l$F$$$k4pK\E*$J$b$N$K(B +<a href="../env.html">$B$"$J$?<+?H$N4D6-JQ?t$r2C$($k(B</a> +$B$?$a$N!"B?$/$N0[$J$kJ}K!$rMQ0U$7$F$7$^$9!#(B</p> + +<pre> + #!/usr/bin/perl + print "Content-type: text/html\n\n"; + foreach $key (keys %ENV) { + print "$key --> $ENV{$key}<br>"; + } +</pre> + +<h3><a name="stdinandstdout">STDIN $B$H(B STDOUT</a></h3> + +<p>$B%5!<%P$H%/%i%$%"%s%H4V$N$b$&0l$D$NDL?.$O!"I8=`F~NO(B (<code>STDIN</code>)$B$H(B +$BI8=`=PNO(B (<code>STDOUT</code>) $B$rDL$8$F9T$J$o$l$^$9!#DL>o$NJ8L.$K$*$$$F!"(B +<code>STDIN</code> $B$O%-!<%\!<%I$d%W%m%0%i%`$,F0:n$9$k$?$a$KM?$($i$l$k(B +$B%U%!%$%k$r0UL#$7!"(B<code>STDOUT</code> $B$ODL>o%3%s%=!<%k$^$?$O%9%/%j!<%s$r(B +$B0UL#$7$^$9!#(B</p> + +<p>$B%&%'%V%U%)!<%`$+$i(B CGI $B%W%m%0%i%`$X(B<code>POST</code> $B$7$?$H$-!"(B +$B%U%)!<%`$N%G!<%?$OFCJL$J%U%)!<%^%C%H$GB+$M$i$l!"(B<code>STDIN</code> $B$r(B +$BDL$7$F!"(BCGI $B%W%m%0%i%`$K0z$-EO$5$l$^$9!#%W%m%0%i%`$O%G!<%?$,%-!<%\!<%I(B +$B$b$7$/$O%U%!%$%k$+$iMh$F$$$?$+$N$h$&$K=hM}$9$k$3$H$,$G$-$^$9!#(B</p> + +<P>$B!VFCJL$J%U%)!<%^%C%H!W$O$H$F$bC1=c$G$9!#%U%#!<%k%IL>$HCM$O%$%3!<%k(B +(=) $B$G7k$P$l$^$9!#$=$7$FCM$NAH$O%"%s%Q%5%s%I(B (&) $B$G(B +$B7k$P$l$^$9!#%9%Z!<%9!"%"%s%Q%5%s%I!"%$%3!<%k$N$h$&$JLLE]$JJ8;z(B +$B$O!"$=$l$i$,F0:n$rBLL\$K$7$J$$$h$&$K$=$NJ8;z$KAjEv$9$k(B 16 $B?J$KJQ49$5$l$^$9!#(B +$BA4%G!<%?J8;zNs$O!"0J2<$N$h$&$K$J$j$^$9(B:</p> + +<pre> + name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey +</pre> + +<p>$B;~!9!"$3$N$h$&$JJ8;zNs$,(B URL $B$KIU2C$5$l$k$N$r8+$k$G$7$g$&!#(B +$B$=$N>l9g!"%5!<%P$O(B <code>QUERY_STRING</code> $B$H$$$&4D6-JQ?t$K$=$N(B +$BJ8;zNs$rF~$l$^$9!#$=$l$O(B <code>GET</code> $B%j%/%(%9%H$H8F$P$l$^$9!#(B +HTML $B%U%)!<%`$G$O!"%G!<%?$rEO$9$?$a$K(B <code>GET</code> $B$H(B <code>POST</code> +$B$N$I$A$i$r;HMQ$9$k$+$r!"(B +<code>FORM</code>$B%?%0$N(B <code>METHOD</code> $BB0@-$N@_Dj$G;XDj$7$^$9!#(B</p> + +<p>CGI $B%W%m%0%i%`$O!"$=$NJ8;zNs$rLr$KN)$D>pJs$KJ,3d$9$k@UG$$,$"$j$^$9!#(B +$B9,$$$K$b!"$=$N%G!<%?=hM}$r=u$1$k%i%$%V%i%j$d%b%8%e!<%k$,B8:_$7$^$9!#$3$l$i$O!"(B +CGI $B%W%m%0%i%`$NB>$NLL$G$bF1MM$KLr$KN)$A$^$9!#(B</p> + +<hr> +<h2><a name="cgimoduleslibraries">CGI $B%b%8%e!<%k(B/$B%i%$%V%i%j(B</a></h2> + +<p>CGI $B%W%m%0%i%`$r=q$/$H$-!"LLE]$J;E;v$NBgItJ,$r$7$F$/$l$k(B +$B%3!<%I%i%$%V%i%j$^$?$O%b%8%e!<%k$r;H$&$3$H$r8!F$$9$Y$-$G$9!#(B +$B$3$l$O%(%i!<$r8:$i$7!"Aa$$3+H/$K$D$J$,$j$^$9!#(B</p> + +<p>Perl $B$G(B CGI $B%W%m%0%i%`$r=q$$$F$$$k$J$i!"%b%8%e!<%k$O(B +<a href="http://www.cpan.org/">CPAN</a> $B$GDs6!$5$l$F$$$^$9!#$3$NL\E*$N$?$a$N(B +$B:G$bIa5Z$7$F$$$k%b%8%e!<%k$O(B CGI.pm $B$G$9!#(B +CGI::Lite $B$b8!F$$7$^$7$g$&!#$3$l$O!"$[$H$s$I$N%W%m%0%i%`$K$*$$$FI,MW$H$9$k$9$Y$F$N5!G=$N:G>.%;%C%H$N<BAu$G$9!#(B</p> + +<p>C $B$G(B CGI $B%W%m%0%i%`$r=q$$$F$$$k$J$i!"$$$m$$$m$J(B +$B%*%W%7%g%s$,$"$j$^$9!#$3$l$i$NFb$N0l$D$O(B +<a href="http://www.boutell.com/cgic/">http://www.boutell.com/cgic/</a> +$B$GDs6!$5$l$F$$$k(B CGIC $B%i%$%V%i%j$G$9!#(B</p> + +<hr> +<h2><a name="formoreinformation">$B99$J$k>pJs(B</a></h2> + +<p>CGI $B$K4X$9$k>pJs$O%&%'%V$G?tB?$/Ds6!$5$l$F$$$^$9!#(BCGI $B$NLdBj$K$D$$$F$O(B +Usenet $B$N(B comp.infosystems.www.authoring.cgi $B$G!"B>$N%f!<%6$H(B +$BO@5D$9$k$3$H$,$G$-$^$9!#(BHTML Writers Guide $B$N(B -servers$B%a!<%j%s%0%j%9%H(B +$B$O!"$"$J$?$N<ALd$K2sEz$7$F$/$l$k0NBg$J%j%=!<%9$G$9!#(B +<a href="http://www.hwg.org/lists/hwg-servers/">http://www.hwg.org/lists/hwg-servers/</a> +$B$G99$KB?$/$rC5$7=P$9$3$H$,(B +$B$G$-$^$9!#(B</p> + +<p>$B$=$7$F$b$A$m$s!"$*$=$i$/(B CGI $B%W%m%0%i%`$NF0:n$K4X$9$k>\:Y$N(B +$BA4$F$,5-=R$5$l$F$$$k(B CGI $B$N;EMM$rFI$`$Y$-$G$9!#%*%j%8%J%k%P!<%8%g%s$r(B +<a href="http://hoohoo.ncsa.uiuc.edu/cgi/interface.html">NCSA</a> $B$G!"(B +$B%"%C%W%G!<%H$5$l$?%I%i%U%H$r(B +<a href="http://web.golux.com/coar/cgi/">Common Gateway Interface RFC +$B%W%m%8%'%/%H(B</a>$B$G;2>H$9$k$3$H$,$G$-$^$9!#(B</p> + +<p>CGI $B$NLdBj$K$D$$$F!"2C$o$C$F$$$k%a!<%j%s%0%j%9%H$^$?$O%K%e!<%9(B +$B%0%k!<%W$K<ALd$rAw$k$H$-!"5/$3$C$?$b$N!"5/$3$C$F$[$7$$$3$H!"(B +$B<B:]$K5/$3$C$?$3$H$,$I$&0c$&$+!";HMQ$7$F$$$k%5!<%P!"(B +CGI $B%W%m%0%i%`$r5-=R$7$F$$$k8@8l$K4X$9$k==J,$J>pJs$H!"(B +$B2DG=$G$"$l$PLdBj$N%3!<%I$rDs6!$9$k$h$&$K$7$F$/$@$5$$!#(B +$B$=$&$9$k$3$H$G!"LdBj$,$h$j4VC1$K8+$D$+$k$h$&$K$J$j$^$9!#(B</p> + +<p>Apache $B$N%=!<%9%3!<%I$K$*$$$FLdBj$rH/8+$7$?$3$H$r3N?.$7$F$$$J$$(B +$B8B$j!"(BCGI $B$NLdBj$K4X$9$k<ALd$r(B Apache $B%P%0%G!<%?%Y!<%9$KAw$k$Y$-$G$J$$(B +$B$3$H$KCmL\$7$F$/$@$5$$!#(B</p> + +<!--#include virtual="footer.html" --> + +</body> +</html> + diff --git a/usr.sbin/httpd/htdocs/manual/howto/footer.html b/usr.sbin/httpd/htdocs/manual/howto/footer.html new file mode 100644 index 00000000000..7fe745dcfde --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/howto/footer.html @@ -0,0 +1,8 @@ +<HR> + +<H3 ALIGN="CENTER"> + Apache HTTP Server Version 1.3 +</H3> + +<A HREF="./"><IMG SRC="../images/index.gif" ALT="Index"></A> +<A HREF="../"><IMG SRC="../images/home.gif" ALT="Home"></A> diff --git a/usr.sbin/httpd/htdocs/manual/howto/header.html b/usr.sbin/httpd/htdocs/manual/howto/header.html new file mode 100644 index 00000000000..56623000296 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/howto/header.html @@ -0,0 +1,6 @@ +<DIV ALIGN="CENTER"> + <IMG SRC="../images/sub.gif" ALT="[APACHE DOCUMENTATION]"> + <H3> + Apache HTTP Server Version 1.3 + </H3> +</DIV> diff --git a/usr.sbin/httpd/htdocs/manual/howto/ssi.html.en b/usr.sbin/httpd/htdocs/manual/howto/ssi.html.en new file mode 100644 index 00000000000..d804733738b --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/howto/ssi.html.en @@ -0,0 +1,519 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> +<title>Apache Tutorial: Introduction to Server Side Includes</title> +<link rev="made" href="mailto:rbowen@rcbowen.com"> +</head> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080" +alink="#FF0000"> +<!--#include virtual="header.html" --> +<h1 align="CENTER">Apache Tutorial: Introduction to Server Side +Includes</h1> + +<a name="__index__"></a> <!-- INDEX BEGIN --> + + +<ul> +<li><a href= +"#apachetutorial:introductiontoserversideincludes">Apache +Tutorial: Introduction to Server Side Includes</a></li> + +<li><a href="#whataressi">What are SSI?</a></li> + +<li><a href="#configuringyourservertopermitssi">Configuring your +server to permit SSI</a></li> + +<li><a href="#basicssidirectives">Basic SSI directives</a> + +<ul> + <li><a href="#today'sdate">Today's date</a></li> + + <li><a href="#modificationdateofthefile">Modification date of the +file</a></li> + + <li><a href="#includingtheresultsofacgiprogram">Including the +results of a CGI program</a></li> +</ul> +</li> + +<li><a href="#additionalexamples">Additional examples</a> + +<ul> +<li><a href="#whenwasthisdocumentmodified">When was this document +modified?</a></li> + +<li><a href="#includingastandardfooter">Including a standard +footer</a></li> + +<li><a href="#whatelsecaniconfig">What else can I config?</a></li> + +<li><a href="#executingcommands">Executing commands</a></li> +</ul> +</li> + +<li><a href="#advancedssitechniques">Advanced SSI techniques</a> + +<ul> +<li><a href="#settingvariables">Setting variables</a></li> + +<li><a href="#conditionalexpressions">Conditional expressions</a></li> +</ul> +</li> + +<li><a href="#conclusion">Conclusion</a></li> +</ul> + +<!-- INDEX END --> +<hr> +<h2><a name= +"apachetutorial:introductiontoserversideincludes">Apache +Tutorial: Introduction to Server Side Includes</a></h2> + +<table border="1"> +<tr> +<td valign="top"><strong>Related Modules</strong><br> +<br> + <a href="../mod/mod_include.html">mod_include</a><br> +<a href="../mod/mod_cgi.html">mod_cgi</a><br> +<a href="../mod/mod_expires.html">mod_expires</a><br> + </td> +<td valign="top"><strong>Related Directives</strong><br> +<br> + <a href="../mod/core.html#options">Options</a><br> +<a href="../mod/mod_include.html#xbithack">XBitHack</a><br> +<a href="../mod/mod_mime.html#addtype">AddType</a><br> +<a href="../mod/mod_mime.html#addhandler">AddHandler</a><br> +<a href= +"../mod/mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a><br> + + </td> +</tr> +</table> + +<p>This HOWTO first appeared in Apache Today +(http://www.apachetoday.com/) as a series of three articles. They +appear here by arrangement with ApacheToday and Internet.com.</p> + +<p>This article deals with Server Side Includes, usually called simply +SSI. In this article, I'll talk about configuring your server to permit +SSI, and introduce some basic SSI techniques for adding dynamic content +to your existing HTML pages.</p> + +<p>In the latter part of the article, we'll talk about some of the +somewhat more advanced things that can be done with SSI, such as +conditional statements in your SSI directives.</p> + +<hr> +<h2><a name="whataressi">What are SSI?</a></h2> + +<p>SSI (Server Side Includes) are directives that are placed in HTML +pages, and evaluated on the server while the pages are being served. +They let you add dynamically generated content to an existing HTML +page, without having to serve the entire page via a CGI program, or +other dynamic technology.</p> + +<p>The decision of when to use SSI, and when to have your page entirely +generated by some program, is usually a matter of how much of the page +is static, and how much needs to be recalculated every time the page is +served. SSI is a great way to add small pieces of information, such as +the current time. But if a majority of your page is being generated at +the time that it is served, you need to look for some other +solution.</p> + +<hr> +<h2><a name="configuringyourservertopermitssi">Configuring your +server to permit SSI</a></h2> + +<p>To permit SSI on your server, you must have the following directive +either in your <code>httpd.conf</code> file, or in a +<code>.htaccess</code> file:</p> + +<pre> + Options +Includes +</pre> + +<p>This tells Apache that you want to permit files to be parsed for SSI +directives.</p> + +<p>Not just any file is parsed for SSI directives. You have to tell +Apache which files should be parsed. There are two ways to do this. You +can tell Apache to parse any file with a particular file extension, +such as <code>.shtml</code>, with the following directives:</p> + +<pre> + AddType text/html .shtml + AddHandler server-parsed .shtml +</pre> + +<p>One disadvantage to this approach is that if you wanted to add SSI +directives to an existing page, you would have to change the name of +that page, and all links to that page, in order to give it a +<code>.shtml</code> extension, so that those directives would be +executed.</p> + +<p>The other method is to use the <code>XBitHack</code> directive:</p> + +<pre> + XBitHack on +</pre> + +<p><code>XBitHack</code> tells Apache to parse files for SSI directives +if they have the execute bit set. So, to add SSI directives to an +existing page, rather than having to change the file name, you would +just need to make the file executable using <code>chmod</code>.</p> + +<pre> + chmod +x pagename.html +</pre> + +<p>A brief comment about what not to do. You'll occasionally see people +recommending that you just tell Apache to parse all <code>.html</code> +files for SSI, so that you don't have to mess with <code>.shtml</code> +file names. These folks have perhaps not heard about +<code>XBitHack</code>. The thing to keep in mind is that, by doing +this, you're requiring that Apache read through every single file that +it sends out to clients, even if they don't contain any SSI directives. +This can slow things down quite a bit, and is not a good idea.</p> + +<p>Of course, on Windows, there is no such thing as an execute bit to +set, so that limits your options a little.</p> + +<p>In its default configuration, Apache does not send the last modified +date or content length HTTP headers on SSI pages, because these values are +difficult to calculate for dynamic content. This can prevent your +document from being cached, and result in slower perceived client +performance. There are two ways to solve this:</p> + +<ol> + +<li>Use the <code>XBitHack Full</code> configuration. This tells +Apache to determine the last modified date by looking only at the date +of the originally requested file, ignoring the modification date of +any included files. </li> + +<li>Use the directives provided by <a +href="../mod/mod_expires.html">mod_expires</a> to set an explicit +expiration time on your files, thereby letting browsers and proxies +know that it is acceptable to cache them. </li> + +</ol> + + +<hr> +<h2><a name="basicssidirectives">Basic SSI directives</a></h2> + +<p>SSI directives have the following syntax:</p> + +<pre> + <!--#element attribute=value attribute=value ... --> +</pre> + +<p>It is formatted like an HTML comment, so if you don't have SSI +correctly enabled, the browser will ignore it, but it will still be +visible in the HTML source. If you have SSI correctly configured, the +directive will be replaced with its results.</p> + +<p>The element can be one of a number of things, and we'll talk some +more about most of these in the next installment of this series. For +now, here are some examples of what you can do with SSI</p> + +<h3><a name="today'sdate">Today's date</a></h3> + +<pre> + <!--#echo var="DATE_LOCAL" --> +</pre> + +<p>The <code>echo</code> element just spits out the value of a +variable. There are a number of standard variables, which include the +whole set of environment variables that are available to CGI programs. +Also, you can define your own variables with the <code>set</code> +element.</p> + +<p>If you don't like the format in which the date gets printed, you can +use the <code>config</code> element, with a <code>timefmt</code> +attribute, to modify that formatting.</p> + +<pre> + <!--#config timefmt="%A %B %d, %Y" --> + Today is <!--#echo var="DATE_LOCAL" --> +</pre> + +<h3><a name="modificationdateofthefile">Modification date of the +file</a></h3> + +<pre> + This document last modified <!--#flastmod file="index.html" --> +</pre> + +<p>This element is also subject to <code>timefmt</code> format +configurations.</p> + +<h3><a name="includingtheresultsofacgiprogram">Including the +results of a CGI program</a></h3> + +<p>This is one of the more common uses of SSI - to output the results +of a CGI program, such as everybody's favorite, a ``hit counter.''</p> + +<pre> + <!--#include virtual="/cgi-bin/counter.pl" --> +</pre> + +<hr> +<h2><a name="additionalexamples">Additional examples</a></h2> + +<p>Following are some specific examples of things you can do in your +HTML documents with SSI.</p> + +<hr> +<h2><a name="whenwasthisdocumentmodified">When was this document +modified?</a></h2> + +<p>Earlier, we mentioned that you could use SSI to inform the user when +the document was most recently modified. However, the actual method for +doing that was left somewhat in question. The following code, placed in +your HTML document, will put such a time stamp on your page. Of course, +you will have to have SSI correctly enabled, as discussed above.</p> + +<pre> + <!--#config timefmt="%A %B %d, %Y" --> + This file last modified <!--#flastmod file="ssi.shtml" --> +</pre> + +<p>Of course, you will need to replace the <code>ssi.shtml</code> with +the actual name of the file that you're referring to. This can be +inconvenient if you're just looking for a generic piece of code that +you can paste into any file, so you probably want to use the +<code>LAST_MODIFIED</code> variable instead:</p> + +<pre> + <!--#config timefmt="%D" --> + This file last modified <!--#echo var="LAST_MODIFIED" --> +</pre> + +<p>For more details on the <code>timefmt</code> format, go to your +favorite search site and look for <code>ctime</code>. The syntax is the +same.</p> + +<hr> +<h2><a name="includingastandardfooter">Including a standard +footer</a></h2> + +<p>If you are managing any site that is more than a few pages, you may +find that making changes to all those pages can be a real pain, +particularly if you are trying to maintain some kind of standard look +across all those pages.</p> + +<p>Using an include file for a header and/or a footer can reduce the +burden of these updates. You just have to make one footer file, and +then include it into each page with the <code>include</code> SSI +command. The <code>include</code> element can determine what file to +include with either the <code>file</code> attribute, or the +<code>virtual</code> attribute. The <code>file</code> attribute is a +file path, <em>relative to the current directory</em>. That means that +it cannot be an absolute file path (starting with /), nor can it +contain ../ as part of that path. The <code>virtual</code> attribute is +probably more useful, and should specify a URL relative to the document +being served. It can start with a /, but must be on the same server as +the file being served.</p> + +<pre> + <!--#include virtual="/footer.html" --> +</pre> + +<p>I'll frequently combine the last two things, putting a +<code>LAST_MODIFIED</code> directive inside a footer file to be +included. SSI directives can be contained in the included file, and +includes can be nested - that is, the included file can include another +file, and so on.</p> + +<hr> +<h2><a name="whatelsecaniconfig">What else can I config?</a></h2> + +<p>In addition to being able to <code>config</code> the time format, +you can also <code>config</code> two other things.</p> + +<p>Usually, when something goes wrong with your SSI directive, you get +the message</p> + +<pre> + [an error occurred while processing this directive] +</pre> + +<p>If you want to change that message to something else, you can do so +with the <code>errmsg</code> attribute to the <code>config</code> +element:</p> + +<pre> + <!--#config errmsg="[It appears that you don't know how to use SSI]" --> +</pre> + +<p>Hopefully, end users will never see this message, because you will +have resolved all the problems with your SSI directives before your +site goes live. (Right?)</p> + +<p>And you can <code>config</code> the format in which file sizes are +returned with the <code>sizefmt</code> attribute. You can specify +<code>bytes</code> for a full count in bytes, or <code>abbrev</code> +for an abbreviated number in Kb or Mb, as appropriate.</p> + +<hr> +<h2><a name="executingcommands">Executing commands</a></h2> + +<p>I expect that I'll have an article some time in the coming months +about using SSI with small CGI programs. For now, here's something else +that you can do with the <code>exec</code> element. You can actually +have SSI execute a command using the shell (<code>/bin/sh</code>, to be +precise - or the DOS shell, if you're on Win32). The following, for +example, will give you a directory listing.</p> + +<pre> + <pre> + <!--#exec cmd="ls" --> + </pre> +</pre> + +<p>or, on Windows</p> + +<pre> + <pre> + <!--#exec cmd="dir" --> + </pre> +</pre> + +<p>You might notice some strange formatting with this directive on +Windows, because the output from <code>dir</code> contains the string +``<<code>dir</code>>'' in it, which confuses browsers.</p> + +<p>Note that this feature is exceedingly dangerous, as it will execute +whatever code happens to be embedded in the <code>exec</code> tag. If +you have any situation where users can edit content on your web pages, +such as with a ``guestbook'', for example, make sure that you have this +feature disabled. You can allow SSI, but not the <code>exec</code> +feature, with the <code>IncludesNOEXEC</code> argument to the +<code>Options</code> directive.</p> + +<hr> +<h2><a name="advancedssitechniques">Advanced SSI techniques</a></h2> + +<p>In addition to spitting out content, Apache SSI gives you the option +of setting variables, and using those variables in comparisons and +conditionals.</p> + +<h3><a name="caveat">Caveat</a></h3> + +<p>Most of the features discussed in this article are only available to +you if you are running Apache 1.2 or later. Of course, if you are not +running Apache 1.2 or later, you need to upgrade immediately, if not +sooner. Go on. Do it now. We'll wait.</p> + +<hr> +<h2><a name="settingvariables">Setting variables</a></h2> + +<p>Using the <code>set</code> directive, you can set variables for +later use. We'll need this later in the discussion, so we'll talk about +it here. The syntax of this is as follows:</p> + +<pre> + <!--#set var="name" value="Rich" --> +</pre> + +<p>In addition to merely setting values literally like that, you can +use any other variable, including, for example, environment variables, +or some of the variables we discussed in the last article (like +<code>LAST_MODIFIED</code>, for example) to give values to your +variables. You will specify that something is a variable, rather than a +literal string, by using the dollar sign ($) before the name of the +variable.</p> + +<pre> + <!--#set var="modified" value="$LAST_MODIFIED" --> +</pre> + +<p>To put a literal dollar sign into the value of your variable, you +need to escape the dollar sign with a backslash.</p> + +<pre> + <!--#set var="cost" value="\$100" --> +</pre> + +<p>Finally, if you want to put a variable in the midst of a longer +string, and there's a chance that the name of the variable will run up +against some other characters, and thus be confused with those +characters, you can place the name of the variable in braces, to remove +this confusion. (It's hard to come up with a really good example of +this, but hopefully you'll get the point.)</p> + +<pre> + <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --> +</pre> + +<hr> +<h2><a name="conditionalexpressions">Conditional expressions</a></h2> + +<p>Now that we have variables, and are able to set and compare their +values, we can use them to express conditionals. This lets SSI be a +tiny programming language of sorts. <code>mod_include</code> provides +an <code>if</code>, <code>elif</code>, <code>else</code>, +<code>endif</code> structure for building conditional statements. This +allows you to effectively generate multiple logical pages out of one +actual page.</p> + +<p>The structure of this conditional construct is:</p> + +<pre> + <!--#if expr="test_condition" --> + <!--#elif expr="test_condition" --> + <!--#else --> + <!--#endif --> +</pre> + +<p>A <em>test_condition</em> can be any sort of logical comparison - +either comparing values to one another, or testing the ``truth'' of a +particular value. (A given string is true if it is nonempty.) For a +full list of the comparison operators available to you, see the +<code>mod_include</code> documentation. Here are some examples of how +one might use this construct.</p> + +<p>In your configuration file, you could put the following line:</p> + +<pre> + BrowserMatchNoCase macintosh Mac + BrowserMatchNoCase MSIE InternetExplorer +</pre> + +<p>This will set environment variables ``Mac'' and ``InternetExplorer'' +to true, if the client is running Internet Explorer on a Macintosh.</p> + +<p>Then, in your SSI-enabled document, you might do the following:</p> + +<pre> + <!--#if expr="${Mac} && ${InternetExplorer}" --> + Apologetic text goes here + <!--#else --> + Cool JavaScript code goes here + <!--#endif --> +</pre> + +<p>Not that I have anything against IE on Macs - I just struggled for a +few hours last week trying to get some JavaScript working on IE on a +Mac, when it was working everywhere else. The above was the interim +workaround.</p> + +<p>Any other variable (either ones that you define, or normal +environment variables) can be used in conditional statements. With +Apache's ability to set environment variables with the +<code>SetEnvIf</code> directives, and other related directives, this +functionality can let you do some pretty involved dynamic stuff without +ever resorting to CGI.</p> + +<hr> +<h2><a name="conclusion">Conclusion</a></h2> + +<p>SSI is certainly not a replacement for CGI, or other technologies +used for generating dynamic web pages. But it is a great way to add +small amounts of dynamic content to pages, without doing a lot of extra +work.</p> +</body> +</html> + diff --git a/usr.sbin/httpd/htdocs/manual/howto/ssi.html.html b/usr.sbin/httpd/htdocs/manual/howto/ssi.html.html new file mode 100644 index 00000000000..d1dc14b190d --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/howto/ssi.html.html @@ -0,0 +1,520 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> +<title>Apache Tutorial: Introduction to Server Side Includes</title> +<link rev="made" href="mailto:rbowen@rcbowen.com"> +</head> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080" +alink="#FF0000"> +<!--#include virtual="header.html" --> +<h1 align="CENTER">Apache Tutorial: Introduction to Server Side +Includes</h1> + +<a name="__index__"></a> <!-- INDEX BEGIN --> + + +<ul> +<li><a href= +"#apachetutorial:introductiontoserversideincludes">Apache +Tutorial: Introduction to Server Side Includes</a></li> + +<li><a href="#whataressi">What are SSI?</a></li> + +<li><a href="#configuringyourservertopermitssi">Configuring your +server to permit SSI</a></li> + +<li><a href="#basicssidirectives">Basic SSI directives</a> + +<ul> + <li><a href="#today'sdate">Today's date</a></li> + + <li><a href="#modificationdateofthefile">Modification date of the +file</a></li> + + <li><a href="#includingtheresultsofacgiprogram">Including the +results of a CGI program</a></li> +</ul> +</li> + +<li><a href="#additionalexamples">Additional examples</a> + +<ul> +<li><a href="#whenwasthisdocumentmodified">When was this document +modified?</a></li> + +<li><a href="#includingastandardfooter">Including a standard +footer</a></li> + +<li><a href="#whatelsecaniconfig">What else can I config?</a></li> + +<li><a href="#executingcommands">Executing commands</a></li> +</ul> +</li> + +<li><a href="#advancedssitechniques">Advanced SSI techniques</a> + +<ul> +<li><a href="#settingvariables">Setting variables</a></li> + +<li><a href="#conditionalexpressions">Conditional expressions</a></li> +</ul> +</li> + +<li><a href="#conclusion">Conclusion</a></li> +</ul> + +<!-- INDEX END --> +<hr> +<h2><a name= +"apachetutorial:introductiontoserversideincludes">Apache +Tutorial: Introduction to Server Side Includes</a></h2> + +<table border="1"> +<tr> +<td valign="top"><strong>Related Modules</strong><br> +<br> + <a href="../mod/mod_include.html">mod_include</a><br> +<a href="../mod/mod_cgi.html">mod_cgi</a><br> +<a href="../mod/mod_expires.html">mod_expires</a><br> + </td> +<td valign="top"><strong>Related Directives</strong><br> +<br> + <a href="../mod/core.html#options">Options</a><br> +<a href="../mod/mod_include.html#xbithack">XBitHack</a><br> +<a href="../mod/mod_mime.html#addtype">AddType</a><br> +<a href="../mod/mod_mime.html#addhandler">AddHandler</a><br> +<a href= +"../mod/mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a><br> + + </td> +</tr> +</table> + +<p>This HOWTO first appeared in Apache Today +(http://www.apachetoday.com/) as a series of three articles. They +appear here by arrangement with ApacheToday and Internet.com.</p> + +<p>This article deals with Server Side Includes, usually called simply +SSI. In this article, I'll talk about configuring your server to permit +SSI, and introduce some basic SSI techniques for adding dynamic content +to your existing HTML pages.</p> + +<p>In the latter part of the article, we'll talk about some of the +somewhat more advanced things that can be done with SSI, such as +conditional statements in your SSI directives.</p> + +<hr> +<h2><a name="whataressi">What are SSI?</a></h2> + +<p>SSI (Server Side Includes) are directives that are placed in HTML +pages, and evaluated on the server while the pages are being served. +They let you add dynamically generated content to an existing HTML +page, without having to serve the entire page via a CGI program, or +other dynamic technology.</p> + +<p>The decision of when to use SSI, and when to have your page entirely +generated by some program, is usually a matter of how much of the page +is static, and how much needs to be recalculated every time the page is +served. SSI is a great way to add small pieces of information, such as +the current time. But if a majority of your page is being generated at +the time that it is served, you need to look for some other +solution.</p> + +<hr> +<h2><a name="configuringyourservertopermitssi">Configuring your +server to permit SSI</a></h2> + +<p>To permit SSI on your server, you must have the following directive +either in your <code>httpd.conf</code> file, or in a +<code>.htaccess</code> file:</p> + +<pre> + Options +Includes +</pre> + +<p>This tells Apache that you want to permit files to be parsed for SSI +directives.</p> + +<p>Not just any file is parsed for SSI directives. You have to tell +Apache which files should be parsed. There are two ways to do this. You +can tell Apache to parse any file with a particular file extension, +such as <code>.shtml</code>, with the following directives:</p> + +<pre> + AddType text/html .shtml + AddHandler server-parsed .shtml +</pre> + +<p>One disadvantage to this approach is that if you wanted to add SSI +directives to an existing page, you would have to change the name of +that page, and all links to that page, in order to give it a +<code>.shtml</code> extension, so that those directives would be +executed.</p> + +<p>The other method is to use the <code>XBitHack</code> directive:</p> + +<pre> + XBitHack on +</pre> + +<p><code>XBitHack</code> tells Apache to parse files for SSI directives +if they have the execute bit set. So, to add SSI directives to an +existing page, rather than having to change the file name, you would +just need to make the file executable using <code>chmod</code>.</p> + +<pre> + chmod +x pagename.html +</pre> + +<p>A brief comment about what not to do. You'll occasionally see people +recommending that you just tell Apache to parse all <code>.html</code> +files for SSI, so that you don't have to mess with <code>.shtml</code> +file names. These folks have perhaps not heard about +<code>XBitHack</code>. The thing to keep in mind is that, by doing +this, you're requiring that Apache read through every single file that +it sends out to clients, even if they don't contain any SSI directives. +This can slow things down quite a bit, and is not a good idea.</p> + +<p>Of course, on Windows, there is no such thing as an execute bit to +set, so that limits your options a little.</p> + +<p>In its default configuration, Apache does not send the last modified +date or content length HTTP headers on SSI pages, because these values are +difficult to calculate for dynamic content. This can prevent your +document from being cached, and result in slower perceived client +performance. There are two ways to solve this:</p> + +<ol> + +<li>Use the <code>XBitHack Full</code> configuration. This tells +Apache to determine the last modified date by looking only at the date +of the originally requested file, ignoring the modification date of +any included files. </li> + +<li>Use the directives provided by <a +href="../mod/mod_expires.html">mod_expires</a> to set an explicit +expiration time on your files, thereby letting browsers and proxies +know that it is acceptable to cache them. </li> + +</ol> + + +<hr> +<h2><a name="basicssidirectives">Basic SSI directives</a></h2> + +<p>SSI directives have the following syntax:</p> + +<pre> + <!--#element attribute=value attribute=value ... --> +</pre> + +<p>It is formatted like an HTML comment, so if you don't have SSI +correctly enabled, the browser will ignore it, but it will still be +visible in the HTML source. If you have SSI correctly configured, the +directive will be replaced with its results.</p> + +<p>The element can be one of a number of things, and we'll talk some +more about most of these in the next installment of this series. For +now, here are some examples of what you can do with SSI</p> + +<h3><a name="today'sdate">Today's date</a></h3> + +<pre> + <!--#echo var="DATE_LOCAL" --> +</pre> + +<p>The <code>echo</code> element just spits out the value of a +variable. There are a number of standard variables, which include the +whole set of environment variables that are available to CGI programs. +Also, you can define your own variables with the <code>set</code> +element.</p> + +<p>If you don't like the format in which the date gets printed, you can +use the <code>config</code> element, with a <code>timefmt</code> +attribute, to modify that formatting.</p> + +<pre> + <!--#config timefmt="%A %B %d, %Y" --> + Today is <!--#echo var="DATE_LOCAL" --> +</pre> + +<h3><a name="modificationdateofthefile">Modification date of the +file</a></h3> + +<pre> + This document last modified <!--#flastmod file="index.html" --> +</pre> + +<p>This element is also subject to <code>timefmt</code> format +configurations.</p> + +<h3><a name="includingtheresultsofacgiprogram">Including the +results of a CGI program</a></h3> + +<p>This is one of the more common uses of SSI - to output the results +of a CGI program, such as everybody's favorite, a ``hit counter.''</p> + +<pre> + <!--#include virtual="/cgi-bin/counter.pl" --> +</pre> + +<hr> +<h2><a name="additionalexamples">Additional examples</a></h2> + +<p>Following are some specific examples of things you can do in your +HTML documents with SSI.</p> + +<hr> +<h2><a name="whenwasthisdocumentmodified">When was this document +modified?</a></h2> + +<p>Earlier, we mentioned that you could use SSI to inform the user when +the document was most recently modified. However, the actual method for +doing that was left somewhat in question. The following code, placed in +your HTML document, will put such a time stamp on your page. Of course, +you will have to have SSI correctly enabled, as discussed above.</p> + +<pre> + <!--#config timefmt="%A %B %d, %Y" --> + This file last modified <!--#flastmod file="ssi.shtml" --> +</pre> + +<p>Of course, you will need to replace the <code>ssi.shtml</code> with +the actual name of the file that you're referring to. This can be +inconvenient if you're just looking for a generic piece of code that +you can paste into any file, so you probably want to use the +<code>LAST_MODIFIED</code> variable instead:</p> + +<pre> + <!--#config timefmt="%D" --> + This file last modified <!--#echo var="LAST_MODIFIED" --> +</pre> + +<p>For more details on the <code>timefmt</code> format, go to your +favorite search site and look for <code>ctime</code>. The syntax is the +same.</p> + +<hr> +<h2><a name="includingastandardfooter">Including a standard +footer</a></h2> + +<p>If you are managing any site that is more than a few pages, you may +find that making changes to all those pages can be a real pain, +particularly if you are trying to maintain some kind of standard look +across all those pages.</p> + +<p>Using an include file for a header and/or a footer can reduce the +burden of these updates. You just have to make one footer file, and +then include it into each page with the <code>include</code> SSI +command. The <code>include</code> element can determine what file to +include with either the <code>file</code> attribute, or the +<code>virtual</code> attribute. The <code>file</code> attribute is a +file path, <em>relative to the current directory</em>. That means that +it cannot be an absolute file path (starting with /), nor can it +contain ../ as part of that path. The <code>virtual</code> attribute is +probably more useful, and should specify a URL relative to the document +being served. It can start with a /, but must be on the same server as +the file being served.</p> + +<pre> + <!--#include virtual="/footer.html" --> +</pre> + +<p>I'll frequently combine the last two things, putting a +<code>LAST_MODIFIED</code> directive inside a footer file to be +included. SSI directives can be contained in the included file, and +includes can be nested - that is, the included file can include another +file, and so on.</p> + +<hr> +<h2><a name="whatelsecaniconfig">What else can I config?</a></h2> + +<p>In addition to being able to <code>config</code> the time format, +you can also <code>config</code> two other things.</p> + +<p>Usually, when something goes wrong with your SSI directive, you get +the message</p> + +<pre> + [an error occurred while processing this directive] +</pre> + +<p>If you want to change that message to something else, you can do so +with the <code>errmsg</code> attribute to the <code>config</code> +element:</p> + +<pre> + <!--#config errmsg="[It appears that you don't know how to use SSI]" --> +</pre> + +<p>Hopefully, end users will never see this message, because you will +have resolved all the problems with your SSI directives before your +site goes live. (Right?)</p> + +<p>And you can <code>config</code> the format in which file sizes are +returned with the <code>sizefmt</code> attribute. You can specify +<code>bytes</code> for a full count in bytes, or <code>abbrev</code> +for an abbreviated number in Kb or Mb, as appropriate.</p> + +<hr> +<h2><a name="executingcommands">Executing commands</a></h2> + +<p>I expect that I'll have an article some time in the coming months +about using SSI with small CGI programs. For now, here's something else +that you can do with the <code>exec</code> element. You can actually +have SSI execute a command using the shell (<code>/bin/sh</code>, to be +precise - or the DOS shell, if you're on Win32). The following, for +example, will give you a directory listing.</p> + +<pre> + <pre> + <!--#exec cmd="ls" --> + </pre> +</pre> + +<p>or, on Windows</p> + +<pre> + <pre> + <!--#exec cmd="dir" --> + </pre> +</pre> + +<p>You might notice some strange formatting with this directive on +Windows, because the output from <code>dir</code> contains the string +``<<code>dir</code>>'' in it, which confuses browsers.</p> + +<p>Note that this feature is exceedingly dangerous, as it will execute +whatever code happens to be embedded in the <code>exec</code> tag. If +you have any situation where users can edit content on your web pages, +such as with a ``guestbook'', for example, make sure that you have this +feature disabled. You can allow SSI, but not the <code>exec</code> +feature, with the <code>IncludesNOEXEC</code> argument to the +<code>Options</code> directive.</p> + +<hr> +<h2><a name="advancedssitechniques">Advanced SSI techniques</a></h2> + +<p>In addition to spitting out content, Apache SSI gives you the option +of setting variables, and using those variables in comparisons and +conditionals.</p> + +<h3><a name="caveat">Caveat</a></h3> + +<p>Most of the features discussed in this article are only available to +you if you are running Apache 1.2 or later. Of course, if you are not +running Apache 1.2 or later, you need to upgrade immediately, if not +sooner. Go on. Do it now. We'll wait.</p> + +<hr> +<h2><a name="settingvariables">Setting variables</a></h2> + +<p>Using the <code>set</code> directive, you can set variables for +later use. We'll need this later in the discussion, so we'll talk about +it here. The syntax of this is as follows:</p> + +<pre> + <!--#set var="name" value="Rich" --> +</pre> + +<p>In addition to merely setting values literally like that, you can +use any other variable, including, for example, environment variables, +or some of the variables we discussed in the last article (like +<code>LAST_MODIFIED</code>, for example) to give values to your +variables. You will specify that something is a variable, rather than a +literal string, by using the dollar sign ($) before the name of the +variable.</p> + +<pre> + <!--#set var="modified" value="$LAST_MODIFIED" --> +</pre> + +<p>To put a literal dollar sign into the value of your variable, you +need to escape the dollar sign with a backslash.</p> + +<pre> + <!--#set var="cost" value="\$100" --> +</pre> + +<p>Finally, if you want to put a variable in the midst of a longer +string, and there's a chance that the name of the variable will run up +against some other characters, and thus be confused with those +characters, you can place the name of the variable in braces, to remove +this confusion. (It's hard to come up with a really good example of +this, but hopefully you'll get the point.)</p> + +<pre> + <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --> +</pre> + +<hr> +<h2><a name="conditionalexpressions">Conditional expressions</a></h2> + +<p>Now that we have variables, and are able to set and compare their +values, we can use them to express conditionals. This lets SSI be a +tiny programming language of sorts. <code>mod_include</code> provides +an <code>if</code>, <code>elif</code>, <code>else</code>, +<code>endif</code> structure for building conditional statements. This +allows you to effectively generate multiple logical pages out of one +actual page.</p> + +<p>The structure of this conditional construct is:</p> + +<pre> + <!--#if expr="test_condition" --> + <!--#elif expr="test_condition" --> + <!--#else --> + <!--#endif --> +</pre> + +<p>A <em>test_condition</em> can be any sort of logical comparison - +either comparing values to one another, or testing the ``truth'' of a +particular value. (A given string is true if it is nonempty.) For a +full list of the comparison operators available to you, see the +<code>mod_include</code> documentation. Here are some examples of how +one might use this construct.</p> + +<p>In your configuration file, you could put the following line:</p> + +<pre> + BrowserMatchNoCase macintosh Mac + BrowserMatchNoCase MSIE InternetExplorer +</pre> + +<p>This will set environment variables ``Mac'' and ``InternetExplorer'' +to true, if the client is running Internet Explorer on a Macintosh.</p> + +<p>Then, in your SSI-enabled document, you might do the following:</p> + +<pre> + <!--#if expr="${Mac} && ${InternetExplorer}" --> + Apologetic text goes here + <!--#else --> + Cool JavaScript code goes here + <!--#endif --> +</pre> + +<p>Not that I have anything against IE on Macs - I just struggled for a +few hours last week trying to get some JavaScript working on IE on a +Mac, when it was working everywhere else. The above was the interim +workaround.</p> + +<p>Any other variable (either ones that you define, or normal +environment variables) can be used in conditional statements. With +Apache's ability to set environment variables with the +<code>SetEnvIf</code> directives, and other related directives, this +functionality can let you do some pretty involved dynamic stuff without +ever resorting to CGI.</p> + +<hr> +<h2><a name="conclusion">Conclusion</a></h2> + +<p>SSI is certainly not a replacement for CGI, or other technologies +used for generating dynamic web pages. But it is a great way to add +small amounts of dynamic content to pages, without doing a lot of extra +work.</p> +</body> +</html> + + diff --git a/usr.sbin/httpd/htdocs/manual/howto/ssi.html.ja.jis b/usr.sbin/httpd/htdocs/manual/howto/ssi.html.ja.jis new file mode 100644 index 00000000000..eafa3150b7b --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/howto/ssi.html.ja.jis @@ -0,0 +1,501 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> +<title>Apache $B%A%e!<%H%j%"%k(B: Server Side Includes $BF~Lg(B</title> +<!-- link rev="made" href="mailto:rbowen@rcbowen.com" --> +</head> +<!-- English revision: 1.7 --> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080" +alink="#FF0000"> +<!--#include virtual="header.html" --> +<h1 align="CENTER">Apache $B%A%e!<%H%j%"%k(B: Server Side Includes $BF~Lg(B</h1> + +<a name="__index__"></a> <!-- INDEX BEGIN --> + + +<ul> +<li><a href="#apachetutorial:introductiontoserversideincludes">Apache + $B%A%e!<%H%j%"%k(B: Server Side Includes $BF~Lg(B</a></li> + +<li><a href="#whataressi">SSI $B$H$O(B?</a></li> + +<li><a href="#configuringyourservertopermitssi">SSI $B$r5v2D$9$k$?$a$N(B +$B%5!<%P$N@_Dj(B</a></li> + +<li><a href="#basicssidirectives">$B4pK\E*$J(B SSI $B%G%#%l%/%F%#%V(B</a> + +<ul> + <li><a href="#today'sdate">$B:#F|$NF|IU(B</a></li> + + <li><a href="#modificationdateofthefile">$B%U%!%$%k$NJQ99F|(B</a></li> + + <li><a href="#includingtheresultsofacgiprogram">CGI $B%W%m%0%i%`$N7k2L$r(B +$B<h$j9~$`(B</a></li> +</ul> +</li> + +<li><a href="#additionalexamples">$BDI2C$NNc(B</a> + +<ul> +<li><a href="#whenwasthisdocumentmodified">$B$$$D$3$N%I%-%e%a%s%H$O(B +$B=$@5$5$l$?$N$+(B?</a></li> + +<li><a href="#includingastandardfooter">$BI8=`$N%U%C%?$rA^F~$9$k(B</a></li> + +<li><a href="#whatelsecaniconfig">$BB>$K2?$,@_Dj$G$-$k$N$+(B?</a></li> + +<li><a href="#executingcommands">$B%3%^%s%I$N<B9T(B</a></li> +</ul> +</li> + +<li><a href="#advancedssitechniques">$B9bEY$J(B SSI $B%F%/%K%C%/(B</a> + +<ul> +<li><a href="#settingvariables">$BJQ?t$r@_Dj$9$k(B</a></li> + +<li><a href="#conditionalexpressions">$B>r7o<0(B</a></li> +</ul> +</li> + +<li><a href="#conclusion">$B=*$o$j$K(B</a></li> +</ul> + +<!-- INDEX END --> +<hr> +<h2><a name= +"apachetutorial:introductiontoserversideincludes">Apache +$B%A%e!<%H%j%"%k(B: Server Side Includes $BF~Lg(B</a></h2> + +<table border="1"> +<tr> +<td valign="top"><strong>$B4XO"%b%8%e!<%k(B</strong><br> +<br> + <a href="../mod/mod_include.html">mod_include</a><br> +<a href="../mod/mod_cgi.html">mod_cgi</a><br> +<a href="../mod/mod_expires.html">mod_expires</a><br> + </td> +<td valign="top"><strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br> +<br> + <a href="../mod/core.html#options">Options</a><br> +<a href="../mod/mod_include.html#xbithack">XBitHack</a><br> +<a href="../mod/mod_mime.html#addtype">AddType</a><br> +<a href="../mod/mod_mime.html#addhandler">AddHandler</a><br> +<a href= +"../mod/mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a><br> + + </td> +</tr> +</table> + +<p>$B$3$NJ8=q$O:G=i!"(BApache Today (http://www.apachetoday.com/) $B$K;02s$NO":\5-;v$H$7$F7G:\$5$l$^$7$?!#(B +$B$3$3$G$O!"(BApcheToday $B$H(B Internet.com $B$H$N6(Dj$K$h$j:\$;$F$$$^$9!#(B</p> + +<p>$B$3$N5-;v$O!"DL>o$OC1$K(B SSI $B$H8F$P$l$k(B Server Side Includes $B$r(B +$B07$$$^$9!#$3$N5-;v$K$*$$$F$O!"%5!<%P$G$N(B SSI $B$r5v2D$9$k$?$a$N@_Dj$H!"(B +$B8=:_$N(B HTML $B%Z!<%8$KF0E*$J%3%s%F%s%D$r2C$($k$?$a$N$$$/$D$+$N4pK\E*$J(B +SSI $B5;=Q$r>R2p$7$^$9!#(B</p> + +<p>$B5-;v$N8eH>$G$O!"(BSSI $B%G%#%l%/%F%#%V$G(B +SSI $B$H6&$K<B9T$9$k$3$H$,$G$-$k>r7oJ8$N$h$&$J4vJ,9bEY$J;vJA$K(B +$B$D$$$F=R$Y$F$$$^$9!#(B</p> + +<hr> +<h2><a name="whataressi">SSI $B$H$O(B?</a></h2> + +<p>SSI (Server Side Includes) $B$O!"(BHTML $B%Z!<%8Cf$KG[CV$5$l$k%G%#%l%/%F%#%V$G$"$j!"(B +$B%5!<%P$G%Z!<%8$rDs6!$9$k;~$KI>2A$5$l$^$9!#(B +SSI $B$O!"(BCGI $B%W%m%0%i%`$d$=$NB>$NF0E*$J5;=Q$GA4$F$N%Z!<%8$rDs6!(B +$B$;$:$K!"F0E*$K@8@.$5$l$?%3%s%F%s%D$r8=:_$N(B HTML $B%Z!<%8$K(B +$B2C$($^$9!#(B</p> + +<p>$B$I$&$$$&>l9g$K(B SSI $B$r;H$$!"$I$&$$$&>l9g$K%W%m%0%i%`$G%Z!<%8$r40A4$K@8@.$9$k$+(B +$B$O!"%Z!<%8$N$&$A$I$NDxEY$,@EE*$G$"$j!"%Z!<%8$,Ds6!$5$l$k$?$S$K(B +$B:F7W;;$9$kI,MW$,$I$NDxEY$"$k$+$GDL>o$O7hDj$7$^$9!#(BSSI $B$O8=:_;~9o$N$h$&$J(B +$B>.$5$$>pJs$r2C$($k$K$O$&$C$F$D$1$NJ}K!$G$9!#(B +$B$7$+$7!"$=$N%Z!<%8$N$[$H$s$I$NItJ,$,Ds6!;~$K@8@.$5$l$k>l9g$O!"(B +$BB>$NJ}K!$rC5$9I,MW$,$"$j$^$9!#(B</p> + +<hr> +<h2><a name="configuringyourservertopermitssi">SSI $B$r5v2D$9$k$?$a$N(B +$B%5!<%P$N@_Dj(B</a></h2> + +<p>$B%5!<%P$G(B SSI $B5v2D$9$k$K$O!"(B<code>httpd.conf</code> $B%U%!%$%k(B +$B$^$?$O(B <code>.htaccess</code> $B%U%!%$%k$K<!$N%G%#%l%/%F%#%V$r;XDj$9$kI,MW$,$"$j$^$9(B:</p> + +<pre> + Options +Includes +</pre> + +<p>$B$3$N;XDj$O!"%U%!%$%k$r(B SSI $B%G%#%l%/%F%#%V$G2r@O$5$;$k$3$H$r5v2D$9$k(B +$B$H$$$&$3$H$r(B Apache $B$KEA$($^$9!#(B</p> + +<p>$BA4$F$N%U%!%$%k$,(B SSI $B%G%#%l%/%F%#%V$G2r@O$5$l$k$H$$$&$o$1$G$O$"$j$^$;$s!#(B +$B$I$N%U%!%$%k$,2r@O$5$l$k$+$r(B Apache $B$KEA$($kI,MW$,$"$j$^$9!#$3$l$r(B +$B9T$J$&$K$OFs$DJ}K!$,$"$j$^$9!#<!$N%G%#%l%/%F%#%V$r;H$&$3$H$G!"(B +$BNc$($P(B <code>.shtml</code> $B$N$h$&$JFCJL$J%U%!%$%k3HD%;R$r;}$D%U%!%$%k$r(B +$B2r@O$9$k$h$&(B Apache $B$KEA$($k$3$H$,$G$-$^$9(B:</p> + +<pre> + AddType text/html .shtml + AddHandler server-parsed .shtml +</pre> + +<p>$B$3$NJ}K!$N7gE@$O!"$b$78=:_$N%Z!<%8$K(B SSI +$B%G%#%l%/%F%#%V$r2C$($?$$>l9g!"$=$l$i$N%G%#%l%/%F%#%V$,<B9T$5$l$k(B +$B$h$&$K(B <code>.shtml</code> $B3HD%;R$K$9$k$?$a!"$=$N%Z!<%8$NL>A0$H!"(B +$B$=$N%Z!<%8$X$NA4$F$N%j%s%/$rJQ99$7$J$1$l$P$J$i$J$$$3$H$G$9!#(B</p> + +<p>$B$b$&0l$D$NJ}K!$O!"(B<code>XBitHack</code> $B%G%#%l%/%F%#%V$r;HMQ$9$k$3$H$G$9(B:</p> + +<pre> + XBitHack on +</pre> + +<p><code>XBitHack</code> $B$O!"%U%!%$%k$N<B9T%S%C%H$,N)$C$F$$$k>l9g!"(B +SSI $B%G%#%l%/%F%#%V$K$h$j2r@O$9$k$3$H$r(B Apache $B$KEA$($^$9!#=>$C$F!"(B +SSI $B%G%#%l%/%F%#%V$r8=:_$N%Z!<%8$K2C$($k$?$a$K$O!"%U%!%$%kL>$rJQ99$7$J$/$F$b$h$/!"(B +$BC1$K(B <code>chmod</code> $B$r;HMQ$7$F%U%!%$%k$r<B9T2DG=$K$9$k(B +$B$@$1$G:Q$_$^$9!#(B</p> + +<pre> + chmod +x pagename.html +</pre> + +<p>$B9T$J$&$Y$-$G$O$J$$$3$H$K4X$9$kC;$$%3%a%s%H!#;~!9C/$+$,!"(B +$BA4$F$N(B <code>.html</code> $B%U%!%$%k$r(B SSI $B$G2r@O$9$k$h$&(B Apache $B$KEA$($l$P!"(B +$B$o$6$o$6(B <code>.shtml</code> $B$H$$$&%U%!%$%kL>$K$9$kI,MW$,$J$$$H$$$C$F(B +$BA&$a$k$N$r8+$k$3$H$G$7$g$&!#$3$&$$$&?M$?$A$O!"$*$=$i$/(B <code>XBitHack</code> +$B$K$D$$$FJ9$$$?$3$H$,$J$$$N$G$7$g$&!#$3$NJ}K!$K$D$$$FCm0U$9$k$3$H$O!"(B +$B$?$H$((B SSI $B%G%#%l%/%F%#%V$rA4$/4^$^$J$$>l9g$G$b!"(BApache $B$,%/%i%$%"%s%H$K(B +$BAw$kA4$F$N%U%!%$%k$r:G8e$^$GFI$_9~$^$;$k$3$H$K$J$j$^$9!#(B +$B$3$NJ}K!$O$+$J$j=hM}$rCY$/$9$k$b$N$G$"$j!"NI$/$J$$%"%$%G%"$G$9!#(B</p> + +<p>$B$b$A$m$s!"(BWindows $B$G$O$=$N$h$&$J<B9T%S%C%H$r%;%C%H$9$k$h$&$J$b$N$O(B +$B$"$j$^$;$s$N$G%*%W%7%g%s$,>/$7@)8B$5$l$F$$$^$9!#(B</p> + +<p>$B%G%U%)%k%H$N@_Dj$G$O!"(BApache $B$O(B SSI $B%Z!<%8$K$D$$$F:G=*JQ99;~9o$d(B +$B%3%s%F%s%D$ND9$5$r(B HTTP $B%X%C%@$KAw$j$^$;$s!#(B +$BF0E*$J%3%s%F%s%D$G$"$k$?$a!"$=$l$i$NCM$r7W;;$9$k$N$,Fq$7$$$+$i$G$9!#(B +$B$3$N$?$a%I%-%e%a%s%H$,(B +$B%-%c%C%7%e$5$l$J$/$J$j!"7k2L$H$7$F%/%i%$%"%s%H$N@-G=$,(B +$BCY$/$J$C$?$h$&$K46$8$5$;$k$3$H$K$J$j$^$9!#(B +$B$3$l$r2r7h$9$kJ}K!$,Fs$D$"$j$^$9(B:</p> + +<ol> + +<li><code>XBitHack Full</code> $B@_Dj$r;HMQ$9$k!#$3$N@_Dj$K$h$j!"$b$H$b$HMW5a$5$l$?(B +$B%U%!%$%k$N;~9o$r;2>H$7!"FI$_9~$^$l$k%U%!%$%k$NJQ99;~9o$r(B +$BL5;k$7$F:G=*JQ99;~9o$r7hDj$9$k$h$&(B Apache $B$KEA$($^$9!#(B</li> + +<li><a href="../mod/mod_expires.html">mod_expires</a> $B$GDs6!$5$l$F$$$k%G%#%l%/%F%#%V$r;HMQ$7$F!"(B +$B%U%!%$%k$,L58z$K$J$k;~9o$rL@<($7$^$9!#(B +$B$3$l$K$h$j!"%V%i%&%6$H%W%m%-%7$K%-%c%C%7%e$,M-8z$G$"$k$3$H$rDLCN$7$^$9!#(B</li> + +</ol> + +<hr> +<h2><a name="basicssidirectives">$B4pK\E*$J(B SSI $B%G%#%l%/%F%#%V(B</a></h2> + +<p>SSI $B%G%#%l%/%F%#%V$O0J2<$NJ8K!$G5-=R$7$^$9(B:</p> + +<pre> + <!--#element attribute=value attribute=value ... --> +</pre> + +<p>HTML $B$N%3%a%s%H$N$h$&$J=q<0$r$7$F$$$k$N$G!"$b$7(B SSI $B$r(B +$B@5$7$/F0:n2DG=$K$7$J$1$l$P!"%V%i%&%6$O$=$l$rL5;k$9$k$G$7$g$&!#$7$+$7!"(B +HTML $B%=!<%9Cf$G$O8+$($^$9!#$b$7(B SSI $B$r@5$7$/@_Dj$7$?$J$i!"(B +$B%G%#%l%/%F%#%V$O$=$N7k2L$HCV$-49$($i$l$^$9!#(B</p> + +<p>element $B$O$?$/$5$s$"$k$b$N$+$i0l$D;XDj$9$k$3$H$,$G$-$^$9!#(B +$B;XDj$G$-$k$b$N$NBgB??t$K$D$$$F$O!"<!2s$b$&>/$7>\$7$/@bL@$7$^$9!#(B +$B$3$3$G$O!"(BSSI $B$G9T$J$&$3$H$,$G$-$kNc$r$$$/$D$+<($7$^$9!#(B</p> + +<h3><a name="today'sdate">$B:#F|$NF|IU(B</a></h3> + +<pre> + <!--#echo var="DATE_LOCAL" --> +</pre> + +<p><code>echo</code> $BMWAG$OC1$KJQ?t$NCM$r=PNO$7$^$9!#(BCGI $B%W%m%0%i%`$K(B +$BMxMQ2DG=$J4D6-JQ?t$NA4$F$N%;%C%H$r4^$`B?$/$NI8=`JQ?t$,$"$j$^$9!#(B +$B$^$?!"(B<code>set</code> $BMWAG$rMQ$$$k$3$H$G!"FH<+$NJQ?t$rDj5A$9$k$3$H$,(B +$B$G$-$^$9!#(B</p> + +<p>$B=PNO$5$l$kF|IU$N=q<0$,9%$-$G$O$J$$>l9g!"$=$N=q<0$r(B +$B=$@5$9$k$?$a$K!"(B<code>config</code> $BMWAG$K(B <code>timefmt</code> $BB0@-$r(B +$B;HMQ$9$k$3$H$,$G$-$^$9!#(B</p> + +<pre> + <!--#config timefmt="%A %B %d, %Y" --> + Today is <!--#echo var="DATE_LOCAL" --> +</pre> + +<h3><a name="modificationdateofthefile">$B%U%!%$%k$NJQ99F|(B</a></h3> + +<pre> + This document last modified <!--#flastmod file="index.html" --> +</pre> + +<p>$B$3$NMWAG$b(B <code>timefmt</code> $B%U%)!<%^%C%H$N@_Dj$K=>$$$^$9!#(B</p> + +<h3><a name="includingtheresultsofacgiprogram">CGI $B%W%m%0%i%`$N7k2L$r<h$j9~$`(B +</a></h3> + +<p>$B$3$l$O!"A4$F$N?M$N$*5$$KF~$j$G$"$k(B ``$B%R%C%H%+%&%s%?(B'' $B$N$h$&$J(B CGI $B%W%m%0%i%`$N(B +$B7k2L$r=PNO$9$k(B SSI $B$N$h$j0lHLE*$J;HMQ$N$&$A$N0l$D$G$9!#(B</p> + +<pre> + <!--#include virtual="/cgi-bin/counter.pl" --> +</pre> + +<hr> +<h2><a name="additionalexamples">$BDI2C$NNc(B</a></h2> + +<p>$B0J2<$O!"(BSSI $B$r;HMQ$7$F(B HTML $B%I%-%e%a%s%H$K$*$$$F$G$-$k$3$H$N(B +$B$$$/$D$+$NFCJL$JNc$G$9!#(B</p> + +<hr> +<h2><a name="whenwasthisdocumentmodified">$B$$$D$3$N%I%-%e%a%s%H$O=$@5$5$l$?$N$+(B? +</a></h2> + +<p>$B@h$K!"%I%-%e%a%s%H$,:G8e$KJQ99$5$l$?$N$O$$$D$+$r%f!<%6$KDLCN$9$k$?$a$K(B SSI $B$r;HMQ$9$k$3$H$,$G$-$k$3$H$r(B +$B=R$Y$^$7$?!#$7$+$7$J$,$i!"<B:]$NJ}K!$O!"$$$/$V$sLdBj$N$^$^$K$7$F$*$-$^$7$?!#(B +HTML $B%I%-%e%a%s%H$KG[CV$5$l$?<!$N%3!<%I$O!"%Z!<%8$K(B +$B$=$N$h$&$J%?%$%`%9%?%s%W$rF~$l$k$G$7$g$&!#$b$A$m$s!">e=R$N(B +$B$h$&$K!"(BSSI $B$r@5$7$/F0:n2DG=$K$7$F$*$/I,MW$,$"$j$^$9!#(B</p> + +<pre> + <!--#config timefmt="%A %B %d, %Y" --> + This file last modified <!--#flastmod file="ssi.shtml" --> +</pre> + +<p>$B$b$A$m$s!"(B<code>ssi.shtml</code> $B$NItJ,$r<B:]$NEv3:%U%!%$%kL>$H(B +$BCV$-49$($kI,MW$,$"$j$^$9!#$b$7!"$"$i$f$k%U%!%$%k$KD%$k$3$H$,(B +$B$G$-$k0lHLE*$J%3!<%I$rC5$7$F$$$k$J$i!"$3$l$OITJX$G$"$k$+$b$7$l$^$;$s!#(B +$B$*$=$i$/$=$N>l9g$O!"$=$&$9$kBe$o$j$KJQ?t(B <code>LAST_MODIFIED</code> +$B$r;HMQ$7$?$$$H9M$($k$G$7$g$&(B:</p> + +<pre> + <!--#config timefmt="%D" --> + This file last modified <!--#echo var="LAST_MODIFIED" --> +</pre> + +<p><code>timefmt</code> $B=q<0$K$D$$$F$N$h$j>\:Y$K$D$$$F$O!"(B +$B$*9%$_$N8!:w%5%$%H$K9T$-!"(B<code>ctime</code> $B$G8!:w$7$F$_$F$/$@$5$$!#J8K!$OF1$8$G$9!#(B</p> + +<hr> +<h2><a name="includingastandardfooter">$BI8=`$N%U%C%?$rA^F~$9$k(B</a></h2> + +<p>$B$b$7?t%Z!<%8$rD6$($k%Z!<%8$r;}$D%5%$%H$r4IM}$7$F$$$k$J$i$P!"(B +$BA4%Z!<%8$KBP$7$FJQ9`$r9T$J$&$3$H$,K\Ev$K6lDK$H$J$jF@$k$3$H$,J,$+$k$G$7$g$&!#(B +$BA4$F$N%Z!<%8$KEO$C$F$"$k<o$NI8=`E*$J304Q$r0];}$7$h$&$H(B +$B$7$F$$$k$J$i$PFC$K$=$&$G$7$g$&!#(B</p> + +<p>$B%X%C%@$d%U%C%?MQ$NA^F~MQ%U%!%$%k$r;HMQ$9$k$3$H$G!"$3$N$h$&$J(B +$B99?7$K$+$+$kIiC4$r8:$i$9$3$H$,$G$-$^$9!#0l$D$N%U%C%?%U%!%$%k$r(B +$B:n@.$7!"$=$l$r(B <code>include</code> SSI $B%3%^%s%I$G3F%Z!<%8$K(B +$BF~$l$k$@$1$G:Q$_$^$9!#(B<code>include</code> $BMWAG$O!"(B<code>file</code> $BB0@-(B +$B$^$?$O(B <code>virtual</code> $BB0@-$N$$$:$l$+$r;HMQ$7$F$I$N%U%!%$%k$rA^F~$9$k$+$r(B +$B7h$a$k$3$H$,$G$-$^$9!#(B<code>file</code> $BB0@-$O!"(B<em>$B%+%l%s%H%G%#%l%/%H%j$+$i$N(B +$BAjBP%Q%9$G<($5$l$?(B</em>$B%U%!%$%k%Q%9$G$9!#$=$l$O(B +/ $B$G;O$^$k@dBP%U%!%$%k%Q%9$K$O$G$-$:!"$^$?!"$=$N%Q%9$N0lIt$K(B ../ $B$r(B +$B4^$`$3$H$,$G$-$J$$$3$H$r0UL#$7$^$9!#(B<code>virtual</code> $BB0@-$O!"$*$=$i$/(B +$B$h$jJXMx$@$H;W$$$^$9$,!"Ds6!$9$k%I%-%e%a%s%H$+$i$NAjBP(B URL $B$G;XDj$9$Y$-$G$9!#(B +$B$=$l$O(B / $B$G;O$a$k$3$H$,$G$-$^$9$,!"Ds6!$9$k%U%!%$%k$HF1$8%5!<%P>e$K(B +$BB8:_$7$J$/$F$O$J$j$^$;$s!#(B</p> + +<pre> + <!--#include virtual="/footer.html" --> +</pre> + +<p>$B;d$O:G8e$NFs$D$rAH$_9g$o$;$F!"(B<code>LAST_MODIFIED</code> $B%G%#%l%/%F%#%V$r(B +$B%U%C%?%U%!%$%k$NCf$KCV$/$3$H$,$h$/$"$j$^$9!#(B +SSI $B%G%#%l%/%F%#%V$O!"A^F~MQ$N%U%!%$%k$K4^$^$;$?$j!"(B +$BA^F~%U%!%$%k$N%M%9%H$r$7$?$j$9$k$3$H$,$G$-$^$9!#$9$J$o$A!"(B +$BA^F~MQ$N%U%!%$%k$OB>$N%U%!%$%k$r:F5"E*$KA^F~$9$k$3$H$,$G$-$^$9!#(B</p> + +<hr> +<h2><a name="whatelsecaniconfig">$BB>$K2?$,@_Dj$G$-$k$N$+(B?</a></h2> + +<p>$B;~9o=q<0$r(B <code>config</code> $B$G@_Dj$G$-$k$3$H$K2C$($F!"(B +$B99$KFs$D(B <code>config</code> $B$G@_Dj$9$k$3$H$,$G$-$^$9!#(B</p> + +<p>$BDL>o!"(BSSI $B%G%#%l%/%F%#%V$G2?$+$,$&$^$/$$$+$J$$$H$-$O!"<!$N%a%C%;!<%8$,(B +$B=PNO$5$l$^$9!#(B</p> + +<pre> + [an error occurred while processing this directive] +</pre> + +<p>$B$3$N%a%C%;!<%8$rB>$N$b$N$K$7$?$$>l9g!"(B +<code>config</code> $BMWAG$N(B <code>errmsg</code> $BB0@-$GJQ99$9$k$3$H$,(B +$B$G$-$^$9(B:<p> + +<pre> + <!--#config errmsg="[It appears that you don't know how to use SSI]" --> +</pre> + +<p>$B$*$=$i$/!"%(%s%I%f!<%6$O$3$N%a%C%;!<%8$r7h$7$F8+$k$3$H$O$"$j$^$;$s!#(B +$B$J$<$J$i!"$=$N%5%$%H$,@8$-$?>uBV$K$J$kA0$K(B SSI $B%G%#%l%/%F%#%V$K4X$9$k(B +$BA4$F$NLdBj$r2r7h$7$F$$$k$O$:$@$+$i$G$9!#(B($B$=$&$G$9$h$M(B?)</p> + +<p>$B$=$7$F!"(B<code>config</code> $B$K$*$$$F(B <code>sizefmt</code> $BB0@-$r;HMQ$9$k$3$H$G!"(B +$BJV$5$l$k%U%!%$%k%5%$%:$N=q<0$r@_Dj$9$k$3$H$,$G$-$^$9!#(B +$B%P%$%H?t$K$O(B <code>bytes</code> $B$r!"E,Ev$K(B Kb $B$d(B Mb $B$K(B +$BC;=L$5$;$k$K$O(B <code>abbrev</code> $B$r;XDj$9$k$3$H$,$G$-$^$9!#(B</p> + +<hr> +<h2><a name="executingcommands">$B%3%^%s%I$N<B9T(B</a></h2> + +<p>$B:#8e?t%v7n$NFb$K!">.$5$J(B CGI $B%W%m%0%i%`$H(B SSI $B$r;HMQ$9$k(B +$B5-;v$r=P$7$?$$$H9M$($F$$$^$9!#$3$3$G$O$=$l$H$OJL$K!"(B +<code>exec</code> $BMWAG$K$h$C$F9T$J$&$3$H$,$G$-$k$3$H$r<($7$^$9!#(B +SSI $B$K%7%'%k(B ($B@53N$K$O(B <code>/bin/sh</code>$B!#(BWin32 $B$J$i$P(B DOS $B%7%'%k(B) +$B$r;HMQ$7$F%3%^%s%I$r<B9T$5$;$k$3$H$,$G$-$^$9!#2<5-$NNc$G$O!"%G%#%l%/%H%j(B +$B%j%9%H=PNO$r9T$J$$$^$9!#(B</p> + +<pre> + <pre> + <!--#exec cmd="ls" --> + </pre> +</pre> + +<p>Windows $B>e$G$O!"(B</p> + +<pre> + <pre> + <!--#exec cmd="dir" --> + </pre> +</pre> + +<p>Windows $B>e$G$O!"$3$N%G%#%l%/%F%#%V$K$h$C$F$$$/$D$+$N4qL/$J(B +$B=q<0$K5$$E$/$G$7$g$&!#$J$<$J$i(B <code>dir</code> $B$N=PNO$,(B +$BJ8;zNs(B ``<<code>dir</code>>'' $B$r4^$_!"%V%i%&%6$r:.Mp$5$;$k$+$i$G$9!#(B</P> + +<p>$B$3$N5!G=$OHs>o$K4m81$G$"$j!"$I$s$J%3!<%I$G$b(B <code>exec</code> $B%?%0$K(B +$BKd$a9~$^$l$F$7$^$($P<B9T$9$k$3$H$KCm0U$7$F$/$@$5$$!#Nc$($P(B +`` $B%2%9%H%V%C%/(B '' $B$N$h$&$K!"$b$7!"%f!<%6$,%Z!<%8$NFbMF$r(B +$BJT=8$G$-$k>u67$K$"$k$J$i$P!"$3$N5!G=$r3N<B$KM^@)$7$F$/$@$5$$!#(B +<code>Options</code> $B%G%#%l%/%F%#%V$N(B <code>IncludesNOEXEC</code> $B0z?t$r;XDj$9$k$3$H$G!"(B +SSI $B$O5v2D$9$k$1$l$I(B <code>exec</code> $B5!G=$O5v2D$7$J$$$h$&$K$9$k$3$H$,$G$-$^$9!#(B</p> + +<hr> +<h2><a name="advancedssitechniques">$B9bEY$J(B SSI $B%F%/%K%C%/(B</a></h2> + +<p>$B%3%s%F%s%D$r=PNO$9$k$3$H$K2C$(!"(BApache SSI $B$OJQ?t$r@_Dj$7!"$=$7$FHf3S(B +$B$H>r7oJ,4t$K$=$NJQ?t$r;HMQ$G$-$k5!G=$rDs6!$7$F$$$^$9!#(B</p> + +<h3><a name="caveat">$B7Y9p(B</a></h3> + +<p>$B$3$N5-;v$G=R$Y$?BgItJ,$N5!G=$O!"(BApache 1.2 $B0J9_$r(B +$B;HMQ$7$F$$$k>l9g$N$_MxMQ2DG=$G$9!#$b$A$m$s!"$b$7(B Apache 1.2 $B0J9_$r(B +$B;HMQ$7$F$J$$>l9g!"D>$A$K%"%C%W%0%l!<%I$9$kI,MW$,$"$j$^$9!#(B +$B$5$!!":#$=$l$r9T$J$$$J$5$$!#$=$l$^$GBT$C$F$$$^$9!#(B</p> + +<hr> +<h2><a name="settingvariables">$BJQ?t$r@_Dj$9$k(B</a></h2> + +<p><code>set</code> $B%G%#%l%/%F%#%V$r;HMQ$7$F!"8e$G;HMQ$9$k$?$a$KJQ?t$r(B +$B@_Dj$9$k$3$H$,$G$-$^$9!#$3$l$O8e$N@bL@$GI,MW$K$J$k$N$G!"$3$3$G(B +$B$=$l$K$D$$$F=R$Y$F$$$^$9!#J8K!$O0J2<$N$H$*$j$G$9(B:</p> + +<pre> + <!--#set var="name" value="Rich" --> +</pre> + +<p>$B$3$N$h$&$KC1=c$KJ8;z$I$*$j$K@_Dj$9$k$3$H$K2C$(!"(B +$BNc$($P4D6-JQ?t$dA0$N5-;v$G=R$Y$?JQ?t(B ($BNc$($P(B <code +>LAST_MODIFIED</code> $B$N$h$&$J(B) $B$r4^$`B>$N$"$i$f$kJQ?t$r(B +$BCM$r@_Dj$9$k$N$K;HMQ$9$k$3$H$,(B +$B$G$-$^$9!#JQ?tL>$NA0$K%I%k5-9f(B ($) $B$r;HMQ$9$k$3$H$G!"(B +$B$=$l$,%j%F%i%kJ8;zNs$G$O$J$/$FJQ?t$G$"$k$3$H$r<($7$^$9!#(B</p> + +<pre> + <!--#set var="modified" value="$LAST_MODIFIED" --> +</pre> + +<p>$B%I%k5-9f(B ($) $B$rJ8;z$H$7$FJQ?t$NCM$KF~$l$k$K$O!"%P%C%/%9%i%C%7%e$K$h$C$F(B +$B%I%k5-9f$r%(%9%1!<%W$9$kI,MW$,$"$j$^$9!#(B</p> + +<pre> + <!--#set var="cost" value="\$100" --> +</pre> + +<p>$B:G8e$K$J$j$^$9$,!"D9$$J8;zNs$NCf$KJQ?t$rCV$-$?$$>l9g$G!"(B +$BJQ?tL>$,B>$NJ8;z$H$V$D$+$k2DG=@-$,$"$j!"$=$l$i$NJ8;z$K$D$$$F(B +$B:.Mp$7$F$7$^$&>l9g!"$3$N:.Mp$r<h$j=|$/$?$a!"JQ?tL>$rCf3g8L$G(B +$B0O$`$3$H$,$G$-$^$9(B ($B$3$l$K$D$$$F$NNI$$Nc$r<($9$N$OFq$7$$$N$G$9$,!"(B +$B$*$=$i$/J,$+$C$F$$$?$@$1$k$G$7$g$&(B)$B!#(B</P> + +<pre> + <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --> +</pre> + +<hr> +<h2><a name="conditionalexpressions">$B>r7o<0(B</a></h2> + +<p>$B$5$F!"JQ?t$r;}$C$F$$$F!"$=$l$i$NCM$r@_Dj$7$FHf3S$9$k$3$H$,$G$-$k$N$G$9$+$i!"(B +$B>r7o$rI=$9$?$a$K$=$l$i$r;HMQ$9$k$3$H$,$G$-$^$9!#$3$l$K$h$j(B SSI $B$O(B +$B$"$k<o$N>.$5$J%W%m%0%i%_%s%08@8l$K$J$C$F$$$^$9!#(B<code>mod_include</code> $B$O(B +$B>r7o$rI=8=$9$k$?$a$K(B <code>if</code>, <code>elif</code>, <code>else</code>, +<code>endif</code> $B9=B$$rDs6!$7$F$$$^$9!#$3$l$K$h$C$F!"0l$D$N<B:]$N%Z!<%8$+$i(B +$BJ#?t$NO@M}%Z!<%8$r8z2LE*$K@8@.$9$k$3$H$,$G$-$^$9!#(B</p> + +<p>$B>r7o9=B$$O0J2<$N$H$*$j$G$9(B:</p> + +<pre> + <!--#if expr="test_condition" --> + <!--#elif expr="test_condition" --> + <!--#else --> + <!--#endif --> +</pre> + +<p><em>test_condition</em> $B$O$"$i$f$k<oN`$NO@M}E*Hf3S$r$9$k$3$H$,$G$-$^$9!#(B +$BCM$rHf3S$7$?$j!"$=$NCM$,(B ``$B??(B'' $B$+$I$&$+$rI>2A$7$^$9(B ($B6u$G$J$$$J$i(B +$BM?$($i$l$?J8;zNs$O??$G$9(B)$B!#MxMQ2DG=$JHf3S1i;;;R$NA4$F$N%j%9%H$K$D$$$F$O!"(B +<code>mod_include</code> $B%I%-%e%a%s%F!<%7%g%s$r;2>H$7$F$/$@$5$$!#(B +$B$3$3$G$O!"$3$N9=B$$r$I$&;HMQ$9$k$+$NNc$r$$$/$D$+<($7$^$9!#(B</p> + +<p>$B@_Dj%U%!%$%k$G<!$N9T$r5-=R$7$^$9(B:</P> + +<pre> + BrowserMatchNoCase macintosh Mac + BrowserMatchNoCase MSIE InternetExplorer +</pre> + +<p>$B$3$l$O%/%i%$%"%s%H$,(B Macintosh $B>e$G%$%s%?!<%M%C%H%(%/%9%W%m!<%i$,(B +$BF0$$$F$$$k>l9g!"4D6-JQ?t(B ``Mac'' $B$H(B ``InternetExplorer'' $B$r??$H@_Dj$7$^$9!#(B</P> + +<p>$B<!$K!"(BSSI $B$,2DG=$K$J$C$?%I%-%e%a%s%H$G0J2<$r9T$J$$$^$9(B:</p> + +<pre> + <!--#if expr="${Mac} && ${InternetExplorer}" --> + Apologetic text goes here + <!--#else --> + Cool JavaScript code goes here + <!--#endif --> +</pre> + +<p>Mac $B>e$N(B IE $B$KBP$7$F2?$+;W$&$H$3$m$,$"$k$o$1$G$"$j$^$;$s!#(B +$BB>$G$O<B9T$G$-$F$$$k$$$/$D$+$N(B JavaScript $B$r(B Mac $B>e$N(B IE $B$G(B +$B<B9T$5$;$k$N$K!"@h=5?t;~4V6lO+$7$?$H$$$&$@$1$N$3$H$G$9!#(B +$B>e$NNc$O$=$N;CDjE*$JBP=hJ}K!$G$9!#(B</p> + +<p>$BB>$N$I$s$JJQ?t(B ($B$"$J$?$,Dj5A$9$k$b$N!"$^$?$OIaDL$N4D6-JQ?t$N$$$:$l$+(B) $B$b!"(B +$B>r7oJ8$K;HMQ$9$k$3$H$,$G$-$^$9!#(BApache $B$O(B <code>SetEnvIf</code> +$B%G%#%l%/%F%#%V$dB>$N4XO"%G%#%l%/%F%#%V;HMQ$7$F4D6-JQ?t$r@_Dj$9$k$3$H$,(B +$B$G$-$^$9!#$3$N5!G=$K$h$j!"(BCGI $B$KMj$k$3$H$J$/$+$J$jJ#;($JF0E*$J$3$H$r$5$;$k(B +$B$3$H$,$G$-$^$9!#(B</p> + +<hr> +<h2><a name="conclusion">$B=*$o$j$K(B</a></h2> + +<p>SSI $B$O3N$+$K(B CGI $B$dF0E*$J%&%'%V%Z!<%8$r@8@.$9$kB>$N5;=Q$KBe$o$k$b$N(B +$B$G$O$"$j$^$;$s!#$7$+$7!"(B +$B$?$/$5$s$NM>J,$J:n6H$r$;$:$K!">/NL$NF0E*$J%3%s%F%s%D$r2C$($k$K$O(B +$B$9$0$l$?J}K!$G$9!#(B</p> + +</body> +</html> diff --git a/usr.sbin/httpd/htdocs/manual/images/apache_header.gif b/usr.sbin/httpd/htdocs/manual/images/apache_header.gif Binary files differnew file mode 100644 index 00000000000..260e421bf4a --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/images/apache_header.gif diff --git a/usr.sbin/httpd/htdocs/manual/images/pixel.gif b/usr.sbin/httpd/htdocs/manual/images/pixel.gif Binary files differnew file mode 100644 index 00000000000..c0801475d27 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/images/pixel.gif diff --git a/usr.sbin/httpd/htdocs/manual/index.html.en b/usr.sbin/httpd/htdocs/manual/index.html.en new file mode 100644 index 00000000000..f09a7090e27 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/index.html.en @@ -0,0 +1,184 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head><title>Apache HTTP Server Version 1.3 Documentation</title></head> +<body + bgcolor="#FFFFFF" + text="#000000" + link="#0000FF" + vlink="#000080" + alink="#FF0000" +> + +<div align="center"> +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr> +<td align="center"> + <img src="images/apache_header.gif" width=600 height=62 border=0 alt="[Apache Documentation]"></td> +</tr> +<tr> +<td align="center" bgcolor="#4f4f4f"> + <table cellspacing="1" cellpadding="4" border="0" width="100%"> + <tr> + <td align="center" bgcolor="#bebebe"> + <a href="misc/FAQ.html"><strong>FAQ</strong></a> + </td> + <td align="center" bgcolor="#bebebe"> + <a href="mod/directives.html"><strong>Directives</strong></a> + </td> + <td align="center" bgcolor="#bebebe"> + <a href="mod/"><strong>Modules</strong></a> + </td> + <td align="center" bgcolor="#bebebe"> + <a href="http://www.apache.org/search.html"><strong>Search</strong></a> + </td> + </tr></table> +</td> +</tr> +<tr> +<td> </td> +</tr><tr> +<td align="center" height="30"> + <h3>Apache HTTP Server Version 1.3</h3> +</td> +</tr> +</table> +</div> + +<div align="center"> + +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr><td align="center"> + <form method="post" action="http://search.apache.org/"> + <input type="hidden" name="what" value="httpd.apache.org"> + <input type="hidden" name="results" value="20"> + <input type="hidden" name="version" value="2"> + <input type="text" name="keyword" size="20"> + <input type="submit" value="Search"> + </form> +</td></tr></table> + +<!-- +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr> +<td align="center"><hr size="1" noshade width="100%"> +</td> +</tr> +</table> +--> + +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr> +<td align="center" valign="top"> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> + <strong>Release Notes</strong> +</td></tr><tr><td> +<A HREF="new_features_1_3.html">New Features in Version 1.3</A> +</td></tr><tr><td> +<A HREF="upgrading_to_1_3.html">Upgrading to Version 1.3</A> +</td></tr><tr><td> +<A HREF="LICENSE">Apache License</A> +</td></tr> +</table> + +<p> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>Reference Manual</strong> +</td></tr><tr><td> +<A HREF="install.html">Compiling and Installing</A> +</td></tr><tr><td> +<A HREF="invoking.html">Starting</A> +</td></tr><tr><td> +<A HREF="stopping.html">Stopping or Restarting</A> +</td></tr><tr><td> +<A HREF="mod/directives.html">Run-time Configuration Directives</A> +</td></tr><tr><td> +Modules: <A HREF="mod/index-bytype.html">By Type</A> or + <A HREF="mod/index.html">Alphabetical</A> +</td></tr><tr><td> +<A HREF="programs/">Server and Supporting Programs</A> +</td></tr><tr><td> +<A HREF="dso.html">Dynamic Shared Object (DSO) Support</A> +</td></tr><tr><td> +<A HREF="misc/API.html">The Apache API</A> +</td></tr></table> + +<p> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>Platform Specific Notes</strong> +</td></tr><tr><td> +<A HREF="windows.html">Microsoft Windows</A> +</td></tr><tr><td> +<A HREF="netware.html">Novell Netware 5</A> +</td></tr><tr><td> +<A HREF="mpeix.html">HP MPE/iX</A> +</td></tr><tr><td> +<A HREF="unixware.html">UnixWare</A> +</td></tr><tr><td> +<A HREF="readme-tpf.html">TPF</A> +</td></tr></table> + +</td> +<td align="center" valign="top" bgcolor="#cccccc"> +<table border="0" cellpadding="0" cellspacing="0" bgcolor="#cccccc"><tr><td + align="center"><img src="images/pixel.gif" width="1" height="1" + border="0" alt="."></td></tr></table> +</td> +<td align="center" valign="top"> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>Using the Apache HTTP Server</strong> +</td></tr><tr><td> +<A HREF="configuring.html">Configuration Files</A> +</td></tr><tr><td> +<a href="server-wide.html">Server-Wide Configuration</A> +</td></tr><tr><td> +<A HREF="urlmapping.html">Mapping URLs to the Filesystem</A> +</td></tr><tr><td> +<A HREF="vhosts/index.html">Virtual Hosts</A> +</td></tr><tr><td> +<a href="howto/ssi.html">Server Side Includes</a> +</td></tr><tr><td> +<a href="howto/cgi.html">Dynamic Content with CGI</a> +</td></tr><tr><td> +<A HREF="handler.html">Handlers</A> +</td></tr><tr><td> +<A HREF="content-negotiation.html">Content negotiation</A> +</td></tr><tr><td> +<A HREF="env.html">Environment Variables</A> +</td></tr><tr><td> +<A HREF="suexec.html">Using SetUserID Execution for CGI</A> +</td></tr><tr><td> +<A HREF="misc/perf-tuning.html">General Performance hints</A> +</td></tr><tr><td> +<A HREF="misc/security_tips.html">Security tips</A> +</td></tr><tr><td> +<A HREF="misc/rewriteguide.html">URL Rewriting Guide</A> +</td></tr></table> + +<p> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>Other Topics</strong> +</td></tr><tr><td> +<A HREF="misc/FAQ.html">Frequently Asked Questions</A> +</td></tr><tr><td> +<A HREF="misc/tutorials.html">Tutorials</A> +</td></tr><tr><td> +<A HREF="misc/">Other Notes</A> +</td></tr></table> +</td> +</tr> +</table> + +</div> + +<p align="center">Maintained by the <a +href="http://httpd.apache.org/docs-project/">Apache HTTP Server +Documentation Project</a>.</p> + +<!--#include virtual="footer.html" --> +</body> +</html> diff --git a/usr.sbin/httpd/htdocs/manual/index.html.fr b/usr.sbin/httpd/htdocs/manual/index.html.fr new file mode 100644 index 00000000000..3e35d590240 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/index.html.fr @@ -0,0 +1,164 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head><title>Documentation du serveur HTTP Apache version 1.3</title></head> +<body + bgcolor="#FFFFFF" + text="#000000" + link="#0000FF" + vlink="#000080" + alink="#FF0000" +> + +<div align="center"> +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr> +<td align="center"> + <img src="images/apache_header.gif" width=600 height=62 border=0 alt="[Documentation d'Apache]"></td> +</tr> +<tr> +<td align="center" bgcolor="#4f4f4f"> + <table cellspacing="1" cellpadding="4" border="0" width="100%"> + <tr> + <td align="center" bgcolor="#bebebe"> + <a href="misc/FAQ.html"><strong>FAQ</strong></a> + </td> + <td align="center" bgcolor="#bebebe"> + <a href="mod/directives.html"><strong>Directives</strong></a> + </td> + <td align="center" bgcolor="#bebebe"> + <a href="mod/"><strong>Modules</strong></a> + </td> + <td align="center" bgcolor="#bebebe"> + <a href="http://www.apache.org/search.html"><strong>Rechercher</strong></a> + </td> + </tr></table> +</td> +</tr> +<tr> +<td> </td> +</tr><tr> +<td align="center" height="30"> + <h3>Serveur HTTP Apache version 1.3</h3> +</td> +</tr> +</table> +</div> + +<div align="center"> + +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr><td align="center"> + <form method="post" action="http://search.apache.org/"> + <input type="hidden" name="what" value="ap"> + <input type="hidden" name="results" value="20"> + <input type="text" name="keyword" size="20"> + <input type="submit" value="Search"> + </form> +</td></tr></table> + +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr> +<td align="center" valign="top"> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> + <strong>Notes sur cette version</strong> +</td></tr><tr><td> +<A HREF="new_features_1_3.html">Nouvelles fonctionnalités de la version 1.3</A> +</td></tr><tr><td> +<A HREF="upgrading_to_1_3.html">Migrer vers la version 1.3</A> +</td></tr><tr><td> +<A HREF="LICENSE">License Apache</A> +</td></tr> +</table> + + +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>Manuel de référence</strong> +</td></tr><tr><td> +<A HREF="install.html">Compilation et installation</A> +</td></tr><tr><td> +<A HREF="invoking.html">Démarrage</A> +</td></tr><tr><td> +<A HREF="stopping.html">Arrκt et redémarrage</A> +</td></tr><tr><td> +<A HREF="mod/directives.html">Directives de configuration de l'exécution</A> +</td></tr><tr><td> +Modules: <A HREF="mod/index-bytype.html">par type</A> or + <A HREF="mod/index.html">par ordre alphabétique</A> +</td></tr><tr><td> +<A HREF="dso.html">Support des Objets partagés dynamiques (DSO)</A> +</td></tr><tr><td> +<A HREF="misc/API.html">L'API Apache</A> +</td></tr></table> + +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>Notes liées aux plates-formes</strong> +</td></tr><tr><td> +<A HREF="windows.html">Microsoft Windows</A> +</td></tr><tr><td> +<A HREF="netware.html">Novell Netware 5</A> +</td></tr><tr><td> +<A HREF="mpeix.html">HP MPE/iX</A> +</td></tr><tr><td> +<A HREF="unixware.html">UnixWare</A> +</td></tr><tr><td> +<A HREF="readme-tpf.html">TPF</A> +</td></tr></table> + +</td> +<td align="center" valign="top" bgcolor="#cccccc"> +<table border="0" cellpadding="0" cellspacing="0" bgcolor="#cccccc"><tr><td + align="center"><img src="images/pixel.gif" width="1" height="1" + border="0" alt="."></td></tr></table> +</td> +<td align="center" valign="top"> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>Utilisation du serveur HTTP Apache</strong> +</td></tr><tr><td> +<A HREF="configuring.html">Fichiers de configuration</A> +</td></tr><tr><td> +<a href="server-wide.html">Configuration globale du serveur</A> +</td></tr><tr><td> +<A HREF="vhosts/index.html">Hτtes virtuels</A> +</td></tr><tr><td> +<a href="howto/ssi.html">Inclusion côté serveur (SSI)</a> +</td></tr><tr><td> +<a href="howto/cgi.html">Contenu dynamique avec les CGI</a> +</td></tr><tr><td> +<A HREF="handler.html">Handlers</A> +</td></tr><tr><td> +<A HREF="content-negotiation.html">Négotiation de contenu</A> +</td></tr><tr><td> +<A HREF="env.html">Variables d'environnement</A> +</td></tr><tr><td> +<A HREF="suexec.html">Using SetUserID Execution for CGI</A> +</td></tr><tr><td> +<A HREF="misc/perf-tuning.html">Aides sur les performances générales</A> +</td></tr><tr><td> +<A HREF="misc/security_tips.html">Trucs sur la sécurité</A> +</td></tr><tr><td> +<A HREF="misc/rewriteguide.html">Guide de réécriture d'URLs</A> +</td></tr></table> + +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>Autres sujets</strong> +</td></tr><tr><td> +<A HREF="misc/FAQ.html">Foires aux questions</A> +</td></tr><tr><td> +<A HREF="misc/tutorials.html">Tutoriels</A> +</td></tr><tr><td> +<A HREF="misc/">Autres notes</A> +</td></tr></table> +</td> +</tr> +</table> + +</div> + +<!--#include virtual="footer.html" --> +</body> +</html> diff --git a/usr.sbin/httpd/htdocs/manual/index.html.html b/usr.sbin/httpd/htdocs/manual/index.html.html new file mode 100644 index 00000000000..9c360019870 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/index.html.html @@ -0,0 +1,185 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head><title>Apache HTTP Server Version 1.3 Documentation</title></head> +<body + bgcolor="#FFFFFF" + text="#000000" + link="#0000FF" + vlink="#000080" + alink="#FF0000" +> + +<div align="center"> +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr> +<td align="center"> + <img src="images/apache_header.gif" width=600 height=62 border=0 alt="[Apache Documentation]"></td> +</tr> +<tr> +<td align="center" bgcolor="#4f4f4f"> + <table cellspacing="1" cellpadding="4" border="0" width="100%"> + <tr> + <td align="center" bgcolor="#bebebe"> + <a href="misc/FAQ.html"><strong>FAQ</strong></a> + </td> + <td align="center" bgcolor="#bebebe"> + <a href="mod/directives.html"><strong>Directives</strong></a> + </td> + <td align="center" bgcolor="#bebebe"> + <a href="mod/"><strong>Modules</strong></a> + </td> + <td align="center" bgcolor="#bebebe"> + <a href="http://www.apache.org/search.html"><strong>Search</strong></a> + </td> + </tr></table> +</td> +</tr> +<tr> +<td> </td> +</tr><tr> +<td align="center" height="30"> + <h3>Apache HTTP Server Version 1.3</h3> +</td> +</tr> +</table> +</div> + +<div align="center"> + +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr><td align="center"> + <form method="post" action="http://search.apache.org/"> + <input type="hidden" name="what" value="httpd.apache.org"> + <input type="hidden" name="results" value="20"> + <input type="hidden" name="version" value="2"> + <input type="text" name="keyword" size="20"> + <input type="submit" value="Search"> + </form> +</td></tr></table> + +<!-- +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr> +<td align="center"><hr size="1" noshade width="100%"> +</td> +</tr> +</table> +--> + +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr> +<td align="center" valign="top"> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> + <strong>Release Notes</strong> +</td></tr><tr><td> +<A HREF="new_features_1_3.html">New Features in Version 1.3</A> +</td></tr><tr><td> +<A HREF="upgrading_to_1_3.html">Upgrading to Version 1.3</A> +</td></tr><tr><td> +<A HREF="LICENSE">Apache License</A> +</td></tr> +</table> + +<p> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>Reference Manual</strong> +</td></tr><tr><td> +<A HREF="install.html">Compiling and Installing</A> +</td></tr><tr><td> +<A HREF="invoking.html">Starting</A> +</td></tr><tr><td> +<A HREF="stopping.html">Stopping or Restarting</A> +</td></tr><tr><td> +<A HREF="mod/directives.html">Run-time Configuration Directives</A> +</td></tr><tr><td> +Modules: <A HREF="mod/index-bytype.html">By Type</A> or + <A HREF="mod/index.html">Alphabetical</A> +</td></tr><tr><td> +<A HREF="programs/">Server and Supporting Programs</A> +</td></tr><tr><td> +<A HREF="dso.html">Dynamic Shared Object (DSO) Support</A> +</td></tr><tr><td> +<A HREF="misc/API.html">The Apache API</A> +</td></tr></table> + +<p> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>Platform Specific Notes</strong> +</td></tr><tr><td> +<A HREF="windows.html">Microsoft Windows</A> +</td></tr><tr><td> +<A HREF="netware.html">Novell Netware 5</A> +</td></tr><tr><td> +<A HREF="mpeix.html">HP MPE/iX</A> +</td></tr><tr><td> +<A HREF="unixware.html">UnixWare</A> +</td></tr><tr><td> +<A HREF="readme-tpf.html">TPF</A> +</td></tr></table> + +</td> +<td align="center" valign="top" bgcolor="#cccccc"> +<table border="0" cellpadding="0" cellspacing="0" bgcolor="#cccccc"><tr><td + align="center"><img src="images/pixel.gif" width="1" height="1" + border="0" alt="."></td></tr></table> +</td> +<td align="center" valign="top"> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>Using the Apache HTTP Server</strong> +</td></tr><tr><td> +<A HREF="configuring.html">Configuration Files</A> +</td></tr><tr><td> +<a href="server-wide.html">Server-Wide Configuration</A> +</td></tr><tr><td> +<A HREF="urlmapping.html">Mapping URLs to the Filesystem</A> +</td></tr><tr><td> +<A HREF="vhosts/index.html">Virtual Hosts</A> +</td></tr><tr><td> +<a href="howto/ssi.html">Server Side Includes</a> +</td></tr><tr><td> +<a href="howto/cgi.html">Dynamic Content with CGI</a> +</td></tr><tr><td> +<A HREF="handler.html">Handlers</A> +</td></tr><tr><td> +<A HREF="content-negotiation.html">Content negotiation</A> +</td></tr><tr><td> +<A HREF="env.html">Environment Variables</A> +</td></tr><tr><td> +<A HREF="suexec.html">Using SetUserID Execution for CGI</A> +</td></tr><tr><td> +<A HREF="misc/perf-tuning.html">General Performance hints</A> +</td></tr><tr><td> +<A HREF="misc/security_tips.html">Security tips</A> +</td></tr><tr><td> +<A HREF="misc/rewriteguide.html">URL Rewriting Guide</A> +</td></tr></table> + +<p> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>Other Topics</strong> +</td></tr><tr><td> +<A HREF="misc/FAQ.html">Frequently Asked Questions</A> +</td></tr><tr><td> +<A HREF="misc/tutorials.html">Tutorials</A> +</td></tr><tr><td> +<A HREF="misc/">Other Notes</A> +</td></tr></table> +</td> +</tr> +</table> + +</div> + +<p align="center">Maintained by the <a +href="http://httpd.apache.org/docs-project/">Apache HTTP Server +Documentation Project</a>.</p> + +<!--#include virtual="footer.html" --> +</body> +</html> + diff --git a/usr.sbin/httpd/htdocs/manual/index.html.ja.jis b/usr.sbin/httpd/htdocs/manual/index.html.ja.jis new file mode 100644 index 00000000000..587e41396db --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/index.html.ja.jis @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head><title>Apache HTTP $B%5!<%P(B $B%P!<%8%g%s(B 1.3 $B%I%-%e%a%s%H(B</title></head> +<!-- English revision: 1.46 --> +<body + bgcolor="#FFFFFF" + text="#000000" + link="#0000FF" + vlink="#000080" + alink="#FF0000" +> +<div align="center"> +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr> +<td align="center"> + <img src="images/apache_header.gif" width=600 height=62 border=0 alt="[Apache $B%I%-%e%a%s%H(B]"></td> +</tr> +<tr> +<td align="center" bgcolor="#4f4f4f"> + <table cellspacing="1" cellpadding="4" border="0" width="100%"> + <tr> + <td align="center" bgcolor="#bebebe"> + <a href="misc/FAQ.html"><strong>FAQ</strong></a> + </td> + <td align="center" bgcolor="#bebebe"> + <a href="mod/directives.html"><strong>$B%G%#%l%/%F%#%V(B</strong></a> + </td> + <td align="center" bgcolor="#bebebe"> + <a href="mod/"><strong>$B%b%8%e!<%k(B</strong></a> + </td> + <td align="center" bgcolor="#bebebe"> + <a href="http://www.apache.org/search.html"><strong>$B8!:w(B</strong></a> + </td> + </tr></table> +</td> +</tr> +<tr> +<td> </td> +</tr><tr> +<td align="center" height="30"> + <h3>Apache HTTP Server Version 1.3</h3> +</td> +</tr> +</table> +</div> + +<div align="center"> + +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr><td align="center"> + <form method="post" action="http://search.apache.org/"> + <input type="hidden" name="what" value="httpd.apache.org"> + <input type="hidden" name="results" value="20"> + <input type="hidden" name="version" value="2"> + <input type="text" name="keyword" size="20"> + <input type="submit" value="Search"> + </form> +</td></tr></table> + +<!-- +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr> +<td align="center"><hr size="1" noshade width="100%"> +</td> +</tr> +</table> +--> + +<table cellspacing="0" cellpadding="0" border="0" width="600"> +<tr> +<td align="center" valign="top"> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> + <strong>$B%j%j!<%9%N!<%H(B</strong> +</td></tr><tr><td> +<a href="new_features_1_3.html">Apache 1.3 $B$N?75!G=(B</a> +</td></tr><tr><td> +<a href="upgrading_to_1_3.html">Apache 1.3 $B$X$N%"%C%W%0%l!<%I(B</a> +</td></tr><tr><td> +<a href="LICENSE">Apache $B$N%i%$%;%s%9(B</a> +</td></tr> +</table> + +<p> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>$B%j%U%!%l%s%9%^%K%e%"%k(B</strong> +</td></tr><tr><td> +<a href="install.html">$B%3%s%Q%$%k$H%$%s%9%H!<%k(B</a> +</td></tr><tr><td> +<a href="invoking.html">$B5/F0(B</a> +</td></tr><tr><td> +<a href="stopping.html">$B=*N;$^$?$O:F5/F0(B</a> +</td></tr><tr><td> +<a href="mod/directives.html">$B<B9T;~$N@_DjJ}K!(B</a> +</td></tr><tr><td> +$B%b%8%e!<%k(B: <a href="mod/index-bytype.html">$B<oN`JL(B</a> $B$H(B + <a href="mod/index.html">$B%"%k%U%!%Y%C%H=g(B</a> +</td></tr><tr><td> +<a href="dso.html">Dynamic Shared Object (DSO) $B$N%5%]!<%H(B</a> +</td></tr><tr><td> +<a href="misc/API.html">Apache API</a> +</td></tr></table> + +<p> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>$B%W%i%C%H%U%)!<%`8GM-$N>pJs(B</strong> +</td></tr><tr><td> +<a href="windows.html">Microsoft Windows</a> +</td></tr><tr><td> +<a href="netware.html">Novell Netware 5</a> +</td></tr><tr><td> +<a href="mpeix.html">HP MPE/iX</a> +</td></tr><tr><td> +<a href="unixware.html">UnixWare</a> +</td></tr><tr><td> +<a href="readme-tpf.html">TPF</a> +</td></tr></table> + +</td> +<td align="center" valign="top" bgcolor="#cccccc"> +<table border="0" cellpadding="0" cellspacing="0" bgcolor="#cccccc"><tr><td + align="center"><img src="images/pixel.gif" width="1" height="1" + border="0" alt="."></td></tr></table> +</td> +<td align="center" valign="top"> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>Apache HTTP $B%5!<%P$r;H$&(B</strong> +</td></tr><tr><td> +<a href="configuring.html">$B@_Dj%U%!%$%k(B</a> +</td></tr><tr><td> +<a href="server-wide.html">$B%5!<%PA4BN$N@_Dj(B</a> +</td></tr><tr><td> +<a href="vhosts/index.html">$B%P!<%A%c%k%[%9%H(B</a> +</td></tr><tr><td> +<a href="howto/ssi.html">Server Side Include</a> +</td></tr><tr><td> +<a href="howto/cgi.html">CGI $B$K$h$kF0E*%3%s%F%s%D(B</a> +</td></tr><tr><td> +<a href="handler.html">$B%O%s%I%i(B</a> +</td></tr><tr><td> +<a href="content-negotiation.html">$B%3%s%F%s%H%M%4%7%(!<%7%g%s(B</a> +</td></tr><tr><td> +<a href="env.html">$B4D6-JQ?t(B</a> +</td></tr><tr><td> +<a href="suexec.html">CGI $B$G(B SetUserID $B<B9T$r;H$&(B</a> +</td></tr><tr><td> +<a href="misc/perf-tuning.html">$B0lHLE*$J@-G=$K4X$9$k%R%s%H(B</a> +</td></tr><tr><td> +<a href="misc/security_tips.html">$B%;%-%e%j%F%#>pJs(B</a> +</td></tr><tr><td> +<a href="misc/rewriteguide.html">URL Rewriting $B$N%,%$%I(B</a> +</td></tr></table> + +<p> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> +<tr><td align="center" bgcolor="#e9e9e9"> +<strong>$B$=$NB>(B</strong> +</td></tr><tr><td> +<a href="misc/FAQ.html">FAQ</a> +</td></tr><tr><td> +<a href="misc/tutorials.html">$B%A%e!<%H%j%"%k(B</a> +</td></tr><tr><td> +<a href="misc/">$B$=$NB>(B</a> +</td></tr></table> +</td> +</tr> +</table> + +</div> + +<p align="center"><a +href="http://httpd.apache.org/docs-project/">Apache HTTP Server +Documentation Project</a> $B$K$h$j%a%s%F%J%s%9$5$l$F$$$^$9!#(B</p> + +<!--#include virtual="footer.html" --> +</body> +</html> + diff --git a/usr.sbin/httpd/htdocs/manual/install.html.en b/usr.sbin/httpd/htdocs/manual/install.html.en new file mode 100644 index 00000000000..cd9126366cb --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/install.html.en @@ -0,0 +1,194 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Compiling and Installing Apache</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> + +<H1 ALIGN="CENTER">Compiling and Installing Apache 1.3</H1> + +<P>This document covers compilation and installation of Apache on Unix +systems, using the manual build and install method. If you wish to +use the autoconf-style configure interface, you should instead +read the INSTALL file in the root directory of the Apache source +distribution. For compiling and installation on specific platforms, see</P> +<UL> +<LI><A HREF="windows.html">Using Apache with Microsoft Windows</A> +<LI><A HREF="netware.html">Using Apache with Novell Netware 5</A> +<LI><A HREF="mpeix.html">Using Apache with HP MPE/iX</A> +<LI><A HREF="unixware.html">Compiling Apache under UnixWare</A> +<LI><A HREF="readme-tpf.html">Overview of the Apache TPF Port</A> +</UL> + +<H2>Downloading Apache</H2> + +Information on the latest version of Apache can be found on the Apache +web server at <A +HREF="http://www.apache.org/">http://www.apache.org/</A>. This will +list the current release, any more recent beta-test release, together +with details of mirror web and anonymous ftp sites. + +<P> + +If you downloaded a binary distribution, skip to <A +HREF="#install">Installing Apache</A>. Otherwise read the next section +for how to compile the server. + +<H2>Compiling Apache</H2> + +Compiling Apache consists of three steps: Firstly select which Apache +<STRONG>modules</STRONG> you want to include into the server. Secondly create a +configuration for your operating system. Thirdly compile the +executable. +<P> + +All configuration of Apache is performed in the <CODE>src</CODE> +directory of the Apache distribution. Change into this directory. + +<OL> + <LI> + Select modules to compile into Apache in the + <CODE>Configuration</CODE> file. Uncomment lines corresponding to + those optional modules you wish to include (among the AddModule lines + at the bottom of the file), or add new lines corresponding to + additional modules you have downloaded or written. (See <A + HREF="misc/API.html">API.html</A> for preliminary docs on how to + write Apache modules). Advanced users can comment out some of the + default modules if they are sure they will not need them (be careful + though, since many of the default modules are vital for the correct + operation and security of the server). + <P> + + You should also read the instructions in the <CODE>Configuration</CODE> + file to see if you need to set any of the <CODE>Rule</CODE> lines. + + + <LI> + Configure Apache for your operating system. Normally you can just + run the <CODE>Configure</CODE> script as given below. However + if this fails or you have any special requirements (<EM>e.g.</EM>, to include + an additional library required by an optional module) you might need + to edit one or more of the following options in the + <CODE>Configuration</CODE> file: + <CODE>EXTRA_CFLAGS, LIBS, LDFLAGS, INCLUDES</CODE>. + <P> + + Run the <CODE>Configure</CODE> script: + <BLOCKQUOTE> + <PRE> + % Configure + Using 'Configuration' as config file + + configured for <whatever> platform + + setting C compiler to <whatever> * + + setting C compiler optimization-level to <whatever> * + + Adding selected modules + + doing sanity check on compiler and options + Creating Makefile in support + Creating Makefile in main + Creating Makefile in os/unix + Creating Makefile in modules/standard + </PRE> + </BLOCKQUOTE> + + (*: Depending on Configuration and your system, Configure + might not print these lines. That's OK).<P> + + This generates a Makefile for use in stage 3. It also creates a + Makefile in the support directory, for compilation of the optional + support programs. + <P> + + (If you want to maintain multiple configurations, you can give an + option to <CODE>Configure</CODE> to tell it to read an alternative + Configuration file, such as <CODE>Configure -file + Configuration.ai</CODE>). + <P> + + <LI> + Type <CODE>make</CODE>. +</OL> + +The modules we place in the Apache distribution are the ones we have +tested and are used regularly by various members of the Apache +development group. Additional modules contributed by members or third +parties with specific needs or functions are available at +<<A HREF="http://www.apache.org/dist/contrib/modules/" + >http://www.apache.org/dist/contrib/modules/</A>>. +There are instructions on that page for linking these modules into the +core Apache code. + +<H2><A NAME="install">Installing Apache</A></H2> + +You will have a binary file called <CODE>httpd</CODE> in the +<CODE>src</CODE> directory. A binary distribution of Apache will +supply this file. <P> + +The next step is to install the program and configure it. Apache is +designed to be configured and run from the same set of directories +where it is compiled. If you want to run it from somewhere else, make +a directory and copy the <CODE>conf</CODE>, <CODE>logs</CODE> and +<CODE>icons</CODE> directories into it. In either case you should +read the <A HREF="misc/security_tips.html#serverroot">security tips</A> +describing how to set the permissions on the server root directory.<P> + +The next step is to edit the configuration files for the server. This +consists of setting up various <STRONG>directives</STRONG> in up to three +central configuration files. By default, these files are located in +the <CODE>conf</CODE> directory and are called <CODE>srm.conf</CODE>, +<CODE>access.conf</CODE> and <CODE>httpd.conf</CODE>. To help you get +started there are same files in the <CODE>conf</CODE> directory of the +distribution, called <CODE>srm.conf-dist</CODE>, +<CODE>access.conf-dist</CODE> and <CODE>httpd.conf-dist</CODE>. Copy +or rename these files to the names without the <CODE>-dist</CODE>. +Then edit each of the files. Read the comments in each file carefully. +Failure to setup these files correctly could lead to your server not +working or being insecure. You should also have an additional file in +the <CODE>conf</CODE> directory called <CODE>mime.types</CODE>. This +file usually does not need editing. + +<P> + +First edit <CODE>httpd.conf</CODE>. This sets up general attributes +about the server: the port number, the user it runs as, <EM>etc.</EM> Next +edit the <CODE>srm.conf</CODE> file; this sets up the root of the +document tree, special functions like server-parsed HTML or internal +imagemap parsing, <EM>etc.</EM> Finally, edit the <CODE>access.conf</CODE> +file to at least set the base cases of access. + +<P> + +In addition to these three files, the server behavior can be configured +on a directory-by-directory basis by using <CODE>.htaccess</CODE> +files in directories accessed by the server. + +<H3>Set your system time properly!</H3> + +Proper operation of a public web server requires accurate time +keeping, since elements of the HTTP protocol are expressed as the time +of day. So, it's time to investigate setting up NTP or some other +time synchronization system on your Unix box, or whatever the +equivalent on NT would be. + +<H2>Compiling Support Programs</H2> + +In addition to the main <CODE>httpd</CODE> server which is compiled +and configured as above, Apache includes a number of support programs. +These are not compiled by default. The support programs are in the +<CODE>support</CODE> directory of the distribution. To compile +the support programs, change into this directory and type +<PRE> + make +</PRE> + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/manual/install.html.fr b/usr.sbin/httpd/htdocs/manual/install.html.fr new file mode 100644 index 00000000000..f62c3b5c4fe --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/install.html.fr @@ -0,0 +1,286 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Compilation et installation d'Apache</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> + +<H1 ALIGN="CENTER">Compilation et installation d'Apache 1.3</H1> + +<P>Ce document décrit la compilation et l'installation d'Apache sur +les systèmes Unix, en employant la compilation et l'installation manuelle. +Si vous souhaitez utiliser l'interface de configuration semblable à autoconf, +il est conseillé de lire plutôt le fichier INSTALL situé dans la racine +des fichiers sources de la distribution d'Apache. Pour compiler et installer Apache +sur d'autres plates-formes, consultez </P> +<UL> +<LI><A HREF="windows.html">Utilisation d'Apache sur Microsoft Windows</A> +<LI><A HREF="netware.html">Utilisation d'Apache sur Novell Netware 5</A> +<LI><A HREF="mpeix.html">Utilisation d'Apache sur HP MPE/iX</A> +<LI><A HREF="unixware.html">Utilisation d'Apache sur UnixWare</A> +<LI><A HREF="readme-tpf.html">Aperçu du portage d'Apache sur TPF</A> +</UL> + +<H2>Téléchargement d'Apache</H2> +Les informations sur la dernière version d'Apache se trouvent sur le +site web d'Apache à l'adresse +<A HREF="http://www.apache.org/">http://www.apache.org/</A>. +Ce site réunit la version actuelle, les récentes versions +beta, ainsi que la liste des sites miroirs web et ftp anonymes. +<P> +Si vous avez téléchargé une distribution composée +des binaires, passez directement à l'<A HREF="#install">installation d'Apache</A>. +Sinon lisez la section suivante afin de savoir comment compiler le serveur. + +<H2>Compilation d'Apache</H2> + +La compilation d'Apache se compose de trois étapes : la sélection des +<STRONG>modules</STRONG> que vous souhaitez inclure dans le serveur; + la création de la configuration pour votre système d'exploitation; + la compilation les sources pour créer les exécutables. +<P> + +La configuration d'Apache s'effectue dans le répertoire <CODE>src</CODE> +de la distribution. Entrez dans ce répertoire. + +<OL> + <LI> + Sélection des modules à compiler dans Apache définis dans le + fichier <CODE>Configuration</CODE>. Décommentez les lignes correspondant + aux modules que vous souhaitez inclure (parmi les lignes commençant par + AddModule situées à la fin du fichier), ou ajoutez de nouvelles + lignes correspondant à des modules additionnels que vous avez + téléchargés ou écrits. + (Voir <A HREF="misc/API.html">API.html</A> comme documentation préliminaire + à l'écriture de modules Apache). + Les utilisateurs avertis peuvent commenter certains des modules actifs par défaut + si ils sont sûrs qu'ils n'en ont pas besoin (il faut néanmoins faire attention, + car la plupart des modules actifs par défaut sont vitaux au bon + fonctionnement et à la sécurité du serveur). + <P> + + Vous pouvez également lire les instructions contenues dans le fichier + <CODE>Configuration</CODE> afin de savoir si devez activer certaines lignes + commençant par <CODE>Rule</CODE>. + + + <LI> + Création de la configuration pour votre système d'exploitation. + Normalement vous n'avez qu'à exécuter le script <CODE>Configure</CODE> + comme décrit ci-dessous. Cependant si le script échoue ou si + vous avez des besoins particuliers (par exemple inclure une librairie nécessaire + à un module optionnel) vous devrez modifier une ou plusieurs de options + contenues dans le fichier <CODE>Configuration</CODE> : + <CODE>EXTRA_CFLAGS, LIBS, LDFLAGS, INCLUDES</CODE>. + <P> + + Lancement du script <CODE>Configure</CODE> : + <BLOCKQUOTE> + <PRE> + % Configure + Using 'Configuration' as config file + + configured for <whatever> platform + + setting C compiler to <whatever> * + + setting C compiler optimization-level to <whatever> * + + Adding selected modules + + doing sanity check on compiler and options + Creating Makefile in support + Creating Makefile in main + Creating Makefile in os/unix + Creating Makefile in modules/standard + </PRE> + </BLOCKQUOTE> + + (*: selon le fichier Configuration et votre système, Configure + peut ne pas afficher ces lignes).<P> + + Ceci crée un fichier Makefile qui sera utilisé lors de l'étape + trois. Il crée également un fichier Makefile dans le répertoire + <CODE>support</CODE>, pour compiler les programmes optionnels d'assistance. + <P> + + (Si vous souhaitez maintenir différentes configurations, <CODE>Configure</CODE> + accepte une option lui disant de lire un autre fichier de configuration, comme : + <CODE>Configure -file Configuration.ai</CODE>). + <P> + + <LI> + Compilation des sources. + Tapez : <PRE>make</PRE> +</OL> + +Les modules contenus dans la distribution Apache sont ceux que nous avons +testés et qui ont été utilisés par plusieurs +membres de l'équipe de développement d'Apache. Les modules +additionnels proposés par les membres ou d'autres parties correspondant +à des besoins ou des fonctions spécifiques sont disponibles à +l'adresse <<A HREF="http://www.apache.org/dist/contrib/modules/" + >http://www.apache.org/dist/contrib/modules/</A>>. +Des instructions sont fournies sur cette page pour lier ces modules au noyau +d'Apache. + +<H2><A NAME="install">Installation d'Apache</A></H2> + +Vous devez avoir un exécutable appelé <CODE>httpd</CODE> dans le +répertoire <CODE>src</CODE>. Une distribution des binaires doit fournir +ce fichier.<P> + +La prochaine étape est d'installer le programme et de le configurer. Apache est +conçu pour être configuré et lancé à partir +du même groupe de répertoires où il a été +compilé. Si vous souhaitez le lancer d'un autre emplacement, +créer un répertoire et copiez y les répertoires +<CODE>conf</CODE>, <CODE>logs</CODE> et <CODE>icons</CODE>. +Dans tous les cas lisez le document +<A HREF="misc/security_tips.html#serverroot">trucs sur la sécurité</A> +qui décrit comment affecter les droits sur le répertoire racine du serveur.<P> + +L'étape suivante est la modification des fichiers de configuration du serveur. +Cela consiste à définir différentes +<STRONG>directives</STRONG> dans les trois fichiers centraux de configuration. +Par défaut ces fichiers sont situés dans le répertoire +<CODE>conf</CODE> et s'appellent <CODE>srm.conf</CODE>, +<CODE>access.conf</CODE> et <CODE>httpd.conf</CODE>. +Pour vous aider, les mêmes fichiers existent dans le répertoire +<CODE>conf</CODE> de la distribution et sont appelés <CODE>srm.conf-dist</CODE>, + <CODE>access.conf-dist</CODE> et <CODE>httpd.conf-dist</CODE>. +Copiez ou renommez ces fichiers en supprimant le <CODE>-dist</CODE> pour le nouveau +nom. Ensuite éditez chacun de ces fichiers. Lisez attentivement les +commentaires de chacun de ces fichiers. Une mauvaise configuration de ces +fichiers empêcherait votre serveur de démarrer ou de ne pas +être sûr. Vous devez également trouver dans le répertoire +<CODE>conf</CODE> un fichier <CODE>mime.types</CODE>. +Généralement, ce fichier n'a pas besoin d'être modifié. +<P> + +Premièrement éditez le fichier <CODE>httpd.conf</CODE>. +Celui ci fixe les paramètres généraux du serveur : +le numéro de port, l'utilisateur qui l'exécute, etc. +Ensuite éditez le fichier <CODE>srm.conf</CODE>. Ce fichier définit +la racine de l'arborescence des documents, les fonctions spéciales telles +que les pages HTML dynamiques, l'analyse des imagemap, etc. Enfin, éditez +le fichier <CODE>access.conf</CODE> pour au moins définir les schémas +d'accès de base. + +<P> + +En plus de ces trois fichiers, le comportement du serveur peut être +configuré dans chaque répertoire en utilisant les fichiers +<CODE>.htaccess</CODE> pour les répertoires accédés par +le serveur. + +<H3>Définissez l'heure du système correctement !</H3> + +Un bon fonctionnement d'un site web public nécessite une heure juste, car +des éléments du protocole HTTP sont exprimés en termes de date +et heure du jour. +Il est donc temps de chercher comment configurer NTP ou un autre produit +de synchronisation temporelle sur votre système UNIX, ou +un équivalent sous NT. + +<H3>Démarrage et arrêt du serveur</H3> + +Pour démarrer le serveur, exécutez <CODE>httpd</CODE>. Il cherchera +le fichier <CODE>httpd.conf</CODE> à l'emplacement spécifié +lors de la compilation (par défaut +<CODE>/usr/local/apache/conf/httpd.conf</CODE>). Si ce fichier est situé +autre part, vous pouvez indiquer son emplacement en utilisant l'option -f. +Par exemple : +<PRE> + /usr/local/apache/httpd -f /usr/local/apache/conf/httpd.conf +</PRE> + +Si tout se passe bien, vous devez vous retrouver de nouveau sur l'invite de commande. +Ceci indique que le serveur est actif et s'exécute. Si quelque chose se +passe mal durant l'initialisation du serveur, un message d'erreur s'affichera +à l'écran. + +Si le serveur démarre correctement, vous pouvez utiliser votre navigateur, +vous connecter au serveur et lire la documentation. Si vous lancez le navigateur +à partir de la machine où s'exécute le serveur et que vous +utilisez le port par défaut 80, une URL valide à taper dans votre +navigateur est : + +<PRE> + http://localhost/ +</PRE> + +<P> + +Notez que lors du démarrage du serveur un certain nombre de processus +<EM>fils</EM> sont créés afin de traiter les requêtes. +Si vous démarrez le serveur en étant root, le processus père +s'exécutera avec les droits de root, tandis que les processus fils +s'exécuteront avec les droits de l'utilisateur défini dans le +fichier httpd.conf. + +<P> + +Si au lancement de <CODE>httpd</CODE> celui ci indique qu'il n'arrive pas à +s'attacher à une adresse, cela signifie soit qu'un autre processus +s'exécute déjà en utilisant le numéro de port +défini dans la configuration d'Apache, soit que vous essayez de lancer httpd +en tant qu'utilisateur normal et que vous essayez d'utiliser un port +inférieur à 1024 (comme le port 80 par exemple). +<P> + +Si le serveur ne s'exécute pas, lisez le message affiché quand vous +lancez httpd. Vous devez également vérifier le fichier +error_log pour plus d'informations (dans la configuration par défaut +ce fichier est situé dans le fichier <CODE>error_log</CODE> du +répertoire <CODE>logs</CODE>). +<P> + +Si vous voulez que votre serveur continue à s'exécuter après +une relance du système, vous devez ajouter un appel à <CODE>httpd</CODE> +dans vos fichiers de démarrage du système (typiquement <CODE>rc.local</CODE> +ou un fichier dans un répertoire <CODE>rc.<EM>N</EM></CODE>). +Ceci lancera le serveur Apache avec les droits de root. +Avant de le faire, vérifiez que votre serveur est correctement configuré +au niveau de la sécurité et des restrictions d'accès. + +<P> + +Pour arrêter Apache, envoyez au processus parent un signal TERM. +Le PID de ce processus est écrit dans le fichier <CODE>httpd.pid</CODE> +situé dans le répertoire <CODE>logs</CODE> (à moins qu'Apache +soit configuré autrement). N'essayez pas de supprimer les processus fils car +d'autres seront créés par le processus père. Une commande +typique pour arrêter le serveur est : + +<PRE> + kill -TERM `cat /usr/local/apache/logs/httpd.pid` +</PRE> + +<P> + +Pour plus d'information sur les options de la ligne de commande, sur les +fichiers de configuration et les fichiers de trace, voir +<A HREF="invoking.html">Démarrage d'Apache</A>. Pour un guide de +référence de toutes les directives Apache autorisées par +les modules distribués, voir les +<A HREF="mod/directives.html">directives Apache </A>. + +<H2>Compilation des programmes d'assistance</H2> + +En plus du serveur <CODE>httpd</CODE> qui est compilé et configuré comme ci dessus, +Apache inclut un certain nombre de programmes d'assistance. +Ceux ci ne sont pas compilés par défaut. Les programmes d'assistance +sont situés dans le répertoire <CODE>support</CODE> de la distribution. +Pour les compiler, allez dans ce répertoire et tapez : +<PRE> + make +</PRE> + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/manual/install.html.html b/usr.sbin/httpd/htdocs/manual/install.html.html new file mode 100644 index 00000000000..b92c3f31cca --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/install.html.html @@ -0,0 +1,195 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Compiling and Installing Apache</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> + +<H1 ALIGN="CENTER">Compiling and Installing Apache 1.3</H1> + +<P>This document covers compilation and installation of Apache on Unix +systems, using the manual build and install method. If you wish to +use the autoconf-style configure interface, you should instead +read the INSTALL file in the root directory of the Apache source +distribution. For compiling and installation on specific platforms, see</P> +<UL> +<LI><A HREF="windows.html">Using Apache with Microsoft Windows</A> +<LI><A HREF="netware.html">Using Apache with Novell Netware 5</A> +<LI><A HREF="mpeix.html">Using Apache with HP MPE/iX</A> +<LI><A HREF="unixware.html">Compiling Apache under UnixWare</A> +<LI><A HREF="readme-tpf.html">Overview of the Apache TPF Port</A> +</UL> + +<H2>Downloading Apache</H2> + +Information on the latest version of Apache can be found on the Apache +web server at <A +HREF="http://www.apache.org/">http://www.apache.org/</A>. This will +list the current release, any more recent beta-test release, together +with details of mirror web and anonymous ftp sites. + +<P> + +If you downloaded a binary distribution, skip to <A +HREF="#install">Installing Apache</A>. Otherwise read the next section +for how to compile the server. + +<H2>Compiling Apache</H2> + +Compiling Apache consists of three steps: Firstly select which Apache +<STRONG>modules</STRONG> you want to include into the server. Secondly create a +configuration for your operating system. Thirdly compile the +executable. +<P> + +All configuration of Apache is performed in the <CODE>src</CODE> +directory of the Apache distribution. Change into this directory. + +<OL> + <LI> + Select modules to compile into Apache in the + <CODE>Configuration</CODE> file. Uncomment lines corresponding to + those optional modules you wish to include (among the AddModule lines + at the bottom of the file), or add new lines corresponding to + additional modules you have downloaded or written. (See <A + HREF="misc/API.html">API.html</A> for preliminary docs on how to + write Apache modules). Advanced users can comment out some of the + default modules if they are sure they will not need them (be careful + though, since many of the default modules are vital for the correct + operation and security of the server). + <P> + + You should also read the instructions in the <CODE>Configuration</CODE> + file to see if you need to set any of the <CODE>Rule</CODE> lines. + + + <LI> + Configure Apache for your operating system. Normally you can just + run the <CODE>Configure</CODE> script as given below. However + if this fails or you have any special requirements (<EM>e.g.</EM>, to include + an additional library required by an optional module) you might need + to edit one or more of the following options in the + <CODE>Configuration</CODE> file: + <CODE>EXTRA_CFLAGS, LIBS, LDFLAGS, INCLUDES</CODE>. + <P> + + Run the <CODE>Configure</CODE> script: + <BLOCKQUOTE> + <PRE> + % Configure + Using 'Configuration' as config file + + configured for <whatever> platform + + setting C compiler to <whatever> * + + setting C compiler optimization-level to <whatever> * + + Adding selected modules + + doing sanity check on compiler and options + Creating Makefile in support + Creating Makefile in main + Creating Makefile in os/unix + Creating Makefile in modules/standard + </PRE> + </BLOCKQUOTE> + + (*: Depending on Configuration and your system, Configure + might not print these lines. That's OK).<P> + + This generates a Makefile for use in stage 3. It also creates a + Makefile in the support directory, for compilation of the optional + support programs. + <P> + + (If you want to maintain multiple configurations, you can give an + option to <CODE>Configure</CODE> to tell it to read an alternative + Configuration file, such as <CODE>Configure -file + Configuration.ai</CODE>). + <P> + + <LI> + Type <CODE>make</CODE>. +</OL> + +The modules we place in the Apache distribution are the ones we have +tested and are used regularly by various members of the Apache +development group. Additional modules contributed by members or third +parties with specific needs or functions are available at +<<A HREF="http://www.apache.org/dist/contrib/modules/" + >http://www.apache.org/dist/contrib/modules/</A>>. +There are instructions on that page for linking these modules into the +core Apache code. + +<H2><A NAME="install">Installing Apache</A></H2> + +You will have a binary file called <CODE>httpd</CODE> in the +<CODE>src</CODE> directory. A binary distribution of Apache will +supply this file. <P> + +The next step is to install the program and configure it. Apache is +designed to be configured and run from the same set of directories +where it is compiled. If you want to run it from somewhere else, make +a directory and copy the <CODE>conf</CODE>, <CODE>logs</CODE> and +<CODE>icons</CODE> directories into it. In either case you should +read the <A HREF="misc/security_tips.html#serverroot">security tips</A> +describing how to set the permissions on the server root directory.<P> + +The next step is to edit the configuration files for the server. This +consists of setting up various <STRONG>directives</STRONG> in up to three +central configuration files. By default, these files are located in +the <CODE>conf</CODE> directory and are called <CODE>srm.conf</CODE>, +<CODE>access.conf</CODE> and <CODE>httpd.conf</CODE>. To help you get +started there are same files in the <CODE>conf</CODE> directory of the +distribution, called <CODE>srm.conf-dist</CODE>, +<CODE>access.conf-dist</CODE> and <CODE>httpd.conf-dist</CODE>. Copy +or rename these files to the names without the <CODE>-dist</CODE>. +Then edit each of the files. Read the comments in each file carefully. +Failure to setup these files correctly could lead to your server not +working or being insecure. You should also have an additional file in +the <CODE>conf</CODE> directory called <CODE>mime.types</CODE>. This +file usually does not need editing. + +<P> + +First edit <CODE>httpd.conf</CODE>. This sets up general attributes +about the server: the port number, the user it runs as, <EM>etc.</EM> Next +edit the <CODE>srm.conf</CODE> file; this sets up the root of the +document tree, special functions like server-parsed HTML or internal +imagemap parsing, <EM>etc.</EM> Finally, edit the <CODE>access.conf</CODE> +file to at least set the base cases of access. + +<P> + +In addition to these three files, the server behavior can be configured +on a directory-by-directory basis by using <CODE>.htaccess</CODE> +files in directories accessed by the server. + +<H3>Set your system time properly!</H3> + +Proper operation of a public web server requires accurate time +keeping, since elements of the HTTP protocol are expressed as the time +of day. So, it's time to investigate setting up NTP or some other +time synchronization system on your Unix box, or whatever the +equivalent on NT would be. + +<H2>Compiling Support Programs</H2> + +In addition to the main <CODE>httpd</CODE> server which is compiled +and configured as above, Apache includes a number of support programs. +These are not compiled by default. The support programs are in the +<CODE>support</CODE> directory of the distribution. To compile +the support programs, change into this directory and type +<PRE> + make +</PRE> + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> + diff --git a/usr.sbin/httpd/htdocs/manual/install.html.ja.jis b/usr.sbin/httpd/htdocs/manual/install.html.ja.jis new file mode 100644 index 00000000000..6311c41c21e --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/install.html.ja.jis @@ -0,0 +1,204 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Compiling and Installing Apache</TITLE> +</HEAD> +<!-- English revision: 1.31 --> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> + +<H1 ALIGN="CENTER">Apache 1.3 $B$N%3%s%Q%$%k!&%$%s%9%H!<%k(B</H1> + +<P>$B$3$N%I%-%e%a%s%H$O(B Apache $B$r(B Unix $B%7%9%F%`>e$G!"<jF0$G$N(B +$B%S%k%I!&%$%s%9%H!<%k$N<jK!$K$h$C$F!"%3%s%Q%$%k!"%$%s%9%H!<%k$9$k$?$a(B +$B$N$b$N$G$9!#$b$7!"$"$J$?$,(B autoconf $B%9%?%$%k$N(B configure $B%$%s%?!<%U%'%$%9(B +$B$r;H$$$?$$>l9g$O!"(BApache $B$N%=!<%9G[I[$N%k!<%H$K$"$k(B INSTALL $B%U%!%$%k$r(B +$BBe$o$j$KFI$s$G$/$@$5$$!#FCDj$N%W%i%C%H%U%)!<%`>e$G$N%3%s%Q%$%k$H(B +$B%$%s%9%H!<%k$K$D$$$F$O!"0J2<$N9`L\$r;2>H$7$F$/$@$5$$!#(B</P> +<UL> +<LI><A HREF="windows.html">Microsoft Windows $B>e$G(B Apache $B$r;HMQ$9$k(B</A> +<LI><A HREF="netware.html">Novell Netware 5 $B>e$G(B Apache $B$r;HMQ$9$k(B</A> +<LI><A HREF="mpeix.html">HP MPE/iX $B>e$G(B Apache $B$r;HMQ$9$k(B</A> +<LI><A HREF="unixware.html">UnixWare $B>e$G(B Apache $B$r%3%s%Q%$%k$9$k(B</A> +<LI><A HREF="readme-tpf.html">Apache $B$N(B TPF Port $B$N35MW(B</A> +</UL> + +<H2>Apache $B$N%@%&%s%m!<%I(B</H2> + +Apache $B$N:G?7HG$N>pJs$O(B <A +HREF="http://www.apache.org/">http://www.apache.org/</A> $B$N(B +Apache $B%&%'%V%5!<%P$+$iF~<j$9$k$3$H$,$G$-$^$9!#(B +$B$3$3$K$O:G?7%j%j!<%9$H!"$h$j?7$7$$%Y!<%?%F%9%H%j%j!<%9!"%_%i!<%&%'%V%5%$%H(B +$B$H(B anonymous ftp $B%5%$%H$N>\$7$$>pJs$,I=<($5$l$F$$$^$9!#(B + +<P> +$B$b$7!"$"$J$?$,%P%$%J%jG[I[HG$r%@%&%s%m!<%I$7$?$N$G$"$l$P!"(B <A +HREF="#install">Apache $B$N%$%s%9%H!<%k(B</A>$B$K0\$C$F$/$@$5$$!#(B +$B$=$&$G$J$1$l$P!"<!$N%;%/%7%g%s$N%5!<%P$N%3%s%Q%$%k$K$D$$$F$rFI$s$G2<$5$$!#(B + +<H2>Apache $B$N%3%s%Q%$%k(B</H2> + +Apache $B$N%3%s%Q%$%k$O;0CJ3,$G9=@.$5$l$^$9(B: + $B$^$:%5!<%P$K4^$a$?$$(B Apache <STRONG>$B%b%8%e!<%k(B</STRONG> +$B$rA*Br$7$F$/$@$5$$!#<!$K!"$"$J$?$N(B OS $B$K9g$o$;$?@_Dj$r$7$^$9!#(B +$B:G8e$K%3%s%Q%$%k$r$7$^$9!#(B + + +<P> + +Apache $B$NA4$F$N@_Dj$O!"(BApache $BG[I[$N(B <CODE>src</CODE> +$B%G%#%l%/%H%j$G9T$o$l$^$9!#$3$N%G%#%l%/%H%j$KF~$C$F$/$@$5$$!#(B + +<OL> + <LI> + <CODE>Configuration</CODE> $B%U%!%$%k$NCf$G(B Apache $B$K%3%s%Q%$%k$9$k(B + $B%b%8%e!<%k$rA*Br$7$^$9!#<BAu$7$?$$%*%W%7%g%s$N%b%8%e!<%k$N9T$N%3%a%s%H(B + $B$r30$9$+(B ($B%U%!%$%k$N=*$o$j$K$"$k(B AddModule $B9T$G(B) $B!"%@%&%s%m!<%I$7$?$j!"(B + $B:n@.$7$?DI2C$N%b%8%e!<%k$N?7$7$$9T$rDI2C$7$^$9(B ($B$I$N$h$&$K(B + Apache $B%b%8%e!<%k$r:n@.$9$k$N$+(B? $B$K$D$$$F$N%I%-%e%a%s%H$O(B<A + HREF="misc/API.html">API.html</A> $B$r;2>H$7$F$/$@$5$$(B) $B!#(B + $B$"$k%b%8%e!<%k$,3N<B$KI,MW$G$J$$$3$H$,$o$+$C$F$$$k$J$i$P!"(B + $B$$$/$D$+$N%G%U%)%k%H%b%8%e!<%k$r%3%a%s%H%"%&%H$9$k$3$H$,$G$-$^$9(B + ($B$?$@$7!"%G%U%)%k%H$N%b%8%e!<%k$NB?$/$O%5!<%P$N@53N$JA`:n$H(B + $B%;%-%e%j%F%#$K$H$C$F=EMW$J$N$GCm0U$7$F$/$@$5$$(B) $B!#(B + + <P> + + <CODE>Rule</CODE> $B9T$N$$$/$D$+$r@_Dj$9$kI,MW$,$"$k$+$I$&$+$rCN$k$?$a$K(B +<CODE>Configuration</CODE> $B%U%!%$%k$N;X<($bFI$s$G$/$@$5$$!#(B + + + <LI> + Apache $B$r(B OS $B$K9g$o$;$F@_Dj$7$^$9!#DL>o$O$?$@(B + <CODE>Configure</CODE> $B%9%/%j%W%H$r2<5-$NNc$N$h$&$K<B9T$7$^$9!#(B + $B$7$+$7!"$3$l$,<:GT$9$k$H$-$d2?$+FC<l$JMW5a$,$"$k$H$-(B (<EM>$BNc$($P(B</EM>$B!"(B + $BDI2C$7$?%b%8%e!<%k$K$h$C$F2?$i$+$N%i%$%V%i%j$,I,MW$J>l9g$J$I(B) $B$K$O(B + $B$G(B <CODE>Configure</CODE> $B%U%!%$%k$N<!$N%*%W%7%g%s$N$$$/$D$+$r(B + $BJT=8$9$kI,MW$,$"$k$+$b$7$l$^$;$s!#(B + <CODE>EXTRA_CFLAGS, LIBS, LDFLAGS, INCLUDES</CODE>. + <P> + + <CODE>Configure</CODE> $B%9%/%j%W%H$r<B9T$7$^$9(B: + <BLOCKQUOTE> + <PRE> + % Configure + Using 'Configuration' as config file + + configured for <whatever> platform + + setting C compiler to <whatever> * + + setting C compiler optimization-level to <whatever> * + + Adding selected modules + + doing sanity check on compiler and options + Creating Makefile in support + Creating Makefile in main + Creating Makefile in os/unix + Creating Makefile in modules/standard + </PRE> + </BLOCKQUOTE> + + (*: $B@_DjFbMF$H%7%9%F%`$K$h$C$F$O!"(BConfigure $B$O$3$NDL$j$KI=<($7$J$$(B + $B$3$H$,$"$j$^$9$,!"$=$l$GLdBj$"$j$^$;$s!#(B)<P> + + $B$3$l$G(B 3 $B$NCJ3,$G;H$o$l$k(B Makefile $B$,@8@.$5$l$^$9!#(B + $B$^$?!"%*%W%7%g%s$N%5%]!<%H%W%m%0%i%`$r%3%s%Q%$%k$9$k$?$a$K!"(B + $B%5%]!<%H%G%#%l%/%H%j$NCf$K(B Makefile $B$,@8@.$5$l$^$9!#(B + + <P> + + ($B$b$7!"MM!9$J@_Dj$r4IM}$9$k$D$b$j$J$i$P!"(B<CODE>Configure</CODE> $B$K(B + <CODE>Configure -file Configuration.ai</CODE> $B$N$h$&$K!"(B + $BJL$N(B Configuration $B%U%!%$%k$rFI$_9~$`$h$&$K%*%W%7%g%s$rIU$1$k$H(B + $B$$$$$G$7$g$&!#(B) + <P> + + <LI> + <CODE>make</CODE> $B$r<B9T$7$F$/$@$5$$!#(B +</OL> + +Apache $BG[I[$K$"$k%b%8%e!<%k$O(BApache $B3+H/%0%k!<%W$K$h$C$F(B +$B%F%9%H$,9T$o$l!"B?$/$N%a%s%P!<$K$h$C$FF|>oE*$K;H$o$l$F(B +$B$$$k$b$N$G$9!#(B +$B%a%s%P!<$d%5!<%I%Q!<%F%#$K$h$C$F3+H/$5$l$?FCDj$N%K!<%:$d(B +$B5!G=$r$b$DDI2C%b%8%e!<%k$O!"(B +<<A HREF="http://www.apache.org/dist/contrib/modules/" + >http://www.apache.org/dist/contrib/modules/</A>> + $B$+$iF~<j$9$k$3$H$,$G$-$^$9!#(B +$B$3$N%Z!<%8$K$O!"$3$l$i$N%b%8%e!<%k$r(B Apache $B%3%"%3!<%I$K(B +$B%j%s%/$5$;$k$?$a$N@bL@$,=q$$$F$"$j$^$9!#(B + +<H2><A NAME="install">Apache $B$N%$%s%9%H!<%k(B</A></H2> + +$B%3%s%Q%$%k$r9T$&$H!"(B <CODE>httpd</CODE> $B$H$$$&%P%$%J%j%U%!%$%k$,(B +<CODE>src</CODE> $B%G%#%l%/%H%j$K:n@.$5$l$^$9!#(BApache $B$N%P%$%J%jG[I[$O(B +$B$3$N%U%!%$%k$rDs6!$7$^$9!#(B<P> + +$B<!$N%9%F%C%W$O%W%m%0%i%`$r%$%s%9%H!<%k$7!"$=$l$r@_Dj$9$k$3$H$G$9!#(B + Apache $B$O%3%s%Q%$%k$5$l$?%G%#%l%/%H%j$HF1$8%G%#%l%/%H%j$N%;%C%H$G(B +$B@_Dj!"<B9T$5$l$k$h$&$K$J$C$F$$$^$9!#$b$7$I$3$+B>$N$H$3$m$+$i<B9T$5(B +$B$;$?$$>l9g$O!"%G%#%l%/%H%j$r:n@.$7!"$=$3$K(B <CODE>conf</CODE> $B$H(B +<CODE>logs</CODE>, <CODE>icons</CODE> $B%G%#%l%/%H%j$r%3%T!<$7$F$/$@$5$$!#(B +$B$I$A$i$N>l9g$G$b!"%5!<%P%k!<%H$N%G%#%l%/%H%j$N%Q!<%_%C%7%g%s$r$I$&(B +$B@_Dj$9$k$+$K$D$$$F!"(B + <A HREF="misc/security_tips.html#serverroot">security $B>pJs(B</A> $B$r(B +$BFI$`$Y$-$G$9!#(B<P> + +$B<!$K!"%5!<%P$N@_Dj%U%!%$%k$rJT=8$7$^$9!#(B3$B$D$N@_Dj%U%!%$%k$G(B +<B>$B%G%#%l%/%F%#%V(B</B> $B$r@_Dj$7$^$9!#I8=`>uBV$G$O!"$3$l$i$N%U%!%$%k$O(B + <CODE>conf</CODE> $B%G%#%l%/%H%j$KG[CV$5$l$k!"(B<CODE>srm.conf</CODE>, +<CODE>access.conf</CODE>, <CODE>httpd.conf</CODE> $B$G$9!#(B +$B@_Dj$N;29M$K$J$k$h$&$K!"G[I[$N(B <CODE>conf</CODE> $B%G%#%l%/%H%j$K(B +$BF1$8FbMF$N%U%!%$%k!"(B<CODE>srm.conf-dist</CODE>, +<CODE>access.conf-dist</CODE>, <CODE>httpd.conf-dist</CODE> $B$,$"$j$^$9!#(B +<CODE>-dist</CODE> $B$J$7$G!"$=$NL>A0$N$3$l$i$N%U%!%$%k$r%3%T!<$9$k$+!"(B +$BL>A0$rJQ$($F$/$@$5$$!#$=$l$+$i$=$l$>$l$N%U%!%$%k$rJT=8$7$F$/$@$5$$!#(B +$B$=$l$>$l$N%U%!%$%k$K$"$k%3%a%s%H$rCm0U?<$/FI$s$G$/$@$5$$!#(B +$B$3$l$i$N%U%!%$%k$N@53N$J@_Dj$K<:GT$9$k$H!"%5!<%P$,F0$+$J$/$J$C$?$j!"(B +$B%;%-%e%j%F%#E*$K4m81$K$J$C$?$j$7$^$9!#(B +<CODE>conf</CODE> $B%G%#%l%/%H%j$K$O(B <CODE>mime.types</CODE> $B$H$$$&(B +$BDI2C%U%!%$%k$,$"$j$^$9!#DL>o$3$N%U%!%$%k$rJT=8$9$kI,MW$O$"$j$^$;$s!#(B + +<P> + +$B:G=i$K(B <CODE>httpd.conf</CODE> $B$rJT=8$7$F$/$@$5$$!#$3$N%U%!%$%k$O(B +$B%5!<%P$K4X$9$k0lHLE*$JB0@-$r@_Dj$7$^$9(B; $B%]!<%HHV9f$d5/F0%f!<%6(B +<EM>$BEy!9(B</EM>$B$G$9!#<!$K(B <CODE>srm.conf</CODE> $B%U%!%$%k$rJT=8(B +$B$7$F$/$@$5$$(B; $B$3$l$O%I%-%e%a%s%H%D%j!<$N%k!<%H!"(B server-parsed HTML + $B$dFbItE*$J%$%a!<%8%^%C%W$N2r@O$N$h$&$JFCJL$J5!G=(B<EM>$BEy!9(B</EM> +$B$r@_Dj$7$^$9!#:G8e$K%"%/%;%9$K4X$9$k4pK\;v9`$r@_Dj$9$k$?$a$K(B + access.conf $B%U%!%$%k$rJT=8$7$^$9!#(B + +<P> + +$B$3$l$i(B3$B$D$N%U%!%$%k$K2C$($F!"%5!<%P$NF0:n$O%"%/%;%9$5$l$?%G%#%l%/%H%j(B +$B$K$"$k(B <CODE>.htaccess</CODE> $B%U%!%$%k$r;H$&$3$H$K$h$C$F!"(B +$B%G%#%l%/%H%jKh$K@_Dj$G$-$^$9!#(B + +<H3>$B%7%9%F%`%?%$%`$r@53N$K@_Dj$7$F$/$@$5$$(B!</H3> + +$B8x3+$5$l$k%&%'%V%5!<%P$NE,@Z$JA`:n$K$O!"(BHTTP $B%W%m%H%3%k$NMWAG$,(B +$B$=$NF|$N;~4V$H$7$F<($5$l$k$?$a!"@53N$J;~4V$,I,MW$H$5$l$^$9!#(B +$B$G$9$+$i!"$3$l$r5!2q$K(B UNIX $B$K$*$$$F$O(B NTP $B$d$J$s$i$+$N(B +$B;~4V$NF14|$r<h$k%7%9%F%`!"(BNT $B$K$*$$$F$b2?$+$=$l$HF1$8F/$-$r(B +$B$9$k$b$N$rF3F~$7$F$/$@$5$$!#(B + +<H2>$B%5%]!<%H%W%m%0%i%`$N%3%s%Q%$%k(B</H2> + +$B>e5-$G%3%s%Q%$%k!"@_Dj$5$l$k%a%$%s$N(B <CODE>httpd</CODE> $B%5!<%P$NB>$K!"(B +Apache $B$K$OB??t$N%5%]!<%H%W%m%0%i%`$,4^$^$l$F$$$^$9!#$3$l$i$OI8=`(B +$B$G$O%3%s%Q%$%k$5$l$^$;$s!#%5%]!<%H%W%m%0%i%`$O(B <CODE>support</CODE> +$B%G%#%l%/%H%j$K$"$j$^$9!#%5%]!<%H%W%m%0%i%`$r%3%s%Q%$%k$9$k$K$O!"(B +$B$3$N%G%#%l%/%H%j$KF~$j!"0J2<$N$h$&$KF~NO$7$F$/$@$5$$(B : +<PRE> + make +</PRE> + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/manual/invoking.html.fr b/usr.sbin/httpd/htdocs/manual/invoking.html.fr new file mode 100644 index 00000000000..3a5de685af5 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/invoking.html.fr @@ -0,0 +1,124 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<!--English revision 1.34 --> +<HTML> +<HEAD> +<TITLE>Démarrage d'Apache</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Démarrage d'Apache</H1> + +<ul> +<li><a href="#windows">Démarrage d'Apache sur Windows</a></li> +<li><a href="#unix">Démarrage d'Apache sur Unix</a> +<ul> +<li><a href="#errors">Erreurs durant l'initialisation</a></li> +<li><a href="#boot">Démarrage à l'initialisation du système</a></li> +<li><a href="#info">Informations complémentaires</a></li> +</ul> +</li> +</ul> +<hr> + +<h2><a name="windows">Démarrage d'Apache sur Windows</h2> + +<p>Sur Windows, Apache est normalement lancé en tant que service sur +Windows NT, ou en tant qu'application en mode console sur Windows 95. Pour plus +de détails, voir +<A HREF="windows.html#run">lancer Apache pour Windows</A>.</p> + +<h2>Démarrage d'Apache sur Unix</h2> + +<p>Sur Unix, le programme <code>httpd</code> est lancé en tant que +démon qui s'exécute en tâche de fond pour traiter les +requêtes. Il est possible d'invoquer Apache par le démon +Internet <CODE>inetd</CODE> à chaque fois qu'une connexion au service +HTTP est faite (if faut pour cela utiliser la directive <A +HREF="mod/core.html#servertype">ServerType</A>) mais cela n'est pas +recommandé.</p> + +<p>Si le <a href="mod/core.html#port">Port</a> spécifié dans le +fichier de configuration est le port par dιfaut 80 (ou tout autre port +inérieur à 1024), il est alors nécessaire +d'avoir les privilèges root pour lancer Apache. Une fois que +l'initialisation du serveur s'est achevée ainsi que quelques activités +préliminaires telles que l'ouverture des fichiers de trace, +le serveur lance un certain nombre de processus <em>fils</em> ayant pour +rôle d'attendre et de répondre +aux requêtes des clients. Le processus père <code>httpd</code> +continue à s'exécuter avec les privilèges root, mais les +processus fils s'exécute sous un utilisateur avec moins de privilèges. +Ceci est contrôlé par les directives de création de +<a href="server-wide.html#process">processus</a></p> + +<p>La première chose qu'<code>httpd</code> fait lorsqu'il est appelé +est de chercher et lire le <a href="configuring.html">fichier de configuration</a> +<code>httpd.conf</code>. L'emplacement de ce fichier est défini à la +compilation, mais il est possible de spécifier son emplacement à +l'exécution en utilisant l'option <code>-f</code>. Exemple : + +<blockquote><code> /usr/local/apache/bin/httpd -f +/usr/local/apache/conf/httpd.conf </code></blockquote> + +<p>Comme alternative à l'appel direct de l'exécutable <code>httpd</code> +un script appelé <a href="programs/apachectl.html">apachectl</a> est fourni +qui permet de contrôler le processus démon avec des commandes simples +telles que <code>apachectl start</code> ou <code>apachectl stop</code>.</p> + +<p>Si tout ce passe correctement durant l'initialisation, le serveur se dιtache du +terminal et l'invite de commande réapparaît presque immédiatement. Ceci +indique que le serveur est actif et s'exécute. Vous pouvez utiliser un +navigateur pour vous connecter au serveur et voir la page de test située +dans le répertoire <a href="mod/core.html#documentroot">DocumentRoot</a> +ainsi qu'une copie locale de la documentation à partir d'un lien de cette page. + +<h3><a name="errors">Erreurs durant l'initialisation</a></h3> + +<p>Si Apache rencontre un problème fatal durant l'initialisation, il ιcrira, +avant de se terminer, un message décrivant le problème, soit sur la +console, soit dans le fichier <a href="mod/core.html#errorlog">ErrorLog</a>. +Un des messages les plus courants est "<code>Unable to bind to Port +...</code>". Ce message est généralement dû à +<ul> +<li>une tentative de lancer le serveur sur un port privilégié alors +que vous n'êtes pas connecté comme utilisateur root, ou à</li> +<li>une tentative de lancer le serveur alors qu'une autre instance d'Apache ou +d'un autre serveur web est déjà connectée à ce port.</li> +</ul> +<p>Pour plus d'informations sur la correction des problèmes, consultez +la <a href="misc/FAQ.html">FAQ</a> d'Apache.</p> + +<h3><a name="boot">Démarrage à l'initialisation du système</a></h3> +<p>Si vous souhaitez que votre serveur continue à s'exécuter après +une relance du système, vous devez ajouter un appel à +<code>httpd</code> ou <code>apachectl</code> dans votre fichier de lancement +du système (généralement <code>rc.local</code> ou +un fichier dans un répertoire <code>rc.N</code>). Ceci lancera Apache +sous l'utilisateur root. Avant de le faire, vérifiez que votre serveur +est correctement configuré en termes de sécurité et de +restrictions d'accès. Le script <code>apachectl</code> est conçu +de manière à ce qu'il soit directement lié comme script +d'initialisation, mais assurez vous qu'il correspond aux besoins précis +de votre système.</p> + +<h3><a name="info">Informations complémentaires</a></h3> +<p>Des informations complémentaires sur les options en ligne de commande +d'<a href="programs/httpd.html">httpd</a> et d'<a +href="programs/apachectl.html">apachectl</a> ainsi que des autres programmes +d'assistance inclus avec le serveur, sont disponibles à la page +<a href="programs/">Serveur et programmes d'assistance</a>. Il existe +également une documentation de tous les <a href="mod/">modules</a> inclus +dans la distribution Apache ainsi que les <a +href="mod/directives.html">directives</a> qu'ils fournissent.</p> + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.en b/usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.en new file mode 100644 index 00000000000..d185f0fb806 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.en @@ -0,0 +1,273 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <TITLE>Definitions of terms used to describe Apache directives + </TITLE> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > +<!--#include virtual="header.html" --> + <H1 ALIGN="CENTER">Terms Used to Describe Apache Directives</H1> + + <P> + Each Apache configuration directive is described using a common format + that looks like this: + </P> + <DL> + <DD><A + HREF="#Syntax" + REL="Help" + ><STRONG>Syntax:</STRONG></A> <EM>directive-name</EM> <EM>some args</EM> + <BR> + <A + HREF="#Default" + REL="Help" + ><STRONG>Default:</STRONG></A> + <SAMP><EM>directive-name default-value</EM></SAMP> + <BR> + <A + HREF="#Context" + REL="Help" + ><STRONG>Context:</STRONG></A> <EM>context-list</EM> + <BR> + <A + HREF="#Override" + REL="Help" + ><STRONG>Override:</STRONG></A> <EM>override</EM> + <BR> + <A + HREF="#Status" + REL="Help" + ><STRONG>Status:</STRONG></A> <EM>status</EM> + <BR> + <A + HREF="#Module" + REL="Help" + ><STRONG>Module:</STRONG></A> <EM>module-name</EM> + <BR> + <A + HREF="#Compatibility" + REL="Help" + ><STRONG>Compatibility:</STRONG></A> <EM>compatibility notes</EM> + </DD> + </DL> + <P> + Each of the directive's attributes, complete with possible values + where possible, are described in this document. + </P> + + <H2>Directive Terms</H2> + <UL> + <LI><A HREF="#Syntax">Syntax</A> + </LI> + <LI><A HREF="#Default">Default</A> + </LI> + <LI><A HREF="#Context">Context</A> + </LI> + <LI><A HREF="#Override">Override</A> + </LI> + <LI><A HREF="#Status">Status</A> + </LI> + <LI><A HREF="#Module">Module</A> + </LI> + <LI><A HREF="#Compatibility">Compatibility</A> + </LI> + </UL> + + <HR> + <H2><A NAME="Syntax">Syntax</A></H2> + <P> + This indicates the format of the directive as it would appear in a + configuration file. This syntax is extremely directive-specific, + and is described in detail in the directive's definition. + Generally, the directive name is followed by a series of one or + more arguments. Optional arguments are enclosed in square brackets. + Where an argument can take on more than one possible value, possible + values are separated by a vertical bar. Literal text is presented + in the default font, while argument-types for which substitution + is necessary are emphasized. Directives which can take a variable + number of arguments will end in "..." indicating that the last + argument is repeated. + </P> + + <HR> + <H2><A NAME="Default">Default</A></H2> + <P> + If the directive has a default value (<EM>i.e.</EM>, if you omit it + from your configuration entirely, the Apache Web server will behave as + though you set it to a particular value), it is described here. If + there is no default value, this section should say + "<EM>None</EM>". + </P> + + <HR> + <H2><A NAME="Context">Context</A></H2> + <P> + This indicates where in the server's configuration files the directive + is legal. It's a comma-separated list of one or more of the following + values: + </P> + <DL> + <DT><STRONG>server config</STRONG> + </DT> + <DD>This means that the directive may be used in the server + configuration files (<EM>e.g.</EM>, <SAMP>httpd.conf</SAMP>, + <SAMP>srm.conf</SAMP>, and <SAMP>access.conf</SAMP>), but + <STRONG>not</STRONG> within any <SAMP><VirtualHost></SAMP> or + <Directory> containers. It is not allowed in + <SAMP>.htaccess</SAMP> files at all. + <P> + </P> + </DD> + <DT><STRONG>virtual host</STRONG> + </DT> + <DD>This context means that the directive may appear inside + <SAMP><VirtualHost></SAMP> containers in the server + configuration files. + <P> + </P> + </DD> + <DT><STRONG>directory</STRONG> + </DT> + <DD>A directive marked as being valid in this context may be used + inside <SAMP><Directory></SAMP>, + <SAMP><Location></SAMP>, and <SAMP><Files></SAMP> + containers in the server configuration files, subject to the + restrictions outlined in <A HREF="../sections.html">How Directory, + Location and Files sections work</A>. + <P> + </P> + </DD> + <DT><STRONG>.htaccess</STRONG> + </DT> + <DD>If a directive is valid in this context, it means that it can + appear inside <EM>per</EM>-directory <SAMP>.htaccess</SAMP> files. + It may not be processed, though depending upon the + <A + HREF="#Override" + REL="Help" + >overrides</A> + currently active. + <P> + </P> + </DD> + </DL> + <P> + The directive is <EM>only</EM> allowed within the designated context; + if you try to use it elsewhere, you'll get a configuration error that + will either prevent the server from handling requests in that context + correctly, or will keep the server from operating at all -- + <EM>i.e.</EM>, the server won't even start. + </P> + <P> + The valid locations for the directive are actually the result of a + Boolean OR of all of the listed contexts. In other words, a directive + that is marked as being valid in "<SAMP>server config, + .htaccess</SAMP>" can be used in the <SAMP>httpd.conf</SAMP> file + and in <SAMP>.htaccess</SAMP> files, but not within any + <Directory> or <VirtualHost> containers. + </P> + + <HR> + <H2><A NAME="Override">Override</A></H2> + <P> + This directive attribute indicates which configuration override must + be active in order for the directive to be processed when it appears + in a <SAMP>.htaccess</SAMP> file. If the directive's + <A + HREF="#Context" + REL="Help" + >context</A> + doesn't permit it to appear in <SAMP>.htaccess</SAMP> files, this + attribute should say "<EM>Not applicable</EM>". + </P> + <P> + Overrides are activated by the + <A + HREF="core.html#allowoverride" + REL="Help" + ><SAMP>AllowOverride</SAMP></A> + directive, and apply to a particular scope (such as a directory) and + all descendants, unless further modified by other + <SAMP>AllowOverride</SAMP> directives at lower levels. The + documentation for that directive also lists the possible override + names available. + </P> + + <HR> + <H2><A NAME="Status">Status</A></H2> + <P> + This indicates how tightly bound into the Apache Web server the + directive is; in other words, you may need to recompile the server + with an enhanced set of modules in order to gain access to the + directive and its functionality. Possible values for this attribute + are: + </P> + <DL> + <DT><STRONG>Core</STRONG> + </DT> + <DD>If a directive is listed as having "Core" status, that + means it is part of the innermost portions of the Apache Web server, + and is always available. + <P> + </P> + </DD> + <DT><STRONG>Base</STRONG> + </DT> + <DD>A directive labeled as having "Base" status is + supported by one of the standard Apache modules which is compiled + into the server by default, and is therefore normally available + unless you've taken steps to remove the module from your configuration. + <P> + </P> + </DD> + <DT><STRONG>Extension</STRONG> + </DT> + <DD>A directive with "Extension" status is provided by one + of the modules included with the Apache server kit, but the module + isn't normally compiled into the server. To enable the directive + and its functionality, you will need to change the server build + configuration files and re-compile Apache. + <P> + </P> + </DD> + <DT><STRONG>Experimental</STRONG> + </DT> + <DD>"Experimental" status indicates that the directive is + available as part of the Apache kit, but you're on your own if you + try to use it. The directive is being documented for completeness, + and is not necessarily supported. The module which provides the + directive may or may not be compiled in by default; check the top of + the page which describes the directive and its module to see if it + remarks on the availability. + <P> + </P> + </DD> + </DL> + + <HR> + <H2><A NAME="Module">Module</A></H2> + <P> + This quite simply lists the name of the source module which defines + the directive. + </P> + + <HR> + <H2><A NAME="Compatibility">Compatibility</A></H2> + <P> + If the directive wasn't part of the original Apache version 1 + distribution, the version in which it was introduced should be listed + here. If the directive has the same name as one from the NCSA HTTPd + server, any inconsistencies in behaviour between the two should also + be mentioned. Otherwise, this attribute should say "<EM>No + compatibility issues.</EM>" + </P> +<!--#include virtual="footer.html" --> + </BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.html b/usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.html new file mode 100644 index 00000000000..348116865d3 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.html @@ -0,0 +1,274 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <TITLE>Definitions of terms used to describe Apache directives + </TITLE> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > +<!--#include virtual="header.html" --> + <H1 ALIGN="CENTER">Terms Used to Describe Apache Directives</H1> + + <P> + Each Apache configuration directive is described using a common format + that looks like this: + </P> + <DL> + <DD><A + HREF="#Syntax" + REL="Help" + ><STRONG>Syntax:</STRONG></A> <EM>directive-name</EM> <EM>some args</EM> + <BR> + <A + HREF="#Default" + REL="Help" + ><STRONG>Default:</STRONG></A> + <SAMP><EM>directive-name default-value</EM></SAMP> + <BR> + <A + HREF="#Context" + REL="Help" + ><STRONG>Context:</STRONG></A> <EM>context-list</EM> + <BR> + <A + HREF="#Override" + REL="Help" + ><STRONG>Override:</STRONG></A> <EM>override</EM> + <BR> + <A + HREF="#Status" + REL="Help" + ><STRONG>Status:</STRONG></A> <EM>status</EM> + <BR> + <A + HREF="#Module" + REL="Help" + ><STRONG>Module:</STRONG></A> <EM>module-name</EM> + <BR> + <A + HREF="#Compatibility" + REL="Help" + ><STRONG>Compatibility:</STRONG></A> <EM>compatibility notes</EM> + </DD> + </DL> + <P> + Each of the directive's attributes, complete with possible values + where possible, are described in this document. + </P> + + <H2>Directive Terms</H2> + <UL> + <LI><A HREF="#Syntax">Syntax</A> + </LI> + <LI><A HREF="#Default">Default</A> + </LI> + <LI><A HREF="#Context">Context</A> + </LI> + <LI><A HREF="#Override">Override</A> + </LI> + <LI><A HREF="#Status">Status</A> + </LI> + <LI><A HREF="#Module">Module</A> + </LI> + <LI><A HREF="#Compatibility">Compatibility</A> + </LI> + </UL> + + <HR> + <H2><A NAME="Syntax">Syntax</A></H2> + <P> + This indicates the format of the directive as it would appear in a + configuration file. This syntax is extremely directive-specific, + and is described in detail in the directive's definition. + Generally, the directive name is followed by a series of one or + more arguments. Optional arguments are enclosed in square brackets. + Where an argument can take on more than one possible value, possible + values are separated by a vertical bar. Literal text is presented + in the default font, while argument-types for which substitution + is necessary are emphasized. Directives which can take a variable + number of arguments will end in "..." indicating that the last + argument is repeated. + </P> + + <HR> + <H2><A NAME="Default">Default</A></H2> + <P> + If the directive has a default value (<EM>i.e.</EM>, if you omit it + from your configuration entirely, the Apache Web server will behave as + though you set it to a particular value), it is described here. If + there is no default value, this section should say + "<EM>None</EM>". + </P> + + <HR> + <H2><A NAME="Context">Context</A></H2> + <P> + This indicates where in the server's configuration files the directive + is legal. It's a comma-separated list of one or more of the following + values: + </P> + <DL> + <DT><STRONG>server config</STRONG> + </DT> + <DD>This means that the directive may be used in the server + configuration files (<EM>e.g.</EM>, <SAMP>httpd.conf</SAMP>, + <SAMP>srm.conf</SAMP>, and <SAMP>access.conf</SAMP>), but + <STRONG>not</STRONG> within any <SAMP><VirtualHost></SAMP> or + <Directory> containers. It is not allowed in + <SAMP>.htaccess</SAMP> files at all. + <P> + </P> + </DD> + <DT><STRONG>virtual host</STRONG> + </DT> + <DD>This context means that the directive may appear inside + <SAMP><VirtualHost></SAMP> containers in the server + configuration files. + <P> + </P> + </DD> + <DT><STRONG>directory</STRONG> + </DT> + <DD>A directive marked as being valid in this context may be used + inside <SAMP><Directory></SAMP>, + <SAMP><Location></SAMP>, and <SAMP><Files></SAMP> + containers in the server configuration files, subject to the + restrictions outlined in <A HREF="../sections.html">How Directory, + Location and Files sections work</A>. + <P> + </P> + </DD> + <DT><STRONG>.htaccess</STRONG> + </DT> + <DD>If a directive is valid in this context, it means that it can + appear inside <EM>per</EM>-directory <SAMP>.htaccess</SAMP> files. + It may not be processed, though depending upon the + <A + HREF="#Override" + REL="Help" + >overrides</A> + currently active. + <P> + </P> + </DD> + </DL> + <P> + The directive is <EM>only</EM> allowed within the designated context; + if you try to use it elsewhere, you'll get a configuration error that + will either prevent the server from handling requests in that context + correctly, or will keep the server from operating at all -- + <EM>i.e.</EM>, the server won't even start. + </P> + <P> + The valid locations for the directive are actually the result of a + Boolean OR of all of the listed contexts. In other words, a directive + that is marked as being valid in "<SAMP>server config, + .htaccess</SAMP>" can be used in the <SAMP>httpd.conf</SAMP> file + and in <SAMP>.htaccess</SAMP> files, but not within any + <Directory> or <VirtualHost> containers. + </P> + + <HR> + <H2><A NAME="Override">Override</A></H2> + <P> + This directive attribute indicates which configuration override must + be active in order for the directive to be processed when it appears + in a <SAMP>.htaccess</SAMP> file. If the directive's + <A + HREF="#Context" + REL="Help" + >context</A> + doesn't permit it to appear in <SAMP>.htaccess</SAMP> files, this + attribute should say "<EM>Not applicable</EM>". + </P> + <P> + Overrides are activated by the + <A + HREF="core.html#allowoverride" + REL="Help" + ><SAMP>AllowOverride</SAMP></A> + directive, and apply to a particular scope (such as a directory) and + all descendants, unless further modified by other + <SAMP>AllowOverride</SAMP> directives at lower levels. The + documentation for that directive also lists the possible override + names available. + </P> + + <HR> + <H2><A NAME="Status">Status</A></H2> + <P> + This indicates how tightly bound into the Apache Web server the + directive is; in other words, you may need to recompile the server + with an enhanced set of modules in order to gain access to the + directive and its functionality. Possible values for this attribute + are: + </P> + <DL> + <DT><STRONG>Core</STRONG> + </DT> + <DD>If a directive is listed as having "Core" status, that + means it is part of the innermost portions of the Apache Web server, + and is always available. + <P> + </P> + </DD> + <DT><STRONG>Base</STRONG> + </DT> + <DD>A directive labeled as having "Base" status is + supported by one of the standard Apache modules which is compiled + into the server by default, and is therefore normally available + unless you've taken steps to remove the module from your configuration. + <P> + </P> + </DD> + <DT><STRONG>Extension</STRONG> + </DT> + <DD>A directive with "Extension" status is provided by one + of the modules included with the Apache server kit, but the module + isn't normally compiled into the server. To enable the directive + and its functionality, you will need to change the server build + configuration files and re-compile Apache. + <P> + </P> + </DD> + <DT><STRONG>Experimental</STRONG> + </DT> + <DD>"Experimental" status indicates that the directive is + available as part of the Apache kit, but you're on your own if you + try to use it. The directive is being documented for completeness, + and is not necessarily supported. The module which provides the + directive may or may not be compiled in by default; check the top of + the page which describes the directive and its module to see if it + remarks on the availability. + <P> + </P> + </DD> + </DL> + + <HR> + <H2><A NAME="Module">Module</A></H2> + <P> + This quite simply lists the name of the source module which defines + the directive. + </P> + + <HR> + <H2><A NAME="Compatibility">Compatibility</A></H2> + <P> + If the directive wasn't part of the original Apache version 1 + distribution, the version in which it was introduced should be listed + here. If the directive has the same name as one from the NCSA HTTPd + server, any inconsistencies in behaviour between the two should also + be mentioned. Otherwise, this attribute should say "<EM>No + compatibility issues.</EM>" + </P> +<!--#include virtual="footer.html" --> + </BODY> +</HTML> + diff --git a/usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.ja.jis b/usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.ja.jis new file mode 100644 index 00000000000..191c83d95f7 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.ja.jis @@ -0,0 +1,265 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> + <head> + <title>Apache $B$N%G%#%l%/%F%#%V$N2r@b$K;H$o$l$kMQ8l(B + </title> + </head> +<!-- English revision: 1.4 --> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <body + bgcolor="#FFFFFF" + text="#000000" + link="#0000FF" + vlink="#000080" + alink="#FF0000" + > +<!--#include virtual="header.html" --> + <h1 align="CENTER">Apache $B$N%G%#%l%/%F%#%V$N2r@b$K;H$o$l$kMQ8l(B</h1> + + <p> + $B$=$l$>$l$N(B Apache $B%G%#%l%/%F%#%V$O!"<!$N$h$&$J6&DL$N=q<0$K$h$C$F5-=R$5$l$^$9(B: + </p> + <dl> + <dd><a + href="#Syntax" + rel="Help" + ><strong>$B9=J8(B:</strong></a> <em>directive-name</em> <em>some args</em> + <br> + <a + href="#Default" + rel="Help" + ><strong>$B%G%U%)%k%H(B:</strong></a> + <samp><em>directive-name default-value</em></samp> + <br> + <a + href="#Context" + rel="Help" + ><strong>$B%3%s%F%-%9%H(B:</strong></a> <em>context-list</em> + <br> + <a + href="#Override" + rel="Help" + ><strong>$B>e=q$-(B:</strong></a> <em>override</em> + <br> + <a + href="#Status" + rel="Help" + ><strong>$B%9%F!<%?%9(B:</strong></a> <em>status</em> + <br> + <a + href="#Module" + rel="Help" + ><strong>$B%b%8%e!<%k(B:</strong></a> <em>module-name</em> + <br> + <a + href="#Compatibility" + rel="Help" + ><strong>$B8_49@-(B:</strong></a> <em>compatibility notes</em> + </dd> + </dl> + <p> + $B$3$N%I%-%e%a%s%H$G$O%G%#%l%/%F%#%V$N$=$l$>$l$NB0@-$,@bL@$5$l(B + $B$F$$$^$9!#2DG=$J>l9g$O%G%#%l%/%F%#%V$,<h$jF@$k$9$Y$F$NCM$b=q$+$l$F$$$^$9!#(B + </p> + + <h2>$B%G%#%l%/%F%#%V$NMQ8l(B</h2> + <ul> + <li><a href="#Syntax">$B9=J8(B</a> + </li> + <li><a href="#Default">$B%G%U%)%k%H(B</a> + </li> + <li><a href="#Context">$B%3%s%F%-%9%H(B</a> + </li> + <li><a href="#Override">$B>e=q$-(B</a> + </li> + <li><a href="#Status">$B%9%F!<%?%9(B</a> + </li> + <li><a href="#Module">$B%b%8%e!<%k(B</a> + </li> + <li><a href="#Compatibility">$B8_49@-(B</a> + </li> + </ul> + + <hr> + <h2><a name="Syntax">$B9=J8(B</a></h2> + <p> + $B@_Dj%U%!%$%kCf$N%G%#%l%/%F%#%V$N=q<0$r<($7$^$9!#(B + $B$3$N9=J8$O%G%#%l%/%F%#%VFCM-$J$N$G!">\:Y$O%G%#%l%/%F%#%V$N@bL@$r(B + $B;2>H$7$F$/$@$5$$!#0lHLE*$K!"%G%#%l%/%F%#%VL>$N8e$K$O$$$/$D$+$N(B + $B0z?t$,B3$-$^$9!#%*%W%7%g%J%k$J0z?t$O3g8L(B ($BLuCm(B: []) $B$G0O$^$l$F$$$^$9!#(B + $B0z?t$,J#?t$NCM$r<h$jF@$k>l9g$O!"$=$l$i$NCM$O?bD>$NK@$GJ,3d$5$l$F$$$^$9!#(B + $BJQ99$5$l$J$$%F%-%9%H$O%G%U%)%k%H$N%U%)%s%H$GI=<($5$l!"CV49$NI,MW$J(B + $B0z?t$O6/D4$5$l$FI=<($5$l$^$9!#0z?t$N?t$,JQ$o$k%G%#%l%/%F%#%V$O:G8e$N(B + $B0z?t$,7+$jJV$5$l$k$3$H$r<($9$?$a$K(B "..." $B$G=*$o$j$^$9!#(B + </p> + + <hr> + <h2><a name="Default">$B%G%U%)%k%H(B</a></h2> + <p> + $B%G%#%l%/%F%#%V$K%G%U%)%k%HCM(B (<em>$B$9$J$o$A(B</em>$B!"@_Dj%U%!%$%k$+$i(B + $B>JN,$5$l$F$$$F$b!"(BApache $B%&%'%V%5!<%P$OFCDj$NCM$K@_Dj$5$l$F$$$k$+$N$h$&$K(B + $BF0:n$7$^$9(B) $B$,$"$k>l9g$O$3$3$K5-=R$5$l$^$9!#(B + $B%G%U%)%k%HCM$NL5$$>l9g!"$3$3$O(B "<em>None</em>" $B$H(B + $B=q$+$l$^$9!#(B + </p> + + <hr> + <h2><a name="Context">$B%3%s%F%-%9%H(B</a></h2> + <p> + $B$3$l$O!"%5!<%P$N@_Dj%U%!%$%kCf$N$I$3$G%G%#%l%/%F%#%V$,M-8z$J$N$+$r<($7$^$9!#(B + $B<!$K<($9CM$,0l$D0J>e%+%s%^6h@Z$j$GNs5s$5$l$F$$$^$9!#(B + </p> + <dl> + <dt><strong>$B%5!<%P@_Dj%U%!%$%k(B</strong> + </dt> + <dd>$B$3$l$O!"%5!<%P@_Dj%U%!%$%k(B + (<em>$BNc$($P(B</em>$B!"(B<samp>httpd.conf</samp>, + <samp>srm.conf</samp>, <samp>access.conf</samp>) + $BFb$G$O;HMQ$G$-$^$9$,!"(B + <samp><VirtualHost></samp>$B$d(B <samp><Directory></samp> $B$NCf$G$O(B + <strong>$B;HMQ$G$-$J$$(B</strong>$B$3$H$r<($7$^$9!#(B + <samp>.htaccess</samp>$B%U%!%$%k$G$N;HMQ$O5v2D$5$l$F$$$^$;$s!#(B + <p> + </p> + </dd> + <dt><strong>$B%P!<%A%c%k%[%9%H(B</strong> + </dt> + <dd>$B$3$l$O!"%5!<%P@_Dj%U%!%$%k$N(B <samp><VirtualHost></samp> + $B$NCf$G;HMQ$G$-$k$3$H$r<($7$^$9!#(B + <p> + </p> + </dd> + <dt><strong>$B%G%#%l%/%H%j(B</strong> + </dt> + <dd>$B$3$l$O!"%5!<%P@_Dj%U%!%$%k$N(B <samp><Directory></samp>$B!"(B + <samp><Location></samp>$B!"(B<samp><Files></samp> + $B$NCf$G!"(B + <a href="../sections.html" + >Directory$B!"(BLocation$B!"(BFiles $B%;%/%7%g%s$N5!G=(B</a> + $B$G@bL@$5$l$F$$$k@)8B$N2<$G;HMQ$G$-$k$3$H$r<($7$^$9!#(B + <p> + </p> + </dd> + <dt><strong>.htaccess</strong> + </dt> + <dd>$B$3$l$O!"%G%#%l%/%H%j(B<em>$BKh(B</em>$B$N(B <samp>.htaccess</samp> $B%U%!%$%kFb$G(B + $B;HMQ2DG=$G$"$k$3$H$r<($7$^$9!#(B + $B$?$@!"(B<a + href="#Override" + rel="Help" + >$B>e=q$-(B</a> $B$N@_Dj$K$h$C$F$O!"=hM}$5$l$J$$$+$b$7$l$^$;$s!#(B + <p> + </p> + </dd> + </dl> + <p> + $B%G%#%l%/%F%#%V$O;X<($5$l$?%3%s%F%-%9%H$G(B<em>$B$N$_(B</em>$B5v2D$5$l$^$9!#(B + $BB>$N>l=j$G;H$*$&$H$9$k$H!"%5!<%P$,$=$N%3%s%F%-%9%H$r@5$7$/07$($J$/(B + $B$J$k$h$&$J@_Dj%(%i!<$,H/@8$9$k$+!"%5!<%P$,$^$C$?$/F0:n$7$J$/$J$k!"(B + <em>$B$9$J$o$A(B</em>$B!"%5!<%P$,5/F0$7$J$/$J$k$H$$$&$3$H$K$J$j$^$9!#(B + </p> + <p> + $B%G%#%l%/%F%#%V$NM-8z$J0LCV$O!"<B:]$O5s$2$i$l$F$$$k%3%s%F%-%9%H$N(B + $BO@M}OB(B ($BLuCm(B: Boolen OR) $B$K$J$j$^$9!#8@$$49$($k$H!"(B + "<samp>$B%5!<%P@_Dj%U%!%$%k!"(B.htaccess</samp>" $B$GM-8z$@$H(B + $B5-$5$l$F$$$k%G%#%l%/%F%#%V$O(B <samp>httpd.conf</samp> $B%U%!%$%k$H(B + <samp>.htaccess</samp> $B%U%!%$%k$H$GM-8z$G$9$,!"(B + <samp><Directory></samp> $B$d(B <samp><VirtualHost></samp> + $B$NCf$G$O;HMQ$G$-$^$;$s!#(B + </p> + + <hr> + <h2><a name="Override">$B>e=q$-(B</a></h2> + <p> + $B$3$N%G%#%l%/%F%#%V$NB0@-$O!"(B<samp>.htaccess</samp> $B%U%!%$%kCf$K(B + $B%G%#%l%/%F%#%V$,8=$l$?$H$-$K!"$=$l$N=hM}$rM-8z$K$9$k$?$a$K(B + $B$I$N@_Dj$N>e=q$-$,I,MW$+$r<($7$^$9!#(B + $B%G%#%l%/%F%#%V$N(B <a + href="#Context" + rel="Help" + >$B%3%s%F%-%9%H(B</a> + $B$,!"(B<samp>.htaccess</samp> $B%U%!%$%kCf$G$O5v2D$7$F$$$J$$>l9g$O!"(B + $B$3$NB0@-$O(B "<em>$BE,MQIT2D(B</em>" $B$H=q$+$l$^$9!#(B + </p> + <p> + $B>e=q$-$O!"(B<a + href="core.html#allowoverride" + rel="Help" + ><samp>AllowOverride</samp></a> + $B%G%#%l%/%F%#%V$K$h$C$FM-8z$K$5$l!"(B + $BFCDj$N%9%3!<%W(B($B%G%#%l%/%H%j$J$I(B)$B$H!"(B + $B$5$i$K2<0L$N%l%Y%k$N(B <samp>AllowOverride</samp> $B$G=$@5$5$l$J$$8B$j!"(B + $B$=$NG[2<$KBP$7$FE,MQ$5$l$^$9!#(B + $B%G%#%l%/%F%#%V$N%I%-%e%a%s%H$O<h$jF@$k>e=q$-$NL>A0$b5s$2$^$9!#(B + </p> + + <hr> + <h2><a name="Status">$B%9%F!<%?%9(B</a></h2> + <p> + $B$3$l$O%G%#%l%/%F%#%V$,(B Apache $B%&%'%V%5!<%P$K$I$l$/$i$$$-$D$/AH$_9~$^$l$F$$$k$+$r(B + $B<($7$^$9!#8@$$49$($l$P!"%G%#%l%/%F%#%V$H$=$N5!G=$rMxMQ$9$k$?$a$K!"(B + $B%b%8%e!<%k$N?t$rA}$d$7$F!"%5!<%P$r:F%3%s%Q%$%k$9$kI,MW$,$"$k$+$b$7$l$J$$(B + $B$H$$$&$3$H$r<($7$^$9!#(B + $B$3$NB0@-$,<h$jF@$kCM$O0J2<$N$b$N$G$9(B: + </p> + <dl> + <dt><strong>Core</strong> + </dt> + <dd>"Core" $B$N%G%#%l%/%F%#%V$O(B + Apache $B%&%'%V%5!<%P$N4pK\$H$J$k$Y$-$b$N$G$"$j!"(B + $B>o$K;HMQ2DG=$G$"$k$3$H$r<($7$^$9!#(B + <p> + </p> + </dd> + <dt><strong>Base</strong> + </DT> + <DD>"Base" $B$N%G%#%l%/%F%#%V$O(B + $B%G%U%)%k%H$G%5!<%P$KAH$_9~$^$l$F$$$kI8=`%b%8%e!<%k$NCf$N0l$D$G%5(B + $B%]!<%H$5$l$F$$$F!"$o$6$o$6@_Dj$+$i%b%8%e!<%k$r:o=|$7$?$H$-$r=|$$$F!"(B + $BDL>o$G$O;HMQ2DG=$G$"$k$3$H$r<($7$^$9!#(B + <p> + </p> + </dd> + <dt><strong>Extension</strong> + </dt> + <dd>"Extension" $B$N%G%#%l%/%F%#%V$O!"(B + Apache $B%5!<%P$NG[I[J*$KF1:-$5$l$F$$$k%b%8%e!<%k$N0l$D$GDs6!$5$l$F$$$k$b$N$N!"(B + $BDL>o$G$O%5!<%P$KAH$_9~$^$l$F$$$J$$$3$H$r<($7$^$9!#(B + $B%G%#%l%/%F%#%V$H$=$N5!G=$rM-8z$K$9$k$K$O!"%5!<%P%S%k%IMQ$N@_Dj%U%!%$%k$r(B + $BJQ99$7$F(B Apache $B$r:F%3%s%Q%$%k$9$kI,MW$,$"$j$^$9!#(B + <p> + </p> + </dd> + <dt><strong>Experimental</strong> + </dt> + <dd>"Experimental" $B$N%G%#%l%/%F%#%V$O!"(BApache $BG[I[J*$K(B + $BF1:-$5$l$F$$$k$b$N$N!";n$7$?$$>l9g$O<+8J@UG$$G9T$J$&(B + $BI,MW$,$"$k$H$$$&$3$H$r<($7$^$9!#%G%#%l%/%F%#%V$O!"$9$Y$F$N%I%-%e%a%s%H$r(B + $B40A4$K$=$m$o$;$k$?$a$K2r@b$5$l$F$$$^$9$,!"%5%]!<%H$5$l$F$$$k$H$O8B$j$^$;$s!#(B + $B%G%#%l%/%F%#%V$rDs6!$9$k%b%8%e!<%k$O%G%U%)%k%H$GAH$_9~$^$l$F$$$k$+$b(B + $B$7$l$^$;$s$7!"$=$&$G$J$$$+$b$7$l$^$;$s!#;HMQ2DG=$+$I$&$+$O!"(B + $B%G%#%l%/%F%#%V$H%b%8%e!<%k$N@bL@$r$7$F$$$k%Z!<%8$N@hF,$rD4$Y$F$/$@$5$$!#(B + <p> + </p> + </dd> + </dl> + + <hr> + <h2><a name="Module">$B%b%8%e!<%k(B</a></h2> + <p> + $B$3$l$OC1=c$K%G%#%l%/%F%#%V$,Dj5A$5$l$F$$$k%b%8%e!<%k$NL>A0$r5-:\$7$^$9!#(B + </p> + + <hr> + <h2><a name="Compatibility">$B8_49@-(B</a></h2> + <p> + $B%G%#%l%/%F%#%V$,(B Apache 1 $B$NG[I[$KAH$_9~$^$l$F$$$J$+$C$?>l9g!"(B + $B%G%#%l%/%F%#%V$,F3F~$5$l$?%P!<%8%g%s$,$3$3$K=q$+$l$F$$$^$9!#(B + $B%G%#%l%/%F%#%V$,(B NCSA HTTPd $B%5!<%P$N$b$N$HF1$8L>A0$G$"$k>l9g!"(B + $B0[$J$k5sF0$,$"$k$H$3$3$K=q$+$l$^$9!#(B + $B5sF0$,F1$8>l9g$O!"(B"<em>$B8_49@-$NLdBjL5$7(B</em>" $B$H=q$+$l$F$$$^$9!#(B + </p> +<!--#include virtual="footer.html" --> + </body> +</html> diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_negotiation.html.en b/usr.sbin/httpd/htdocs/manual/mod/mod_negotiation.html.en new file mode 100644 index 00000000000..80b3b663669 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/mod_negotiation.html.en @@ -0,0 +1,217 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_negotiation</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Module mod_negotiation</H1> + +<p>This module provides for <A +HREF="../content-negotiation.html">content negotiation</A>.</p> + +<P><A +HREF="module-dict.html#Status" +REL="Help" +><STRONG>Status:</STRONG></A> Base +<BR> +<A +HREF="module-dict.html#SourceFile" +REL="Help" +><STRONG>Source File:</STRONG></A> mod_negotiation.c +<BR> +<A +HREF="module-dict.html#ModuleIdentifier" +REL="Help" +><STRONG>Module Identifier:</STRONG></A> negotiation_module +</P> + +<H2>Summary</H2> +Content negotiation, or more accurately content selection, is the +selection of the document that best matches the clients +capabilities, from one of several available documents. +There are two implementations of this. +<UL> +<LI> A type map (a file with the handler <CODE>type-map</CODE>) +which explicitly lists the files containing the variants. +<LI> A MultiViews search (enabled by the MultiViews +<A HREF="core.html#options">Option</A>, where the server does an implicit +filename pattern match, and choose from amongst the results. +</UL> + +<H2>Directives</H2> +<UL> +<LI><A HREF="#cachenegotiateddocs">CacheNegotiatedDocs</A> +<LI><A HREF="#languagepriority">LanguagePriority</A> +</UL> + +<STRONG>See also</STRONG>: +<A HREF="./mod_mime.html#defaultlanguage">DefaultLanguage</A>, +<A HREF="./mod_mime.html#addencoding">AddEncoding</A>, +<A HREF="./mod_mime.html#addlanguage">AddLanguage</A>, +<A HREF="./mod_mime.html#addtype">AddType</A>, and +<A HREF="core.html#options">Options</A>. + +<H2>Type maps</H2> +A type map has the same format as RFC822 mail headers. It contains document +descriptions separated by blank lines, with lines beginning with a hash +character ('#') treated as comments. A document description consists of +several header records; records may be continued on multiple lines if the +continuation lines start with spaces. The leading space will be deleted +and the lines concatenated. A header record consists of a keyword +name, which always ends in a colon, followed by a value. Whitespace is allowed +between the header name and value, and between the tokens of value. + +The headers allowed are: + +<DL> +<DT>Content-Encoding: +<DD>The encoding of the file. Apache only recognizes encodings that are +defined by an <A HREF="mod_mime.html#addencoding">AddEncoding</A> directive. +This normally includes the encodings <CODE>x-compress</CODE> for compress'd +files, and <CODE>x-gzip</CODE> for gzip'd files. The <CODE>x-</CODE> prefix +is ignored for encoding comparisons. +<DT>Content-Language: +<DD>The language of the variant, as an Internet standard language tag +(RFC 1766). An example is <CODE>en</CODE>, meaning English. +<DT>Content-Length: +<DD>The length of the file, in bytes. If this header is not present, then +the actual length of the file is used. +<DT>Content-Type: +<DD>The MIME media type of the document, with optional parameters. +Parameters are separated from the media type and from one another by a +semi-colon, with a syntax of <CODE>name=value</CODE>. Common parameters +include: +<DL> +<DT>level +<DD>an integer specifying the version of the media type. +For <CODE>text/html</CODE> this defaults to 2, otherwise 0. +<DT>qs +<DD>a floating-point number with a value in the range 0.0 to 1.0, + indicating the relative 'quality' of this variant + compared to the other available variants, independent of the client's + capabilities. For example, a jpeg file is usually of higher source + quality than an ascii file if it is attempting to represent a + photograph. However, if the resource being represented is ascii art, + then an ascii file would have a higher source quality than a jpeg file. + All qs values are therefore specific to a given resource. +</DL> +Example: +<BLOCKQUOTE><CODE>Content-Type: image/jpeg; qs=0.8</CODE></BLOCKQUOTE> +<DT>URI: +<DD>The path to the file containing this variant, relative to the map file. +</DL> + +<H2>MultiViews</H2> +A MultiViews search is enabled by the MultiViews +<A HREF="core.html#options">Option</A>. +If the server receives a request for <CODE>/some/dir/foo</CODE> and +<CODE>/some/dir/foo</CODE> does <EM>not</EM> exist, then the server reads the +directory looking for all files named <CODE>foo.*</CODE>, and effectively +fakes up a type map which names all those files, assigning them the same media +types and content-encodings it would have if the client had asked for +one of them by name. It then chooses the best match to the client's +requirements, and returns that document.<P> + + + +<HR> + + +<H2><A NAME="cachenegotiateddocs">CacheNegotiatedDocs</A> directive</H2> +<A + HREF="directive-dict.html#Syntax" + REL="Help" +><STRONG>Syntax:</STRONG></A> CacheNegotiatedDocs<BR> +<A + HREF="directive-dict.html#Context" + REL="Help" +><STRONG>Context:</STRONG></A> server config<BR> +<A + HREF="directive-dict.html#Status" + REL="Help" +><STRONG>Status:</STRONG></A> Base<BR> +<A + HREF="directive-dict.html#Module" + REL="Help" +><STRONG>Module:</STRONG></A> mod_negotiation<BR> +<A + HREF="directive-dict.html#Compatibility" + REL="Help" +><STRONG>Compatibility:</STRONG></A> CacheNegotiatedDocs is only available +in Apache 1.1 and later.<P> + +<P>If set, this directive allows content-negotiated documents to be +cached by proxy servers. This could mean that clients behind those +proxys could retrieve versions of the documents that are not the best +match for their abilities, but it will make caching more +efficient. +<P> + +This directive only applies to requests which come from HTTP/1.0 browsers. +HTTP/1.1 provides much better control over the caching of negotiated +documents, and this directive has no effect in responses to +HTTP/1.1 requests. + +<hr> + +<H2><A NAME="languagepriority">LanguagePriority</A> directive</H2> +<!--%plaintext <?INDEX {\tt LanguagePriority} directive> --> +<A + HREF="directive-dict.html#Syntax" + REL="Help" +><STRONG>Syntax:</STRONG></A> LanguagePriority <EM>MIME-lang</em> + [<em>MIME-lang</em>] ...<BR> +<A + HREF="directive-dict.html#Context" + REL="Help" +><STRONG>Context:</STRONG></A> server config, virtual host, directory, .htaccess<BR> +<A + HREF="directive-dict.html#Override" + REL="Help" +><STRONG>Override:</STRONG></A> FileInfo<BR> +<A + HREF="directive-dict.html#Status" + REL="Help" +><STRONG>Status:</STRONG></A> Base<BR> +<A + HREF="directive-dict.html#Module" + REL="Help" +><STRONG>Module:</STRONG></A> mod_negotiation<P> + +The LanguagePriority sets the precedence of language variants for the case +where the client does not express a preference, when handling a +MultiViews request. The list of <EM>MIME-lang</EM> are in order of decreasing +preference. Example: + +<BLOCKQUOTE><CODE>LanguagePriority en fr de</CODE></BLOCKQUOTE> + +For a request for <CODE>foo.html</CODE>, where <CODE>foo.html.fr</CODE> +and <CODE>foo.html.de</CODE> both existed, but the browser did not express +a language preference, then <CODE>foo.html.fr</CODE> would be returned.<P> + +<P> + +Note that this directive only has an effect if a 'best' language +cannot be determined by any other means. Correctly implemented +HTTP/1.1 requests will mean this directive has no effect. + +<P> + +<STRONG>See also</STRONG>: +<A HREF="./mod_mime.html#defaultlanguage">DefaultLanguage</A> and +<A HREF="./mod_mime.html#addlanguage">AddLanguage</A> + + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> + diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_negotiation.html.html b/usr.sbin/httpd/htdocs/manual/mod/mod_negotiation.html.html new file mode 100644 index 00000000000..e48b89654c8 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/mod_negotiation.html.html @@ -0,0 +1,218 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_negotiation</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Module mod_negotiation</H1> + +<p>This module provides for <A +HREF="../content-negotiation.html">content negotiation</A>.</p> + +<P><A +HREF="module-dict.html#Status" +REL="Help" +><STRONG>Status:</STRONG></A> Base +<BR> +<A +HREF="module-dict.html#SourceFile" +REL="Help" +><STRONG>Source File:</STRONG></A> mod_negotiation.c +<BR> +<A +HREF="module-dict.html#ModuleIdentifier" +REL="Help" +><STRONG>Module Identifier:</STRONG></A> negotiation_module +</P> + +<H2>Summary</H2> +Content negotiation, or more accurately content selection, is the +selection of the document that best matches the clients +capabilities, from one of several available documents. +There are two implementations of this. +<UL> +<LI> A type map (a file with the handler <CODE>type-map</CODE>) +which explicitly lists the files containing the variants. +<LI> A MultiViews search (enabled by the MultiViews +<A HREF="core.html#options">Option</A>, where the server does an implicit +filename pattern match, and choose from amongst the results. +</UL> + +<H2>Directives</H2> +<UL> +<LI><A HREF="#cachenegotiateddocs">CacheNegotiatedDocs</A> +<LI><A HREF="#languagepriority">LanguagePriority</A> +</UL> + +<STRONG>See also</STRONG>: +<A HREF="./mod_mime.html#defaultlanguage">DefaultLanguage</A>, +<A HREF="./mod_mime.html#addencoding">AddEncoding</A>, +<A HREF="./mod_mime.html#addlanguage">AddLanguage</A>, +<A HREF="./mod_mime.html#addtype">AddType</A>, and +<A HREF="core.html#options">Options</A>. + +<H2>Type maps</H2> +A type map has the same format as RFC822 mail headers. It contains document +descriptions separated by blank lines, with lines beginning with a hash +character ('#') treated as comments. A document description consists of +several header records; records may be continued on multiple lines if the +continuation lines start with spaces. The leading space will be deleted +and the lines concatenated. A header record consists of a keyword +name, which always ends in a colon, followed by a value. Whitespace is allowed +between the header name and value, and between the tokens of value. + +The headers allowed are: + +<DL> +<DT>Content-Encoding: +<DD>The encoding of the file. Apache only recognizes encodings that are +defined by an <A HREF="mod_mime.html#addencoding">AddEncoding</A> directive. +This normally includes the encodings <CODE>x-compress</CODE> for compress'd +files, and <CODE>x-gzip</CODE> for gzip'd files. The <CODE>x-</CODE> prefix +is ignored for encoding comparisons. +<DT>Content-Language: +<DD>The language of the variant, as an Internet standard language tag +(RFC 1766). An example is <CODE>en</CODE>, meaning English. +<DT>Content-Length: +<DD>The length of the file, in bytes. If this header is not present, then +the actual length of the file is used. +<DT>Content-Type: +<DD>The MIME media type of the document, with optional parameters. +Parameters are separated from the media type and from one another by a +semi-colon, with a syntax of <CODE>name=value</CODE>. Common parameters +include: +<DL> +<DT>level +<DD>an integer specifying the version of the media type. +For <CODE>text/html</CODE> this defaults to 2, otherwise 0. +<DT>qs +<DD>a floating-point number with a value in the range 0.0 to 1.0, + indicating the relative 'quality' of this variant + compared to the other available variants, independent of the client's + capabilities. For example, a jpeg file is usually of higher source + quality than an ascii file if it is attempting to represent a + photograph. However, if the resource being represented is ascii art, + then an ascii file would have a higher source quality than a jpeg file. + All qs values are therefore specific to a given resource. +</DL> +Example: +<BLOCKQUOTE><CODE>Content-Type: image/jpeg; qs=0.8</CODE></BLOCKQUOTE> +<DT>URI: +<DD>The path to the file containing this variant, relative to the map file. +</DL> + +<H2>MultiViews</H2> +A MultiViews search is enabled by the MultiViews +<A HREF="core.html#options">Option</A>. +If the server receives a request for <CODE>/some/dir/foo</CODE> and +<CODE>/some/dir/foo</CODE> does <EM>not</EM> exist, then the server reads the +directory looking for all files named <CODE>foo.*</CODE>, and effectively +fakes up a type map which names all those files, assigning them the same media +types and content-encodings it would have if the client had asked for +one of them by name. It then chooses the best match to the client's +requirements, and returns that document.<P> + + + +<HR> + + +<H2><A NAME="cachenegotiateddocs">CacheNegotiatedDocs</A> directive</H2> +<A + HREF="directive-dict.html#Syntax" + REL="Help" +><STRONG>Syntax:</STRONG></A> CacheNegotiatedDocs<BR> +<A + HREF="directive-dict.html#Context" + REL="Help" +><STRONG>Context:</STRONG></A> server config<BR> +<A + HREF="directive-dict.html#Status" + REL="Help" +><STRONG>Status:</STRONG></A> Base<BR> +<A + HREF="directive-dict.html#Module" + REL="Help" +><STRONG>Module:</STRONG></A> mod_negotiation<BR> +<A + HREF="directive-dict.html#Compatibility" + REL="Help" +><STRONG>Compatibility:</STRONG></A> CacheNegotiatedDocs is only available +in Apache 1.1 and later.<P> + +<P>If set, this directive allows content-negotiated documents to be +cached by proxy servers. This could mean that clients behind those +proxys could retrieve versions of the documents that are not the best +match for their abilities, but it will make caching more +efficient. +<P> + +This directive only applies to requests which come from HTTP/1.0 browsers. +HTTP/1.1 provides much better control over the caching of negotiated +documents, and this directive has no effect in responses to +HTTP/1.1 requests. + +<hr> + +<H2><A NAME="languagepriority">LanguagePriority</A> directive</H2> +<!--%plaintext <?INDEX {\tt LanguagePriority} directive> --> +<A + HREF="directive-dict.html#Syntax" + REL="Help" +><STRONG>Syntax:</STRONG></A> LanguagePriority <EM>MIME-lang</em> + [<em>MIME-lang</em>] ...<BR> +<A + HREF="directive-dict.html#Context" + REL="Help" +><STRONG>Context:</STRONG></A> server config, virtual host, directory, .htaccess<BR> +<A + HREF="directive-dict.html#Override" + REL="Help" +><STRONG>Override:</STRONG></A> FileInfo<BR> +<A + HREF="directive-dict.html#Status" + REL="Help" +><STRONG>Status:</STRONG></A> Base<BR> +<A + HREF="directive-dict.html#Module" + REL="Help" +><STRONG>Module:</STRONG></A> mod_negotiation<P> + +The LanguagePriority sets the precedence of language variants for the case +where the client does not express a preference, when handling a +MultiViews request. The list of <EM>MIME-lang</EM> are in order of decreasing +preference. Example: + +<BLOCKQUOTE><CODE>LanguagePriority en fr de</CODE></BLOCKQUOTE> + +For a request for <CODE>foo.html</CODE>, where <CODE>foo.html.fr</CODE> +and <CODE>foo.html.de</CODE> both existed, but the browser did not express +a language preference, then <CODE>foo.html.fr</CODE> would be returned.<P> + +<P> + +Note that this directive only has an effect if a 'best' language +cannot be determined by any other means. Correctly implemented +HTTP/1.1 requests will mean this directive has no effect. + +<P> + +<STRONG>See also</STRONG>: +<A HREF="./mod_mime.html#defaultlanguage">DefaultLanguage</A> and +<A HREF="./mod_mime.html#addlanguage">AddLanguage</A> + + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> + + diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_negotiation.html.ja.jis b/usr.sbin/httpd/htdocs/manual/mod/mod_negotiation.html.ja.jis new file mode 100644 index 00000000000..20e4ce079d1 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/mod_negotiation.html.ja.jis @@ -0,0 +1,220 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> +<title>Apache module mod_negotiation</title> +</head> +<!-- English revision: 1.17 --> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<body + bgcolor="#FFFFFF" + text="#000000" + link="#0000FF" + vlink="#000080" + alink="#FF0000" +> +<!--#include virtual="header.html" --> +<h1 align="center">mod_negotiation $B%b%8%e!<%k(B</h1> + +<p>$B$3$N%b%8%e!<%k$O(B <a +href="../content-negotiation.html">$B%3%s%F%s%H%M%4%7%(!<%7%g%s(B</a>$B$r(B +$BDs6!$7$^$9!#(B</p> + +<p><a +href="module-dict.html#Status" +rel="Help" +><strong>$B%9%F!<%?%9(B:</strong></a> Base +<br> +<a +href="module-dict.html#SourceFile" +rel="Help" +><strong>$B%=!<%9%U%!%$%k(B:</strong></a> mod_negotiation.c +<br> +<a +href="module-dict.html#ModuleIdentifier" +rel="Help" +><strong>$B%b%8%e!<%k<1JL;R(B:</strong></a> negotiation_module +</p> + +<h2>$B35MW(B</h2> +$B%3%s%F%s%H%M%4%7%(!<%7%g%s!"$h$j@53N$K$O%3%s%F%s%D$NA*Br5!G=$O!"(B +$BJ#?tMQ0U$5$l$F$$$k%I%-%e%a%s%H$+$i!"%/%i%$%"%s%H$NG=NO$K0lHV9g$C$?%I%-%e%a%s%H$r(B +$BA*Br$9$k5!G=$G$9!#$3$N<BAu$OFs$D$"$j$^$9!#(B +<ul> +<li>$B%?%$%W%^%C%W(B (<code>type-map</code> $B%O%s%I%i$G07$o$l$k%U%!%$%k(B)$B!#(B +$B$3$l$O(B variants $B$r4^$s$G$$$k%U%!%$%k$rL@<(E*$K;XDj$7$^$9!#(B +<li>MultiViews $B$NC5:w(B (MultiViews +<a href="core.html#options">$B%*%W%7%g%s(B</a> $B$G;HMQ$9$k$h$&$K$J$j$^$9(B)$B!#(B +$B%5!<%P$,0EL[$NFb$K%U%!%$%kL>$N%Q%?!<%s%^%C%A$r9T$J$$!"$=$N7k2L$+$iA*Br$7$^$9!#(B +</ul> + +<h2>$B%G%#%l%/%F%#%V(B</h2> +<ul> +<li><a href="#cachenegotiateddocs">CacheNegotiatedDocs</a> +<li><a href="#languagepriority">LanguagePriority</a> +</ul> + +<a href="./mod_mime.html#defaultlanguage">DefaultLanguage</a>, +<a href="./mod_mime.html#addencoding">AddEncoding</a>, +<a href="./mod_mime.html#addlanguage">AddLanguage</a>, +<a href="./mod_mime.html#addtype">AddType</a>, +<a href="core.html#options">Options</a> +<strong>$B$b;2>H$7$F$/$@$5$$(B</strong>$B!#(B + + +<h2>$B%?%$%W%^%C%W(B</h2> + +<p> +$B%?%$%W%^%C%W$O(B RFC 822 $B$N%a!<%k%X%C%@$HF1$8=q<0$G$9!#%I%-%e%a%s%H$N5-=R$,(B +$B6u9T$GJ,N%$5$l$F=q$+$l$F$$$F!"%O%C%7%eJ8;z(B ('#') $B$G;O$^$k9T$O(B +$B%3%a%s%H$H$7$F07$o$l$^$9!#%I%-%e%a%s%H$N@bL@$OJ#?t$N%X%C%@%l%3!<%I$+$i(B +$B9=@.$5$l$^$9!#%l%3!<%I$O!"B3$-$N9T$,6uGr$G;O$^$C$F$$$k$HJ#?t$N9T$K$^$?$,$j$^$9!#(B +$B:G=i$N6uGr$,>C5n$5$l$F!"A0$N9T$H$D$J$2$F(B 1 $B9T$H$7$F07$o$l$^$9!#%X%C%@%l%3!<%I$O(B +$B%-!<%o!<%IL>$N8e$KCM$,B3$/$H$$$&7A<0$G!"%-!<%o!<%IL>$O>o$K%3%m%s$G=*$o$j$^$9!#(B +$B6uGr$O%X%C%@L>$HCM$N4V!"CM$N%H!<%/%s$N4V$KF~$l$k$3$H$,$G$-$^$9!#(B +</p> + +<p> +$B;HMQ2DG=$J%X%C%@$O0J2<$N$H$*$j$G$9(B: +</p> + +<dl> +<dt>Content-Encoding: +<dd>$B%U%!%$%k$N%(%s%3!<%G%#%s%0!#(BApache $B$O(B <a +href="mod_mime.html#addencoding">AddEncoding</a> $B$GDj5A$5$l$?%(%s%3!<%G%#%s%0(B +$B$@$1$rG'<1$7$^$9!#DL>o(B compress $B$5$l$?%U%!%$%k$N$?$a$N(B <code>x-compress</code> +$B$H(B gzip $B$5$l$?%U%!%$%k$N$?$a$N(B <code>x-gzip</code> $B$r4^$_$^$9!#(B +$B%(%s%3!<%G%#%s%0$NHf3S$r$9$k$H$-$O!"@\F,<-(B <code>x-</code> $B$OL5;k$5$l$^$9!#(B +<dt>Content-Language: +<dd>$B%$%s%?!<%M%C%HI8=`$N8@8l%?%0(B (RFC 1766) $B$GDj5A$5$l$F$$$k8@8l$N<oN`!#(B +$BNc$($P!"(B<code>en</code> $B$O1Q8l$rI=$7$^$9!#(B +<dt>Content-Length: +<dd>$B%U%!%$%k$ND9$5(B ($B%P%$%H?t(B)$B!#$3$N%X%C%@$,$J$$>l9g!"%U%!%$%k$N<B:]$N(B +$BD9$5$,;HMQ$5$l$^$9!#(B +<dt>Content-Type: +<dd>$B%I%-%e%a%s%H$N(B MIME $B%a%G%#%"%?%$%W!"%*%W%7%g%J%k$J%Q%i%a!<%?IU$-!#(B +$B%Q%i%a!<%?$N9=J8$O(B <code>name=value</code> $B$G!"%a%G%#%"%?%$%W$dB>$N%Q%i%a!<%?$H$O(B +$B%;%_%3%m%s$GJ,N%$5$l$^$9!#6&DL$N%Q%i%a!<%?$O0J2<$N$H$*$j(B: +<dl> +<dt>level +<dd>$B%a%G%#%"%?%$%W$N%P!<%8%g%s$r<($9@0?t!#(B +<code>text/html</code> $B$G$O(B 2 $B$,%G%U%)%k%H$G!"$=$NB>$N>l9g$O(B 0 $B$,%G%U%)%k%H$G$9!#(B +<dt>qs +<dd>$B%/%i%$%"%s%H$NG=NO$K4X78$J$/!"(Bvariant $B$rB>$HHf3S$7$?$H$-$NAjBPE*$J!VIJ<A!W$G!"(B + 0.0 $B$+$i(B 1.0 $B$NHO0O$NIbF0E@>.?t!#Nc$($P!"<L??$rI=8=$7$h$&$H$7$F$$$k$H$-$O(B + $BIaDL$O(B JPEG $B%U%!%$%k$NJ}$,(B ASCII $B%U%!%$%k$h$j$b9b$$IJ<A$K$J$j$^$9!#(B + $B$7$+$7!"%j%=!<%9$,(B ASCII $B%"!<%H$GI=8=$5$l$F$$$k$H$-$O!"(BASCII $B%U%!%$%k$N(B + $BJ}$,(B JPEG $B%U%!%$%k$h$j$b9b$$IJ<A$K$J$j$^$9!#$3$N$h$&$K!"(Bqs $B$O(B + $B%j%=!<%9Kh$KFCM-$NCM$r<h$j$^$9!#(B +</dl> +$BNc(B: +<blockquote><code>Content-Type: image/jpeg; qs=0.8</code></blockquote> +<dt>URI: +<dd>$B%^%C%W%U%!%$%k$+$iAjBP%Q%9$GI=$o$7$?!"(Bvariant $B$N$"$k%U%!%$%k$X$N%Q%9(B +</dl> + +<h2>MultiViews</h2> + +<p> +MultiViews $BC5:w$O!"(BMultiviews <a href="core.html#options">$B%*%W%7%g%s(B</a>$B$K$h$j(B +$BM-8z$K$J$j$^$9!#%5!<%P$,(B <code>/some/dir/foo</code> $B$X$N%j%/%(%9%H$r<u$1<h$j!"(B +<code>/some/dir/foo</code> $B$,B8:_(B<em>$B$7$J$$(B</em>$B>l9g!"%5!<%P$O%G%#%l%/%H%j$r(B +$BFI$s$G!"(B<code>foo.*</code> $B$K$"$F$O$^$kA4$F$N%U%!%$%k$rC5$7!"(B +$B;v<B>e$=$l$i$N%U%!%$%k$r%^%C%W$9$k%?%$%W%^%C%W$r:n$j$^$9!#(B +$B$=$N$H$-!"%a%G%#%"%?%$%W$H%3%s%F%s%H%(%s%3!<%G%#%s%0$O!"$=$N%U%!%$%kL>$r(B +$BD>@\;XDj$7$?$H$-$HF1$8$b$N$,3d$jEv$F$i$l$^$9!#$=$l$+$i%/%i%$%"%s%H$N(B +$BMW5a$K0lHV9g$&$b$N$rA*$S!"$=$N%I%-%e%a%s%H$rJV$7$^$9!#(B</p> + +<hr> + +<h2><a name="cachenegotiateddocs">CacheNegotiatedDocs</a> $B%G%#%l%/%F%#%V(B</h2> +<a + href="directive-dict.html#Syntax" + rel="Help" +><strong>$B9=J8(B:</strong></a> CacheNegotiatedDocs<br> +<a + href="directive-dict.html#Context" + rel="Help" +><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br> +<a + href="directive-dict.html#Status" + rel="Help" +><strong>$B%9%F!<%?%9(B:</strong></a> Base<br> +<a + href="directive-dict.html#Module" + rel="Help" +><strong>$B%b%8%e!<%k(B:</strong></a> mod_negotiation<br> +<a + href="directive-dict.html#Compatibility" + rel="Help" +><strong>$B8_49@-(B:</STRONG></A> CacheNegotiatedDocs $B$O(B Apache 1.1 $B0J9_$G$N$_(B +$B;HMQ2DG=!#(B<br> + +<p>$B$3$N%G%#%l%/%F%#%V$,@_Dj$5$l$F$$$k$H!"%3%s%F%s%H%M%4%7%(!<%7%g%s$r$7$?(B +$B7k2L$N%I%-%e%a%s%H$N%-%c%C%7%e$r5v2D$7$^$9!#$3$l$O!"(B +$B%W%m%-%7$N8e$m$K$$$k%/%i%$%"%s%H$,G=NO$K0lHV9g$C$?%I%-%e%a%s%H$G$O$J$/!"(B +$B%-%c%C%7%e$r$h$j8z2LE*$K$9$k$b$N$rF@$k2DG=@-$,$"$k$H$$$&$3$H$G$9!#(B</p> + +<p> +$B$3$N%G%#%l%/%F%#%V$O(B HTTP/1.0 $B%V%i%&%6$+$i$N%j%/%(%9%H$N$_$KE,MQ$5$l$^$9!#(B +HTTP/1.1 $B$O!"8r>D$5$l$?%I%-%e%a%s%H$N%-%c%C%7%e$KBP$7$F$:$C$H$h$$@)8f$,(B +$B2DG=$J$N$G!"$3$N%G%#%l%/%F%#%V$O(B HTTP/1.1 $B$N%j%/%(%9%H$K$O1F6A$7$^$;$s!#(B +</p> + +<hr> + +<h2><a name="languagepriority">LanguagePriority</a> $B%G%#%l%/%F%#%V(B</h2> +<!--%plaintext <?INDEX {\tt LanguagePriority} directive> --> +<a + href="directive-dict.html#Syntax" + rel="Help" +><strong>$B9=J8(B:</strong></a> LanguagePriority <em>MIME-lang</em> + [<em>MIME-lang</em>] ...<br> +<a + href="directive-dict.html#Context" + rel="Help" +><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br> +<a + href="directive-dict.html#Override" + rel="Help" +><strong>$B>e=q$-(B:</strong></a> FileInfo<br> +<a + href="directive-dict.html#Status" + rel="Help" +><strong>$B%9%F!<%?%9(B:</strong></a> Base<br> +<a + href="directive-dict.html#Module" + rel="Help" +><strong>$B%b%8%e!<%k(B:</strong></a> mod_negotiation<p> + +<p> +LanguagePriority $B$O!"(BMultiViews $B%j%/%(%9%H$r07$&$H$-$K!"%/%i%$%"%s%H$,(B +$BM%@h=g0L$rDs6!$7$F$$$J$$>l9g$N8@8l$NM%@h=g0L$r@_Dj$7$^$9!#(B +<em>MIME-lang</em> $B$N%j%9%H$,M%@hEY$N9_=g$KJB$S$^$9!#Nc(B: +</p> + +<blockquote><code>LanguagePriority en fr de</code></blockquote> + +<p> +<code>foo.html</code> $B$,%j%/%(%9%H$5$l!"(B +<code>foo.html.fr</code> $B$H(B <code>foo.html.de</code> $B$,N>J}B8:_$7!"(B +$B%V%i%&%6$,8@8l$NM%@h=g0L$rDs6!$7$F$J$$>l9g$O(B <code>foo.html.fr</code> $B$,(B +$BJV$5$l$^$9!#(B +</p> + +<p> +$B$3$N%G%#%l%/%F%#%V$OB>$NJ}K!$G!V:GA1!W$N8@8l$,7hDj$G$-$J$$$H$-$N$_(B +$B8z2L$,$"$k$3$H$KCm0U$7$F$/$@$5$$!#(BHTTP/1.1 $B%j%/%(%9%H$,@5$7$/<BAu$5$l$F(B +$B$$$k>l9g$K$O!"$3$N%G%#%l%/%F%#%V$OL58z$K$J$j$^$9!#(B +</p> + +<p> +<a href="./mod_mime.html#defaultlanguage">DefaultLanguage</a>, +<a href="./mod_mime.html#addlanguage">AddLanguage</a> +<strong>$B$b;2>H$7$F$/$@$5$$(B</strong>$B!#(B +</p> + +<!--#include virtual="footer.html" --> +</body> +</html> + diff --git a/usr.sbin/httpd/htdocs/manual/mod/module-dict.html.en b/usr.sbin/httpd/htdocs/manual/mod/module-dict.html.en new file mode 100644 index 00000000000..a05d8f7689c --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/module-dict.html.en @@ -0,0 +1,135 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <TITLE>Definitions of terms used to describe Apache modules + </TITLE> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > +<!--#include virtual="header.html" --> + <H1 ALIGN="CENTER">Terms Used to Describe Apache Modules</H1> + + <P> + Each Apache module is described using a common format that looks + like this: + </P> + <DL> + <DD><A + HREF="#Status" + REL="Help" + ><STRONG>Status:</STRONG></A> <EM>status</EM> + <BR> + <A + HREF="#SourceFile" + REL="Help" + ><STRONG>Source File:</STRONG></A> <EM>source-file</EM> + <BR> + <A + HREF="#ModuleIdentifier" + REL="Help" + ><STRONG>Module Identifier:</STRONG></A> <EM>module-identifier</EM> + <BR> + <A + HREF="#Compatibility" + REL="Help" + ><STRONG>Compatibility:</STRONG></A> <EM>compatibility notes</EM> + </DD> + </DL> + <P> + Each of the attributes, complete with values where possible, are + described in this document. + </P> + + <H2>Module Terms</H2> + <UL> + <LI><A HREF="#Status">Status</A> + </LI> + <LI><A HREF="#SourceFile">Source File</A> + </LI> + <LI><A HREF="#ModuleIdentifier">Module Identifier</A> + </LI> + <LI><A HREF="#Compatibility">Compatibility</A> + </LI> + </UL> + + <HR> + <H2><A NAME="Status">Status</A></H2> + <P> + This indicates how tightly bound into the Apache Web server the + module is; in other words, you may need to recompile the server in + order to gain access to the module and its functionality. Possible + values for this attribute are: + </P> + <DL> + <DT><STRONG>Base</STRONG> + </DT> + <DD>A module labeled as having "Base" status is compiled + and loaded into the server by default, and is therefore normally + available unless you have taken steps to remove the module from your + configuration. + <P> + </P> + </DD> + <DT><STRONG>Extension</STRONG> + </DT> + <DD>A module with "Extension" status is not normally + compiled and loaded into the server. To enable the module and its + functionality, you may need to change the server build + configuration files and re-compile Apache. + <P> + </P> + </DD> + <DT><STRONG>Experimental</STRONG> + </DT> + <DD>"Experimental" status indicates that the module is + available as part of the Apache kit, but you are on your own if you + try to use it. The module is being documented for completeness, + and is not necessarily supported. + <P> + </P> + </DD> + <DT><STRONG>External</STRONG> + </DT> + <DD>Modules which are not included with the base Apache + distribution ("third-party modules") may use the + "External" status. We are not responsible, nor do we + support such modules. + <P> + </P> + </DD> + </DL> + + <HR> + <H2><A NAME="SourceFile">Source File</A></H2> + <P> + This quite simply lists the name of the source file which contains + the code for the module. This is also the name used by the <A + HREF="core.html#ifmodule"><CODE><IfModule></CODE></A> + directive. + </P> + + <HR> + <H2><A NAME="ModuleIdentifier">Module Identifier</A></H2> + <P> + This is a string which identifies the module for use in the <A + HREF="mod_so.html#loadmodule">LoadModule</A> directive when + dynamically loading modules. In particular, it is the name + of the external variable of type module in the source file. + </P> + + <HR> + <H2><A NAME="Compatibility">Compatibility</A></H2> + <P> + If the module was not part of the original Apache version 1 + distribution, the version in which it was introduced should be listed + here. + </P> +<!--#include virtual="footer.html" --> + </BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/manual/mod/module-dict.html.html b/usr.sbin/httpd/htdocs/manual/mod/module-dict.html.html new file mode 100644 index 00000000000..c59766246c7 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/module-dict.html.html @@ -0,0 +1,136 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> + <HEAD> + <TITLE>Definitions of terms used to describe Apache modules + </TITLE> + </HEAD> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" + > +<!--#include virtual="header.html" --> + <H1 ALIGN="CENTER">Terms Used to Describe Apache Modules</H1> + + <P> + Each Apache module is described using a common format that looks + like this: + </P> + <DL> + <DD><A + HREF="#Status" + REL="Help" + ><STRONG>Status:</STRONG></A> <EM>status</EM> + <BR> + <A + HREF="#SourceFile" + REL="Help" + ><STRONG>Source File:</STRONG></A> <EM>source-file</EM> + <BR> + <A + HREF="#ModuleIdentifier" + REL="Help" + ><STRONG>Module Identifier:</STRONG></A> <EM>module-identifier</EM> + <BR> + <A + HREF="#Compatibility" + REL="Help" + ><STRONG>Compatibility:</STRONG></A> <EM>compatibility notes</EM> + </DD> + </DL> + <P> + Each of the attributes, complete with values where possible, are + described in this document. + </P> + + <H2>Module Terms</H2> + <UL> + <LI><A HREF="#Status">Status</A> + </LI> + <LI><A HREF="#SourceFile">Source File</A> + </LI> + <LI><A HREF="#ModuleIdentifier">Module Identifier</A> + </LI> + <LI><A HREF="#Compatibility">Compatibility</A> + </LI> + </UL> + + <HR> + <H2><A NAME="Status">Status</A></H2> + <P> + This indicates how tightly bound into the Apache Web server the + module is; in other words, you may need to recompile the server in + order to gain access to the module and its functionality. Possible + values for this attribute are: + </P> + <DL> + <DT><STRONG>Base</STRONG> + </DT> + <DD>A module labeled as having "Base" status is compiled + and loaded into the server by default, and is therefore normally + available unless you have taken steps to remove the module from your + configuration. + <P> + </P> + </DD> + <DT><STRONG>Extension</STRONG> + </DT> + <DD>A module with "Extension" status is not normally + compiled and loaded into the server. To enable the module and its + functionality, you may need to change the server build + configuration files and re-compile Apache. + <P> + </P> + </DD> + <DT><STRONG>Experimental</STRONG> + </DT> + <DD>"Experimental" status indicates that the module is + available as part of the Apache kit, but you are on your own if you + try to use it. The module is being documented for completeness, + and is not necessarily supported. + <P> + </P> + </DD> + <DT><STRONG>External</STRONG> + </DT> + <DD>Modules which are not included with the base Apache + distribution ("third-party modules") may use the + "External" status. We are not responsible, nor do we + support such modules. + <P> + </P> + </DD> + </DL> + + <HR> + <H2><A NAME="SourceFile">Source File</A></H2> + <P> + This quite simply lists the name of the source file which contains + the code for the module. This is also the name used by the <A + HREF="core.html#ifmodule"><CODE><IfModule></CODE></A> + directive. + </P> + + <HR> + <H2><A NAME="ModuleIdentifier">Module Identifier</A></H2> + <P> + This is a string which identifies the module for use in the <A + HREF="mod_so.html#loadmodule">LoadModule</A> directive when + dynamically loading modules. In particular, it is the name + of the external variable of type module in the source file. + </P> + + <HR> + <H2><A NAME="Compatibility">Compatibility</A></H2> + <P> + If the module was not part of the original Apache version 1 + distribution, the version in which it was introduced should be listed + here. + </P> +<!--#include virtual="footer.html" --> + </BODY> +</HTML> + diff --git a/usr.sbin/httpd/htdocs/manual/mod/module-dict.html.ja.jis b/usr.sbin/httpd/htdocs/manual/mod/module-dict.html.ja.jis new file mode 100644 index 00000000000..c4f6d12225c --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/module-dict.html.ja.jis @@ -0,0 +1,135 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> + <head> + <title>Apache $B%b%8%e!<%k$N2r@b$G;HMQ$9$kMQ8l(B + </title> + </head> +<!-- English revision: 1.1 --> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <body + bgcolor="#FFFFFF" + text="#000000" + link="#0000FF" + vlink="#000080" + alink="#FF0000" + > +<!--#include virtual="header.html" --> + <h1 align="CENTER">Apache $B%b%8%e!<%k$N2r@b$G;HMQ$9$kMQ8l(B</h1> + + <p> + Apache $B%b%8%e!<%k$K$D$$$F$N2r@b$O!"$$$:$l$b0J2<$N6&DL$N=q<0$G5-=R$5$l$F$$$^$9(B: + </p> + <dl> + <dd><a + href="#Status" + rel="Help" + ><strong>$B%9%F!<%?%9(B:</strong></a> <em>status</em> + <br> + <a + href="#SourceFile" + rel="Help" + ><Strong>$B%=!<%9%U%!%$%k(B:</strong></a> <em>source-file</em> + <br> + <a + href="#ModuleIdentifier" + rel="Help" + ><strong>$B%b%8%e!<%k<1JL;R(B:</strong></a> <em>module-identifier</em> + <br> + <a + href="#Compatibility" + rel="Help" + ><strong>$B8_49@-(B:</strong></a> <em>compatibility notes</em> + </dd> + </dl> + <p> + $B$3$N%I%-%e%a%s%H$G$O$=$l$>$l$NB0@-$r@bL@$7$F$$$^$9!#(B + $B<h$jF@$k$9$Y$F$NCM$b5-=R$7$F$$$^$9!#(B + </p> + + <h2>$B%b%8%e!<%k$NMQ8l(B</h2> + <ul> + <li><a href="#Status">$B%9%F!<%?%9(B</a> + </li> + <li><a href="#SourceFile">$B%=!<%9%U%!%$%k(B</a> + </li> + <li><a href="#ModuleIdentifier">$B%b%8%e!<%k<1JL;R(B</a> + </li> + <li><a href="#Compatibility">$B8_49@-(B</a> + </li> + </ul> + + <hr> + <h2><a name="Status">$B%9%F!<%?%9(B</a></h2> + <p> + $B$3$l$O!"$=$N%b%8%e!<%k$,(B Apache $B%&%'%V%5!<%P$K$I$l$/$i$$L)@\$KAH$_9~$^$l$F$$$k$+$r(B + $B<($7$^$9!#8@$$49$($l$P!"%b%8%e!<%k$rAH$_9~$_!"$=$N5!G=$rMxMQ$9$k$?$a$K!"(B + $B%5!<%P$r:F%3%s%Q%$%k$9$kI,MW$,$"$k$+$b$7$l$J$$$H$$$&$3$H$r<($7$^$9!#(B + $B$3$NB0@-$,<h$jF@$kCM$O0J2<$N$b$N$G$9(B: + </p> + <dl> + <dt><strong>Base</strong> + </dt> + <dd>$B%9%F!<%?%9$,(B "Base" $B$N%b%8%e!<%k$O!"%G%U%)%k%H$G%3%s%Q%$%k$5$l$F(B + $B%5!<%P$KFI$_9~$^$l$^$9!#$o$6$o$6@_Dj$+$i%b%8%e!<%k$r:o=|$7$F$$$J$$8B$j!"(B + $BDL>o$OMxMQ2DG=$G$9!#(B + <p> + </p> + </dd> + <dt><strong>Extension</strong> + </dt> + <dd>$B%9%F!<%?%9$,(B "Extension" $B$N%b%8%e!<%k$O!"%G%U%)%k%H$G$O(B + $B%3%s%Q%$%k$5$l$:!"%5!<%P$K$bFI$_9~$^$l$^$;$s!#(B + $B$=$N%b%8%e!<%k$H$=$N5!G=$rM-8z$K$9$k$K$O!"%5!<%P$r%S%k%I$9$k$?$a$N@_Dj$r(B + $BJQ99$7$F!"(BApache $B$r:F%3%s%Q%$%k$9$kI,MW$,$"$j$^$9!#(B + <p> + </p> + </dd> + <dt><strong>Experimental</strong> + </dt> + <dd>$B%9%F!<%?%9$,(B "Experimental" $B$N%b%8%e!<%k$O!"(B + Apache $BG[I[J*$KF1:-$5$l$F$$$^$9$,!";HMQ$9$k>l9g$O<+8J@UG$$G9T$J$&(B + $BI,MW$,$"$j$^$9!#(B + $B$=$N%b%8%e!<%k$O!"%I%-%e%a%s%H$b40@.$K8~$1$F:n@.Cf$G$9$7!"(B + $B%5%]!<%H$5$l$k$F$$$k$H$O8B$j$^$;$s!#(B + <p> + </p> + </dd> + <dt><strong>External</strong> + </dt> + <dd>$B%9%F!<%?%9$,(B "External" $B$N%b%8%e!<%k$O!"4pK\(B Apache $BG[I[$KF1:-$5$l$^$;$s(B + ("$B%5!<%I%Q!<%F%#!<%b%8%e!<%k(B")$B!#(B + $B$=$N$?$a!"2f!9$K@UG$$O$"$j$^$;$s$7!"$=$N%b%8%e!<%k$N%5%]!<%H$b$7$F$$$^$;$s!#(B + <p> + </p> + </dd> + </dl> + + <hr> + <h2><a name="SourceFile">$B%=!<%9%U%!%$%k(B</a></h2> + <p> + $B$3$l$OC1=c$K!"$=$N%b%8%e!<%k$KI,MW$J%3!<%I$r4^$`%=!<%9%U%!%$%k$N(B + $BL>A0$rNs5s$7$?$b$N$G$9!#(B + $B$3$l$O!"(B<a + href="core.html#ifmodule"><code><IfModule></code></a> $B%G%#%l%/%F%#%V(B + $B$G;HMQ$5$l$kL>A0$G$b$"$j$^$9!#(B + </p> + + <hr> + <h2><a name="ModuleIdentifier">$B%b%8%e!<%k<1JL;R(B</a></h2> + <p> + $B$3$NJ8;zNs$O!"%b%8%e!<%k$NF0E*FI$_9~$_$r9T$J$&$H$-$K;HMQ$9$k(B <a + href="mod_so.html#loadmodule">LoadModule</a> $B%G%#%l%/%F%#%V$K$*$$$F(B + $B;HMQ$5$l$k%b%8%e!<%k$N<1JL;R$G$9!#(B + $B>\$7$/=q$/$H!"%=!<%9%U%!%$%kFb$N(B module $B%?%$%W$N30ItJQ?t$NL>A0$G$9!#(B + </p> + + <hr> + <h2><a name="Compatibility">$B8_49@-(B</a></h2> + <p> + $B$"$k%b%8%e!<%k$,(B Apache $B%P!<%8%g%s(B 1 $B$NG[I[$K4^$^$l$F$$$J$+$C$?>l9g!"(B + $B$=$N%b%8%e!<%k$,F3F~$5$l$?%P!<%8%g%s$,$3$3$K=q$+$l$F$$$^$9!#(B + </p> +<!--#include virtual="footer.html" --> + </body> +</html> diff --git a/usr.sbin/httpd/htdocs/manual/new_features_1_3.html.en b/usr.sbin/httpd/htdocs/manual/new_features_1_3.html.en new file mode 100644 index 00000000000..96edd26b05d --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/new_features_1_3.html.en @@ -0,0 +1,707 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML><HEAD> +<TITLE>New features with Apache 1.3</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" + VLINK="#000080" ALINK="#FF0000"> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Overview of New Features in Apache 1.3</H1> + +<P>New features with this release, as extensions of the Apache +functionality. Because the core code has changed so +significantly, there are certain liberties that earlier versions of +Apache (and the NCSA daemon) took that recent Apache versions are +pickier about - please check the +<A HREF="misc/compat_notes.html">compatibility notes</A> if you have any +problems.</P> + +<P>If you're upgrading from Apache 1.2, you may wish to read +the <A HREF="upgrading_to_1_3.html">upgrade notes</A>. + +<P>Enhancements: <A HREF="#core">Core</A> | +<A HREF="#performance">Performance</A> | +<A HREF="#config">Configuration</A> | +<A HREF="#mod">Modules</A> | +<A HREF="#api">API</A> | +<A HREF="#misc">Misc</A> + +<P><HR> + +<H2><A NAME="core">Core Enhancements:</A></H2> + +<DL> +<DT><STRONG><A HREF="dso.html">Dynamic Shared Object (DSO) support</A></STRONG> +<DD>Apache modules may now be loaded at runtime; this means that + modules can be loaded into the server process space only when necessary, + thus overall memory usage by Apache will be significantly reduced. DSO + currently is supported on FreeBSD, OpenBSD, NetBSD, Linux, Solaris, SunOS, + Digital UNIX, IRIX, HP/UX, UnixWare, NetWare, AIX, ReliantUnix and generic + SVR4 platforms. + +<DT><STRONG><A HREF="windows.html">Support for Windows NT/95</A></STRONG> +<DD>Apache now supports the Windows NT and Windows 2000 operating systems. + While Apache may run on Windows 95, 98, or ME, these consumer products + are never recommended for production environments, and their use + remains experimental. All versions of Apache running on Windows prior + to 1.3.15 should be considered beta quality releases. + +<DT><STRONG><A HREF="netware.html">Support for NetWare 5.x</A></STRONG> +<DD>Apache now experimentally supports the NetWare 5.x operating systems. + +<DT><STRONG><A HREF="sourcereorg.html">Re-organized + Sources</A></STRONG> +<DD>The source files for Apache have been re-organized. The main + difference for Apache users is that the "Module" lines in + <CODE>Configuration</CODE> have been replaced with "AddModule" + with a slightly different syntax. For module authors there are + some changes designed to make it easier for users to add their + module. + +<DT><STRONG>Reliable Piped Logs</STRONG> +<DD>On almost all Unix architectures Apache now implements "reliable" + piped logs in <A + HREF="mod/mod_log_config.html">mod_log_config</A>. Where reliable + means that if the logging child dies for whatever reason, Apache + will recover and respawn it without having to restart the entire + server. Furthermore if the logging child becomes "stuck" and + isn't reading its pipe frequently enough Apache will also restart + it. This opens up more opportunities for log rotation, hit + filtering, real-time splitting of multiple vhosts into separate + logs, and asynchronous DNS resolving on the fly. +</DL> + +<P><HR> + +<H2><A NAME="performance">Performance Improvements</A></H2> + +<UL> + <LI>IP-based virtual hosts are looked up via hash table. + <LI><Directory> parsing speedups. + <LI>The critical path for static requests has fewer system calls. + This generally helps all requests. (45 syscalls for a static + request in 1.2 versus 22 in 1.3 in a well tuned + configuration). + <LI><A HREF="mod/mod_proxy.html#proxyreceivebuffersize"> + <CODE>ProxyReceiveBufferSize</CODE></A> directive gives + <CODE>mod_proxy</CODE>'s outgoing connections larger network + buffers, for increased throughput. + <LI>The low level I/O routines use <CODE>writev</CODE> (where + available) to issue multiple writes with a single system call. + They also avoid copying memory into buffers as much as + possible. The result is less CPU time spent on transferring + large files. + <LI>Static requests are served using <CODE>mmap</CODE>, which + means bytes are only copied from the disk buffer to the + network buffer directly by the kernel. The program never + copies bytes around, which reduces CPU time. (Only where + available/tested.) + <LI>When presented with a load spike, the server quickly adapts by + spawning children at faster rates. + <LI>The code which dispatches modules was optimized to avoid + repeatedly skipping over modules that don't implement certain + phases of the API. (This skipping showed up as 5% of the CPU + time on profiles of a server with the default module mix.) + <LI>Revamp of the Unix scoreboard management code so that less + time is spent counting children in various states. Previously + a scan was performed for each hit, now it is performed only + once per second. This should be noticeable on servers running + with hundreds of children and high loads. + <LI>New serialization choices improve performance on Linux, and + IRIX. + <LI><CODE><A + HREF="mod/mod_log_config.html">mod_log_config</A></CODE> can + be compile-time configured to buffer writes. + <LI>Replaced <CODE>strncpy()</CODE> with + <CODE>ap_cpystrn()</CODE>, a routine which doesn't have to + zero-fill the entire result. This has dramatic effects on + <CODE>mod_include</CODE> speed. + <LI>Additions to the internal "table" API (used for keeping lists + of key/value string pairs) provide for up to 20% performance + improvement in many situations. +</UL> + +<P>See <A HREF="misc/perf-tuning.html">the new performance +documentation</A> for more information. + +<P><HR> + +<H2><A NAME="config">Configuration Enhancements</A></H2> + +<DL> +<DT><STRONG>Unified Server Configuration Files</STRONG></DT> +<DD><EM>(Apache 1.3.4)</EM> The contents of the three + server configuration files (<SAMP>httpd.conf</SAMP>, + <SAMP>srm.conf</SAMP>, and <SAMP>access.conf</SAMP>) have + been merged into a single <SAMP>httpd.conf</SAMP> file. + The <SAMP>srm.conf</SAMP> and <SAMP>access.conf</SAMP> files + are now empty except for comments directing the Webmaster + to look in <SAMP>httpd.conf</SAMP>. In addition, the + merged <SAMP>httpd.conf</SAMP> file has been restructured + to allow directives to appear in a hopefully more + intuitive and meaningful order. +</DD> +<DT><STRONG>Continuation Lines in config files</STRONG></DT> +<DD>Directive lines in the server configuration files may now be + split onto multiple lines by using the canonical Unix continuation + mechanism, namely a '\' as the last non-blank character on the + line to indicate that the next line should be concatenated. +</DD> +<DT><STRONG>Apache Autoconf-style Interface (APACI)</STRONG> +<DD>Until Apache 1.3 there was no real out-of-the-box batch-capable + build and installation procedure for the complete Apache + package. This is now provided by a top-level + <CODE>configure</CODE> script and a corresponding top-level + <CODE>Makefile.tmpl</CODE> file. The goal is to provide a GNU + Autoconf-style frontend which is capable to both drive the old + <CODE>src/Configure</CODE> stuff in batch and additionally + installs the package with a GNU-conforming directory layout. Any + options from the old configuration scheme are available plus a lot + of new options for flexibly customizing Apache.<BR> + <STRONG>Note:</STRONG> The default installation layout has changed + for Apache 1.3.4. See the files <CODE>README.configure</CODE> and + <CODE>INSTALL</CODE> for more information. + +<DT><STRONG>APache eXtenSion (APXS) support tool</STRONG> +<DD>Now that Apache provides full support for loading modules under + runtime from dynamic shared object (DSO) files, a new support tool + <CODE>apxs</CODE> was created which provides off-source building, + installing and activating of those DSO-based modules. It + completely hides the platform-dependent DSO-build commands from + the user and provides an easy way to build modules outside the + Apache source tree. To achieve this APACI installs the Apache C + header files together with the <CODE>apxs</CODE> tool. + +<DT><A HREF="install.html#install"><STRONG>Default Apache directory + path changed to <CODE>/usr/local/apache/</CODE></STRONG></A><BR> +<DD>The default directory for the Apache ServerRoot changed from the + NCSA-compatible <CODE>/usr/local/etc/httpd/</CODE> to + <CODE>/usr/local/apache/</CODE>. This change covers only the + default setting (and the documentation); it is of course possible + to override it using the <A HREF="invoking.html"> -d + <EM>ServerRoot</EM> and -f <EM>httpd.conf</EM></A> switches when + starting apache. + +<DT><STRONG>Improved HTTP/1.1-style Virtual Hosts</STRONG> +<DD>The new <A + HREF="mod/core.html#namevirtualhost"><CODE>NameVirtualHost</CODE></A> + directive is used to list IP address:port pairs on which + HTTP/1.1-style virtual hosting occurs. This is vhosting based on + the <CODE>Host:</CODE> header from the client. Previously this + address was implicitly the same as the "main address" of the + machine, and this caused no end of problems for users, and was not + powerful enough. Please see the <A + HREF="vhosts/">Apache Virtual Host documentation</A> for + further details on configuration. + +<DT><STRONG><CODE>Include</CODE> directive</STRONG> +<DD>The <A HREF="mod/core.html#include" ><CODE>Include</CODE></A> + directive includes other config files immediately at that point in + parsing. + +<DT><STRONG>-S command line option for debugging vhost setup</STRONG> +<DD>If Apache is invoked with the <CODE>-S</CODE> command line option + it will dump out information regarding how it parsed the + <CODE>VirtualHost</CODE> sections. This is useful for folks + trying to debug their virtual host configuration. + +<DT><STRONG>Control of HTTP methods</STRONG> +<DD><A HREF="mod/core.html#limitexcept"><LimitExcept> and + </LimitExcept></A> are used to enclose a group of access control + directives which will then apply to any HTTP access method not listed in + the arguments; i.e., it is the opposite of a <Limit> section and can be + used to control both standard and nonstandard/unrecognized methods. +</DL> + +<P><HR> + +<H3><A NAME="mod">Module Enhancements</A></H3> + +<DL> +<DT><A HREF="mod/mod_negotiation.html"><STRONG>Improved mod_negotiation + </STRONG></A><BR> +<DD>The optional content negotiation (MultiViews) module has been completely + overhauled for Apache 1.3.4, incorporating the latest HTTP/1.1 + revisions and the experimental Transparent Content Negotion features + of RFC 2295 and RFC 2296. + +<DT><A HREF="mod/mod_speling.html"><STRONG>NEW - Spelling correction + module</STRONG></A><BR> +<DD>This optional module corrects frequently occurring spelling and + capitalization errors in document names requested from the server. + +<DT><A HREF="mod/mod_setenvif.html"><STRONG>NEW - Conditional setting of + environment variables</STRONG></A><BR> +<DD>The addition of + <A HREF="mod/mod_setenvif.html#SetEnvIf"> + <CODE>SetEnvIf</CODE></A> and + <A HREF="mod/mod_setenvif.html#SetEnvIfNoCase"> + <CODE>SetEnvIfNoCase</CODE></A>. These allow you to set + environment variables for server and CGI use based upon attributes + of the request. + +<DT><STRONG><A HREF="mod/mod_mime_magic.html">NEW - "Magic" +MIME-typing</A></STRONG> +<DD>The optional <CODE>mod_mime_magic</CODE> has been + added. It uses "magic numbers" and other hints from a file's + contents to figure out what the contents are. It then uses this + information to set the file's media type, if it cannot be + determined by the file's extension. + +<DT><STRONG><A HREF="mod/mod_unique_id.html">NEW - Unique Request + Identifiers</A></STRONG> +<DD><A HREF="mod/mod_unique_id.html">mod_unique_id</A> can be included + to generate a unique identifier that distinguishes a hit from + every other hit. ("Unique" has some restrictions on it.) The + identifier is available in the environment variable + <CODE>UNIQUE_ID</CODE>. + +<DT><STRONG>mod_proxy enhancements:</STRONG> +<dd> +<UL> +<LI>Easier and safer authentication for ftp proxy logins: + When no ftp user name and/or password is specified in the + URL, but the destination ftp server requires one, Apache now + returns a "[401] Authorization Required" status. This status code + usually makes the client browser pop up an "Enter user name and + password" dialog, and the request is retried with the given user + authentification. That is slightly more secure than specifying + the authentication information as part of the request URL, + where it could be logged in plaintext by older proxy servers. +<LI>The new <SAMP>AllowCONNECT</SAMP> directive allows configuration + of the port numbers to which the proxy CONNECT method may connect. + That allows proxying to https://some.server:8443/ which resulted + in an error message prior to Apache version 1.3.2. +<LI>The proxy now supports the HTTP/1.1 "Via:" header as specified in + RFC2068. The new + <A HREF="mod/mod_proxy.html#proxyvia"><CODE>ProxyVia</CODE></A> + directive allows switching "Via:" support off or on, or + suppressing outgoing "Via:" header lines altogether for privacy + reasons. +<LI>The "Max-Forwards:" TRACE header specified in HTTP/1.1 is now + supported. With it, you can trace the path of a request along a + chain of proxies (if they, too, support it). +<LI><A + HREF="mod/mod_proxy.html#noproxy"><CODE>NoProxy</CODE></A> and <A + HREF="mod/mod_proxy.html#proxydomain"><CODE>ProxyDomain</CODE></A> + directives added to proxy, useful for intranets. +<LI>New <CODE><A HREF="mod/mod_proxy.html#proxypassreverse"> + ProxyPassReverse</A></CODE> directive. It lets Apache adjust the + URL in the <TT>Location</TT> header on HTTP redirect + responses. +<LI>Easier navigation in ftp server directory trees. +</UL> + +<DT><A HREF="mod/mod_include.html#flowctrl"><STRONG>Enhanced + <CODE>mod_include</CODE> string comparisons</STRONG></A><BR> +<DD>The string-based server-side include (SSI) flow-control directives + now include comparison for less-than (<), less-than-or-equal + (<=), greater-than (>), and greater-than-or-equal (>=). + Previously comparisons could only be made for equality or + inequality. + +<DT><STRONG>ServerRoot relative auth filenames</STRONG> +<DD>Auth filenames for the various authentication modules are now + treated as relative to the ServerRoot if they are not full paths. + +<DT><A HREF="mod/mod_autoindex.html"><STRONG>Enhancements to directory + indexing:</STRONG></A> + +<DD><UL> + <LI><STRONG>Code split:</STRONG>The <CODE>mod_dir</CODE> module has + been split in two, with <A + HREF="mod/mod_dir.html">mod_dir</A> handling directory index + files, and <A HREF="mod/mod_autoindex.html">mod_autoindex</A> + creating directory listings. Thus allowing folks to remove the + indexing function from critical servers. + + <LI><STRONG>Sortable:</STRONG> Clicking on a column title will now sort + the listing in order by the values in that column. This feature can + be disabled using the <CODE>SuppressColumnSorting</CODE> <A + HREF="mod/mod_autoindex.html#indexoptions">IndexOptions</A> + keyword. + + <LI><A HREF="mod/mod_autoindex.html#indexoptions:suppresshtmlpreamble"> + <CODE><STRONG>SuppressHTMLPreamble</STRONG></CODE></A> can be used if + your README.html file includes its own HTML header. + + <LI>The <A HREF="mod/mod_autoindex.html#indexoptions"> + <CODE><STRONG>IndexOptions</STRONG></CODE></A> directive now allows + the use of incremental prefixes (+/- to add/remove the respective + keyword feature, as was already possible for the + <A HREF="mod/core.html#options">Options</A> directive) to its + keyword arguments. Multiple IndexOptions directives applying + to the same directory will now be merged. + + <LI><A HREF="mod/mod_autoindex.html#indexoptions:iconheight" + ><STRONG><CODE>IconHeight</CODE></STRONG></A> and + <A HREF="mod/mod_autoindex.html#indexoptions:iconwidth" + ><STRONG><CODE>IconWidth</CODE></STRONG></A> + let you set height and width attributes to the + <CODE><IMG></CODE> tag in directory listings. + + <LI>The new <A HREF="mod/mod_autoindex.html#indexoptions:namewidth" + ><STRONG><CODE>NameWidth</CODE></STRONG></A> keyword to the + <A HREF="mod/mod_autoindex.html#indexoptions">IndexOptions</A> + directive lets you set the number of columns for + <A HREF="mod/mod_autoindex.html#indexoptions:fancyindexing">"fancy" + directory listings</A>. If set to an '*' asterisk, the name width + will be adjusted automatically. + + <LI>The <A HREF="mod/mod_autoindex.html#fancyindexing" + ><SAMP>FancyIndexing</SAMP></A> directive now correctly has + the same impact as + <A HREF="mod/mod_autoindex.html#indexoptions:fancyindexing"><SAMP>IndexOptions FancyIndexing</SAMP></A> + without replacing the effect of any existing <SAMP>IndexOptions</SAMP> + directive. + + <LI>Starting with 1.3.15, the server will satisfy directory requests + with the cache controls ETag and LastModified, if IndexOptions + includes the <A HREF="mod/mod_autoindex.html#trackmodified" + ><SAMP>TrackModified</SAMP></A> directive. The server will not + need to generate the listing if the client determines the request + has not changed, improving performance. Due to its experimental + nature, this feature is not enabled by default. + + </UL> + +<DT><STRONG>Less Buffering of CGI Script Output</STRONG> +<DD>In previous versions of Apache, the output from CGI scripts would + be internally buffered by the server, and wouldn't be forwarded to + the client until either the buffers were full or the CGI script + completed. As of Apache 1.3, the buffer to the client is flushed + any time it contains something and the server is waiting for more + information from the script. This allows CGI script to provide + partial status reports during long processing operations. + + +<DT><STRONG><A HREF="mod/mod_alias.html">Regular Expression support for + <CODE>Alias</CODE> and <CODE>Redirect</CODE></A></STRONG> +<DD>New <A HREF="mod/mod_alias.html#aliasmatch"><CODE>AliasMatch</CODE></A>, + <A HREF="mod/mod_alias.html#scriptaliasmatch" + ><CODE>ScriptAliasMatch</CODE></A>, and + <A HREF="mod/mod_alias.html#redirectmatch"><CODE>RedirectMatch</CODE></A> + directives allow for the use of regular expression matching. + Additionally, new + <A HREF="mod/core.html#directorymatch" + ><CODE><DirectoryMatch></CODE></A>, + <A HREF="mod/core.html#locationmatch" + ><CODE><LocationMatch></CODE></A>, + and + <A HREF="mod/core.html#filesmatch"><CODE><FilesMatch></CODE></A> + sections provide a new syntax for regular expression sectioning. + +<DT><STRONG><A + HREF="mod/mod_info.html#addmoduleinfo"><CODE>AddModuleInfo</CODE></A> + directive added to <A + HREF="mod/mod_info.html">mod_info</A></STRONG> +<DD>Allows additional information to be listed along with a specified + module. + +<DT><STRONG>Absence of any <CODE>TransferLog</CODE> disables + logging</STRONG> +<DD>If no <A HREF="mod/mod_log_config.html#transferlog" + ><CODE>TransferLog</CODE></A> directive is given then no log is + written. This supports co-existence with other logging modules. + +<DT><STRONG>Ability to name logging formats</STRONG> +<DD>The <A + HREF="mod/mod_log_config.html#logformat"><CODE>LogFormat</CODE></A> + directive has been enhanced to allow you to give nicknames to + specific logging formats. You can then use these nicknames in + other <CODE>LogFormat</CODE> and <A + HREF="mod/mod_log_config.html#customlog" + ><CODE>CustomLog</CODE></A> directives, rather than having to + spell out the complete log format string each time. + +<DT><STRONG>Conditional logging</STRONG> +<DD><A HREF="mod/mod_log_config.html#customlog-conditional">mod_log_config</A> + now supports logging based upon environment variables. + mod_log_referer and mod_log_agent are now deprecated. + +<DT><STRONG>mod_cern_meta configurable per-directory</STRONG> +<DD><A HREF="mod/mod_cern_meta.html">mod_cern_meta</A> is now + configurable on a per-directory basis. + +<DT><STRONG>New map types for + <A HREF="mod/mod_rewrite.html#RewriteMap"><CODE>RewriteMap</CODE></A> + directive</STRONG> +<DD>The new map types `Randomized Plain Text' and `Internal Function' + were added to the <CODE>RewriteMap</CODE> directive of + mod_rewrite. They provide two new features: First, you now can + randomly choose a sub-value from a value which was looked-up in a + rewriting map (which is useful when choosing between backend + servers in a Reverse Proxy situation). Second, you now can + translate URL parts to fixed (upper or lower) case (which is + useful when doing mass virtual hosting by the help of + mod_rewrite). + +<DT><STRONG>CIDR and Netmask access control</STRONG> +<DD><A HREF="mod/mod_access.html">mod_access</A> directives now + support CIDR (Classless Inter-Domain Routing) style prefixes, and + netmasks for greater control over IP access lists. + +</DL> +<P><HR> + +<H3><A NAME="api">API Additions and Changes</A></H3> + +<P>For all those module writers and code hackers: + +<DL> +<DT><STRONG><CODE>child_init</CODE></STRONG> +<DD>A new phase for Apache's API is called once per "heavy-weight process," + before any requests are handled. This allows the module to set up + anything that need to be done once per processes. For example, + connections to databases. + +<DT><STRONG><CODE>child_exit</CODE></STRONG> +<DD>A new phase called once per "heavy-weight process," when it is + terminating. Note that it can't be called in some fatal cases (such + as segfaults and kill -9). The <CODE>child_init</CODE> and + <CODE>child_exit</CODE> functions are passed a pool whose lifetime is + the same as the lifetime of the child (modulo completely fatal + events in which Apache has no hope of recovering). In contrast, + the module <CODE>init</CODE> function is passed a pool whose lifetime + ends when the parent exits or restarts. + +<DT><STRONG><CODE>child_terminate</CODE></STRONG> +<DD>Used in the child to indicate the child should exit after finishing + the current request. + +<DT><STRONG><CODE>register_other_child</CODE></STRONG> +<DD>See <CODE>http_main.h</CODE>. This is used in the parent to register + a child for monitoring. The parent will report status to a supplied + callback function. This allows modules to create their own children + which are monitored along with the httpd children. + +<DT><STRONG><CODE>piped_log</CODE></STRONG> +<DD>See <CODE>http_log.h</CODE>. This API provides the common code for + implementing piped logs. In particular it implements a reliable piped + log on architectures supporting it (<EM>i.e.</EM>, Unix at the moment). + +<DT><STRONG>scoreboard format changed</STRONG> +<DD>The scoreboard format is quite different. It is considered a + "private" interface in general, so it's only mentioned here as an FYI. + +<DT><STRONG><CODE>set_last_modified</CODE> split into three</STRONG> +<DD>The old function <CODE>set_last_modified</CODE> performed multiple + jobs including the setting of the <CODE>Last-Modified</CODE> header, the + <CODE>ETag</CODE> header, and processing conditional requests (such as + IMS). These functions have been split into three functions: + <CODE>set_last_modified</CODE>, <CODE>set_etag</CODE>, and + <CODE>meets_conditions</CODE>. The field <CODE>mtime</CODE> has been + added to <CODE>request_rec</CODE> to facilitate + <CODE>meets_conditions</CODE>. + +<DT><STRONG>New error logging function: <CODE>ap_log_error</CODE></STRONG> +<DD>All old logging functions are deprecated, we are in the process of + replacing them with a single function called <CODE>ap_log_error</CODE>. + This is still a work in progress. + +<DT><STRONG><CODE>set_file_slot</CODE> for config parsing</STRONG> +<DD>The <CODE>set_file_slot</CODE> routine provides a standard routine that + prepends ServerRoot to non-absolute paths. + +<DT><STRONG><CODE>post_read_request</CODE> module API</STRONG> +<DD>This request phase occurs immediately after reading the request (headers), + and immediately after creating an internal redirect. It is most useful + for setting environment variables to affect future phases. + +<DT><STRONG><CODE>psocket</CODE>, and <CODE>popendir</CODE></STRONG> +<DD>The <CODE>psocket</CODE> and <CODE>pclosesocket</CODE> functions allow + for race-condition free socket creation with resource tracking. + Similarly <CODE>popendir</CODE> and <CODE>pclosedir</CODE> protect + directory reading. + +<DT><STRONG><CODE>is_initial_req</CODE></STRONG> +<DD>Test if the request is the initial request (<EM>i.e.</EM>, the one + coming from the client). + +<DT><STRONG><CODE>kill_only_once</CODE></STRONG> +<DD>An option to <CODE>ap_spawn_child</CODE> functions which prevents Apache + from aggressively trying to kill off the child. + +<DT><STRONG><CODE>alloc debugging code</CODE></STRONG> +<DD>Defining <CODE>ALLOC_DEBUG</CODE> provides a rudimentary memory + debugger which can be used on live servers with low impact -- + it sets all allocated and freed memory bytes to 0xa5. Defining + <CODE>ALLOC_USE_MALLOC</CODE> will cause the alloc code to use + <CODE>malloc()</CODE> and <CODE>free()</CODE> for each object. This + is far more expensive and should only be used for testing with tools + such as Electric Fence and Purify. See <CODE>main/alloc.c</CODE> + for more details. + +<DT><STRONG><CODE>ap_cpystrn</CODE></STRONG> +<DD>The new <CODE>strncpy</CODE> "lookalike", with slightly different + semantics is much faster than <CODE>strncpy</CODE> because it + doesn't have to zero-fill the entire buffer. + +<DT><STRONG><CODE>table_addn</CODE>, <CODE>table_setn</CODE>, + <CODE>table_mergen</CODE></STRONG> +<DD>These new functions do <STRONG>not</STRONG> call <CODE>pstrdup</CODE> + on their arguments. This provides for big speedups. There is + also some debugging support to ensure code uses them properly. + See <CODE>src/CHANGES</CODE> for more information. + +<DT><STRONG><CODE>construct_url</CODE></STRONG> +<DD>The function prototype for this changed from taking a + <CODE>server_rec *</CODE> to taking a <CODE>request_rec *</CODE>. + +<DT><STRONG><CODE>get_server_name</CODE>, <CODE>get_server_port</CODE></STRONG> +<DD>These are wrappers which deal with the + <A HREF="mod/core.html#usecanonicalname">UseCanonicalName</A> directive + when retrieving the server name and port for a request. + +<DT><STRONG>Change to prototype for <CODE>ap_bspawn_child</CODE> and + <CODE>ap_call_exec</CODE></STRONG> +<DD>Added a <CODE>child_info *</CODE> to <CODE>spawn</CODE> function + (as passed to <CODE>ap_bspawn_child</CODE>) and to + <CODE>ap_call_exec</CODE> to allow children to work correctly on Win32. + We also cleaned up the nomenclature a bit, replacing + <CODE>spawn_child_err</CODE> with simply + <CODE>ap_spawn_child</CODE> and <CODE>spawn_child_err_buff</CODE> + with simply <CODE>ap_bspawn_child</CODE>. + +<DT><STRONG><CODE>ap_add_version_component()</CODE></STRONG> +<DD>This API function allows for modules to add their own additional + server tokens which are printed on the on the <CODE>Server:</CODE> + header line. Previous 1.3beta versions had used a + <CODE>SERVER_SUBVERSION</CODE> compile-time <CODE>#define</CODE> + to perform this function. Whether the tokens are actually displayed + is controlled by the new <CODE>ServerTokens</CODE> directive. + +</DL> + +<P><HR> + +<H3><A NAME="misc">Miscellaneous Enhancements</A></H3> + +<DL> +<DT><STRONG><A HREF="ebcdic.html">Port to EBCDIC mainframe machine + running BS2000/OSD</A></STRONG> +<DD>As a premiere, this version of Apache comes with a beta version of + a port to a mainframe machine which uses the EBCDIC character set + as its native codeset (It is the SIEMENS family of mainframes + running the BS2000/OSD operating system on a IBM/390 + compatible processor. This mainframe OS nowadays features a + SVR4-like POSIX subsystem). + +<DT><STRONG><A HREF="mod/core.html#accessfilename"><CODE>AccessFileName</CODE> + Enhancement</A></STRONG> +<DD>The <CODE>AccessFileName</CODE> directive can now take more than + one filename. This lets sites serving pages from network file + systems and more than one Apache web server, configure access + based on the server through which shared pages are being served. + +<DT><STRONG><CODE>HostNameLookups</CODE> now defaults to "Off"</STRONG> +<DD>The <A + HREF="mod/core.html#hostnamelookups"><CODE>HostNameLookups</CODE></A> + directive now defaults to "Off". This means that, unless explicitly + turned on, the server will not resolve IP addresses into names. This + was done to spare the Internet from unnecessary DNS traffic. + +<DT><STRONG>Double-Reverse DNS enforced</STRONG> +<DD>The <A + HREF="mod/core.html#hostnamelookups"><CODE>HostnameLookups</CODE></A> + directive now supports double-reverse DNS. (Known as + <EM>PARANOID</EM> in the terminology of tcp_wrappers.) An IP + address passes a double-reverse DNS test if the forward map of the + reverse map includes the original IP. Regardless of the + HostnameLookups setting, <A + HREF="mod/mod_access.html">mod_access</A> access lists using DNS + names <STRONG>require</STRONG> all names to pass a double-reverse + DNS test. (Prior versions of Apache required a compile-time + switch to enable double-reverse DNS.) + +<DT><STRONG>LogLevel and syslog support</STRONG> +<DD>Apache now has <A HREF="mod/core.html#loglevel">configurable error + logging levels</A> and supports <A + HREF="mod/core.html#errorlog">error logging via syslogd(8)</A>. + +<DT><STRONG>Detaching from stdin/out/err</STRONG> +<DD>On boot Apache will now detach from stdin, stdout, and stderr. It + does not detach from stderr until it has successfully read the + config files. So you will see errors in the config file. This + should make it easier to start Apache via rsh or crontab. + +<DT><A NAME="y2k"><STRONG>Year-2000 Improvements</STRONG></A> +<DD>The default <CODE>timefmt</CODE> string used by <A + HREF="mod/mod_include.html"><CODE>mod_include</CODE></A> has been + modified to display the year using four digits rather than the + two-digit format used previously. The <A + HREF="mod/mod_autoindex.html"><CODE>mod_autoindex</CODE></A> + module has also been modified to display years using four digits + in FancyIndexed directory listings. + +<DT><STRONG>Common routines Moving to a Separate Library</STRONG> +<DD>There are a number of functions and routines that have been + developed for the Apache project that supplement or supersede + library routines that differ from one operating system to another. + While most of these are used only by the Apache server itself, + some are referenced by supporting applications (such as + <CODE>htdigest</CODE>), and these other applications would fail to + build because the routines were built only into the server. These + routines are now being migrated to a separate subdirectory and + library so they can be used by other applications than just the + server. See the <CODE>src/ap/</CODE> subdirectory. + +<DT><STRONG>New <CODE><A HREF="mod/core.html#serversignature"> + ServerSignature</A></CODE> directive</STRONG> +<DD>This directive optionally adds a line containing the server + version and virtual host name to server-generated pages (error + documents, ftp directory listings, mod_info output <EM>etc.</EM>). This + makes it easier for users to tell which server produced the error + message, especially in a proxy chain (often found in intranet + environments). + +<DT><STRONG>New <CODE><A HREF="mod/core.html#usecanonicalname"> + UseCanonicalName</A></CODE> directive</STRONG> +<DD>This directive gives control over how Apache creates + self-referential URLs. Previously Apache would always use the <A + HREF="mod/core.html#servername"> ServerName</A> and <A + HREF="mod/core.html#port">Port</A> directives to construct a + "canonical" name for the server. With <CODE>UseCanonicalName + off</CODE> Apache will use the hostname and port supplied by the + client, if available. + +<DT><STRONG><CODE>SERVER_VERSION</CODE> definition abstracted, and server + build date added</STRONG> +<DD>In earlier versions, the Apache server version was available to + modules through the <CODE>#define</CODE>d value for + <CODE>SERVER_VERSION</CODE>. In order to keep this value + consistent when modules and the core server are compiled at + different times, this information is now available through the + core API routine <CODE>ap_get_server_version()</CODE>. The use of + the <CODE>SERVER_VERSION</CODE> symbol is deprecated. Also, + <CODE>ap_get_server_built()</CODE> returns a string representing + the time the core server was linked. + +<DT><A HREF="mod/core.html#servertokens"><STRONG>Including the operating + system in the server identity</STRONG></A><BR> +<DD>A new directive, <CODE>ServerTokens</CODE>, allows the Webmaster + to change the value of the <CODE>Server</CODE> response header + field which is sent back to clients. The <CODE>ServerTokens</CODE> + directive controls whether the server will include a non-specific + note in the server identity about the type of operating system on + which the server is running as well as included module information. + As of Apache 1.3, this additional information is included by default. + +<br><br> + +<DT><STRONG>Support for Netscape style SHA1 encrypted passwords</STRONG><BR> +<DD>To facilitate migration or integration of BasicAuth password + schemes where the password is encrypted using SHA1 (as opposed + to Apache's built in MD5 and/or the OS specific crypt(3) function + ) passwords prefixed with with <CODE>{SHA1}</CODE> are taken + as Base64 encoded SHA1 passwords. More information and + some utilities to convert Netscape ldap/ldif entries can be + found in support/SHA1. +</DL> + + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> + diff --git a/usr.sbin/httpd/htdocs/manual/new_features_1_3.html.html b/usr.sbin/httpd/htdocs/manual/new_features_1_3.html.html new file mode 100644 index 00000000000..3c47cac81df --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/new_features_1_3.html.html @@ -0,0 +1,708 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML><HEAD> +<TITLE>New features with Apache 1.3</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" + VLINK="#000080" ALINK="#FF0000"> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Overview of New Features in Apache 1.3</H1> + +<P>New features with this release, as extensions of the Apache +functionality. Because the core code has changed so +significantly, there are certain liberties that earlier versions of +Apache (and the NCSA daemon) took that recent Apache versions are +pickier about - please check the +<A HREF="misc/compat_notes.html">compatibility notes</A> if you have any +problems.</P> + +<P>If you're upgrading from Apache 1.2, you may wish to read +the <A HREF="upgrading_to_1_3.html">upgrade notes</A>. + +<P>Enhancements: <A HREF="#core">Core</A> | +<A HREF="#performance">Performance</A> | +<A HREF="#config">Configuration</A> | +<A HREF="#mod">Modules</A> | +<A HREF="#api">API</A> | +<A HREF="#misc">Misc</A> + +<P><HR> + +<H2><A NAME="core">Core Enhancements:</A></H2> + +<DL> +<DT><STRONG><A HREF="dso.html">Dynamic Shared Object (DSO) support</A></STRONG> +<DD>Apache modules may now be loaded at runtime; this means that + modules can be loaded into the server process space only when necessary, + thus overall memory usage by Apache will be significantly reduced. DSO + currently is supported on FreeBSD, OpenBSD, NetBSD, Linux, Solaris, SunOS, + Digital UNIX, IRIX, HP/UX, UnixWare, NetWare, AIX, ReliantUnix and generic + SVR4 platforms. + +<DT><STRONG><A HREF="windows.html">Support for Windows NT/95</A></STRONG> +<DD>Apache now supports the Windows NT and Windows 2000 operating systems. + While Apache may run on Windows 95, 98, or ME, these consumer products + are never recommended for production environments, and their use + remains experimental. All versions of Apache running on Windows prior + to 1.3.15 should be considered beta quality releases. + +<DT><STRONG><A HREF="netware.html">Support for NetWare 5.x</A></STRONG> +<DD>Apache now experimentally supports the NetWare 5.x operating systems. + +<DT><STRONG><A HREF="sourcereorg.html">Re-organized + Sources</A></STRONG> +<DD>The source files for Apache have been re-organized. The main + difference for Apache users is that the "Module" lines in + <CODE>Configuration</CODE> have been replaced with "AddModule" + with a slightly different syntax. For module authors there are + some changes designed to make it easier for users to add their + module. + +<DT><STRONG>Reliable Piped Logs</STRONG> +<DD>On almost all Unix architectures Apache now implements "reliable" + piped logs in <A + HREF="mod/mod_log_config.html">mod_log_config</A>. Where reliable + means that if the logging child dies for whatever reason, Apache + will recover and respawn it without having to restart the entire + server. Furthermore if the logging child becomes "stuck" and + isn't reading its pipe frequently enough Apache will also restart + it. This opens up more opportunities for log rotation, hit + filtering, real-time splitting of multiple vhosts into separate + logs, and asynchronous DNS resolving on the fly. +</DL> + +<P><HR> + +<H2><A NAME="performance">Performance Improvements</A></H2> + +<UL> + <LI>IP-based virtual hosts are looked up via hash table. + <LI><Directory> parsing speedups. + <LI>The critical path for static requests has fewer system calls. + This generally helps all requests. (45 syscalls for a static + request in 1.2 versus 22 in 1.3 in a well tuned + configuration). + <LI><A HREF="mod/mod_proxy.html#proxyreceivebuffersize"> + <CODE>ProxyReceiveBufferSize</CODE></A> directive gives + <CODE>mod_proxy</CODE>'s outgoing connections larger network + buffers, for increased throughput. + <LI>The low level I/O routines use <CODE>writev</CODE> (where + available) to issue multiple writes with a single system call. + They also avoid copying memory into buffers as much as + possible. The result is less CPU time spent on transferring + large files. + <LI>Static requests are served using <CODE>mmap</CODE>, which + means bytes are only copied from the disk buffer to the + network buffer directly by the kernel. The program never + copies bytes around, which reduces CPU time. (Only where + available/tested.) + <LI>When presented with a load spike, the server quickly adapts by + spawning children at faster rates. + <LI>The code which dispatches modules was optimized to avoid + repeatedly skipping over modules that don't implement certain + phases of the API. (This skipping showed up as 5% of the CPU + time on profiles of a server with the default module mix.) + <LI>Revamp of the Unix scoreboard management code so that less + time is spent counting children in various states. Previously + a scan was performed for each hit, now it is performed only + once per second. This should be noticeable on servers running + with hundreds of children and high loads. + <LI>New serialization choices improve performance on Linux, and + IRIX. + <LI><CODE><A + HREF="mod/mod_log_config.html">mod_log_config</A></CODE> can + be compile-time configured to buffer writes. + <LI>Replaced <CODE>strncpy()</CODE> with + <CODE>ap_cpystrn()</CODE>, a routine which doesn't have to + zero-fill the entire result. This has dramatic effects on + <CODE>mod_include</CODE> speed. + <LI>Additions to the internal "table" API (used for keeping lists + of key/value string pairs) provide for up to 20% performance + improvement in many situations. +</UL> + +<P>See <A HREF="misc/perf-tuning.html">the new performance +documentation</A> for more information. + +<P><HR> + +<H2><A NAME="config">Configuration Enhancements</A></H2> + +<DL> +<DT><STRONG>Unified Server Configuration Files</STRONG></DT> +<DD><EM>(Apache 1.3.4)</EM> The contents of the three + server configuration files (<SAMP>httpd.conf</SAMP>, + <SAMP>srm.conf</SAMP>, and <SAMP>access.conf</SAMP>) have + been merged into a single <SAMP>httpd.conf</SAMP> file. + The <SAMP>srm.conf</SAMP> and <SAMP>access.conf</SAMP> files + are now empty except for comments directing the Webmaster + to look in <SAMP>httpd.conf</SAMP>. In addition, the + merged <SAMP>httpd.conf</SAMP> file has been restructured + to allow directives to appear in a hopefully more + intuitive and meaningful order. +</DD> +<DT><STRONG>Continuation Lines in config files</STRONG></DT> +<DD>Directive lines in the server configuration files may now be + split onto multiple lines by using the canonical Unix continuation + mechanism, namely a '\' as the last non-blank character on the + line to indicate that the next line should be concatenated. +</DD> +<DT><STRONG>Apache Autoconf-style Interface (APACI)</STRONG> +<DD>Until Apache 1.3 there was no real out-of-the-box batch-capable + build and installation procedure for the complete Apache + package. This is now provided by a top-level + <CODE>configure</CODE> script and a corresponding top-level + <CODE>Makefile.tmpl</CODE> file. The goal is to provide a GNU + Autoconf-style frontend which is capable to both drive the old + <CODE>src/Configure</CODE> stuff in batch and additionally + installs the package with a GNU-conforming directory layout. Any + options from the old configuration scheme are available plus a lot + of new options for flexibly customizing Apache.<BR> + <STRONG>Note:</STRONG> The default installation layout has changed + for Apache 1.3.4. See the files <CODE>README.configure</CODE> and + <CODE>INSTALL</CODE> for more information. + +<DT><STRONG>APache eXtenSion (APXS) support tool</STRONG> +<DD>Now that Apache provides full support for loading modules under + runtime from dynamic shared object (DSO) files, a new support tool + <CODE>apxs</CODE> was created which provides off-source building, + installing and activating of those DSO-based modules. It + completely hides the platform-dependent DSO-build commands from + the user and provides an easy way to build modules outside the + Apache source tree. To achieve this APACI installs the Apache C + header files together with the <CODE>apxs</CODE> tool. + +<DT><A HREF="install.html#install"><STRONG>Default Apache directory + path changed to <CODE>/usr/local/apache/</CODE></STRONG></A><BR> +<DD>The default directory for the Apache ServerRoot changed from the + NCSA-compatible <CODE>/usr/local/etc/httpd/</CODE> to + <CODE>/usr/local/apache/</CODE>. This change covers only the + default setting (and the documentation); it is of course possible + to override it using the <A HREF="invoking.html"> -d + <EM>ServerRoot</EM> and -f <EM>httpd.conf</EM></A> switches when + starting apache. + +<DT><STRONG>Improved HTTP/1.1-style Virtual Hosts</STRONG> +<DD>The new <A + HREF="mod/core.html#namevirtualhost"><CODE>NameVirtualHost</CODE></A> + directive is used to list IP address:port pairs on which + HTTP/1.1-style virtual hosting occurs. This is vhosting based on + the <CODE>Host:</CODE> header from the client. Previously this + address was implicitly the same as the "main address" of the + machine, and this caused no end of problems for users, and was not + powerful enough. Please see the <A + HREF="vhosts/">Apache Virtual Host documentation</A> for + further details on configuration. + +<DT><STRONG><CODE>Include</CODE> directive</STRONG> +<DD>The <A HREF="mod/core.html#include" ><CODE>Include</CODE></A> + directive includes other config files immediately at that point in + parsing. + +<DT><STRONG>-S command line option for debugging vhost setup</STRONG> +<DD>If Apache is invoked with the <CODE>-S</CODE> command line option + it will dump out information regarding how it parsed the + <CODE>VirtualHost</CODE> sections. This is useful for folks + trying to debug their virtual host configuration. + +<DT><STRONG>Control of HTTP methods</STRONG> +<DD><A HREF="mod/core.html#limitexcept"><LimitExcept> and + </LimitExcept></A> are used to enclose a group of access control + directives which will then apply to any HTTP access method not listed in + the arguments; i.e., it is the opposite of a <Limit> section and can be + used to control both standard and nonstandard/unrecognized methods. +</DL> + +<P><HR> + +<H3><A NAME="mod">Module Enhancements</A></H3> + +<DL> +<DT><A HREF="mod/mod_negotiation.html"><STRONG>Improved mod_negotiation + </STRONG></A><BR> +<DD>The optional content negotiation (MultiViews) module has been completely + overhauled for Apache 1.3.4, incorporating the latest HTTP/1.1 + revisions and the experimental Transparent Content Negotion features + of RFC 2295 and RFC 2296. + +<DT><A HREF="mod/mod_speling.html"><STRONG>NEW - Spelling correction + module</STRONG></A><BR> +<DD>This optional module corrects frequently occurring spelling and + capitalization errors in document names requested from the server. + +<DT><A HREF="mod/mod_setenvif.html"><STRONG>NEW - Conditional setting of + environment variables</STRONG></A><BR> +<DD>The addition of + <A HREF="mod/mod_setenvif.html#SetEnvIf"> + <CODE>SetEnvIf</CODE></A> and + <A HREF="mod/mod_setenvif.html#SetEnvIfNoCase"> + <CODE>SetEnvIfNoCase</CODE></A>. These allow you to set + environment variables for server and CGI use based upon attributes + of the request. + +<DT><STRONG><A HREF="mod/mod_mime_magic.html">NEW - "Magic" +MIME-typing</A></STRONG> +<DD>The optional <CODE>mod_mime_magic</CODE> has been + added. It uses "magic numbers" and other hints from a file's + contents to figure out what the contents are. It then uses this + information to set the file's media type, if it cannot be + determined by the file's extension. + +<DT><STRONG><A HREF="mod/mod_unique_id.html">NEW - Unique Request + Identifiers</A></STRONG> +<DD><A HREF="mod/mod_unique_id.html">mod_unique_id</A> can be included + to generate a unique identifier that distinguishes a hit from + every other hit. ("Unique" has some restrictions on it.) The + identifier is available in the environment variable + <CODE>UNIQUE_ID</CODE>. + +<DT><STRONG>mod_proxy enhancements:</STRONG> +<dd> +<UL> +<LI>Easier and safer authentication for ftp proxy logins: + When no ftp user name and/or password is specified in the + URL, but the destination ftp server requires one, Apache now + returns a "[401] Authorization Required" status. This status code + usually makes the client browser pop up an "Enter user name and + password" dialog, and the request is retried with the given user + authentification. That is slightly more secure than specifying + the authentication information as part of the request URL, + where it could be logged in plaintext by older proxy servers. +<LI>The new <SAMP>AllowCONNECT</SAMP> directive allows configuration + of the port numbers to which the proxy CONNECT method may connect. + That allows proxying to https://some.server:8443/ which resulted + in an error message prior to Apache version 1.3.2. +<LI>The proxy now supports the HTTP/1.1 "Via:" header as specified in + RFC2068. The new + <A HREF="mod/mod_proxy.html#proxyvia"><CODE>ProxyVia</CODE></A> + directive allows switching "Via:" support off or on, or + suppressing outgoing "Via:" header lines altogether for privacy + reasons. +<LI>The "Max-Forwards:" TRACE header specified in HTTP/1.1 is now + supported. With it, you can trace the path of a request along a + chain of proxies (if they, too, support it). +<LI><A + HREF="mod/mod_proxy.html#noproxy"><CODE>NoProxy</CODE></A> and <A + HREF="mod/mod_proxy.html#proxydomain"><CODE>ProxyDomain</CODE></A> + directives added to proxy, useful for intranets. +<LI>New <CODE><A HREF="mod/mod_proxy.html#proxypassreverse"> + ProxyPassReverse</A></CODE> directive. It lets Apache adjust the + URL in the <TT>Location</TT> header on HTTP redirect + responses. +<LI>Easier navigation in ftp server directory trees. +</UL> + +<DT><A HREF="mod/mod_include.html#flowctrl"><STRONG>Enhanced + <CODE>mod_include</CODE> string comparisons</STRONG></A><BR> +<DD>The string-based server-side include (SSI) flow-control directives + now include comparison for less-than (<), less-than-or-equal + (<=), greater-than (>), and greater-than-or-equal (>=). + Previously comparisons could only be made for equality or + inequality. + +<DT><STRONG>ServerRoot relative auth filenames</STRONG> +<DD>Auth filenames for the various authentication modules are now + treated as relative to the ServerRoot if they are not full paths. + +<DT><A HREF="mod/mod_autoindex.html"><STRONG>Enhancements to directory + indexing:</STRONG></A> + +<DD><UL> + <LI><STRONG>Code split:</STRONG>The <CODE>mod_dir</CODE> module has + been split in two, with <A + HREF="mod/mod_dir.html">mod_dir</A> handling directory index + files, and <A HREF="mod/mod_autoindex.html">mod_autoindex</A> + creating directory listings. Thus allowing folks to remove the + indexing function from critical servers. + + <LI><STRONG>Sortable:</STRONG> Clicking on a column title will now sort + the listing in order by the values in that column. This feature can + be disabled using the <CODE>SuppressColumnSorting</CODE> <A + HREF="mod/mod_autoindex.html#indexoptions">IndexOptions</A> + keyword. + + <LI><A HREF="mod/mod_autoindex.html#indexoptions:suppresshtmlpreamble"> + <CODE><STRONG>SuppressHTMLPreamble</STRONG></CODE></A> can be used if + your README.html file includes its own HTML header. + + <LI>The <A HREF="mod/mod_autoindex.html#indexoptions"> + <CODE><STRONG>IndexOptions</STRONG></CODE></A> directive now allows + the use of incremental prefixes (+/- to add/remove the respective + keyword feature, as was already possible for the + <A HREF="mod/core.html#options">Options</A> directive) to its + keyword arguments. Multiple IndexOptions directives applying + to the same directory will now be merged. + + <LI><A HREF="mod/mod_autoindex.html#indexoptions:iconheight" + ><STRONG><CODE>IconHeight</CODE></STRONG></A> and + <A HREF="mod/mod_autoindex.html#indexoptions:iconwidth" + ><STRONG><CODE>IconWidth</CODE></STRONG></A> + let you set height and width attributes to the + <CODE><IMG></CODE> tag in directory listings. + + <LI>The new <A HREF="mod/mod_autoindex.html#indexoptions:namewidth" + ><STRONG><CODE>NameWidth</CODE></STRONG></A> keyword to the + <A HREF="mod/mod_autoindex.html#indexoptions">IndexOptions</A> + directive lets you set the number of columns for + <A HREF="mod/mod_autoindex.html#indexoptions:fancyindexing">"fancy" + directory listings</A>. If set to an '*' asterisk, the name width + will be adjusted automatically. + + <LI>The <A HREF="mod/mod_autoindex.html#fancyindexing" + ><SAMP>FancyIndexing</SAMP></A> directive now correctly has + the same impact as + <A HREF="mod/mod_autoindex.html#indexoptions:fancyindexing"><SAMP>IndexOptions FancyIndexing</SAMP></A> + without replacing the effect of any existing <SAMP>IndexOptions</SAMP> + directive. + + <LI>Starting with 1.3.15, the server will satisfy directory requests + with the cache controls ETag and LastModified, if IndexOptions + includes the <A HREF="mod/mod_autoindex.html#trackmodified" + ><SAMP>TrackModified</SAMP></A> directive. The server will not + need to generate the listing if the client determines the request + has not changed, improving performance. Due to its experimental + nature, this feature is not enabled by default. + + </UL> + +<DT><STRONG>Less Buffering of CGI Script Output</STRONG> +<DD>In previous versions of Apache, the output from CGI scripts would + be internally buffered by the server, and wouldn't be forwarded to + the client until either the buffers were full or the CGI script + completed. As of Apache 1.3, the buffer to the client is flushed + any time it contains something and the server is waiting for more + information from the script. This allows CGI script to provide + partial status reports during long processing operations. + + +<DT><STRONG><A HREF="mod/mod_alias.html">Regular Expression support for + <CODE>Alias</CODE> and <CODE>Redirect</CODE></A></STRONG> +<DD>New <A HREF="mod/mod_alias.html#aliasmatch"><CODE>AliasMatch</CODE></A>, + <A HREF="mod/mod_alias.html#scriptaliasmatch" + ><CODE>ScriptAliasMatch</CODE></A>, and + <A HREF="mod/mod_alias.html#redirectmatch"><CODE>RedirectMatch</CODE></A> + directives allow for the use of regular expression matching. + Additionally, new + <A HREF="mod/core.html#directorymatch" + ><CODE><DirectoryMatch></CODE></A>, + <A HREF="mod/core.html#locationmatch" + ><CODE><LocationMatch></CODE></A>, + and + <A HREF="mod/core.html#filesmatch"><CODE><FilesMatch></CODE></A> + sections provide a new syntax for regular expression sectioning. + +<DT><STRONG><A + HREF="mod/mod_info.html#addmoduleinfo"><CODE>AddModuleInfo</CODE></A> + directive added to <A + HREF="mod/mod_info.html">mod_info</A></STRONG> +<DD>Allows additional information to be listed along with a specified + module. + +<DT><STRONG>Absence of any <CODE>TransferLog</CODE> disables + logging</STRONG> +<DD>If no <A HREF="mod/mod_log_config.html#transferlog" + ><CODE>TransferLog</CODE></A> directive is given then no log is + written. This supports co-existence with other logging modules. + +<DT><STRONG>Ability to name logging formats</STRONG> +<DD>The <A + HREF="mod/mod_log_config.html#logformat"><CODE>LogFormat</CODE></A> + directive has been enhanced to allow you to give nicknames to + specific logging formats. You can then use these nicknames in + other <CODE>LogFormat</CODE> and <A + HREF="mod/mod_log_config.html#customlog" + ><CODE>CustomLog</CODE></A> directives, rather than having to + spell out the complete log format string each time. + +<DT><STRONG>Conditional logging</STRONG> +<DD><A HREF="mod/mod_log_config.html#customlog-conditional">mod_log_config</A> + now supports logging based upon environment variables. + mod_log_referer and mod_log_agent are now deprecated. + +<DT><STRONG>mod_cern_meta configurable per-directory</STRONG> +<DD><A HREF="mod/mod_cern_meta.html">mod_cern_meta</A> is now + configurable on a per-directory basis. + +<DT><STRONG>New map types for + <A HREF="mod/mod_rewrite.html#RewriteMap"><CODE>RewriteMap</CODE></A> + directive</STRONG> +<DD>The new map types `Randomized Plain Text' and `Internal Function' + were added to the <CODE>RewriteMap</CODE> directive of + mod_rewrite. They provide two new features: First, you now can + randomly choose a sub-value from a value which was looked-up in a + rewriting map (which is useful when choosing between backend + servers in a Reverse Proxy situation). Second, you now can + translate URL parts to fixed (upper or lower) case (which is + useful when doing mass virtual hosting by the help of + mod_rewrite). + +<DT><STRONG>CIDR and Netmask access control</STRONG> +<DD><A HREF="mod/mod_access.html">mod_access</A> directives now + support CIDR (Classless Inter-Domain Routing) style prefixes, and + netmasks for greater control over IP access lists. + +</DL> +<P><HR> + +<H3><A NAME="api">API Additions and Changes</A></H3> + +<P>For all those module writers and code hackers: + +<DL> +<DT><STRONG><CODE>child_init</CODE></STRONG> +<DD>A new phase for Apache's API is called once per "heavy-weight process," + before any requests are handled. This allows the module to set up + anything that need to be done once per processes. For example, + connections to databases. + +<DT><STRONG><CODE>child_exit</CODE></STRONG> +<DD>A new phase called once per "heavy-weight process," when it is + terminating. Note that it can't be called in some fatal cases (such + as segfaults and kill -9). The <CODE>child_init</CODE> and + <CODE>child_exit</CODE> functions are passed a pool whose lifetime is + the same as the lifetime of the child (modulo completely fatal + events in which Apache has no hope of recovering). In contrast, + the module <CODE>init</CODE> function is passed a pool whose lifetime + ends when the parent exits or restarts. + +<DT><STRONG><CODE>child_terminate</CODE></STRONG> +<DD>Used in the child to indicate the child should exit after finishing + the current request. + +<DT><STRONG><CODE>register_other_child</CODE></STRONG> +<DD>See <CODE>http_main.h</CODE>. This is used in the parent to register + a child for monitoring. The parent will report status to a supplied + callback function. This allows modules to create their own children + which are monitored along with the httpd children. + +<DT><STRONG><CODE>piped_log</CODE></STRONG> +<DD>See <CODE>http_log.h</CODE>. This API provides the common code for + implementing piped logs. In particular it implements a reliable piped + log on architectures supporting it (<EM>i.e.</EM>, Unix at the moment). + +<DT><STRONG>scoreboard format changed</STRONG> +<DD>The scoreboard format is quite different. It is considered a + "private" interface in general, so it's only mentioned here as an FYI. + +<DT><STRONG><CODE>set_last_modified</CODE> split into three</STRONG> +<DD>The old function <CODE>set_last_modified</CODE> performed multiple + jobs including the setting of the <CODE>Last-Modified</CODE> header, the + <CODE>ETag</CODE> header, and processing conditional requests (such as + IMS). These functions have been split into three functions: + <CODE>set_last_modified</CODE>, <CODE>set_etag</CODE>, and + <CODE>meets_conditions</CODE>. The field <CODE>mtime</CODE> has been + added to <CODE>request_rec</CODE> to facilitate + <CODE>meets_conditions</CODE>. + +<DT><STRONG>New error logging function: <CODE>ap_log_error</CODE></STRONG> +<DD>All old logging functions are deprecated, we are in the process of + replacing them with a single function called <CODE>ap_log_error</CODE>. + This is still a work in progress. + +<DT><STRONG><CODE>set_file_slot</CODE> for config parsing</STRONG> +<DD>The <CODE>set_file_slot</CODE> routine provides a standard routine that + prepends ServerRoot to non-absolute paths. + +<DT><STRONG><CODE>post_read_request</CODE> module API</STRONG> +<DD>This request phase occurs immediately after reading the request (headers), + and immediately after creating an internal redirect. It is most useful + for setting environment variables to affect future phases. + +<DT><STRONG><CODE>psocket</CODE>, and <CODE>popendir</CODE></STRONG> +<DD>The <CODE>psocket</CODE> and <CODE>pclosesocket</CODE> functions allow + for race-condition free socket creation with resource tracking. + Similarly <CODE>popendir</CODE> and <CODE>pclosedir</CODE> protect + directory reading. + +<DT><STRONG><CODE>is_initial_req</CODE></STRONG> +<DD>Test if the request is the initial request (<EM>i.e.</EM>, the one + coming from the client). + +<DT><STRONG><CODE>kill_only_once</CODE></STRONG> +<DD>An option to <CODE>ap_spawn_child</CODE> functions which prevents Apache + from aggressively trying to kill off the child. + +<DT><STRONG><CODE>alloc debugging code</CODE></STRONG> +<DD>Defining <CODE>ALLOC_DEBUG</CODE> provides a rudimentary memory + debugger which can be used on live servers with low impact -- + it sets all allocated and freed memory bytes to 0xa5. Defining + <CODE>ALLOC_USE_MALLOC</CODE> will cause the alloc code to use + <CODE>malloc()</CODE> and <CODE>free()</CODE> for each object. This + is far more expensive and should only be used for testing with tools + such as Electric Fence and Purify. See <CODE>main/alloc.c</CODE> + for more details. + +<DT><STRONG><CODE>ap_cpystrn</CODE></STRONG> +<DD>The new <CODE>strncpy</CODE> "lookalike", with slightly different + semantics is much faster than <CODE>strncpy</CODE> because it + doesn't have to zero-fill the entire buffer. + +<DT><STRONG><CODE>table_addn</CODE>, <CODE>table_setn</CODE>, + <CODE>table_mergen</CODE></STRONG> +<DD>These new functions do <STRONG>not</STRONG> call <CODE>pstrdup</CODE> + on their arguments. This provides for big speedups. There is + also some debugging support to ensure code uses them properly. + See <CODE>src/CHANGES</CODE> for more information. + +<DT><STRONG><CODE>construct_url</CODE></STRONG> +<DD>The function prototype for this changed from taking a + <CODE>server_rec *</CODE> to taking a <CODE>request_rec *</CODE>. + +<DT><STRONG><CODE>get_server_name</CODE>, <CODE>get_server_port</CODE></STRONG> +<DD>These are wrappers which deal with the + <A HREF="mod/core.html#usecanonicalname">UseCanonicalName</A> directive + when retrieving the server name and port for a request. + +<DT><STRONG>Change to prototype for <CODE>ap_bspawn_child</CODE> and + <CODE>ap_call_exec</CODE></STRONG> +<DD>Added a <CODE>child_info *</CODE> to <CODE>spawn</CODE> function + (as passed to <CODE>ap_bspawn_child</CODE>) and to + <CODE>ap_call_exec</CODE> to allow children to work correctly on Win32. + We also cleaned up the nomenclature a bit, replacing + <CODE>spawn_child_err</CODE> with simply + <CODE>ap_spawn_child</CODE> and <CODE>spawn_child_err_buff</CODE> + with simply <CODE>ap_bspawn_child</CODE>. + +<DT><STRONG><CODE>ap_add_version_component()</CODE></STRONG> +<DD>This API function allows for modules to add their own additional + server tokens which are printed on the on the <CODE>Server:</CODE> + header line. Previous 1.3beta versions had used a + <CODE>SERVER_SUBVERSION</CODE> compile-time <CODE>#define</CODE> + to perform this function. Whether the tokens are actually displayed + is controlled by the new <CODE>ServerTokens</CODE> directive. + +</DL> + +<P><HR> + +<H3><A NAME="misc">Miscellaneous Enhancements</A></H3> + +<DL> +<DT><STRONG><A HREF="ebcdic.html">Port to EBCDIC mainframe machine + running BS2000/OSD</A></STRONG> +<DD>As a premiere, this version of Apache comes with a beta version of + a port to a mainframe machine which uses the EBCDIC character set + as its native codeset (It is the SIEMENS family of mainframes + running the BS2000/OSD operating system on a IBM/390 + compatible processor. This mainframe OS nowadays features a + SVR4-like POSIX subsystem). + +<DT><STRONG><A HREF="mod/core.html#accessfilename"><CODE>AccessFileName</CODE> + Enhancement</A></STRONG> +<DD>The <CODE>AccessFileName</CODE> directive can now take more than + one filename. This lets sites serving pages from network file + systems and more than one Apache web server, configure access + based on the server through which shared pages are being served. + +<DT><STRONG><CODE>HostNameLookups</CODE> now defaults to "Off"</STRONG> +<DD>The <A + HREF="mod/core.html#hostnamelookups"><CODE>HostNameLookups</CODE></A> + directive now defaults to "Off". This means that, unless explicitly + turned on, the server will not resolve IP addresses into names. This + was done to spare the Internet from unnecessary DNS traffic. + +<DT><STRONG>Double-Reverse DNS enforced</STRONG> +<DD>The <A + HREF="mod/core.html#hostnamelookups"><CODE>HostnameLookups</CODE></A> + directive now supports double-reverse DNS. (Known as + <EM>PARANOID</EM> in the terminology of tcp_wrappers.) An IP + address passes a double-reverse DNS test if the forward map of the + reverse map includes the original IP. Regardless of the + HostnameLookups setting, <A + HREF="mod/mod_access.html">mod_access</A> access lists using DNS + names <STRONG>require</STRONG> all names to pass a double-reverse + DNS test. (Prior versions of Apache required a compile-time + switch to enable double-reverse DNS.) + +<DT><STRONG>LogLevel and syslog support</STRONG> +<DD>Apache now has <A HREF="mod/core.html#loglevel">configurable error + logging levels</A> and supports <A + HREF="mod/core.html#errorlog">error logging via syslogd(8)</A>. + +<DT><STRONG>Detaching from stdin/out/err</STRONG> +<DD>On boot Apache will now detach from stdin, stdout, and stderr. It + does not detach from stderr until it has successfully read the + config files. So you will see errors in the config file. This + should make it easier to start Apache via rsh or crontab. + +<DT><A NAME="y2k"><STRONG>Year-2000 Improvements</STRONG></A> +<DD>The default <CODE>timefmt</CODE> string used by <A + HREF="mod/mod_include.html"><CODE>mod_include</CODE></A> has been + modified to display the year using four digits rather than the + two-digit format used previously. The <A + HREF="mod/mod_autoindex.html"><CODE>mod_autoindex</CODE></A> + module has also been modified to display years using four digits + in FancyIndexed directory listings. + +<DT><STRONG>Common routines Moving to a Separate Library</STRONG> +<DD>There are a number of functions and routines that have been + developed for the Apache project that supplement or supersede + library routines that differ from one operating system to another. + While most of these are used only by the Apache server itself, + some are referenced by supporting applications (such as + <CODE>htdigest</CODE>), and these other applications would fail to + build because the routines were built only into the server. These + routines are now being migrated to a separate subdirectory and + library so they can be used by other applications than just the + server. See the <CODE>src/ap/</CODE> subdirectory. + +<DT><STRONG>New <CODE><A HREF="mod/core.html#serversignature"> + ServerSignature</A></CODE> directive</STRONG> +<DD>This directive optionally adds a line containing the server + version and virtual host name to server-generated pages (error + documents, ftp directory listings, mod_info output <EM>etc.</EM>). This + makes it easier for users to tell which server produced the error + message, especially in a proxy chain (often found in intranet + environments). + +<DT><STRONG>New <CODE><A HREF="mod/core.html#usecanonicalname"> + UseCanonicalName</A></CODE> directive</STRONG> +<DD>This directive gives control over how Apache creates + self-referential URLs. Previously Apache would always use the <A + HREF="mod/core.html#servername"> ServerName</A> and <A + HREF="mod/core.html#port">Port</A> directives to construct a + "canonical" name for the server. With <CODE>UseCanonicalName + off</CODE> Apache will use the hostname and port supplied by the + client, if available. + +<DT><STRONG><CODE>SERVER_VERSION</CODE> definition abstracted, and server + build date added</STRONG> +<DD>In earlier versions, the Apache server version was available to + modules through the <CODE>#define</CODE>d value for + <CODE>SERVER_VERSION</CODE>. In order to keep this value + consistent when modules and the core server are compiled at + different times, this information is now available through the + core API routine <CODE>ap_get_server_version()</CODE>. The use of + the <CODE>SERVER_VERSION</CODE> symbol is deprecated. Also, + <CODE>ap_get_server_built()</CODE> returns a string representing + the time the core server was linked. + +<DT><A HREF="mod/core.html#servertokens"><STRONG>Including the operating + system in the server identity</STRONG></A><BR> +<DD>A new directive, <CODE>ServerTokens</CODE>, allows the Webmaster + to change the value of the <CODE>Server</CODE> response header + field which is sent back to clients. The <CODE>ServerTokens</CODE> + directive controls whether the server will include a non-specific + note in the server identity about the type of operating system on + which the server is running as well as included module information. + As of Apache 1.3, this additional information is included by default. + +<br><br> + +<DT><STRONG>Support for Netscape style SHA1 encrypted passwords</STRONG><BR> +<DD>To facilitate migration or integration of BasicAuth password + schemes where the password is encrypted using SHA1 (as opposed + to Apache's built in MD5 and/or the OS specific crypt(3) function + ) passwords prefixed with with <CODE>{SHA1}</CODE> are taken + as Base64 encoded SHA1 passwords. More information and + some utilities to convert Netscape ldap/ldif entries can be + found in support/SHA1. +</DL> + + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> + + diff --git a/usr.sbin/httpd/htdocs/manual/new_features_1_3.html.ja.jis b/usr.sbin/httpd/htdocs/manual/new_features_1_3.html.ja.jis new file mode 100644 index 00000000000..a7250496eb6 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/new_features_1_3.html.ja.jis @@ -0,0 +1,746 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML><HEAD> +<TITLE>New features with Apache 1.3</TITLE> +</HEAD> + +<!-- English revision: 1.84 --> +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" + VLINK="#000080" ALINK="#FF0000"> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Apache 1.3 $B$N?75!G=$N35MW(B</H1> + +<P>$B:#2s$N%j%j!<%9$G$N?7$7$$FCD'$H$7$F!"(BApache $B$N5!G=@-$N3HD%$K$D$$$F(B +$B$3$3$G$O@bL@$7$^$9!#(B +$B%3%"ItJ,$N%3!<%I$,Bg$-$/JQ$o$j$^$7$?$N$G!"=i4|$N%P!<%8%g%s$N(B Apache +($B$*$h$S(B NCSA httpd) $B$,<u$1IU$1$?$b$N$G$b!"(B +$B?7$7$$(B Apache $B$G$O<u$1$D$1$J$$$b$N$,$"$j$^$9!#(B +$B$J$s$i$+$NLdBj$,$"$k>l9g$K$O(B +<A HREF="misc/compat_notes.html">$B8_49@-$K4X$7$F(B</a>$B$G%A%'%C%/$7$F$/(B +$B$@$5$$!#(B</P> + +<P>Apache 1.2 $B$+$i$N%"%C%W%0%l!<%I$O(B +<a href="upgrading_to_1_3.html">$B!V%"%C%W%0%l!<%I$K4X$7$F!W(B</a> +$B$rFI$`$HNI$$$G$7$g$&!#(B +</P> + +<P>$B3HD%(B: <A HREF="#core">$B%3%"(B</A> | +<A HREF="#performance">$B%Q%U%)!<%^%s%9(B</A> | +<A HREF="#config">$B@_Dj(B</A> | +<A HREF="#mod">$B%b%8%e!<%k(B</A> | +<A HREF="#api">API</A> | +<A HREF="#misc">$B$=$NB>(B</A></P> + +<HR> + +<H2><A NAME="core">$B%3%"$N3HD%(B:</A></H2> + +<DL> +<DT><STRONG><A HREF="dso.html">Dynamic Shared Object (DSO) $B$N%5%]!<%H(B</A></STRONG> +<DD>$B<B9T;~$K(BApache $B$N%b%8%e!<%k$r%m!<%I$9$k$3$H$,2DG=$K$J$j$^$7$?!#(B + $B$3$l$K$h$j!"%b%8%e!<%k$OI,MW$J$H$-$@$1%5!<%P$N%a%b%jNN0h$K(B + $BFI$_$3$^$l$k$3$H$K$J$j!"(BApache $BA4BN$N%a%b%j$N;HMQ$r$+$J$j8:$i$9$3$H$K(B + $B$J$j$^$9!#(B + DSO $B$O8=:_(B FreeBSD, OpenBSD, NetBSD, Linux, Solaris, SunOS, + Digital UNIX, IRIX, HP/UX, UnixWare, NetWare, AIX, ReliantUnix, + $B=c?h$J(B SVR4 $B%W%i%C%H%U%)!<%`$G%5%]!<%H$5$l$F$$$^$9!#(B + +<DT><STRONG><A HREF="windows.html">Windows NT/95 $B$N%5%]!<%H(B</A></STRONG> +<DD>Apache $B$O(B Windows NT $B$H(B Windows 2000 $B$r%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#(B + Windows 95, 98, ME $B$G$b(B Apache $B$OF0:n$9$k$+$b$7$l$^$;$s$,!"$3$l$i$N(B + $B%3%s%7%e!<%^@=IJ$N4D6-$G$N;HMQ$O?d>)$7$F$$$^$;$s!#$=$7$F!"$=$N;HMQ(B + $B$K$D$$$F$N>uBV$O!"<B83E*$J$b$N$H$7$?$^$^$G$9!#(BWindows $B>e$GF0:n(B + $B$7$F$$$k(B 1.3.15 $B$h$jA0$N$9$Y$F$N%P!<%8%g%s$N(B Apache $B$O!"%Y!<%?HG(B + $BIJ<A$N%j%j!<%9$@$H9M$($F$/$@$5$$!#(B + +<DT><STRONG><A HREF="netware.html">NetWare 5.x $B$N%5%]!<%H(B</A></STRONG> +<DD>Apache $B$O(B NetWare 5.x $B$r<B83E*$K%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#(B + +<DT><STRONG><A HREF="sourcereorg.html">$B%=!<%9$N:F9=@.(B</A></STRONG> +<DD>Apache $B$N%=!<%9%U%!%$%k$O:F9=@.$5$l$^$7$?!#(B + Apache $B$N%f!<%6$K$H$C$F<gMW$JJQ99E@$O(B <CODE>Configuration</CODE> + $B$K$*$1$k(B "Module" $B9T$,$,(B "AddModule" $B$GCV$-49$o$j!"9=J8$,>/$7JQ$o$C$?(B + $B$3$H$G$9!#%b%8%e!<%k$N:n<T$K$H$C$F$O!"%f!<%6$,%b%8%e!<%k$rMF0W$K(B + $BDI2C$G$-$k$h$&$K$9$k$?$a$NJQ99$,$$$/$D$+$J$5$l$F$$$^$9!#(B + +<DT><STRONG>$B?.Mj@-$N$"$k%Q%$%W$5$l$?%m%0(B</STRONG> +<DD>$B$[$H$s$I$9$Y$F$N(B Unix $B%"!<%-%F%/%A%c$G(B Apache $B$O!V?.Mj@-$N$"$k!W(B + $B%Q%$%W$5$l$?%m%0$r(B <A HREF="mod/mod_log_config.html">mod_log_config</A> + $B$G<BAu$7$F$$$^$9!#$3$3$G!"?.Mj@-$N$"$k$H$O!"%m%0$r<}=8$7$F$$$k(B + $B;R%W%m%;%9$,2?$i$+$NM}M3$G;`$s$@$H$-$K!"(BApache $B$O%5!<%PA4BN$r(B + $B:F5/F0$9$k$3$H$J$/!"$=$3$+$i2sI|$7$F%m%0MQ%W%m%;%9$r:F5/F0$9$k$3$H$,(B + $B$G$-$k$H$$$&0UL#$G$9!#99$K!"%m%0$r<}=8$7$F$$$k;R%W%m%;%9$,(B + "$B5M$^$C$F(B" $B$7$^$$!"%Q%$%W$r==J,$J2s?tFI$s$G$$$J$$$H$-$b(B Apache $B$O(B + $B$=$l$r:F5/F0$7$^$9!#$3$l$G!"%m%0$N%m!<%F!<%7%g%s$d%R%C%H$NA*JL$r$7$?$j!"(B + $BJ#?t$N(B vhost ($BLuCm(B: $B%P!<%A%c%k%[%9%H(B) $B$N%m%0$rJL!9$K%j%"%k%?%$%`$G(B + $BJ,$1$?$j!"$=$N>l$G$NHsF14|$N(B DNS $B2r7h$r$7$?$j$9$k5!2q$,$G$-$^$9!#(B +</DL> + +<HR> + +<H2><A NAME="performance">$B@-G=$N2~A1(B</A></H2> + +<UL> + <LI>IP $B$K4p$E$$$?%P!<%A%c%k%[%9%H$O%O%C%7%e%F!<%V%k$rMQ$$$FD4$Y$i$l$^$9!#(B + <LI><Directory> $B2r@O$NB.EY8~>e!#(B + <LI>$B@EE*$J%j%/%(%9%H$KBP$9$k%/%j%F%#%+%k%Q%9$N%7%9%F%`%3!<%k?t$,8:$j$^$7$?!#(B + $B$3$l$ODL>o$9$Y$F$N%j%/%(%9%H$GLrN)$A$^$9!#(B ($B$h$/%A%e!<%s$5$l$?(B + $B@_Dj$K$*$$$F!"(B1.2 $B$G$O@EE*$J%j%/%(%9%H$G%7%9%F%`%3!<%k$,(B 45 $B$"$C$?$N$K(B + $BBP$7$F!"(B1.3 $B$G$O(B 22 $B$G$9(B)$B!#(B + <LI>$B%9%k!<%W%C%H8~>e$N$?$a$K(B + <A HREF="mod/mod_proxy.html#proxyreceivebuffersize"> + <CODE>ProxyReceiveBufferSize</CODE></A> $B%G%#%l%/%F%#%V$O!"(B + <CODE>mod_proxy</CODE> $B$+$i$N30It@\B3$KBP$7$F!"(B + $B$h$jBg$-$J%M%C%H%o!<%/%P%C%U%!$rM?$($^$9!#(B + <LI>$BJ#?t$N=q$-9~$_$r0l$D$N%7%9%F%`%3!<%k$G$9$^$;$k$?$a$KDc%l%Y%k(B I/O + $B$N%k!<%A%s$G$O(B ($B;HMQ2DG=$G$"$l$P(B) <CODE>writev</CODE> $B$r(B + $B;H$&$h$&$K$J$C$F$$$^$9!#$3$N%k!<%A%s$G$O(B + $B%a%b%j$N%P%C%U%!$X$N%3%T!<$b$G$-$k$@$1Hr$1$F$$$^$9!#(B + $B$=$N7k2L!"Bg$-$J%U%!%$%k$NE>Aw$K;H$o$l$k(B CPU $B;~4V$,>/$J$/$J$j$^$9!#(B + <LI>$B@EE*$J%j%/%(%9%H$O(B <CODE>mmap</CODE> $B$rMQ$$$F=hM}$5$l$^$9!#(B + $B$3$l$G!"%P%$%H$O%+!<%M%k$K$h$j%G%#%9%/$N%P%C%U%!$+$i%M%C%H%o!<%/$N(B + $B%P%C%U%!$XD>@\%3%T!<$5$l$k$@$1$K$J$j$^$9!#%W%m%0%i%`$O!"(B + $B%P%$%H$N$"$A$3$A$X$N%3%T!<$r$7$^$;$s!#(B + ($B;HMQ2DG=$+$D%F%9%H$5$l$F$$$k$H$-$N$_!#(B) $B$=$l$O(B CPU $B;~4V$r8:>/$5$;$F(B + $B$5$;$F$7$^$$$^$9!#(B + <LI>$BIi2Y$,5^7c$KA}2C$7$?$H$-!"%5!<%P$OB.$/;R%W%m%;%9$r5/F0$7$F!"(B + $BAGAa$/E,1~$7$^$9!#(B + <LI>$B%b%8%e!<%k$r%G%#%9%Q%C%A$9$k%3!<%I$O(B API $B$NFCDj$NItJ,$r<BAu$7$J$$(B + $B%b%8%e!<%k$r7+$jJV$7%9%-%C%W$9$k$N$rHr$1$k$h$&:GE,2=$5$l$F$$$^$9!#(B + ($B%G%U%)%k%H$N%b%8%e!<%k$rAH9g$;$?%5!<%P$N%W%m%U%!%$%k$G$O!"(B + $B$3$N%9%-%C%W$O$G(B CPU $B;~4V$N(B 5% $B$r;HMQ$7$F$$$^$7$?!#(B) + <LI>Unix $B$N%9%3%"%\!<%I$N4IM}%3!<%I$r:F9=@.$7$^$7$?!#(B + $B$3$l$K$h$j!"B?$/$N>l9g$G;R%W%m%;%9$N?t$r?t$($k;~4V$,C;$/$J$j$^$7$?!#(B + $B0JA0$O3F%R%C%H$KBP$7$F%9%-%c%s$,<B9T$5$l$F$$$^$7$?$,!":#$O(B1$BIC$K(B1$B2s(B + $B<B9T$5$l$^$9!#B?$/$N$N;R%W%m%;%9$N$"$kIi2Y$N9b$$%5!<%P$G$O!"$=$N0c$$$,(B + $B82Cx$@$H;W$$$^$9!#(B + <LI>$B?7$7$$%7%j%"%i%$%:$NJ}K!$rA*Br$7$?$3$H$G(B Linux $B$H(B IRIX $B$G$N(B + $B@-G=$,2~A1$5$l$^$7$?!#(B + <LI><CODE><A + HREF="mod/mod_log_config.html">mod_log_config</A></CODE> $B$O(B + $B%3%s%Q%$%k;~$K%P%C%U%!$X=q$-9~$_$r$9$k$h$&$K@_Dj$G$-$k$h$&$K$J$j$^$7$?!#(B + <LI><CODE>strncpy()</CODE> $B$r7k2LA4BN$r(B 0 $B$GKd$a$kI,MW$N$J$$(B + <CODE>ap_cpystrn()</CODE> $B$GCV$-49$($^$7$?!#$3$l$O(B + <CODE>mod_include</CODE> $B$NB.EY$K7`E*$J8z2L$,$"$j$^$9!#(B + <LI>$BFbIt$N(B "table" API ($B%-!<(B/$BCM(B $B$NJ8;zNs$NBP$rJ];}$9$k$N$K;H$o$l$F$$$^$9(B) + $B$X$NDI2C$K$h$j!"B?$/$N>u67$G:GBg(B 20% $B$N@-G=$N2~A1$r$b$?$i$9$h$&$K(B + $B$J$j$^$7$?!#(B +</UL> + +<P>$B>\$7$$>pJs$O(B<A HREF="misc/perf-tuning.html">$B@-G=$K$D$$$F$N?7$7$$(B +$B%I%-%e%a%s%H(B</A> $B$r;2>H$7$F$/$@$5$$!#(B +</P> + +<HR> + +<H2><A NAME="config">$B@_Dj$N3HD%(B</A></H2> + +<DL> +<DT><STRONG>$B%5!<%P$N@_Dj%U%!%$%k$N0l852=(B</STRONG></DT> +<DD><EM>(Apache 1.3.4)</EM> $B;0$D$N%5!<%P@_Dj%U%!%$%k(B + (<SAMP>httpd.conf</SAMP>, <SAMP>srm.conf</SAMP>, <SAMP>access.conf</SAMP>) + $B$,(B <SAMP>httpd.conf</SAMP> $B%U%!%$%k0l$D$K$^$H$a$i$l$^$7$?!#(B + <SAMP>srm.conf</SAMP> $B$H(B <SAMP>access.conf</SAMP> $B%U%!%$%k$O!"(B + $B%&%'%V%^%9%?!<$,(B <SAMP>httpd.conf</SAMP> $B$r8+$k$h$&%3%a%s%H$,(B + $B$"$k$@$1$G!"8e$O6u$K$J$C$F$$$^$9!#99$K!"$^$H$a$i$l$?(B + <SAMP>httpd.conf</SAMP> $B%U%!%$%k$G$O!"(B + $B%G%#%l%/%F%#%V$,$h$jD>46E*$G0UL#$N$"$k=gHV$K$J$k$h$&$K(B + $B:F9=@.$5$l$^$7$?!#(B +</DD> +<DT><STRONG>$B@_Dj%U%!%$%k$G$N7QB3$7$?9T(B</STRONG></DT> +<DD>$B@_Dj%U%!%$%k$K$*$1$k%G%#%l%/%F%#%V$N9T$O(B Unix $B$N7QB39T$r07$&(B + $BDL>o$NJ}K!!"$9$J$o$A(B '\' $B$r$=$N9T$N6uGr0J30$N:G8e$NJ8;z$H$7$F(B + $BCV$/$3$H$G!"<!$N9T$r$D$J$07A<0$rMQ$$$F!"J#?t$N9T$KJ,$1$k$3$H$,(B + $B$G$-$k$h$&$K$J$j$^$7$?!#(B +</DD> +<DT><STRONG>Apache Autoconf-style Interface (APACI)</STRONG> +<DD>Apache 1.3 $B$K$J$k$^$G$O!"(B Apache $B%Q%C%1!<%8A4It$rE83+$7$?$i$9$0$K!"(B + $B%S%k%I$7$F%$%s%9%H!<%k$9$k$h$&$J%P%C%AE*<j=g$ODs6!$5$l$F(B + $B$$$^$;$s$G$7$?!#$7$+$7!"%H%C%W%G%#%l%/%H%j$K$"$k(B + <CODE>configure</CODE> $B%9%/%j%W%H$H!"$=$l$KBP1~$9$k(B + $B%H%C%W%G%#%l%/%H%j$N(B <CODE>Makefile.tmpl</CODE> $B%U%!%$%k$G!"(B + $B$=$l$,<B8=$5$l$^$7$?!#$3$NL\E*$O!"(BGNU $B$N(B Autoconf $B7A<0$N(B + $B%U%m%s%H%(%s%I$rDs6!$9$k$3$H$G$9!#$7$7$F!"$3$l$^$G$N(B + <CODE>src/Configure</CODE> $B4XO"MWAG$N%P%C%A=hM}$H!"(BGNU $BN.$N(B + $B%G%#%l%/%H%j9=@.$G$N%Q%C%1!<%8%$%s%9%H!<%k$NN>J}$,2DG=$K$J$j$^$9!#(B + $B8E$$@_DjJ}K!$G2DG=$@$C$?$b$N%*%W%7%g%s$9$Y$F$K2C$($F!"(B + Apache $B=@Fp$K%+%9%?%^%$%:$9$k$?$a$N$?$/$5$s$N?7$7$$%*%W%7%g%s$,(B + $B;HMQ2DG=$G$9!#(B<BR> + <STRONG>$BCm0U(B:</STRONG> $B%G%U%)%k%H$N%$%s%9%H!<%k$N9=@.$O(B + Apache 1.3.4 $B$GJQ99$5$l$^$7$?!#>\:Y$K$D$$$F$O(B + <CODE>README.configure</CODE> $B$H(B <CODE>INSTALL</CODE> $B%U%!%$%k$r(B + $B;2>H$7$F$/$@$5$$!#(B + +<DT><STRONG>APache eXtenSion (APXS) $B%5%]!<%H%D!<%k(B</STRONG> +<DD>Apache $B$O<B9T;~$K(B dynamic shared object (DSO) $B%U%!%$%k$+$i(B + $B%b%8%e!<%k$r%m!<%I$9$k$3$H$r40A4$K%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#(B + $B$=$3$G!"(BDSO $B$K4p$E$$$?%b%8%e!<%k$r(B Apache $B$N%=!<%9$H$O(B + $BJL$N>l=j$G%S%k%I!"%$%s%9%H!<%k!"%"%/%F%#%V2=$r9T$J$&?7$7$$(B + $B%5%]!<%H%D!<%k(B <CODE>apxs</CODE> $B$,:n@.$5$l$^$7$?!#(B + $B$3$l$K$h$j!"%W%i%C%H%U%)!<%`$K0MB8$7$?(B DSO $B%S%k%IMQ$N%3%^%s%I$O(B + $B%f!<%6$+$i40A4$K1#$5$l!"(BApache $B$N%=!<%9%D%j!<$N30$G%b%8%e!<%k$r(B + $B%S%k%I$9$k$3$H$,MF0W$K$J$C$F$$$^$9!#(B + $B$3$l$rC#@.$9$k$?$a$K!"(BAPACI $B$O(B Apache $B$N(B C $B$N%X%C%@%U%!%$%k$r(B + <CODE>apxs</CODE> $B$H0l=o$K%$%s%9%H!<%k$7$^$9!#(B + +<DT><A HREF="install.html#install"><STRONG>Apache $B$N%G%U%)%k%H(B + $B%G%#%l%/%H%j%Q%9$r(B <CODE>/usr/local/apache/</CODE>$B$XJQ99(B</STRONG></A><BR> +<DD>Apache $B$N%G%U%)%k%H$N(B ServerRoot $B%G%#%l%/%H%j$,!"(BNCSA $B8_49$N(B + <CODE>/usr/local/etc/httpd/</CODE>$B$+$i(B <CODE>/usr/local/apache/</CODE> + $B$KJQ99$5$l$^$7$?!#$3$l$O%G%U%)%k%H$N@_Dj(B ($B$H%I%-%e%a%s%H(B) $B$NJQ99(B + $B$@$1$G$9!#$b$A$m$s!"(BApache $B$r5/F0$9$k$H$-$K(B <A HREF="invoking.html"> -d + <EM>ServerRoot</EM> $B$H(B -f <EM>httpd.conf</EM></A> $B$r;XDj$9$k$3$H$G(B + $BJQ99$9$k$3$H$,$G$-$^$9!#(B + +<DT><STRONG>HTTP/1.1 $B7A<0$N%P!<%A%c%k%[%9%H$N2~A1(B</STRONG> +<DD><A + HREF="mod/core.html#namevirtualhost"><CODE>NameVirtualHost</CODE></A> + $B$H$$$&?7$7$$%G%#%l%/%F%#%V$r;EMM$7$F(B IP $B%"%I%l%9(B:$B%]!<%H$NBP$r(B + $B;XDj$9$k$3$H$G!"(B + HTTP/1.1 $B7A<0$N%P!<%A%c%k%[%9%H$H$O!"%/%i%$%"%s%H$+$i$N(B + <CODE>Host:</CODE> $B%X%C%@$K%P!<%A%c%k%[%9%H4p$E$/$b$N$G$9!#(B + $B0JA0$O$3$N%"%I%l%9$O0EL[$NFb$K%^%7%s$N(B "$B%a%$%s%"%I%l%9(B" $B$H(B + $BF1$8$K$7$F$$$^$7$?$,!"$3$l$O?tB?$/$NLdBj$r0z$-5/$3$7!"$^$?(B + $B5!G=$b==J,$G$O$"$j$^$;$s$G$7$?!#@_Dj$N>\:Y$K$D$$$O(B + <A HREF="vhosts/">$B!V(BApache $B%P!<%A%c%k%[%9%H%I%-%e%a%s%s%H!W(B</A> + $B$r;2>H$7$F$/$@$5$$!#(B + +<DT><STRONG><CODE>Include</CODE> $B%G%#%l%/%F%#%V(B</STRONG> +<DD>$B@_Dj%U%!%$%k$N%Q!<%9$NESCf$G(B + <A HREF="mod/core.html#include" ><CODE>Include</CODE></A> + $B%G%#%l%/%F%#%V$K=P2q$&$H!"D>$A$KB>$N@_Dj%U%!%$%k$r$=$N>l=j$K(B + $BA^F~$7$^$9!#(B + +<DT><STRONG>$B%P!<%A%c%k%[%9%H$N@_Dj$N%G%P%C%0$N$?$a$N(B + -S $B%3%^%s%I%i%$%s%*%W%7%g%s(B</STRONG> +<DD>$B%3%^%s%I%i%$%s%*%W%7%g%s(B <CODE>-S</CODE> $B$rIU$1$F(B Apache $B$r(B + $B5/F0$9$k$H!"(B<CODE>VirtualHost</CODE> $B$r$I$N$h$&$K%Q!<%9(B + $B$7$?$+$H$$$&>pJs$rI=<($7$^$9!#(B + $B$3$l$O%P!<%A%c%k%[%9%H$N@_Dj$r%G%P%C%0$7$h$&$H$9$k>l9g$K(B + $BJXMx$G$9!#(B + +<DT><STRONG>HTTP $B%a%C%=%I$N@)8f(B</STRONG> +<DD><A HREF="mod/core.html#limitexcept"><LimitExcept> $B$H(B + </LimitExcept></A> $B$O%"%/%;%9@)8fL?Na$N%0%k!<%W$r0O$_!"(B + $B0z?t$H$7$F;XDj$7$F$$$J$$(B HTTP $B%"%/%;%9%a%C%=%I$K$D$$$F$=$N(B + $B%"%/%;%9@)8fL?Na$,E,MQ$5$l$^$9!#$9$J$o$A!"$3$l$O(B <Limit> + $B%;%/%7%g%s$N5U$G!"I8=`$N%a%=%C%I$HHsI8=`$J$$$7$OG'<1$G$-$J$$(B + $B%a%=%C%I$NN>J}$r@)8f$9$k$?$a$K;H$&$3$H$,$G$-$^$9!#(B +</DL> + +<HR> + +<H3><A NAME="mod">$B%b%8%e!<%k$N3HD%(B</A></H3> + +<DL> +<DT><A HREF="mod/mod_negotiation.html"><STRONG>mod_negotiation $B$N2~A1(B + </STRONG></A><BR> +<DD>$B%*%W%7%g%J%k$N%3%s%F%s%H%M%4%7%(!<%7%g%s(B (MultiViews) $B%b%8%e!<%k$,(B + Apache 1.3.4 $B$GA4BNE*$K=$@5$5$l!":G?7$N(B HTTP/1.1 $B2~D{HG$H(B + $B<B83E*$K(B RFC 2295 $B$H(B RFC 2296 $B$N(B Transparent Content Negotiation $B5!G=$,(B + $BDI2C$5$l$^$7$?!#(B + +<DT><A HREF="mod/mod_speling.html"><STRONG>NEW - + $BDV$j=$@5%b%8%e!<%k(B ($BLuCm(B: mod_speling)</STRONG></A><BR> +<DD>$B$3$N%*%W%7%g%J%k$J%b%8%e!<%k$O!"%5!<%P$+$iMW5a$5$l$?%I%-%e%a%s%H$N(B + $B%Q%9L>$G$7$P$7$P8+$i$l$kDV$j$dBgJ8;z>.J8;z$N4V0c$$$r=$@5$7$^$9!#(B + +<DT><A HREF="mod/mod_setenvif.html"><STRONG>NEW - + $B>r7oIU$-4D6-JQ?t$N@_Dj(B ($BLuCm(B: mod_setenvif)</STRONG></A><BR> +<DD><A HREF="mod/mod_setenvif.html#SetEnvIf"> + <CODE>SetEnvIf</CODE></A> $B%G%#%l%/%F%#%V$H(B + <A HREF="mod/mod_setenvif.html#SetEnvIfNoCase"> + <CODE>SetEnvIfNoCase</CODE></A> $B%G%#%l%/%F%#%V$,DI2C$5$l$^$7$?!#(B + $B$3$l$K$h$j!"(B + $B%j%/%(%9%H$NB0@-$K1~$8$F%5!<%P$H(B CGI $B$N4D6-JQ?t$r@_Dj$9$k$3$H$,$G$-$^$9!#(B + +<DT><STRONG><A HREF="mod/mod_mime_magic.html">NEW - "Magic" +MIME $B%?%$%W(B ($BLuCm(B: mod-mime_magic)</A></STRONG> + <DD>$B%*%W%7%g%J%k$J(B <CODE>mod_mime_magic</CODE> $B$,DI2C$5$l$^$7$?!#(B + $B$3$N%b%8%e!<%k$O!"(B"$B%^%8%C%/%J%s%P!<(B" $B$d%U%!%$%k$NFbMF$+$iF@$i$l$k>pJs(B + $B$r;HMQ$7$F!"BP>]$H$J$k%3%s%F%s%D$NB0@-$rD4$Y$^$9!#(B + $B$3$N>pJs$O!"%U%!%$%k$N3HD%;R$+$i$=$N%U%!%$%k$N%a%G%#%"%?%$%W$r(B + $B7hDj$G$-$J$$>l9g$K;HMQ$5$l$^$9!#(B + +<DT><STRONG><A HREF="mod/mod_unique_id.html">NEW - $B0l0U$K<1JL2DG=$J(B + ID ($BLuCm(B: mod_unique_id)</A></STRONG> +<DD><A HREF="mod/mod_unique_id.html">mod_unique_id</A> + mod_unique_id $B$rAH$_9~$`$3$H$G!"$"$k%R%C%H$HB>$N%R%C%H$H$r6hJL$9$k(B + $B%f%K!<%/$J<1JL;R$r@8@.$9$k$h$&$K$J$j$^$9(B + ($B$3$3$G$N(B $B!V%f%K!<%/$J!W$K$O$$$/$D$+@)8B$,$"$j$^$9!#(B) + $B$=$N<1JL;R$O!"4D6-JQ?t(B + <CODE>UNIQUE_ID</CODE> $B$H$7$F;2>H$9$k$3$H$,$G$-$^$9!#(B + +<DT><STRONG>mod_proxy $B$N3HD%(B:</STRONG> +<dd> +<UL> +<LI>ftp proxy $B$N%m%0%$%s$G$N$h$j4JC1$+$D0BA4$JG'>Z(B: + $B@\B3@h$N(B ftp $B%5!<%P$,MW5a$7$F$$$k$N$K!"(BURL $B$H$7$F(B ftp $B$K%f!<%6L>$H(B + $B%Q%9%o!<%I$,;XDj$5$l$F$$$J$$>l9g!"(BApache $B$O(B + "[401] Authorization Required" $B%9%F!<%?%9$rJV$9$h$&$K$J$j$^$7$?!#(B + $B$3$N%9%F!<%?%9%3!<%I$r%/%i%$%"%s%H$,<u$1<h$k$H!"DL>o$O(B + $B!V%f!<%6L>$H%Q%9%o!<%I$rF~NO$7$F$/$@$5$$!W(B $B$H$$$&%@%$%"%m%0$r(B + $BI=<($7!"$=$3$GF~NO$5$l$?%f!<%6G'>Z$rMQ$$$?%j%/%(%9%H$,:F$S(B + $B9T$J$o$l$^$9!#$3$&$9$k$3$H$G!"%j%/%(%9%H(B URL $B$KG'>Z>pJs$r(B + $B4^$^$;$F;XDj$9$kJ}K!(B ($B8E$$(B proxy $B%5!<%P$G$OJ?J8$G%m%0$K5-O?$5$l$F$7$^$&(B + $B2DG=@-$,$"$j$^$9(B) $B$h$j$b<c430BA4$K$J$C$F$$$^$9!#(B + +<LI>$B?75,$N(B <SAMP>AllowCONNECT</SAMP> $B%G%#%l%/%F%#%V$K$h$j!"(Bproxy + CONNECT $B%a%=%C%I$,@\B32DG=$J%]!<%H$,;XDj$G$-$k$h$&$K$J$j$^$7$?!#(B + $B$3$l$K$h$j!"(BApache 1.3.2 $B0JA0$G$O%(%i!<%a%C%;!<%8$,JV$5$l$F$$$?(B + https://some.server:8443/ $B$K$D$$$F(B proxy $B$9$k$3$H$,$G$-$k$h$&$K$J$j$^$9!#(B +<LI>RFC2068 $B$G;XDj$5$l$F$$$k(B HTTP/1.1 $B$N(B "Via:" $B%X%C%@$r(B + $B%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#?75,$N(B + <A HREF="mod/mod_proxy.html#proxyvia"><CODE>ProxyVia</CODE></A> + $B%G%#%l%/%F%#%V$G(B "Via:" $B$N%5%]!<%H$N%*%s(B/$B%*%U$r@Z$jBX$($k$3$H$,$G$-$^$9!#(B + $B$^$?!"%W%i%$%P%7!<>e$NM}M3$+$i!"30$K=P$F9T$/%X%C%@$+$i(B "Via:" + $B$r:o$k$h$&$K$9$k$3$H$,$G$-$^$9!#(B +<LI>HTTP/1.1 $B$G5,Dj$5$l$F$$$k(B "Max-Forwards:" TRACE $B%X%C%@$r(B + $B%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#$=$l$K$h$j!"(B + ($BB>$N(B proxy $B%5!<%P$G$b%5%]!<%H$7$F$$$l$P(B) $B%W%m%-%7!<$N(B + $BO":?$r$?$I$C$F%j%/%(%9%H$N%Q%9$r%H%l!<%9$9$k$3$H$,$G$-$^$9!#(B +<LI><A + HREF="mod/mod_proxy.html#noproxy"><CODE>NoProxy</CODE></A> $B%G%#%l%/%F%#%V(B + $B$H(B <A HREF="mod/mod_proxy.html#proxydomain"><CODE>ProxyDomain</CODE></A> + $B%G%#%l%/%F%#%V$,DI2C$5$l$^$7$?!#(B + $B%$%s%H%i%M%C%H$G$NMxMQ$KJXMx$G$9!#(B +<LI><CODE><A HREF="mod/mod_proxy.html#proxypassreverse"> + ProxyPassReverse</A></CODE> $B%G%#%l%/%F%#%VL?Na$,?75,$KDI2C$5$l$^$7$?!#(B + $B$3$l$K$h$j!"(BHTTP $B$N%j%@%$%l%/%H%l%9%]%s%9$K$*$1$k(B <TT>Location:</TT> + $B%X%C%@Cf$N(B URL $B$rD4@0$9$k$3$H$,$G$-$^$9!#(B +<LI>FTP $B%5!<%P$N%G%#%l%/%H%j%D%j!<$G$N0\F0$,!"$h$j4JC1$K$J$j$^$7$?!#(B +</UL> + +<DT><A HREF="mod/mod_include.html#flowctrl"><STRONG><CODE>mod_include</CODE> + $B$NJ8;zNsHf3S$N3HD%(B</STRONG></A><BR> +<DD>$BJ8;zNs$K4p$E$$$?(B server-side include (SSI) $B$N%U%m!<@)8f(B + $B%G%#%l%/%F%#%V$KL$K~(B (<)$B!"0J2<(B (<=)$B!"$h$jBg$-$$(B (>)$B!"(B + $B0J>e(B (>=) $B$,4^$a$i$l$^$7$?!#0JA0$OEy$7$$$+Ey$7$/$J$$$+$N(B + $BHf3S$7$+$G$-$^$;$s$G$7$?!#(B + +<DT><STRONG>ServerRoot $B$+$i$NAjBP%Q%9$G$N(B auth $B%U%!%$%kL>;XDj(B</STRONG> +<DD>$BMM!9$JG'>Z%b%8%e!<%k$N(B auth $B%U%!%$%kL>$N;XDj$O!"%U%k%Q%9$GL5$$>l9g$O(B + ServerRoot $B$+$i$NAjBP%Q%9$H$7$F07$o$l$k$h$&$K$J$j$^$7$?!#(B + +<DT><A HREF="mod/mod_autoindex.html"><STRONG>$B%G%#%l%/%H%j$N%$%s%G%C%/%9$N3HD%(B: +($BLuCm(B: mod_autoindex)</STRONG></A> + +<DD><UL> + <LI><STRONG>$B%3!<%I$NJ,3d(B:</STRONG> <CODE>mod_dir</CODE> $B%b%8%e!<%k$,!"(B + $B%G%#%l%/%H%j$N%$%s%G%C%/%9%U%!%$%k$r07$&(B <A + HREF="mod/mod_dir.html">mod_dir</A> $B$H!"%G%#%l%/%H%jFb$N%U%!%$%k0lMw$r(B + $B:n@.$9$k(B <A HREF="mod/mod_autoindex.html">mod_autoindex</A> $B$N(B + $BFs$D$KJ,3d$5$l$^$7$?!#$3$l$K$h$j!"%/%j%F%#%+%k$J%5!<%P$+$i(B + $B%$%s%G%C%/%9$N5!G=$r30$9$3$H$,$G$-$^$9!#(B + + <LI><STRONG>$B%=!<%H2DG=(B:</STRONG> $B%+%i%`$N%?%$%H%k$r%/%C%j%/$9$k$H(B + $B$=$N%+%i%`CM$K$h$k%j%9%H$N%=!<%H$r9T$J$$$^$9!#$3$N5!G=$O(B + <A HREF="mod/mod_autoindex.html#indexoptions">IndexOptions</A> + $B$N(B <CODE>SuppressColumnSorting</CODE> $B%-!<%o!<%I$GL58z$K$G$-$^$9!#(B + + <LI>README.html $B%U%!%$%k$K(B HTML $B$N%X%C%@$,5-=R$5$l$F$$$k>l9g$O!"(B + <A HREF="mod/mod_autoindex.html#indexoptions:suppresshtmlpreamble"> + <CODE><STRONG>SuppressHTMLPreamble</STRONG></CODE></A> $B$r(B + $B;H$&$3$H$,$G$-$^$9!#(B + + <LI>The <A HREF="mod/mod_autoindex.html#indexoptions"> + <CODE><STRONG>IndexOptions</STRONG></CODE></A> $B%G%#%l%/%F%#%V$O!"(B + $B%-!<%o!<%I0z?t$KBP$7$F%$%s%/%j%a%s%?%k%W%l%U%#%C%/%9(B + $B$r;HMQ$G$-$k$h$&$K$J$j$^$7$?(B + (<A HREF="mod/core.html#options">Options</A> + $B%G%#%l%/%F%#%V$HF1MM$K!"5!G=$KBP$9$k%-!<%o!<%I$N5!G=$NDI2C$r(B +/- $B$G(B + $B;XDj$7$^$9(B)$B!#(B + $B$3$l$K$h$j!"F1$8%G%#%l%/%H%j$KE,MQ$5$l$kJ#?t$N(B IndexOptions + $B%G%#%l%/%F%#%V$r0l$D$K$^$H$a$k$3$H$,$G$-$^$9!#(B + + <LI><A HREF="mod/mod_autoindex.html#indexoptions:iconheight" + ><STRONG><CODE>IconHeight</CODE></STRONG></A> $B$H(B + <A HREF="mod/mod_autoindex.html#indexoptions:iconwidth" + ><STRONG><CODE>IconWidth</CODE></STRONG></A> + $B$G%G%#%l%/%H%j$N0lMwI=<($G$N(B + <CODE><IMG></CODE> $B%?%0$N(B height $BB0@-$H(B width + $BB0@-$r@_Dj$G$-$^$9!#(B + + <LI><A HREF="mod/mod_autoindex.html#indexoptions">IndexOptions</A> + $B%G%#%l%/%F%#%V$K?75,$KDI2C$5$l$?(B + <A HREF="mod/mod_autoindex.html#indexoptions:namewidth" + ><STRONG><CODE>NameWidth</CODE></STRONG></A> $B%-!<%o!<%I$G!"(B + <A HREF="mod/mod_autoindex.html#indexoptions:fancyindexing">"$B6E$C$?(B" + $B%G%#%l%/%H%jFbMF0lMw(B</A> $B$N7e?t$r@_Dj$G$-$^$9!#(B + $B%"%9%?%j%9%/(B `*' $B$K@_Dj$9$k$H!"L>A0(B ($BLuCm(B: Name $B$NItJ,(B) $B$NI}$O(B + $B<+F0E*$KD4@0$5$l$^$9!#(B + + <LI><A HREF="mod/mod_autoindex.html#fancyindexing" + ><SAMP>FancyIndexing</SAMP></A> $B%G%#%l%/%F%#%V$O@_Dj:Q$_$N(B + <SAMP>IndexOptions</SAMP> $B%G%#%l%/%F%#%V$N8z2L$rCV$-49$($F$7$^$&(B + $B$3$H$J$/!"@5$7$/(B + <A HREF="mod/mod_autoindex.html#indexoptions:fancyindexing"><SAMP>IndexOptions FancyIndexing</SAMP></A> + $B$HF1$88z2L$K$J$k$h$&$K$J$j$^$7$?!#(B + + <LI>1.3.15 $B$+$i$O!"(BIndexOptions $B$K(B + <A HREF="mod/mod_autoindex.html#trackmodified"> + <SAMP>TrackModified</SAMP></A> $B%G%#%l%/%F%#%V$,4^$^$l$F$$$k>l9g$O!"(B + $B%5!<%P$O%G%#%l%/%H%j$N%j%/%(%9%H$r<u$1$?$H$-$K!"%-%c%C%7%e$r@)8f$9$k(B + ETag $B$H(B LastModified $B$rIU$1$FJV$7$^$9!#(B + $B$=$N%j%/%(%9%H$,JQ99$5$l$F$$$J$$$H%/%i%$%"%s%H$,H=CG$7$?$H$-$K$O!"(B + $B%5!<%P$O$=$N0lMw$r@8@.$9$kI,MW$,$"$j$^$;$s!#(B + $B$3$l$K$h$j!"@-G=$,8~>e$7$^$9!#$3$N5!G=$O<B83E*$J$b$N$J$N$G!"(B + $B%G%U%)%k%H$G$O;HMQ2DG=$K$O$J$C$F$$$^$;$s!#(B + + </UL> + +<DT><STRONG>CGI $B%9%/%j%W%H$N=PNO$N%P%C%U%!%j%s%0$N8:>/(B</STRONG> +<DD>$B0JA0$N%P!<%8%g%s$N(B Apache $B$G$O!"(BCGI $B%9%/%j%W%H$+$i$N=PNO$O!"%5!<%P$,(B + $BFbItE*$K%P%C%U%!$r$7$F$$$F!"%P%C%U%!$,0lGU$K$J$k$+(B CGI $B%9%/%j%W%H$,(B + $B=*N;$9$k$^$G$O%/%i%$%"%s%H$KAw$i$l$^$;$s$G$7$?!#(BApache 1.3 $B$G$O!"(B + $B%/%i%$%"%s%H$X$N%G!<%?$N%P%C%U%!$O!"%P%C%U%!Cf$K2?$+$,$"$C$F!"(B + $B%5!<%P$,%9%/%j%W%H$+$i$N$5$i$J$k=PNO$rBT$C$F$$$k$H$-$K$$$D$G$b(B + $B%U%i%C%7%e$5$l$^$9!#$3$l$K$h$j!"(BCGI $B%9%/%j%W%H$O(B + $BD9$$=hM}A`:n$N4V$KItJ,E*$J%9%F!<%?%9Js9p$,2DG=$K$J$j$^$9!#(B + +<DT><STRONG><A HREF="mod/mod_alias.html"><CODE>Alias</CODE> $B$H(B + <CODE>Redirect</CODE>$B$G$N@55,I=8=$N%5%]!<%H(B + </A></STRONG> +<DD>$B?75,$N(B <A HREF="mod/mod_alias.html#aliasmatch"><CODE>AliasMatch</CODE></A>, + <A HREF="mod/mod_alias.html#scriptaliasmatch" + ><CODE>ScriptAliasMatch</CODE></A>, $B$H(B + <A HREF="mod/mod_alias.html#redirectmatch"><CODE>RedirectMatch</CODE></A> + $B%G%#%l%/%F%#%V$G!"@55,I=8=$G$N%Q%?!<%s%^%C%A$r;XDj$G$-$k$h$&$K$J$j$^$7$?!#(B + $B99$K!"?75,$N(B + <A HREF="mod/core.html#directorymatch" + ><CODE><DirectoryMatch></CODE></A>, + <A HREF="mod/core.html#locationmatch" + ><CODE><LocationMatch></CODE></A>, + <A HREF="mod/core.html#filesmatch"><CODE><FilesMatch></CODE></A> + $B%;%/%7%g%s$K$h$j!"@55,I=8=$rMQ$$$?%;%/%7%g%s;XDj$,$G$-$k?7$7$$9=J8$,(B + $BDs6!$5$l$^$9!#(B + +<DT><STRONG><A + HREF="mod/mod_info.html">mod_info</A> $B$X$N(B + <A + HREF="mod/mod_info.html#addmoduleinfo"><CODE>AddModuleInfo</CODE></A> + $B%G%#%l%/%F%#%V$NDI2C(B</STRONG> +<DD>$B;XDj$5$l$?%b%8%e!<%k$K$D$$$F!"I=<($5$;$kDI2C>pJs$r;XDj$G$-$k$h$&$K(B + $B$J$j$^$7$?!#(B + +<DT><STRONG><CODE>TransferLog</CODE> $B$,L5$$>l9g$N%m%0<}=8$NM^@)(B</STRONG> +<DD><A HREF="mod/mod_log_config.html#transferlog" + ><CODE>TransferLog</CODE></A> $B%G%#%l%/%F%#%V$,L5$$>l9g$O%m%0$O(B + $B<}=8$5$l$^$;$s!#$3$l$OB>$N%m%0MQ%b%8%e!<%k$H$N6&MQ$r%5%]!<%H$7$^$9!#(B + +<DT><STRONG>$B%m%0$N=q<0$KL>A0$rIU$1$k5!G=(B</STRONG> +<DD><A + HREF="mod/mod_log_config.html#logformat"><CODE>LogFormat</CODE></A> + $B%G%#%l%/%F%#%V$,3HD%$5$l!"FCDj$N%m%0%U%)!<%^%C%H$K%K%C%/%M!<%`$r(B + $BIU$1$k$3$H$r2DG=$K$J$j$^$7$?!#Kh2s%m%0%U%)!<%^%C%H$NJ8;zNs$r=q$/Be$o$j$K!"(B + $B$3$N%K%C%/%M!<%`$rB>$N(B <CODE>LogFormat</CODE> $B%G%#%l%/%F%#%V$N;XDj$d(B + <A HREF="mod/mod_log_config.html#customlog" + ><CODE>CustomLog</CODE></A> $B%G%#%l%/%F%#%V$N;XDj$G;H$&$3$H$,$G$-$^$9!#(B + +<DT><STRONG>$B>r7oIU$-%m%0<}=8(B</STRONG> +<DD><A HREF="mod/mod_log_config.html#customlog-conditional">mod_log_config</A> + $B$,4D6-JQ?t$K4p$E$$$?%m%0<}=8$r%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#(B + mod_log_referer $B$H(B mod_log_agent $B$O;HMQ$7$J$$$3$H$,?d>)$5$l$F$$$^$9!#(B + +<DT><STRONG>mod_cern_meta $B$r%G%#%l%/%H%jKh$K@_Dj2DG=(B</STRONG> +<DD><A HREF="mod/mod_cern_meta.html">mod_cern_meta</A> $B$r%G%#%l%/%H%jKh$K(B + $B@_Dj$9$k$3$H$,$G$-$k$h$&$K$J$j$^$7$?!#(B + +<DT><STRONG> + <A HREF="mod/mod_rewrite.html#RewriteMap"><CODE>RewriteMap</CODE></A> + $B%G%#%l%/%F%#%V$N?7$7$$%^%C%W%?%$%W(B</STRONG> +<DD>mod_rewrite $B$N(B <CODE>RewriteMap</CODE> $B%G%#%l%/%F%#%V$K?7$7$$%^%C%W7?(B + `Randomized Plain Text' $B$H(B `Internal Function' $B$,DI2C$5$l$^$7$?!#(B + $B$3$l$i$N%^%C%W7?$OFs$D$N5!G=$rDs6!$7$^$9(B: $B0l$D$O!"=q$-49$(MQ%^%C%W$G(B + $B;2>H$5$l$kCM$+$iBP1~$9$kCM$r%i%s%@%`$KA*Br$9$k$3$H$,$G$-$k$h$&$K(B + $B$J$j$^$7$?(B (Reverse Proxy $B$K$*$$$F!"%P%C%/%(%s%I$N%5!<%P$rA*$V>l9g$K(B + $BJXMx$G$9(B)$B!#$b$&0l$D$O!"(BURL $B$N0lIt$rBgJ8;z$+>.J8;z$N$I$A$i$+$K(B + $BJQ49$9$k$3$H$,$G$-$k$h$&$K$J$j$^$7$?(B (mod_rewrite $B$rMQ$$$FBg5,LO$J(B + $B%P!<%A%c%k%[%9%F%#%s%0$r9T$J$&>l9g$KJXMx$G$9(B)$B!#(B + +<DT><STRONG>CIDR $B$H(B Netmask $B$K$h$k%"%/%;%9@)8f(B</STRONG> +<DD><A HREF="mod/mod_access.html">mod_access</A> $B%G%#%l%/%F%#%V$O(B + CIDR (Classless Inter-Domain Routing) $B7A<0$N%W%l%U%#%C%/%9$N;XDj$H!"(B + IP $B$N%"%/%;%9%j%9%H$N@)8f$r$h$j:Y$+$/@_Dj$G$-$k%M%C%H%^%9%/$r(B + $B%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#(B +</DL> +<HR> + +<H3><A NAME="api">API $B$NDI2C$HJQ99(B</A></H3> + +<P>$B%b%8%e!<%k:n<T$H%3!<%I%O%C%+!<8~$1>pJs(B:</P> + +<DL> +<DT><STRONG><CODE>child_init</CODE></STRONG> +<DD>"heavy-weight process" $B$K$D$-(B1$B2s8F$P$l$k(B Apache API $B$N?75,%U%'!<%:$G$9!#(B + $B$3$N8e$G%j%/%(%9%H$N=hM}$r9T$J$$$^$9!#(B + $B$3$l$r$9$k$3$H$G!"%b%8%e!<%k$,%W%m%;%9Kh$K9T$J$&(B + $BI,MW$N$"$k$3$H$r$9$Y$F@_Dj$9$k$3$H$,$G$-$^$9!#$?$H$($P!"(B + $B%G!<%?%Y!<%9$X$N@\B3$,$"$j$^$9!#(B + +<DT><STRONG><CODE>child_exit</CODE></STRONG> +<DD>"heavy-weight process" $B$K$D$-(B1$B2s8F$P$l$k?75,$N%U%'!<%:$G!"(B + $B%W%m%;%9$N=*N;;~$K8F$P$l$^$9!#(B + $BCWL?E*$J>u67$G$O(B ($B$?$H$($P%;%0%a%s%F!<%7%g%s%U%)!<%k%H$d(B kill -9 $B$5$l$?(B + $B>l9g(B) $B8F$P$l$J$$$3$H$KCm0U$7$F$/$@$5$$!#(B<CODE>child_init</CODE> $B4X?t$H(B + <CODE>child_exit</CODE> $B4X?t$O!";R%W%m%;%9$N@8B84|4V$H(B + (Apache $B$,2sI|$G$-$k8+9~$_$N$J$$40A4$KCWL?E*$J%$%Y%s%H$r=|$$$F(B) + $BF1$8@8B84|4V$r;}$D%W!<%k$rEO$5$l$^$9!#BP>HE*$K!"(B + $B%b%8%e!<%k$N(B <CODE>init</CODE> $B4X?t$O?F%W%m%;%9$,=*N;$7$?$j(B + $B:F5/F0$7$?$j$9$k$H>CLG$9$k%W!<%k$rEO$5$l$^$9!#(B + +<DT><STRONG><CODE>child_terminate</CODE></STRONG> +<DD>$B8=:_$N%j%/%(%9%H$r=*N;$7$?8e$K;R%W%m%;%9$,=*N;$9$Y$-$G$"$k$3$H$r(B + $B<($9$?$a$K;R%W%m%;%9$G;H$o$l$^$9!#(B + +<DT><STRONG><CODE>register_other_child</CODE></STRONG> +<DD><CODE>http_main.h</CODE> $B$r;2>H$7$F$/$@$5$$!#$3$l$O?F%W%m%;%9$G;HMQ$7!"(B + $B4F;k$9$k;R%W%m%;%9$rEPO?$7$^$9!#?F%W%m%;%9$O(B + $BM?$($i$l$?%3!<%k%P%C%/4X?t$K>uBV$rJs9p$7$^$9!#$3$N4X?t$r;HMQ$9$k$H!"(B + $B%b%8%e!<%k$,@8@.$9$k;R%W%m%;%9$O!"(Bhttpd $B$NB>$N;R%W%m%;%9$H6&$K(B + $B4F;k$5$l$k$h$&$K$J$j$^$9!#(B + +<DT><STRONG><CODE>piped_log</CODE></STRONG> +<DD><CODE>http_log.h</CODE> $B$r;2>H$7$F$/$@$5$$!#$3$N(B API $B$O!"(B + $B%Q%$%W$5$l$?%m%0$r<BAu$9$k$?$a$N6&DL$N%3!<%I$rDs6!$7$^$9!#FC$K!"(B + $B%"!<%-%F%/%A%c$,%5%]!<%H$7$F$$$k>l9g$O(B (<EM>$B$D$^$j(B</EM> + $B8=;~E@$G$O(B Unix)$B!"?.Mj@-$N$"$k%Q%$%W$5$l$?%m%0$r<BAu$7$F$$$^$9!#(B + +<DT><STRONG>$B%9%3%"%\!<%I$N7A<0JQ99(B</STRONG> +<DD>$B%9%3%"%\!<%I$N7A<0$O$+$J$jJQ99$5$l$^$7$?!#IaDL%9%3%"%\!<%I$O(B + "private" $B$J%$%s%?!<%U%'!<%9$@$H$5$l$F$$$k$N$G!"$3$3$G$O(B + $B>R2p$9$k$K$H$I$a$F$*$-$^$9!#(B + +<DT><STRONG><CODE>set_last_modified</CODE> $B$r;0$D$KJ,3d(B</STRONG> +<DD>$B8E$$(B <CODE>set_last_modified</CODE> $B4X?t$O!"(B<CODE>Last-Modified</CODE> + $B%X%C%@$d!"(B<CODE>Etag</CODE> $B%X%C%@$N@_Dj!"(B(If-Modified-Since $B$N$h$&$J(B) + $B>r7oIU$-%j%/%(%9%H$N=hM}$J$I!"J#?t$N;E;v$r$7$F$$$^$7$?!#(B + $B$3$l$i$N5!G=$O;0$D$N4X?t!"(B + <CoDE>set_last_modified</CODE>, <CODE>set_etag</CODE>, + <CODE>meets_conditions</CODE> $B$KJ,3d$5$l$^$7$?!#(B + <CODE>meets_conditions</CODE> $B4X?t$N(B + $B=hM}$r4JC1$K$9$k$?$a$K(B <CODE>requrest_rec</CODE> $B9=B$BN$K(B + <CODE>mtime</CODE>$B$,%U%#!<%k%I$,DI2C$5$l$^$7$?!#(B + +<DT><STRONG>$B%(%i!<%m%0<}=8MQ$N?75,4X?t(B: <CODE>ap_log_error</CODE></STRONG> +<DD>$B%m%0<}=8MQ$N8E$$4X?t$O$9$Y$FHs?d>)$H$J$C$F$$$^$9!#$3$l$i$N4X?t$r(B + <CODE>ap_log_error</CODE> $B$H$$$&C1FH$N4X?t$GCV$-49$($h$&$H$7$F$$$^$9!#(B + $B$3$l$O$^$@:n6HCf$G$9!#(B + +<DT><STRONG>$B@_Dj2r@O$N$?$a$N(B <CODE>set_file_slot</CODE></STRONG> +<DD><CODE>set_file_slot</CODE> $B%k!<%A%s$O!"@dBP%Q%9$K$J$C$F$$$J$$%Q%9$N(B + $BA0$K(B ServerRoot $B$rDI2C$9$k$?$a$NI8=`%k!<%A%s$rDs6!$7$^$9!#(B + +<DT><STRONG><CODE>post_read_request</CODE> $B%b%8%e!<%k(B API</STRONG> +<DD>$B$3$N%j%/%(%9%H%U%'!<%:$O%j%/%(%9%H(B ($B%X%C%@(B) $B$rFI$_9~$s$@D>8e$d!"(B + $BFbIt%j%@%$%l%/%H$r:n@.$7$?D>8e$KCV$3$j$^$9(B + $B$=$N8e$NCJ3,$K1F6A$9$k4D6-JQ?t$r@_Dj$9$k$?$a$K0lHVLr$KN)$A$^$9!#(B + +<DT><STRONG><CODE>psocket</CODE> $B$H(B <CODE>popendir</CODE></STRONG> +<DD>socket $B$N@8@.$K$*$$$F!"6%9g>uBV$,5/$3$i$J$$$h$&$K%j%=!<%9$N(B + $B%H%i%C%-%s%0$r$9$k(B <CODE>psocket</CODE> $B4X?t$H(B <CODE>pclosesocket</CODE> + $B4X?t$,MF0W$5$l$^$7$?!#(B + $BF1MM$K!"(B<CODE>popendir</CODE> $B4X?t$H(B <CODE>pclosedir</CODE> $B4X?t$O(B + $B%G%#%l%/%H%j$NFI$_9~$_$rJ]8n$7$^$9!#(B + +<DT><STRONG><CODE>is_initial_req</CODE></STRONG> +<DD>$B%j%/%(%9%H$,=i4|%j%/%(%9%H(B (<EM>$B$9$J$o$A(B</EM>$B!"%/%i%$%"%s%H$+$iMh$k$b$N(B) + $B$G$"$k$+$I$&$+$rH=Dj$7$^$9!#(B + +<DT><STRONG><CODE>kill_only_once</CODE></STRONG> +<DD><CODE>ap_spawn_child</CODE> $B4X?t$N%*%W%7%g%s$G!"(BApache $B$,;R%W%m%;%9$r(B + $B@Q6KE*$K(B kill $B$7$h$&$H$9$k$3$H$rM^@)$7$^$9!#(B + +<DT><STRONG><CODE>alloc $B%G%P%C%0MQ%3!<%I(B</CODE></STRONG> +<DD><CODE>ALLOC_DEBUG</CODE> $B$rDj5A$9$k$H86;OE*$J%a%b%j%G%P%C%,$,Ds6!$5$l$^$9!#(B + $B$3$l$r;H$&>l9g!"@8B8Cf$N%5!<%P$KM?$($k1F6A$,>/$J$/:Q$_$^$9!#(B + $B$=$l$O!"3d$jEv$F$i$l$F$k%a%b%j$*$h$S2rJ|$5$l$k%a%b%j$N%P%$%H?t$r$9$Y$F(B + 0xa5 $B$K@_Dj$7$^$9!#(B + <CODE>ALLOC_USE_MALLOC</CODE> $B$rDj5A$9$k$H!"(Balloc $B%3!<%I$,(B + $B$=$l$>$l$N%*%V%8%'%/%H$KBP$7$F(B <CODE>malloc()</CODE> $B$H(B + <CODE>free()</CODE> $B$r;H$&$h$&$K$J$j$^$9!#(B + $B$3$l$O$:$C$H%3%9%H$,9b$/!"(BElectric Fence $B$d(B Purify $B$N$h$&$J%D!<%k$r(B + $B;H$C$F%F%9%H$r$9$k$H$-$K$N$_;H$o$l$k$Y$-$b$N$G$9!#>\:Y$O(B + <CODE>main/alloc.c</CODE> $B$r;2>H$7$F$/$@$5$$!#(B + +<DT><STRONG><CODE>ap_cpystrn</CODE></STRONG> +<DD>$B?7$7$$(B <CODE>strncpy</CODE> $B$N$h$&$J$b$N$G$9$,!"%P%C%U%!A4BN$r(B + 0 $B$GK~$?$9I,MW$,L5$$$?$a$K(B <CODE>strncpy</CODE> $B$h$j$:$C$HB.$$E@$G(B + $B<c430c$$$^$9!#(B + +<DT><STRONG><CODE>table_addn</CODE>, <CODE>table_setn</CODE>, + <CODE>table_mergen</CODE></STRONG> +<DD>$B$3$l$i$N?7$7$$4X?t$O!"0z?t$KBP$7$F(B <CODE>pstrdup</CODE> $B$r(B + $B8F$S(B<STRONG>$B$^$;$s(B</STRONG>$B!#$3$l$OBg$-$JB.EY8~>e$r$b$?$i$7$^$9!#(B + $B%3!<%I$,$=$l$i$rE,@Z$K;HMQ$7$F$$$k$3$H$r3N$+$a$k$?$a$N%G%P%C%0$N(B + $B%5%]!<%H$b$"$j$^$9!#>\$7$$>pJs$O(B <CODE>src/CHANGES</CODE> $B$r(B + $B;2>H$7$F$/$@$5$$!#(B + +<DT><STRONG><CODE>construct_url</CODE></STRONG> +<DD>$B$3$N4X?t$N%W%m%H%?%$%W$,(B <CODE>server_rec *</CODE> $B$+$i(B + <CODE>request_rec *</CODE> $B$r0z?t$H$7$F<h$k$h$&$KJQ$o$j$^$7$?!#(B + +<DT><STRONG><CODE>get_server_name</CODE>, <CODE>get_server_port</CODE></STRONG> +<DD>$B%j%/%(%9%H$KBP1~$9$k%5!<%PL>$H%]!<%HHV9f$r<hF@$9$k:]$K(B + <A HREF="mod/core.html#usecanonicalname">UseCanonicalName</A> + $B%G%#%l%/%F%#%V$r07$&$?$a$N%i%C%Q!<$G$9!#(B + +<DT><STRONG><CODE>ap_bspawn_child</CODE> $B$H(B <CODE>ap_call_exec</CODE> + $B$N%W%m%H%?%$%W$NJQ99(B</STRONG> +<DD>Win32 $B$G;R%W%m%;%9$,@5$7$/F0:n$9$k$h$&$K!"(B<CODE>spawn</CODE> $B4X?t(B + (<CODE>ap_bspawn_child</CODE> $B$KEO$5$l$k(B) $B$H(B <CODE>ap_call_exec</CODE> + $B4X?t$K(B <CODE>child_info *</CODE> $B$rDI2C$7$^$7$?!#$^$?!"(B + <CODE>spawn_child_err</CODE> $B$rC1$K(B <CODE>ap_spawn_child</CODE> $B$G(B + $BCV$-49$(!"(B<CODE>spawn_child_err_buff</CODE> $B$rC1$K(B + <CODE>ap_bspawn_child</CODE> $B$GCV$-49$($k$3$H$G!"4X?tL>$r>/$7@0M}$7$^$7$?!#(B + +<DT><STRONG><CODE>ap_add_version_component()</CODE></STRONG> +<DD>$B$3$N(B API $B4X?t$O(B <CODE>Server:</CODE> $B%X%C%@$K=PNO$5$l$k(B + $B%5!<%P%H!<%/%s$r!"%b%8%e!<%k$,<+?H$,DI2C$G$-$k$h$&$K$7$^$9!#(B + $B0JA0$N(B 1.3beta $B%P!<%8%g%s$G$O%3%s%Q%$%k;~$K(B + <CODE>#define</CODE> $B$5$l$?(B <CODE>SERVER_SUBVERSION</CODE> $B$r(B + $BDj5A$7$F$3$N5!G=$r<B8=$7$F$$$^$7$?!#%H!<%/%s$,<B:]$KI=<($5$l$k$+$I$&$+$O(B + $B?7$7$$(B <CODE>SeverTokens</CODE> $B%G%#%l%/%F%#%V$G@)8f$5$l$^$9!#(B + +</DL> + +<HR> + +<H3><A NAME="misc">$B$=$NB>$N3HD%(B</A></H3> + +<DL> +<DT><STRONG><A HREF="ebcdic.html">BS2000/OSD $B$r<B9T$7$F$$$k(B + EBCDIC $B%a%$%s%U%l!<%`%^%7%s$X$N0\?"(B</A></STRONG> +<DD>($BLuCm(B: $B%a%$%s%U%l!<%`%^%7%s$X$N0\?"$N(B) + $B<j;O$a$H$7$F!"$3$N%P!<%8%g%s$N(B Apache $B$G$O!"(BEBCDIC $BJ8;z%;%C%H$r(B + $B%M%$%F%#%V%3!<%I%;%C%H$H$7$F;HMQ$9$k%a%$%s%U%l!<%`%^%7%s$X$N(B + $B0\?"$N%Y!<%?HG$,IU$$$F$$$^$9(B (IBM/390 $B8_49$N%W%m%;%C%5!<>e$G(B + BS2000/OSD $B%*%Z%l!<%F%#%s%0%7%9%F%`$r<B9T$7$F$$$k(B SIEMENS $B$N(B + $B%a%$%s%U%l!<%`%U%!%_%j!<$G$9!#$3$N%a%$%s%U%l!<%`$N(B OS $B$O!":G6a$G$O(B + SVR4 $B%i%$%/$N(B POSIX $B$N%5%V%7%9%F%`$N5!G=$,$"$j$^$9(B)$B!#(B + +<DT><STRONG><A HREF="mod/core.html#accessfilename"><CODE>AccessFileName</CODE> + $B$N3HD%(B</A></STRONG> +<DD><CODE>AccessFileName</CODE> $B%G%#%l%/%F%#%V$O!"J#?t$N%U%!%$%kL>$r(B + $B<u$1IU$1$k$h$&$K$J$j$^$7$?!#$3$l$K$h$j!"(BNFS $B$rMQ$$$F(B + $BJ#?t$N(B Apache $B%5!<%P$G%Z!<%8$rDs6!$7$F$$$k%5!<%P$G$N@_Dj$K1~$8$?(B + $B%"%/%;%9$r@_Dj$G$-$k$h$&$K$J$j$^$9!#(B($BLuCm(B: NFS $B$rMQ$$$F!"(B + $BF1$8%3%s%F%s%D6u4V$rJ#?t$N%5!<%P$G6&M-$7$F$$$k$H!"$=$l$i$N%5!<%P$N(B + AccessFileName $B$,F1$8$H$O8B$j$^$;$s!#6&M-$7$F$$$k%3%s%F%s%D$KBP$9$k(B + $B%"%/%;%9@)8f$OF1$8@_Dj$r;H$$$?$$$H$-$K!"$3$N5!G=$,Lr$KN)$A$^$9(B)$B!#(B + +<DT><STRONG><CODE>HostNameLookups</CODE> $B$N%G%U%)%k%H$r(B "Off" $B$KJQ99(B</STRONG> +<DD><A + HREF="mod/core.html#hostnamelookups"><CODE>HostNameLookups</CODE></A> + $B%G%#%l%/%F%#%V$O%G%U%)%k%H$G(B "Off" $B$K$J$j$^$7$?!#L@<(E*$K(B + on $B$K$7$J$$8B$j!"%5!<%P$O(B IP $B%"%I%l%9$NL>A02r7h$r9T$J$o$J$$(B + $B$H$$$&$3$H$G$9!#(B + $B$3$NJQ99$O%$%s%?!<%M%C%H$K$*$$$F$rITI,MW$J(B DNS $B%H%i%U%#%C%/$r(B + $BH/@8$5$;$J$$$?$a$K9T$J$o$l$^$7$?!#(B + +<DT><STRONG>DNS $B$NFs=E5U0z$-$N6/@)5!G=(B</STRONG> +<DD><A + HREF="mod/core.html#hostnamelookups"><CODE>HostnameLookups</CODE></A> + $B%G%#%l%/%F%#%V$O(B DNS $B$NFs=E5U0z$-$r%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#(B + (tcp_wrapper $B$NMQ8l$G$O(B <EM>PARANOID</EM> $B$H$7$FCN$i$l$F$$$k$b$N$G$9(B)$B!#(B + IP $B%"%I%l%9$KBP$7$F5U0z$-$r9T$J$$!"$5$i$K@50z$-$7$FF@$i$l$k(B IP + $B%"%I%l%9$N%j%9%H$K85$N(B IP $B%"%I%l%9$,4^$^$l$F$$$l$P!"Fs=E5U0z$-$N%F%9%H$r(B + $BDL2a$7$^$9!#(BHostnameLookup $B$N@_Dj$K4X$o$i$:!"(B + <A HREF="mod/mod_access.html">mod_access</A> $B%"%/%;%9@)8f$N@_Dj$G(B + DNS $BL>$r;HMQ$7$F$$$k>l9g!"$9$Y$F$NL>A0$,(B DNS $B$NFs=E5U0z$-%F%9%H$K(B + $B9g3J$9$k$3$H$r(B<STRONG>$BMW5a(B</STRONG>$B$7$^$9!#(B($B0JA0$N%P!<%8%g%s$N(B + Apache $B$G$O!"(BDNS $B$NFs=E5U0z$-$r2DG=$K$9$k$?$a$K%3%s%Q%$%k;~$N%9%$%C%A$,(B + $BI,MW$G$7$?!#(B) + +<DT><STRONG>LogLevel $B$H(B syslog $B$N%5%]!<%H(B</STRONG> +<DD>Apache $B$O(B<A HREF="mod/core.html#loglevel">$B%(%i!<$N%m%0<}=8%l%Y%k$r(B + $B@_Dj(B</A>$B$G$-$k5!G=$,DI2C$5$l$^$7$?!#$^$?!"(B<A + HREF="mod/core.html#errorlog">syslogd(8) $B$K$h$k%(%i!<$N%m%0<}=8(B</A> + $B$r%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#(B + +<DT><STRONG>$BI8=`F~NO(B/$BI8=`=PNO(B/$BI8=`%(%i!<=PNO$+$i$N@ZN%$7(B</STRONG> +<DD>Apache $B$O!"%V!<%H;~$KI8=`F~NO(B/$BI8=`=PNO(B/$BI8=`%(%i!<=PNO$r@Z$jN%$9$h$&$K(B + $B$J$j$^$7$?!#I8=`%(%i!<=PNO$O!"(B + $B@_Dj%U%!%$%k$NFI$_9~$_$K@.8y$9$k$^$G@Z$jN%$7$^$;$s!#(B + $B$G$9$+$i!"@_Dj%U%!%$%k$N%(%i!<$OL\$K$9$k$3$H$K$J$k$G$7$g$&!#(B + $B$3$l$K$h$j!"(Brsh $B$d(B crontab $B$G(B Apache $B$r5/F0$7$d$9$/$J$C$F$$$k$O$:$G$9!#(B + +<DT><A NAME="y2k"><STRONG>2000 $BG/LdBj$N2~A1(B</STRONG></A> +<DD><A + HREF="mod/mod_include.html"><CODE>mod_include</CODE></A> $B$G;H$o$l$k(B + $B%G%U%)%k%H$N(B <CODE>timefmt</CODE> $BJ8;zNs$,!"0JA0;H$o$l$F$$$?(B2$B7e$G$O$J$/(B + 4$B7e$r;H$&$h$&$K=$@5$5$l$^$7$?!#(B<A + HREF="mod/mod_autoindex.html"><CODE>mod_autoindex</CODE></A> + $B%b%8%e!<%k$b(B FancyIndex $B$5$l$?%G%#%l%/%H%j0lMwI=<($K(B4$B7e$NG/$r(B + $BI=<($9$k$h$&$K=$@5$5$l$^$7$?!#(B + +<DT><STRONG>$B6&DL$N%k!<%A%s$rFHN)$7$?%i%$%V%i%j$KJ,N%(B</STRONG> +<DD>$B%*%Z%l!<%F%#%s%0%7%9%F%`$K$h$k%i%$%V%i%j$N%k!<%A%s$N0c$$$r(B + $BJd40$7$?$jCV$-49$($?$j$9$k4X?t$d%k!<%A%s$,!"(BApache $B%W%m%8%'%/%H$N$?$a$K(B + $B?tB?$/3+H/$5$l$F$$$^$9!#$[$H$s$I$N$b$N$O(B Apache $B%5!<%P(B + $B<+?H$G$N$_$G;HMQ$5$l$F$$$^$9$,!"Cf$K$O(B <CODE>htdigest</CODE> $B$N$h$&$J(B + $B%5%]!<%HMQ%"%W%j%1!<%7%g%s$G;2>H$5$l$F$$$k$b$N$b$"$j$^$9!#(B + $B$=$7$F!"$=$N%k!<%A%s$O%5!<%P$K$N$_AH9~$^$l$F$$$k$?$a$K!"(B + $B$3$N$h$&$JJL%"%W%j%1!<%7%g%s$O%S%k%I$K<:GT$7$^$9!#$3$l$i$N%k!<%A%s$r(B + $BJL$N%5%V%G%#%l%/%H%j$GJL$N%i%$%V%i%j$K0\F0$7$^$7$?!#(B + $B$3$l$K$h$j!"%5!<%P$@$1$G$J$/B>$N%"%W%j%1!<%7%g%s$+$i$b;H$($k$h$&$K(B + $B$J$j$^$7$?!#(B<CODE>src/ap/</CODE> $B%5%V%G%#%l%/%H%j$r;2>H$7$F$/$@$5$$!#(B + +<DT><STRONG>$B?7$7$$(B <CODE><A HREF="mod/core.html#serversignature"> + ServerSignature</A></CODE> $B%G%#%l%/%F%#%V(B</STRONG> +<DD>$B$3$N%G%#%l%/%F%#%V$O%5!<%P$,:n@.$7$?%Z!<%8(B ($B%(%i!<%I%-%e%a%s%H!"(B + FTP $B$N%G%#%l%/%H%jFbMF0lMw!"(Bmod_info $B$N=PNO(B <EM>$B$J$I(B</EM>) + $B$K%5!<%P$N%P!<%8%g%s$H%P!<%A%c%k%[%9%HL>$r4^$`9T$r%*%W%7%g%s$GDI2C$7$^$9!#(B + $B$3$l$K$h$j!"FC$K(B pxory $B$NO":?(B ($B%$%s%H%i%M%C%H$N4D6-$G$O$h$/$"$j$^$9(B) + $B$,$"$k$H$-$K!"$I$N%5!<%P$,%(%i!<%a%C%;!<%8$r=P$7$?$N$+$r%f!<%6$,(B + $B4JC1$KCN$k$3$H$,$G$-$k$h$&$K$J$j$^$9!#(B + +<DT><STRONG>$B?7$7$$(B <CODE><A HREF="mod/core.html#usecanonicalname"> + UseCanonicalName</A></CODE> $B%G%#%l%/%F%#%V(B</STRONG> +<DD>$B$3$N%G%#%l%/%F%#%V$O!"(BApache $B$,$I$N$h$&$K<+J,<+?H$r;2>H$9$k(B URL $B$r(B + $B:n@.$9$k$+$r@)8f$7$^$9!#0JA0$N(B Apache $B$G$O!"(B<A + HREF="mod/core.html#servername"> ServerName</A> $B%G%#%l%/%F%#%V$H(B <A + HREF="mod/core.html#port">Port</A> $B%G%#%l%/%F%#%V$r(B + $B>o$K;XDj$9$k$3$H$G(B "$B@55,2=$5$l$?(B" $B%5!<%P$NL>$r@8@.$7$F$$$^$7$?!#(B + <CODE>UseCanonicalName off</CODE> + $B$G!"%/%i%$%"%s%H$+$iDs6!$5$l$?%[%9%HL>$H%]!<%HHV9f$,$"$k>l9g!"(B + Apache $B$O$=$l$r;HMQ$9$k$h$&$K$J$j$^$9!#(B + +<DT><STRONG><CODE>SERVER_VERSION</CODE> $B$NDj5A$,Cj>]2=$H(B + $B%5!<%P$N%S%k%IF|;~$NDI2C(B</STRONG> +<DD>$B0JA0$N%P!<%8%g%s$G$O!"(B<CODE>SERVER_VERSION</CODE> $B$GDj5A$5$l$?CM$r(B + $BDL$8$F!"%b%8%e!<%k$O(B Apache $B%5!<%P$N%P!<%8%g%s$r;2>H$9$k$3$H$,$G$-$^$7$?!#(B + $B%3%"%5!<%P$H%b%8%e!<%k$,0c$&;~$K%3%s%Q%$%k(B + $B$5$l$?>l9g$G$b$3$NCM$N0l4S@-$rJ]$D$?$a$K!"$3$N>pJs$O%3%"(B API $B%k!<%A%s(B + <CODE>ap_get_server_version()</CODE> $B$GF@$k$3$H$,$G$-$k$h$&$K$J$j$^$7$?!#(B + <CODE>SERVER_VERSION</CODE> $B%7%s%\%k$N;EMM$OHs?d>)$G$9!#(B + $B$^$?!"(B<CODE>ap_get_server_built()</CODE> $B$O%3%"%5!<%P$,%j%s%/$5$l$?(B + $B;~9o$rI=$9J8;zNs$rJV$7$^$9!#(B + +<DT><A HREF="mod/core.html#servertokens"><STRONG>$B%5!<%P$N(B ID $B$K(B + $B%*%Z%l!<%F%#%s%0%7%9%F%`$r4^$a$k(B</STRONG></A><BR> +<DD>$B?7$7$$%G%#%l%/%F%#%V(B <CODE>ServerTokens</CODE> $B$K$h$j!"(B + $B%/%i%$%"%s%H$KAw$jJV$5$l$k(B <CODE>Server</CODE> $B%l%9%]%s%9%X%C%@(B + $B%U%#!<%k%I$NCM$r%&%'%V%^%9%?!<$,JQ99$G$-$k$h$&$K$J$j$^$7$?!#(B + <CODE>ServerTokens</CODE> $B%G%#%l%/%F%#%V$G$O!"(B + $B%5!<%P$,F0:n$7$F$$$k%*%Z%l!<%F%#%s%0%7%9%F%`$N<oN`$K$D$$$F$N(B + $B>\$7$9$.$J$$DxEY$N>pJs$r!"%b%8%e!<%k>pJs$HF1MM$K%5!<%P(B ID $B$K4^$a$k$+(B + $B$I$&$+$r@)8f$7$^$9!#(BApache 1.3 $B$G$O!"$3$NDI2C$N>pJs$,(B + $B%G%U%)%k%H$G4^$^$l$k$h$&$K$J$C$F$$$^$9!#(B + +<br><br> + +<DT><STRONG>Netscape $B7A<0$N(B SHA1 $B$G0E9f2=$5$l$?%Q%9%o!<%I$N%5%]!<%H(B</STRONG><BR> +<DD>(Apache $B$KAH9~$^$l$F$$$k(B MD5 $B$d!"(BOS $B8GM-$N(B crypt(3) $B4X?t$H0[$J$j(B) + $B%Q%9%o!<%I$,(B SHA1 $B$G0E9f2=$5$l$k$h$&$J(B BasicAuth $B%Q%9%o!<%I(B + $BJ}<0$N0\9T$dE}9g$rB%?J$9$k$?$a!"(B<CODE>{SHA1}</CODE> $B$,A0$KIU$$$F$$$k(B + $B%Q%9%o!<%I$O(B Base64 $B$GId9f2=$5$l$?(B SHA1 $B%Q%9%o!<%I$H$7$F2r<a$5$l$^$9!#(B + $B$5$i$J$k>pJs$d(B Netscape $B$N(B ldap/ldif $B%(%s%H%j$rJQ49$9$k$?$a$N(B + $B%f!<%F%#%j%F%#!<$O!"(Bsupport/SHA1 $B$K$"$j$^$9!#(B +</DL> + + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> + diff --git a/usr.sbin/httpd/htdocs/manual/programs/ab.html b/usr.sbin/httpd/htdocs/manual/programs/ab.html new file mode 100644 index 00000000000..4df2cbfd638 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/programs/ab.html @@ -0,0 +1,164 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> + <title>Manual Page: ab - Apache HTTP Server</title> +</head> + + <!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <body + bgcolor="#ffffff" + text="#000000" + link="#0000ff" + vlink="#000080" + alink="#ff0000" + > + <DIV ALIGN="CENTER"> + <IMG SRC="../images/sub.gif" ALT="[APACHE DOCUMENTATION]"> + <H3> + Apache HTTP Server Version 1.3 + </H3> +</DIV> + + + + <h1 align="center">Manual Page: ab</h1> + +<!-- This document was autogenerated from the man page --> +<pre> +<strong>NAME</strong> + ab - Apache HTTP server benchmarking tool + +<strong>SYNOPSIS</strong> + <strong>ab </strong>[ -<strong>k </strong>] [ -<strong>i </strong>] [ -<strong>n </strong><em>requests </em>] [ -<strong>t </strong><em>timelimit </em>] [ -<strong>c </strong><em>con-</em> + <em>currency </em>] [ -<strong>p </strong><em>POST file </em>] [ -<strong>A </strong><em>Authenticate</em> + <em>username</em>:<em>password </em>] [ -<strong>P </strong><em>Proxy Authenticate</em> + <em>username</em>:<em>password </em>] [ -<strong>H </strong><em>Custom header </em>] [ -<strong>C </strong><em>Cookie</em> + <em>name</em>=<em>value </em>] [ -<strong>T </strong><em>content</em>-<em>type </em>] [ -<strong>v </strong><em>verbosity </em>] ] [ -<strong>w</strong> + <em>output HTML </em>] ] [ -<strong>x </strong><<em>table</em>> <em>attributes </em>] ] [ -<strong>y </strong><<em>tr</em>> <em>attri-</em> + <em>butes </em>] ] [ -<strong>z </strong><<em>td</em>> <em>attributes </em>] + [<em>http</em>://]<em>hostname</em>[:<em>port</em>]/<em>path</em> + + <strong>ab </strong>[ -<strong>V </strong>] [ -<strong>h </strong>] + +<strong>DESCRIPTION</strong> + <strong>ab </strong>is a tool for benchmarking the performance of your Apache + HyperText Transfer Protocol (HTTP) server. It does this by + giving you an indication of how many requests per second + your Apache installation can serve. + +<strong>OPTIONS</strong> + -<strong>k </strong>Enable the HTTP KeepAlive feature; that is, per- + form multiple requests within one HTTP session. + Default is no KeepAlive. + + -<strong>i </strong>Use an HTTP 'HEAD' instead of the GET method. + Cannot be mixed with POST. + + -<strong>n </strong><em>requests </em>The number of requests to perform for the bench- + marking session. The default is to perform just + one single request, which will not give + representative benchmarking results. + + -<strong>t </strong><em>timelimit</em> + The number of seconds to spend benchmarking. + Using this option automatically set the number + of requests for the benchmarking session to + 50000. Use this to benchmark the server for a + fixed period of time. By default, there is no + timelimit. + + -<strong>c </strong><em>concurrency</em> + The number of simultaneous requests to perform. + The default is to perform one HTTP request at a + time, that is, no concurrency. + + -<strong>p </strong><em>POST file</em> + A file containing data that the program will + send to the Apache server in any HTTP POST + requests. + + -<strong>A </strong><em>Authorization username</em>:<em>password</em> + Supply Basic Authentication credentials to the + server. The username and password are separated + by a single ':', and sent as uuencoded data. + The string is sent regardless of whether the + server needs it; that is, has sent a 401 Authen- + tication needed. + + -<strong>p </strong><em>Proxy</em>-<em>Authorization username</em>:<em>password</em> + Supply Basic Authentication credentials to a + proxy en-route. The username and password are + separated by a single ':', and sent as uuencoded + data. The string is sent regardless of whether + the proxy needs it; that is, has sent a 407 + Proxy authentication needed. + + -<strong>C </strong><em>Cookie name</em>=<em>value</em> + Add a 'Cookie:' line to the request. The argu- + ment is typically a 'name=value' pair. This + option may be repeated. + + -<strong>p </strong><em>Header string</em> + Append extra headers to the request. The argu- + ment is typically in the form of a valid header + line, usually a colon separated field value + pair, for example, 'Accept-Encoding: + zip/zop;8bit'. + + -<strong>T </strong><em>content</em>-<em>type</em> + The content-type header to use for POST data. + + -<strong>v </strong>Sets the verbosity level. Level 4 and above + prints information on headers, level 3 and above + prints response codes (for example, 404, 200), + and level 2 and above prints warnings and infor- + mational messages. + + -<strong>w </strong>Print out results in HTML tables. The default + table is two columns wide, with a white back- + ground. + + -<strong>x </strong><em>attributes</em> + The string to use as attributes for <table>. + Attributes are inserted <table <strong>here </strong>> + + -<strong>y </strong><em>attributes</em> + The string to use as attributes for <tr>. + + -<strong>z </strong><em>attributes</em> + The string to use as attributes for <td>. + + -<strong>V </strong>Display the version number and exit. + + -<strong>h </strong>Display usage information. + +<strong>BUGS</strong> + There are various statically declared buffers of fixed + length. Combined with inefficient parsing of the command + line arguments, the response headers from the server, and + other external inputs, these buffers might overflow. + + <strong>Ab </strong>does not implement HTTP/1.x fully; instead, it only + accepts some 'expected' forms of responses. + + The rather heavy use of <strong>strstr(3) </strong>by the program may skew + performance results, since it uses significant CPU + resources. Make sure that performance limits are not hit by + <strong>ab </strong>before your server's limit is reached. + +<strong>SEE ALSO</strong> + <strong>httpd(8)</strong> + +</pre> + + +<HR> + +<H3 ALIGN="CENTER"> + Apache HTTP Server Version 1.3 +</H3> + +<A HREF="./"><IMG SRC="../images/index.gif" ALT="Index"></A> +<A HREF="../"><IMG SRC="../images/home.gif" ALT="Home"></A> + +</body></html> diff --git a/usr.sbin/httpd/htdocs/manual/programs/apxs.html b/usr.sbin/httpd/htdocs/manual/programs/apxs.html new file mode 100644 index 00000000000..f0b3aa32666 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/programs/apxs.html @@ -0,0 +1,297 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> + <title>Manual Page: apxs - Apache HTTP Server</title> +</head> + + <body + bgcolor="#ffffff" + text="#000000" + link="#0000ff" + vlink="#000080" + alink="#ff0000" + > +<DIV ALIGN="CENTER"> + <IMG SRC="../images/sub.gif" ALT="[APACHE DOCUMENTATION]"> + <H3> + Apache HTTP Server Version 1.3 + </H3> +</DIV> + + + + <h1 align="center">Manual Page: apxs</h1> + +<!-- This document was autogenerated from the man page --> +<pre> +<strong>NAME</strong> + apxs - APache eXtenSion tool + +<strong>SYNOPSIS</strong> + <strong>apxs </strong>-<strong>g </strong>[ -<strong>S </strong><em>variable</em>=<em>value </em>] -<strong>n </strong><em>name</em> + + <strong>apxs </strong>-<strong>q </strong>[ -<strong>S </strong><em>variable</em>=<em>value </em>] <em>query </em>... + + <strong>apxs </strong>-<strong>c </strong>[ -<strong>S </strong><em>variable</em>=<em>value </em>] [ -<strong>o </strong><em>dsofile </em>] [ -<strong>I </strong><em>incdir </em>] [ + -<strong>D </strong><em>variable</em>[=<em>value</em>] ] [ -<strong>L </strong><em>libdir </em>] [ -<strong>l </strong><em>libname </em>] [ + -<strong>Wc,</strong><em>compiler</em>-<em>flags </em>] [ -<strong>Wl,</strong><em>linker</em>-<em>flags </em>] <em>files </em>... + + <strong>apxs </strong>-<strong>i </strong>[ -<strong>S </strong><em>variable</em>=<em>value </em>] [ -<strong>n </strong><em>name </em>] [ -<strong>a </strong>] [ -<strong>A </strong>] <em>dso-</em> + <em>file </em>... + + <strong>apxs </strong>-<strong>e </strong>[ -<strong>S </strong><em>variable</em>=<em>value </em>] [ -<strong>n </strong><em>name </em>] [ -<strong>a </strong>] [ -<strong>A </strong>] <em>dso-</em> + <em>file </em>... + +<strong>DESCRIPTION</strong> + <strong>apxs </strong>is a tool for building and installing extension modules + for the Apache HyperText Transfer Protocol (HTTP) server. + This is achieved by building a Dynamic Shared Object (DSO) + from one or more source or object <em>files </em>which then can be + loaded into the Apache server under runtime via the <strong>LoadMo-</strong> + <strong>dule </strong>directive from <strong>mod_so.</strong> + + So to use this extension mechanism, your platform has to + support the DSO feature and your Apache <strong>httpd </strong>binary has to + be built with the <strong>mod_so </strong>module. The <strong>apxs </strong>tool automati- + cally complains if this is not the case. You can check this + yourself by manually running the command + + $ httpd -l + + The module <strong>mod_so </strong>should be part of the displayed list. If + these requirements are fulfilled, you can easily extend your + Apache server's functionality by installing your own modules + with the DSO mechanism by the help of this <strong>apxs </strong>tool: + + $ apxs -i -a -c mod_foo.c + gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c + ld -Bshareable -o mod_foo.so mod_foo.o + cp mod_foo.so /path/to/apache/libexec/mod_foo.so + chmod 755 /path/to/apache/libexec/mod_foo.so + [activating module `foo' in /path/to/apache/etc/httpd.conf] + $ apachectl restart + /path/to/apache/sbin/apachectl restart: httpd not running, trying to start + [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module + /path/to/apache/sbin/apachectl restart: httpd started + $ _ + + The arguments <em>files </em>can be any C source file (.c), a object + file (.o) or even a library archive (.a). The <strong>apxs </strong>tool + automatically recognizes these extensions and automatically + uses the C source files for compilation while it just uses + the object and archive files for the linking phase. But when + using such pre-compiled objects, make sure they are compiled + for Position Independent Code (PIC) to be able to use them + for a DSO. For instance with GCC you always just have to use + <strong>-fpic</strong>. For other C compilers please consult its manual page + or watch for the flags <strong>apxs </strong>uses to compile the object + files. + + For more details about DSO support in Apache, first read the + background information about DSO in htdocs/manual/dso.html, + then read the documentation of <strong>mod_so</strong>. + +<strong>OPTIONS</strong> + Common options: + + -<strong>n </strong><em>name </em>This explicitly sets the module name for the -<strong>i</strong> + (install) and -<strong>g </strong>(template generation) option. + Use this to explicitly specify the module name. + For option -<strong>g </strong>this is required, for option -<strong>i</strong> + the <strong>apxs </strong>tool tries to determine the name from + the source or (as a fallback) at least by guess- + ing it from the filename. + + Query options: + + -<strong>q </strong>Performs a query for <strong>apxs</strong>'s knowledge about cer- + tain settings. The <em>query </em>parameters can be one + or more of the following variable names: + CC TARGET + CFLAGS SBINDIR + CFLAGS_SHLIB INCLUDEDIR + LD_SHLIB LIBEXECDIR + LDFLAGS_SHLIB SYSCONFDIR + LIBS_SHLIB PREFIX + Use this for manually determining settings. For + instance use + INC=-I`apxs -q INCLUDEDIR` + inside your own Makefiles if you need manual + access to Apache's C header files. + + Configuration options: + + -<strong>S </strong><em>variable</em>=<em>value</em> + This option changes the <strong>apxs </strong>settings described + above. + + Template Generation options: + -<strong>g </strong>This generates a subdirectory <em>name </em>(see option + -<strong>n</strong>) and there two files: A sample module source + file named <strong>mod_</strong><em>name</em>.<em>c </em>which can be used as a + template for creating your own modules or as a + quick start for playing with the <strong>apxs </strong>mechanism. + And a corresponding <strong>Makefile </strong>for even easier + building and installing of this module. + + DSO compilation options: + + -<strong>c </strong>This indicates the compilation operation. It + first compiles the C source files (.c) of <em>files</em> + into corresponding object files (.o) and then + builds a DSO in <em>dsofile </em>by linking these object + files plus the remaining object files (.o and + .a) of <em>files </em>If no -<strong>o </strong>option is specified the + output file is guessed from the first filename + in <em>files </em>and thus usually defaults to + <strong>mod_</strong><em>name</em>.<em>so</em> + + -<strong>o </strong><em>dsofile </em>Explicitly specifies the filename of the created + DSO file. If not specified and the name cannot + be guessed from the <em>files </em>list, the fallback + name <strong>mod_unknown.so </strong>is used. + + -<strong>D </strong><em>variable</em>[=<em>value</em>] + This option is directly passed through to the + compilation command(s). Use this to add your + own defines to the build process. + + -<strong>I </strong><em>incdir </em>This option is directly passed through to the + compilation command(s). Use this to add your + own include directories to search to the build + process. + + -<strong>L </strong><em>libdir </em>This option is directly passed through to the + linker command. Use this to add your own + library directories to search to the build pro- + cess. + + -<strong>l </strong><em>libname </em>This option is directly passed through to the + linker command. Use this to add your own + libraries to search to the build process. + + -<strong>Wc,</strong><em>compiler</em>-<em>flags</em> + This option passes <em>compiler</em>-<em>flags </em>as additional + flags to the compiler command. Use this to add + local compiler-specific options. + + -<strong>Wl,</strong><em>linker</em>-<em>flags</em> + This option passes <em>linker</em>-<em>flags </em>as additional + flags to the linker command. Use this to add + local linker-specific options. + + DSO installation and configuration options: + + -<strong>i </strong>This indicates the installation operation and + installs one or more DSOs into the server's + <em>libexec </em>directory. + + -<strong>a </strong>This activates the module by automatically + adding a corresponding <strong>LoadModule </strong>line to + Apache's <strong>httpd.conf </strong>configuration file, or by + enabling it if it already exists. + + -<strong>A </strong>Same as option -<strong>a </strong>but the created <strong>LoadModule</strong> + directive is prefixed with a hash sign (#), i.e. + the module is just prepared for later activation + but initially disabled. + + -<strong>e </strong>This indicates the editing operation, which can + be used with the -<strong>a </strong>and -<strong>A </strong>options similarly to + the -<strong>i </strong>operation to edit Apache's <strong>httpd.conf</strong> + configuration file without attempting to install + the module. + +<strong>EXAMPLES</strong> + Assume you have an Apache module named mod_foo.c available + which should extend Apache's server functionality. To accom- + plish this you first have to compile the C source into a DSO + suitable for loading into the Apache server under runtime + via the following command: + + $ apxs -c mod_foo.c + gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c + ld -Bshareable -o mod_foo.so mod_foo.o + $ _ + + Then you have to update the Apache configuration by making + sure a <strong>LoadModule </strong>directive is present to load this DSO. To + simplify this step <strong>apxs </strong>provides an automatic way to install + the DSO in the "libexec" directory and updating the + <strong>httpd.conf </strong>file accordingly. This can be achieved by run- + ning: + + $ apxs -i -a mod_foo.c + cp mod_foo.so /path/to/apache/libexec/mod_foo.so + chmod 755 /path/to/apache/libexec/mod_foo.so + [activating module `foo' in /path/to/apache/etc/httpd.conf] + $ _ + + This way a line named + + LoadModule foo_module libexec/mod_foo.so + + is added to the configuration file if still not present. If + you want to have this operation to be disabled, use the -<strong>A</strong> + option, i.e. + + $ apxs -i -A mod_foo.c + + For a quick test of the <strong>apxs </strong>mechanism you can create a sam- + ple Apache module template plus a corresponding <strong>Makefile</strong> + via: + + $ apxs -g -n foo + Creating [DIR] foo + Creating [FILE] foo/Makefile + Creating [FILE] foo/mod_foo.c + $ _ + + Then you can immediately compile this sample module into a + DSO and load it into the Apache server: + + $ cd foo + $ make all reload + apxs -c mod_foo.c + gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c + ld -Bshareable -o mod_foo.so mod_foo.o + apxs -i -a -n "foo" mod_foo.so + cp mod_foo.so /path/to/apache/libexec/mod_foo.so + chmod 755 /path/to/apache/libexec/mod_foo.so + [activating module `foo' in /path/to/apache/etc/httpd.conf] + apachectl restart + /path/to/apache/sbin/apachectl restart: httpd not running, trying to start + [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module + /path/to/apache/sbin/apachectl restart: httpd started + $ _ + + You can even use <strong>apxs </strong>to compile complex modules outside the + Apache source tree, like PHP3, because <strong>apxs </strong>automatically + recognized C source files and object files. + + $ cd php3 + $ ./configure --with-shared-apache=../apache-1.3 + $ apxs -c -o libphp3.so mod_php3.c libmodphp3-so.a + gcc -fpic -DSHARED_MODULE -I/tmp/apache/include -c mod_php3.c + ld -Bshareable -o libphp3.so mod_php3.o libmodphp3-so.a + $ _ + + Only C source files are compiled while remaining object + files are used for the linking phase. + +<strong>SEE ALSO</strong> + <strong>apachectl(1), httpd(8).</strong> + +</pre> + + +<HR> + +<H3 ALIGN="CENTER"> + Apache HTTP Server Version 1.3 +</H3> + +<A HREF="./"><IMG SRC="../images/index.gif" ALT="Index"></A> +<A HREF="../"><IMG SRC="../images/home.gif" ALT="Home"></A> + +</body></html> diff --git a/usr.sbin/httpd/htdocs/manual/programs/dbmmanage.html b/usr.sbin/httpd/htdocs/manual/programs/dbmmanage.html new file mode 100644 index 00000000000..48d8e5677d6 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/programs/dbmmanage.html @@ -0,0 +1,132 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> + <title>Manual Page: dbmmanage - Apache HTTP Server</title> +</head> + + <body + bgcolor="#ffffff" + text="#000000" + link="#0000ff" + vlink="#000080" + alink="#ff0000" + > +<DIV ALIGN="CENTER"> + <IMG SRC="../images/sub.gif" ALT="[APACHE DOCUMENTATION]"> + <H3> + Apache HTTP Server Version 1.3 + </H3> +</DIV> + + + + <h1 align="center">Manual Page: dbmmanage</h1> + +<!-- This document was autogenerated from the man page --> +<pre> +<strong>NAME</strong> + dbmmanage - Create and update user authentication files in + DBM format + +<strong>SYNOPSIS</strong> + <strong>dbmmanage </strong><em>filename </em>[ <em>command </em>] [ <em>username </em>[ <em>encpasswd </em>] ] + +<strong>DESCRIPTION</strong> + <strong>dbmmanage </strong>is used to create and update the DBM format files + used to store usernames and password for basic authentica- + tion of HTTP users. Resources available from the <strong>httpd</strong> + Apache web server can be restricted to just the users listed + in the files created by <strong>dbmmanage. </strong>This program can only be + used when the usernames are stored in a DBM file. To use a + flat-file database see <strong>htpasswd</strong>. + + This manual page only lists the command line arguments. For + details of the directives necessary to configure user + authentication in <strong>httpd </strong>see the Apache manual, which is part + of the Apache distribution or can be found at + http://www.apache.org/. + +<strong>OPTIONS</strong> + <em>filename</em> + The filename of the DBM format file. Usually without + the extension .db, .pag, or .dir. + + <em>command</em> + This selects the operation to perform: + + <strong>add </strong>Adds an entry for <em>username </em>to <em>filename </em>using the + encrypted password <em>encpassword</em>. + + <strong>adduser </strong>Asks for a password and then adds an entry for + <em>username </em>to <em>filename </em>. + + <strong>check </strong>Asks for a password and then checks if <em>username</em> + is in <em>filename </em>and if it's password matches the + specified one. + + <strong>delete </strong>Deletes the <em>username </em>entry from <em>filename</em>. + + <strong>import </strong>Reads username:password entries (one per line) + from STDIN and adds them to <em>filename</em>. The pass- + words already has to be crypted. + + <strong>update </strong>Same as the "adduser" command, except that it + makes sure <em>username </em>already exists in <em>filename</em>. + + <strong>view </strong>Just displays the complete contents of the DBM + file. + + <em>username </em>The user for which the update operation is per- + formed. + +<strong>BUGS</strong> + One should be aware that there are a number of different DBM + file formats in existence, and with all likelihood, + libraries for more than one format may exist on your system. + The three primary examples are NDBM, the GNU project's GDBM, + and Berkeley DB 2. Unfortunately, all these libraries use + different file formats, and you must make sure that the file + format used by <em>filename </em>is the same format that <strong>dbmmanage</strong> + expects to see. <strong>dbmmanage </strong>currently has no way of determin- + ing what type of DBM file it is looking at. If used against + the wrong format, will simply return nothing, or may create + a different DBM file with a different name, or at worst, it + may corrupt the DBM file if you were attempting to write to + it. + + <strong>dbmmanage </strong>has a list of DBM format preferences, defined by + the <strong>@AnyDBM::ISA </strong>array near the beginning of the program. + Since we prefer the Berkeley DB 2 file format, the order in + which <strong>dbmmanage </strong>will look for system libraries is Berkeley + DB 2, then NDBM, and then GDBM. The first library found + will be the library <strong>dbmmanage </strong>will attempt to use for all + DBM file transactions. This ordering is slightly different + than the standard <strong>@AnyDBM::ISA </strong>ordering in perl, as well as + the ordering used by the simple dbmopen() call in Perl, so + if you use any other utilities to manage your DBM files, + they must also follow this preference ordering. Similar + care must be taken if using programs in other languages, + like C, to access these files. + + Apache's <strong>mod_auth_db.c </strong>module corresponds to Berkeley DB 2 + library, while <strong>mod_auth_dbm.c </strong>corresponds to the NDBM + library. Also, one can usually use the <strong>file </strong>program sup- + plied with most Unix systems to see what format a DBM file + is in. + +<strong>SEE ALSO</strong> + <strong>httpd(8)</strong> + +</pre> + + +<HR> + +<H3 ALIGN="CENTER"> + Apache HTTP Server Version 1.3 +</H3> + +<A HREF="./"><IMG SRC="../images/index.gif" ALT="Index"></A> +<A HREF="../"><IMG SRC="../images/home.gif" ALT="Home"></A> + +</body></html> diff --git a/usr.sbin/httpd/htdocs/manual/programs/footer.html b/usr.sbin/httpd/htdocs/manual/programs/footer.html new file mode 100644 index 00000000000..7fe745dcfde --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/programs/footer.html @@ -0,0 +1,8 @@ +<HR> + +<H3 ALIGN="CENTER"> + Apache HTTP Server Version 1.3 +</H3> + +<A HREF="./"><IMG SRC="../images/index.gif" ALT="Index"></A> +<A HREF="../"><IMG SRC="../images/home.gif" ALT="Home"></A> diff --git a/usr.sbin/httpd/htdocs/manual/programs/header.html b/usr.sbin/httpd/htdocs/manual/programs/header.html new file mode 100644 index 00000000000..56623000296 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/programs/header.html @@ -0,0 +1,6 @@ +<DIV ALIGN="CENTER"> + <IMG SRC="../images/sub.gif" ALT="[APACHE DOCUMENTATION]"> + <H3> + Apache HTTP Server Version 1.3 + </H3> +</DIV> diff --git a/usr.sbin/httpd/htdocs/manual/programs/htdigest.html b/usr.sbin/httpd/htdocs/manual/programs/htdigest.html new file mode 100644 index 00000000000..5514c1443cb --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/programs/htdigest.html @@ -0,0 +1,82 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> + <title>Manual Page: htdigest - Apache HTTP Server</title> +</head> + + <!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <body + bgcolor="#ffffff" + text="#000000" + link="#0000ff" + vlink="#000080" + alink="#ff0000" + > + <DIV ALIGN="CENTER"> + <IMG SRC="../images/sub.gif" ALT="[APACHE DOCUMENTATION]"> + <H3> + Apache HTTP Server Version 1.3 + </H3> +</DIV> + + + + <h1 align="center">Manual Page: htdigest</h1> + + +<!-- This document was autogenerated from the man page --> +<pre> +<strong>NAME</strong> + htdigest - Create and update user authentication files + +<strong>SYNOPSIS</strong> + <strong>htdigest </strong>[ -<strong>c </strong>] <em>passwdfile realm username</em> + +<strong>DESCRIPTION</strong> + <strong>htdigest </strong>is used to create and update the flat-files used to + store usernames, realm and password for digest authentica- + tion of HTTP users. Resources available from the <strong>httpd</strong> + Apache web server can be restricted to just the users listed + in the files created by <strong>htdigest.</strong> + + This manual page only lists the command line arguments. For + details of the directives necessary to configure digest + authentication in <strong>httpd </strong>see the Apache manual, which is part + of the Apache distribution or can be found at + http://www.apache.org/. + +<strong>OPTIONS</strong> + -c Create the <em>passwdfile</em>. If <em>passwdfile </em>already exists, it + is deleted first. + + <em>passwdfile</em> + Name of the file to contain the username, realm and + password. If -c is specified, this file is created if + it does not already exist, or deleted and recreated if + it does exist. + + <em>realm</em> + The realm name to which the user name belongs. + + <em>username</em> + The user name to create or update in <strong>passwdfile</strong>. If + <em>username </em>does not exist is this file, an entry is + added. If it does exist, the password is changed. + +<strong>SEE ALSO</strong> + <strong>httpd(8)</strong> + +</pre> + + +<HR> + +<H3 ALIGN="CENTER"> + Apache HTTP Server Version 1.3 +</H3> + +<A HREF="./"><IMG SRC="../images/index.gif" ALT="Index"></A> +<A HREF="../"><IMG SRC="../images/home.gif" ALT="Home"></A> + +</body> +</html> diff --git a/usr.sbin/httpd/htdocs/manual/programs/logresolve.html b/usr.sbin/httpd/htdocs/manual/programs/logresolve.html new file mode 100644 index 00000000000..fda37852b8d --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/programs/logresolve.html @@ -0,0 +1,68 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> + <title>Manual Page: logresolve - Apache HTTP Server</title> +</head> + + <body + bgcolor="#ffffff" + text="#000000" + link="#0000ff" + vlink="#000080" + alink="#ff0000" + > + +<DIV ALIGN="CENTER"> + <IMG SRC="../images/sub.gif" ALT="[APACHE DOCUMENTATION]"> + <H3> + Apache HTTP Server Version 1.3 + </H3> +</DIV> + +<!-- This document was autogenerated from the man page --> + + +<h1 align="center">Manual Page: logresolve</h1> + +<pre> +<strong>NAME</strong> + logresolve - resolve hostnames for IP-addresses in Apache + logfiles + +<strong>SYNOPSIS</strong> + <strong>logresolve </strong>[ -<strong>s </strong><em>filename </em>] [ -<strong>c </strong>] < <em>access</em>_<em>log </em>> + <em>access</em>_<em>log</em>.<em>new</em> + +<strong>DESCRIPTION</strong> + <strong>logresolve </strong>is a post-processing program to resolve IP- + addresses in Apache's access logfiles. To minimize impact on + your nameserver, logresolve has its very own internal hash- + table cache. This means that each IP number will only be + looked up the first time it is found in the log file. + +<strong>OPTIONS</strong> + -<strong>s </strong><em>filename </em>Specifies a filename to record statistics. + + -<strong>c </strong>This causes <strong>logresolve </strong>to apply some DNS checks: + after finding the hostname from the IP address, + it looks up the IP addresses for the hostname + and checks that one of these matches the origi- + nal address. + +<strong>SEE ALSO</strong> + <strong>httpd(8)</strong> +</pre> + + +<HR> + +<H3 ALIGN="CENTER"> + Apache HTTP Server Version 1.3 +</H3> + +<A HREF="./"><IMG SRC="../images/index.gif" ALT="Index"></A> +<A HREF="../"><IMG SRC="../images/home.gif" ALT="Home"></A> + + +</body> +</html> diff --git a/usr.sbin/httpd/htdocs/manual/programs/other.html b/usr.sbin/httpd/htdocs/manual/programs/other.html new file mode 100644 index 00000000000..523497a501b --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/programs/other.html @@ -0,0 +1,60 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> + <head> + <title>Other Programs - Apache HTTP Server</title> + </head> + + <!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <body + bgcolor="#ffffff" + text="#000000" + link="#0000ff" + vlink="#000080" + alink="#ff0000" + > + <DIV ALIGN="CENTER"> + <IMG SRC="../images/sub.gif" ALT="[APACHE DOCUMENTATION]"> + <H3> + Apache HTTP Server Version 1.3 + </H3> +</DIV> + + + + <h1 align="center">Other Programs</h1> + +<p>The following programs are simple support programs included with +the Apache HTTP Server which do not have their own manual pages.</p> + +<h2><a name="log_server_status">log_server_status</a></h2> + +<p>This Perl script is designed to be run at a frequent interval by something +like cron. It connects to the server and downloads the status +information. It reformats the information to a single line and logs +it to a file. Adjust the variables at the top of the script +to specify the location of the resulting logfile.</p> + +<h2><a name="split-logfile">split-logfile</a></h2> + +<p>This Perl script will take a combined Web server access +log file and break its contents into separate files. +It assumes that the first field of each line is the +virtual host identity (put there by "%v"), and that +the logfiles should be named that+".log" in the current +directory.</p> + +<p>The combined log file is read from stdin. Records read +will be appended to any existing log files.</p> + + + <HR> + +<H3 ALIGN="CENTER"> + Apache HTTP Server Version 1.3 +</H3> + +<A HREF="./"><IMG SRC="../images/index.gif" ALT="Index"></A> +<A HREF="../"><IMG SRC="../images/home.gif" ALT="Home"></A> + + </body> +</html> diff --git a/usr.sbin/httpd/htdocs/manual/programs/rotatelogs.html b/usr.sbin/httpd/htdocs/manual/programs/rotatelogs.html new file mode 100644 index 00000000000..933a491210a --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/programs/rotatelogs.html @@ -0,0 +1,72 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> + <title>Manual Page: rotatelogs - Apache HTTP Server</title> +</head> + + + <!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <body + bgcolor="#ffffff" + text="#000000" + link="#0000ff" + vlink="#000080" + alink="#ff0000" + > + <DIV ALIGN="CENTER"> + <IMG SRC="../images/sub.gif" ALT="[APACHE DOCUMENTATION]"> + <H3> + Apache HTTP Server Version 1.3 + </H3> +</DIV> + + + + <h1 align="center">Manual Page: rotatelogs</h1> + +<!-- This document was autogenerated from the man page --> +<pre> +<strong>NAME</strong> + rotatelogs - rotate Apache logs without having to kill the + server + +<strong>SYNOPSIS</strong> + <strong>rotatelogs </strong><em>logfile rotationtime</em> + +<strong>DESCRIPTION</strong> + <strong>rotatelogs </strong>is a simple program for use in conjunction with + Apache's piped logfile feature which can be used like this: + + TransferLog "|rotatelogs /path/to/logs/access_log 86400" + + This creates the files /path/to/logs/access_log.nnnn where + nnnn is the system time at which the log nominally starts + (this time will always be a multiple of the rotation time, + so you can synchronize cron scripts with it). At the end of + each rotation time (here after 24 hours) a new log is + started. + +<strong>OPTIONS</strong> + <em>logfile</em> + The path plus basename of the logfile. The suffix .nnnn + is automatically added. + + <em>rotationtime</em> + The rotation time in seconds. + +<strong>SEE ALSO</strong> + <strong>httpd(8)</strong> + +</pre> + + +<HR> + +<H3 ALIGN="CENTER"> + Apache HTTP Server Version 1.3 +</H3> + +<A HREF="./"><IMG SRC="../images/index.gif" ALT="Index"></A> +<A HREF="../"><IMG SRC="../images/home.gif" ALT="Home"></A> + +</body></html> diff --git a/usr.sbin/httpd/htdocs/manual/server-wide.html.en b/usr.sbin/httpd/htdocs/manual/server-wide.html.en new file mode 100644 index 00000000000..82395e538e4 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/server-wide.html.en @@ -0,0 +1,217 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Server-Wide Configuration</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<h1 align="center">Server-Wide Configuration</h1> + +<p>This document explains some of the directives provided by the +<a href="mod/core.html">core</A> server which are used to configure +the basic operations of the server.</p> + +<ul> +<li><a href="#identification">Server Identification</a></li> +<li><a href="#locations">File Locations</a></li> +<li><a href="#process">Process Creation</a></li> +<li><a href="#network">Network Configuration</a></li> +<li><a href="#resource">Limiting Resource Usage</a></li> +</ul> + +<hr> + +<h2><a name="identification">Server Identification</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<A HREF="mod/core.html#servername">ServerName</A><br> +<A HREF="mod/core.html#serveradmin">ServerAdmin</A><br> +<A HREF="mod/core.html#serversignature">ServerSignature</A><br> +<A HREF="mod/core.html#servertokens">ServerTokens</A><br> +<A HREF="mod/core.html#usecanonicalname">UseCanonicalName</A><br> +</td></tr></table> + +<p>The <code>ServerAdmin</code> and <code>ServerTokens</code> +directives control what information about the server will be presented +in server-generated documents such as error messages. +The <code>ServerTokens</code> directive sets the value of the +Server HTTP response header field.</p> + +<p>The <code>ServerName</code> and <code>UseCanonicalName</code> +directives are used by the server to determine how to construct +self-referential URLs. For example, when a client requests a +directory, but does not include the trailing slash in the directory +name, Apache must redirect the client to the full name including the +trailing slash so that the client will correctly resolve relative +references in the document.</p> + +<hr> + +<h2><a name="locations">File Locations</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="mod/core.html#coredumpdirectory">CoreDumpDirectory</a><br> +<a href="mod/core.html#documentroot">DocumentRoot</a><br> +<a href="mod/core.html#errorlog">ErrorLog</a><br> +<a href="mod/core.html#lockfile">Lockfile</a><br> +<a href="mod/core.html#pidfile">PidFile</a><br> +<a href="mod/core.html#scoreboardfile">ScoreBoardFile</a><br> +<a href="mod/core.html#serverroot">ServerRoot</a><br> +</td></tr></table> + +<p>These directives control the locations of the various files that +Apache needs for proper operation. When the pathname used does not +begin with a slash "/", the files are located relative to the +<code>ServerRoot</code>. Be careful about locating files in paths +which are writable by non-root users. See the <a +href="misc/security_tips.html">security tips</a> documentation for +more details.</p> + +<hr> + +<h2><a name="process">Process Creation</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="mod/core.html#bs2000account">BS2000Account</a><br> +<a href="mod/core.html#group">Group</a><br> +<a href="mod/core.html#maxclients">MaxClients</a><br> +<a href="mod/core.html#maxrequestsperchild">MaxRequestsPerChild</a><br> +<a href="mod/core.html#maxspareservers">MaxSpareServers</a><br> +<a href="mod/core.html#minspareservers">MinSpareServers</a><br> +<a href="mod/core.html#servertype">ServerType</a><br> +<a href="mod/core.html#startservers">StartServers</a><br> +<a href="mod/core.html#threadsperchild">ThreadsPerChild</a><br> +<a href="mod/core.html#user">User</a><br> +</td></tr></table> + +<p>When <code>ServerType</code> is set to its recommended value of +<code>Standalone</code>, Apache 1.3 for Unix is a pre-forking web +server. A single control process is responsible for launching child +processes which listen for connections and serve them when they +arrive. Apache always tries to maintain several <em>spare</em> or +idle server processes, which stand ready to serve incoming requests. +In this way, clients do not need to wait for a new child processes to +be forked before their requests can be served.</p> + +<p>The <code>StartServers</code>, <code>MinSpareServers</code>, +<code>MaxSpareServers</code>, and <code>MaxServers</code> regulate how +the parent process creates children to serve requests. In general, +Apache is very self-regulating, so most sites do not need to adjust +these directives from their default values. Sites which need to serve +more than 256 simultaneous requests may need to increase +<code>MaxClients</code>, while sites with limited memory may need to +decrease <code>MaxClients</code> to keep the server from thrashing +(swapping memory to disk and back). More information about tuning +process creation is provided in the <a +href="misc/perf-tuning.html">performance hints</a> documentation.</p> + +<p>While the parent process is usually started as root under Unix +in order to bind to port 80, the child processes are launched +by Apache as a less-privileged user. The <code>User</code> and +<code>Group</code> directives are used to set the privileges +of the Apache child processes. The child processes must +be able to read all the content that will be served, but +should have as few privileges beyond that as possible. +In addition, unless <a href="suexec.html">suexec</a> is used, +these directives also set the privileges which will be inherited +by CGI scripts.</p> + +<p><code>MaxRequestsPerChild</code> controls how frequently the server +recycles processes by killing old ones and launching new ones.</p> + +<p>Under Windows, Apache launches one control process and one +child process. The child process creates multiple threads to +serve requests. The number of threads is controlled by the +<code>ThreadsPerChild</code> directive.</p> + +<hr> + +<h2><a name="network">Network Configuration</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="mod/core.html#bindaddress">BindAddress</a><br> +<a href="mod/core.html#keepalive">KeepAlive</a><br> +<a href="mod/core.html#keepalivetimeout">KeepAliveTimeout</a><br> +<a href="mod/core.html#listen">Listen</a><br> +<a href="mod/core.html#listenbacklog">ListenBackLog</a><br> +<a href="mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a><br> +<a href="mod/core.html#port">Port</a><br> +<a href="mod/core.html#sendbuffersize">SendBufferSize</a><br> +<a href="mod/core.html#timeout">TimeOut</a><br> +</td></tr></table> + +<p>When Apache starts, it connects to some port and address on the +local machine and waits for incoming requests. By default, it listens +to all addresses on the machine, and to the port as specified by the +<code>Port</code> directive in the server configuration. However, it +can be told to listen to more than one port, to listen to only +selected addresses, or a combination. This is often combined with the +<a href="vhosts/">Virtual Host</a> feature which determines how Apache +responds to different IP addresses, hostnames and ports.</p> + +<p>There are two directives used to restrict or specify which addresses +and ports Apache listens to. The <code>BindAddress</code> directive +is used to restrict the server to listening to a single IP address. +The <code>Listen</code> directive can be used to specify multiple +IP addresses and/or Ports to which Apache will listen.</p> + +<p>The <code>ListenBackLog</code>, <code>SendBufferSize</code>, and +<code>TimeOut</code> directives are used to adjust how Apache +interacts with the network.</p> + +<p>The <code>KeepAlive</code>, <code>KeepAliveTimeout</code>, +and <code>MaxKeepAliveRequests</code> directives are used to +configure how Apache handles persistent connections.</p> + +<hr> +<h2><a name="resource">Limiting Resource Usage</a></h2> +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="mod/core.html#limitrequestbody">LimitRequestBody</a><br> +<a href="mod/core.html#limitrequestfields">LimitRequestFields</a><br> +<a href="mod/core.html#limitrequestfieldsize">LimitRequestFieldsize</a><br> +<a href="mod/core.html#limitrequestline">LimitRequestLine</a><br> +<a href="mod/core.html#rlimitcpu">RLimitCPU</a><br> +<a href="mod/core.html#rlimitmem">RLimitMEM</a><br> +<a href="mod/core.html#rlimitnproc">RLimitNPROC</a><br> +<a href="mod/core.html#threadstacksize">ThreadStackSize</a><br> +</td></tr></table> + +<p>The <code>LimitRequest</code>* directives are used to place limits +on the amount of resources Apache will use in reading requests +from clients. By limiting these values, some kinds of denial +of service attacks can be mitigated.</p> + +<p>The <code>RLimit</code>* directives are used to limit the amount +of resources which can be used by processes forked off from +the Apache children. In particular, this will control +resources used by CGI scripts and SSI exec commands.</p> + +<p>The <code>ThreadStackSize</code> directive is used only +on Netware to control the stack size.</p> + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/manual/server-wide.html.fr b/usr.sbin/httpd/htdocs/manual/server-wide.html.fr new file mode 100644 index 00000000000..84a9293fb21 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/server-wide.html.fr @@ -0,0 +1,227 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<!--English revision 1.7 --> +<HTML> +<HEAD> +<TITLE>Configuration globale du serveur</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<h1 align="center">Configuration globale du serveur</h1> + +<p>Ce document décrit certaines directives traitées par le +<a href="mod/core.html">noyau</A> du serveur qui sont utilisées pour +configurer les opérations de base du serveur.</p> + +<ul> +<li><a href="#identification">Identification du serveur</a></li> +<li><a href="#locations">Emplacement des fichiers</a></li> +<li><a href="#process">Création des processus</a></li> +<li><a href="#network">Configuration réseau</a></li> +<li><a href="#resource">Limitation de l'utilisation des ressources</a></li> +</ul> + +<hr> + +<h2><a name="identification">Identification du serveur</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Directives associées</strong><br><br> + +<A HREF="mod/core.html#servername">ServerName</A><br> +<A HREF="mod/core.html#serveradmin">ServerAdmin</A><br> +<A HREF="mod/core.html#serversignature">ServerSignature</A><br> +<A HREF="mod/core.html#servertokens">ServerTokens</A><br> +<A HREF="mod/core.html#usecanonicalname">UseCanonicalName</A><br> +</td></tr></table> + +<p>Les directives <code>ServerAdmin</code> and <code>ServerTokens</code> +contrôlent quelles informations du serveur seront présentées +dans les pages générées par le serveur telles que les messages +d'erreur. La directive <code>ServerTokens</code> assigne la valeur du champ serveur +dans les en-têtes de réponse HTTP.</p> + +<p>Les directives <code>ServerName</code> and <code>UseCanonicalName</code> +sont utilisées pour déterminer comment former les URLs s'auto +référençant. Par exemple, quand un client requiert un +répertoire, mais n'inclut pas de barre oblique finale dans le nom du +répertoire, Apache doit rediriger le client vers le nom complet, incluant +la barre oblique finale permettant ainsi au client de résoudre correctement +les références relatives contenues dans le document.</p> + +<hr> + +<h2><a name="locations">Emplacement des fichiers</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Directives associées</strong><br><br> + +<a href="mod/core.html#coredumpdirectory">CoreDumpDirectory</a><br> +<a href="mod/core.html#documentroot">DocumentRoot</a><br> +<a href="mod/core.html#errorlog">ErrorLog</a><br> +<a href="mod/core.html#lockfile">Lockfile</a><br> +<a href="mod/core.html#pidfile">PidFile</a><br> +<a href="mod/core.html#scoreboardfile">ScoreBoardFile</a><br> +<a href="mod/core.html#serverroot">ServerRoot</a><br> +</td></tr></table> + +<p>Ces directives contrôlent les emplacements des différents +fichiers qu'Apache a besoin pour ses propres besoins. Quand le chemin employé +ne commence pas par une barre oblique, les fichiers sont localisés +relativement à <code>ServerRoot</code>. Soyez attentifs à placer +ces fichiers dans des chemins qui sont autorisés en écriture aux +utilisateurs autres que root. Voir les +<a href="misc/security_tips.html">trucs sur la sécurité</a> pour +plus de détails.</p> + +<hr> + +<h2><a name="process">Création des processus</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Directives associées</strong><br><br> + +<a href="mod/core.html#bs2000account">BS2000Account</a><br> +<a href="mod/core.html#group">Group</a><br> +<a href="mod/core.html#maxclients">MaxClients</a><br> +<a href="mod/core.html#maxrequestsperchild">MaxRequestsPerChild</a><br> +<a href="mod/core.html#maxspareservers">MaxSpareServers</a><br> +<a href="mod/core.html#minspareservers">MinSpareServers</a><br> +<a href="mod/core.html#servertype">ServerType</a><br> +<a href="mod/core.html#startservers">StartServers</a><br> +<a href="mod/core.html#threadsperchild">ThreadsPerChild</a><br> +<a href="mod/core.html#user">User</a><br> +</td></tr></table> + +<p>Si la directive <code>ServerType</code> est définie avec la +valeur recommandée de <code>Standalone</code>, +Apache 1.3 sur Unix est basé sur modèle de prélancement +des processus. Un unique processus de contrôle est responsable de lancer +des processus fils qui écoutent les connexions et les traitent à +leur arrivée. Apache essaye de maintenir un certain nombre processus +en réserve ou inactifs, qui restent toujours prêts à traiter +les requêtes arrivantes. De cette manière, les clients n'ont pas +à attendre que de nouveaux processus fils soient lancés avant que +leurs requêtes soient traitées.</p> + +<p>Les directives <code>StartServers</code>, <code>MinSpareServers</code>, +<code>MaxSpareServers</code>, and <code>MaxServers</code> régissent +comment le processus père crée les processus fils pour traiter les +requêtes. En général Apache se régit seul correctement, +et la plupart des sites n'ont pas besoin d'ajuster la valeur de ces directives. +Les sites qui veulent servir plus de 256 requêtes simultanées +doivent augmenter la valeur de <code>MaxClients</code>, tandis que les sites +tournant sur des machines limitées en mémoire doivent réduire +la valeur de <code>MaxClients</code> afin d'éviter d'utiliser le fichier +d'échange. Plus d'informations sur le paramétrage de la +création des processus se trouvent dans la documentation +<a href="misc/perf-tuning.html">Aide sur les performances gιnιrales</a>.</p> + +<p>Tandis que le processus père est généralement lancé +en tant que root sous Unix pour se connecter sur le port 80, les processus fils +sont lancés sous un utilisateur moins privilégié. +Les directives <code>User</code> et <code>Group</code> servent à définir +les privilèges des processus fils. Les processus fils doivent être +capable de lire le contenu devant être servi, mais doivent avoir le minimum +de privilèges possibles. De plus, à moins que +<a href="suexec.html">suexec</a> soit utilisé, ces directives définissent +également les droits qui seront hérités par les scripts CGI.</p> + +<p><code>MaxRequestsPerChild</code> contrôle la fréquence de +rénovation des processus, en supprimant les anciens et en lançant de +nouveaux.</p> + +<p>Sous Windows, Apache lance un processus père et un processus fils. +Le processus fils crée un ensemble de threads pour traiter les requêtes. +Le nombre de threads est contrôlé par la directive +<code>ThreadsPerChild</code>.</p> + +<hr> + +<h2><a name="network">Configuration réseau</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Directives associées</strong><br><br> + +<a href="mod/core.html#bindaddress">BindAddress</a><br> +<a href="mod/core.html#keepalive">KeepAlive</a><br> +<a href="mod/core.html#keepalivetimeout">KeepAliveTimeout</a><br> +<a href="mod/core.html#listen">Listen</a><br> +<a href="mod/core.html#listenbacklog">ListenBackLog</a><br> +<a href="mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a><br> +<a href="mod/core.html#port">Port</a><br> +<a href="mod/core.html#sendbuffersize">SendBufferSize</a><br> +<a href="mod/core.html#timeout">TimeOut</a><br> +</td></tr></table> + +<p>Au démarrage d'Apache, celui ci se connecte à un port et une +adresse donnés sur la machine locale et attend l'arrivée de +requêtes. Par défaut, il écoute sur toutes les adresses, +et sur le port défini par la directive <code>Port</code>. Toutefois, +on peut lui indiquer d'écouter sur plus d'un port, de n'écouter +qu'à partir d'une seule adresse, ou une combinaison des deux. Ceci est +généralement combiné avec la fonction d' +<a href="vhosts/">hôte virtuel</a> qui détermine comment +Apache répond de différentes adresses IP, de noms d'hôtes et +de ports.</p> + +<p>Il y a deux directives qui permettent de restreindre ou de spécifier +quelles adresses et quels ports Apache doit écouter. +La directive <code>BindAddress</code> restreint le serveur à +n'écouter qu'une seule adresse IP. La directive <code>Listen</code> peut +être utilisée pour spécifier un ensemble d'adresses et de +ports qu'Apache doit écouter.</p> + +<p>Les directives <code>ListenBackLog</code>, <code>SendBufferSize</code>, and +<code>TimeOut</code> permettent d'adjuster comment Apache interagit avec +le réseau.</p> + +<p>Les directives <code>KeepAlive</code>, <code>KeepAliveTimeout</code>, +and <code>MaxKeepAliveRequests</code> définissent comment +Apache gère les connexions persistantes.</p> + +<hr> +<h2><a name="resource">Limitation de l'utilisation des Ressources</a></h2> +<table border="1"> +<tr><td valign="top"> +<strong>Directives associées</strong><br><br> + +<a href="mod/core.html#limitrequestbody">LimitRequestBody</a><br> +<a href="mod/core.html#limitrequestfields">LimitRequestFields</a><br> +<a href="mod/core.html#limitrequestfieldsize">LimitRequestFieldsize</a><br> +<a href="mod/core.html#limitrequestline">LimitRequestLine</a><br> +<a href="mod/core.html#rlimitcpu">RLimitCPU</a><br> +<a href="mod/core.html#rlimitmem">RLimitMEM</a><br> +<a href="mod/core.html#rlimitnproc">RLimitNPROC</a><br> +<a href="mod/core.html#threadstacksize">ThreadStackSize</a><br> +</td></tr></table> + +<p>Les directives commençant par <code>LimitRequest</code> +sont employées pour fixer des limites sur la quantité de +ressources qui seront utilisées pendant la lecture des requêtes clientes. En +limitant ces valeurs, certains types de déni de service peuvent +être atténués.</p> + +<p>Les directives commençant par <code>RLimit</code> sont employées +pour fixer des limites sur la quantité de ressources qu'utiliseront les processus +lancés par les processus enfants Apache. +En particulier, elles contrôle les ressources utilisées par les +scripts CGI et les commandes exec SSI.</p> + +<p>La directive <code>ThreadStackSize</code> est utilisée seulement sur +Netware pour contrôler la taille de la pile.</p> + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/manual/server-wide.html.html b/usr.sbin/httpd/htdocs/manual/server-wide.html.html new file mode 100644 index 00000000000..72b81b11187 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/server-wide.html.html @@ -0,0 +1,218 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Server-Wide Configuration</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<h1 align="center">Server-Wide Configuration</h1> + +<p>This document explains some of the directives provided by the +<a href="mod/core.html">core</A> server which are used to configure +the basic operations of the server.</p> + +<ul> +<li><a href="#identification">Server Identification</a></li> +<li><a href="#locations">File Locations</a></li> +<li><a href="#process">Process Creation</a></li> +<li><a href="#network">Network Configuration</a></li> +<li><a href="#resource">Limiting Resource Usage</a></li> +</ul> + +<hr> + +<h2><a name="identification">Server Identification</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<A HREF="mod/core.html#servername">ServerName</A><br> +<A HREF="mod/core.html#serveradmin">ServerAdmin</A><br> +<A HREF="mod/core.html#serversignature">ServerSignature</A><br> +<A HREF="mod/core.html#servertokens">ServerTokens</A><br> +<A HREF="mod/core.html#usecanonicalname">UseCanonicalName</A><br> +</td></tr></table> + +<p>The <code>ServerAdmin</code> and <code>ServerTokens</code> +directives control what information about the server will be presented +in server-generated documents such as error messages. +The <code>ServerTokens</code> directive sets the value of the +Server HTTP response header field.</p> + +<p>The <code>ServerName</code> and <code>UseCanonicalName</code> +directives are used by the server to determine how to construct +self-referential URLs. For example, when a client requests a +directory, but does not include the trailing slash in the directory +name, Apache must redirect the client to the full name including the +trailing slash so that the client will correctly resolve relative +references in the document.</p> + +<hr> + +<h2><a name="locations">File Locations</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="mod/core.html#coredumpdirectory">CoreDumpDirectory</a><br> +<a href="mod/core.html#documentroot">DocumentRoot</a><br> +<a href="mod/core.html#errorlog">ErrorLog</a><br> +<a href="mod/core.html#lockfile">Lockfile</a><br> +<a href="mod/core.html#pidfile">PidFile</a><br> +<a href="mod/core.html#scoreboardfile">ScoreBoardFile</a><br> +<a href="mod/core.html#serverroot">ServerRoot</a><br> +</td></tr></table> + +<p>These directives control the locations of the various files that +Apache needs for proper operation. When the pathname used does not +begin with a slash "/", the files are located relative to the +<code>ServerRoot</code>. Be careful about locating files in paths +which are writable by non-root users. See the <a +href="misc/security_tips.html">security tips</a> documentation for +more details.</p> + +<hr> + +<h2><a name="process">Process Creation</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="mod/core.html#bs2000account">BS2000Account</a><br> +<a href="mod/core.html#group">Group</a><br> +<a href="mod/core.html#maxclients">MaxClients</a><br> +<a href="mod/core.html#maxrequestsperchild">MaxRequestsPerChild</a><br> +<a href="mod/core.html#maxspareservers">MaxSpareServers</a><br> +<a href="mod/core.html#minspareservers">MinSpareServers</a><br> +<a href="mod/core.html#servertype">ServerType</a><br> +<a href="mod/core.html#startservers">StartServers</a><br> +<a href="mod/core.html#threadsperchild">ThreadsPerChild</a><br> +<a href="mod/core.html#user">User</a><br> +</td></tr></table> + +<p>When <code>ServerType</code> is set to its recommended value of +<code>Standalone</code>, Apache 1.3 for Unix is a pre-forking web +server. A single control process is responsible for launching child +processes which listen for connections and serve them when they +arrive. Apache always tries to maintain several <em>spare</em> or +idle server processes, which stand ready to serve incoming requests. +In this way, clients do not need to wait for a new child processes to +be forked before their requests can be served.</p> + +<p>The <code>StartServers</code>, <code>MinSpareServers</code>, +<code>MaxSpareServers</code>, and <code>MaxServers</code> regulate how +the parent process creates children to serve requests. In general, +Apache is very self-regulating, so most sites do not need to adjust +these directives from their default values. Sites which need to serve +more than 256 simultaneous requests may need to increase +<code>MaxClients</code>, while sites with limited memory may need to +decrease <code>MaxClients</code> to keep the server from thrashing +(swapping memory to disk and back). More information about tuning +process creation is provided in the <a +href="misc/perf-tuning.html">performance hints</a> documentation.</p> + +<p>While the parent process is usually started as root under Unix +in order to bind to port 80, the child processes are launched +by Apache as a less-privileged user. The <code>User</code> and +<code>Group</code> directives are used to set the privileges +of the Apache child processes. The child processes must +be able to read all the content that will be served, but +should have as few privileges beyond that as possible. +In addition, unless <a href="suexec.html">suexec</a> is used, +these directives also set the privileges which will be inherited +by CGI scripts.</p> + +<p><code>MaxRequestsPerChild</code> controls how frequently the server +recycles processes by killing old ones and launching new ones.</p> + +<p>Under Windows, Apache launches one control process and one +child process. The child process creates multiple threads to +serve requests. The number of threads is controlled by the +<code>ThreadsPerChild</code> directive.</p> + +<hr> + +<h2><a name="network">Network Configuration</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="mod/core.html#bindaddress">BindAddress</a><br> +<a href="mod/core.html#keepalive">KeepAlive</a><br> +<a href="mod/core.html#keepalivetimeout">KeepAliveTimeout</a><br> +<a href="mod/core.html#listen">Listen</a><br> +<a href="mod/core.html#listenbacklog">ListenBackLog</a><br> +<a href="mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a><br> +<a href="mod/core.html#port">Port</a><br> +<a href="mod/core.html#sendbuffersize">SendBufferSize</a><br> +<a href="mod/core.html#timeout">TimeOut</a><br> +</td></tr></table> + +<p>When Apache starts, it connects to some port and address on the +local machine and waits for incoming requests. By default, it listens +to all addresses on the machine, and to the port as specified by the +<code>Port</code> directive in the server configuration. However, it +can be told to listen to more than one port, to listen to only +selected addresses, or a combination. This is often combined with the +<a href="vhosts/">Virtual Host</a> feature which determines how Apache +responds to different IP addresses, hostnames and ports.</p> + +<p>There are two directives used to restrict or specify which addresses +and ports Apache listens to. The <code>BindAddress</code> directive +is used to restrict the server to listening to a single IP address. +The <code>Listen</code> directive can be used to specify multiple +IP addresses and/or Ports to which Apache will listen.</p> + +<p>The <code>ListenBackLog</code>, <code>SendBufferSize</code>, and +<code>TimeOut</code> directives are used to adjust how Apache +interacts with the network.</p> + +<p>The <code>KeepAlive</code>, <code>KeepAliveTimeout</code>, +and <code>MaxKeepAliveRequests</code> directives are used to +configure how Apache handles persistent connections.</p> + +<hr> +<h2><a name="resource">Limiting Resource Usage</a></h2> +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="mod/core.html#limitrequestbody">LimitRequestBody</a><br> +<a href="mod/core.html#limitrequestfields">LimitRequestFields</a><br> +<a href="mod/core.html#limitrequestfieldsize">LimitRequestFieldsize</a><br> +<a href="mod/core.html#limitrequestline">LimitRequestLine</a><br> +<a href="mod/core.html#rlimitcpu">RLimitCPU</a><br> +<a href="mod/core.html#rlimitmem">RLimitMEM</a><br> +<a href="mod/core.html#rlimitnproc">RLimitNPROC</a><br> +<a href="mod/core.html#threadstacksize">ThreadStackSize</a><br> +</td></tr></table> + +<p>The <code>LimitRequest</code>* directives are used to place limits +on the amount of resources Apache will use in reading requests +from clients. By limiting these values, some kinds of denial +of service attacks can be mitigated.</p> + +<p>The <code>RLimit</code>* directives are used to limit the amount +of resources which can be used by processes forked off from +the Apache children. In particular, this will control +resources used by CGI scripts and SSI exec commands.</p> + +<p>The <code>ThreadStackSize</code> directive is used only +on Netware to control the stack size.</p> + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> + diff --git a/usr.sbin/httpd/htdocs/manual/server-wide.html.ja.jis b/usr.sbin/httpd/htdocs/manual/server-wide.html.ja.jis new file mode 100644 index 00000000000..48713d8b519 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/server-wide.html.ja.jis @@ -0,0 +1,216 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> +<title>Server-Wide Configuration</title> +</head> +<!-- English revision: 1.7 --> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<body + bgcolor="#FFFFFF" + text="#000000" + link="#0000FF" + vlink="#000080" + alink="#FF0000" +> +<!--#include virtual="header.html" --> +<h1 align="center">$B%5!<%PA4BN$N@_Dj(B</h1> + +<p>$B$3$N%I%-%e%a%s%H$G$O(B<a href="mod/core.html">$B%3%"(B</a>$B%5!<%P$N(B +$B%G%#%l%/%F%#%V$NCf$G!"4pK\F0:n$r@_Dj$9$k$?$a$N$b$N$r@bL@$7$^$9!#(B</p> + +<ul> +<li><a href="#identification">$B%5!<%P(B ID</a></li> +<li><a href="#locations">$B%U%!%$%k$N0LCV(B</a></li> +<li><a href="#process">$B%W%m%;%9@8@.(B</a></li> +<li><a href="#network">$B%M%C%H%o!<%/@_Dj(B</a></li> +<li><a href="#resource">$B%j%=!<%9$N@)8B(B</a></li> +</ul> + +<hr> + +<h2><a name="identification">$B%5!<%P(B ID</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br><br> + +<a href="mod/core.html#servername">ServerName</a><br> +<a href="mod/core.html#serveradmin">ServerAdmin</a><br> +<a href="mod/core.html#serversignature">ServerSignature</a><br> +<a href="mod/core.html#servertokens">ServerTokens</a><br> +<a href="mod/core.html#usecanonicalname">UseCanonicalName</a><br> +</td></tr></table> + +<p><code>ServerAdmin</code> $B%G%#%l%/%F%#%V$H(B <code>ServerTokens</code> +$B%G%#%l%/%F%#%V$O!"%(%i!<%a%C%;!<%8$J$I$N%5!<%P$,:n$k%I%-%e%a%s%H$K!"(B +$B$I$N$h$&$J%5!<%P$N>pJs$rI=<($9$k$+$r@)8f$7$^$9!#(B<code>ServerTokens</code> +$B%G%#%l%/%F%#%V$O!"(BServer HTTP $B%l%9%]%s%9%X%C%@%U%#!<%k%I$NCM$r(B +$B@_Dj$7$^$9!#(B</p> + +<p><code>ServerName</code> $B%G%#%l%/%F%#%V$H(B <code>UseCanonicalName</code> +$B%G%#%l%/%F%#%V$O!"%5!<%P$,<+J,<+?H$r;2>H$9$k(B URL $B$r:n$k$H$-$K(B +$B;H$o$l$^$9!#$?$H$($P!"%/%i%$%"%s%H$,%G%#%l%/%H%j$rMW5a$7$F!"(B +$B$=$N%G%#%l%/%H%jL>$N:G8e$K%9%i%C%7%e$,IU$$$F$$$J$$$h$&$J>l9g$K$O!"(B +$B%I%-%e%a%s%H$NAjBPE*$J;2>H$r@5$7$/2r7h$G$-$k$h$&$K$9$k$?$a$K!"(B +Apache $B$O:G8e$N%9%i%C%7%e$r4^$s$@40A4$J%Q%9$K%/%i%$%"%s%H$r(B +$B%j%@%$%l%/%H$5$;$kI,MW$,$"$j$^$9!#(B</p> + +<hr> + +<h2><a name="locations">$B%U%!%$%k$N0LCV(B</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br><br> + +<a href="mod/core.html#coredumpdirectory">CoreDumpDirectory</a><br> +<a href="mod/core.html#documentroot">DocumentRoot</a><br> +<a href="mod/core.html#errorlog">ErrorLog</a><br> +<a href="mod/core.html#lockfile">Lockfile</a><br> +<a href="mod/core.html#pidfile">PidFile</a><br> +<a href="mod/core.html#scoreboardfile">ScoreBoardFile</a><br> +<a href="mod/core.html#serverroot">ServerRoot</a><br> +</td></tr></table> + +<p>$B$3$l$i$N%G%#%l%/%F%#%V$O(B Apache $B$,E,@Z$JF0:n$r$9$k$?$a$KI,MW$J(B +$B3F<o%U%!%$%k$N0LCV$r@)8f$7$^$9!#%Q%9$,%9%i%C%7%e(B "/" $B$G;O$^$C$F$$$J$$(B +$B$H$-$O!"%U%!%$%k$O(B <code>ServerRoot</code> $B$+$i$NAjBP%Q%9$H$7$F(B +$BC5$5$l$^$9!#(Broot $B0J30$N%f!<%6$,=q$-9~$_2DG=$J%Q%9$K%U%!%$%k$r(B +$BCV$/>l9g$OCm0U$,I,MW$G$9!#>\:Y$O(B<a +href="misc/security_tips.html">$B!V%;%-%e%j%F%#>pJs!W(B</a>$B$r(B +$B;2>H$7$F$/$@$5$$!#(B</p> + +<hr> + +<h2><a name="process">$B%W%m%;%9@8@.(B</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br><br> + +<a href="mod/core.html#bs2000account">BS2000Account</a><br> +<a href="mod/core.html#group">Group</a><br> +<a href="mod/core.html#maxclients">MaxClients</a><br> +<a href="mod/core.html#maxrequestsperchild">MaxRequestsPerChild</a><br> +<a href="mod/core.html#maxspareservers">MaxSpareServers</a><br> +<a href="mod/core.html#minspareservers">MinSpareServers</a><br> +<a href="mod/core.html#servertype">ServerType</a><br> +<a href="mod/core.html#startservers">StartServers</a><br> +<a href="mod/core.html#threadsperchild">ThreadsPerChild</a><br> +<a href="mod/core.html#user">User</a><br> +</td></tr></table> + +<p><code>ServerType</code> $B$K?d>)$5$l$F$$$kCM$G$"$k(B <code>Standalone</code> +$B$,@_Dj$5$l$F$$$k>l9g$O!"(BUnix $B>e$G$N(B Apache $B$O(B pre-forking $B%5!<%P$G$9!#(B +$B$=$3$G$O0l$D$N@)8fMQ%W%m%;%9$,;R%W%m%;%9$r5/F0$9$k@UG$$r;}$A$^$9!#(B +$B$=$7$F!";R%W%m%;%9$O%W%m%;%9$,@8B8$7$F$$$k4V(B listen $B$7!"@\B3$5$l$?$i$=$N%3%M%/%7%g%s$KBP$9$k=hM}$r9T$J$$$^$9!#(B +Apache $B$O%j%/%(%9%H$,Mh$?$H$-$K$9$0$K1~Ez$G$-$k$h$&$K!"(B +$B>o$KJ#?t$N(B<em>$B%9%Z%"(B</em>$B%5!<%P%W%m%;%9!"$^$?$O%"%$%I%k%5!<%P%W%m%;%9$r0];}$7$h$&$H(B +$B$7$^$9!#$3$&$9$k$3$H$G!"%j%/%(%9%H$,07$o$l$kA0$K?7$7$$;R%W%m%;%9$,(B fork +$B$5$l$k$N$r%/%i%$%"%s%H$,BT$DI,MW$,$J$/$J$j$^$9!#(B</p> + +<p><code>StartServers</code>, <code>MinSpareServers</code>, +<code>MaxSpareServers</code>, <code>MaxServers</code> $B$O!"(B +$B?F%W%m%;%9$,%j%/%(%9%H$r07$&$3$H$K$J$k;R%W%m%;%9$r:n@.$9$kJ}K!$r@)8f$7$^$9!#(B +$BDL>o!"(BApache $B$OHs>o$K<+@)E*$G$9$N$G!"$[$H$s$I$N%5%$%H$G$O(B +$B%G%U%)%k%HCM$+$iJQ99$9$kI,MW$O$"$j$^$;$s!#$?$@!"F1;~$K(B 256 $B$rD6$($k(B +$B%j%/%(%9%H$r07$&%5%$%H$O(B <code>MaxClients</code> $B$rA}$d$9I,MW$,$"$k$G$7$g$&!#(B +$B0lJ}!"%a%b%j$N>/$J$$%5%$%H$G$O!"%5!<%P$,%9%i%C%7%s%0(B ($B%a%b%j$r%G%#%9%/$K(B +$B%9%o%C%W$7$?$j!"%a%b%j$KLa$7$?$j$9$k$N$r7+$jJV$9(B) $B$rKI$0$?$a$K(B <code>MaxClients</code> +$B$r8:$i$9I,MW$,$"$k$G$7$g$&!#%W%m%;%9:n@.$r%A%e!<%s$9$k$?$a$N>\$7$$>pJs$O(B +<a href="misc/perf-tuning.html">$B@-G=$N>pJs(B</a>$B%I%-%e%a%s%H$r(B +$B;2>H$7$F$/$@$5$$!#(B</p> + +<p>Unix $B$G$ODL>o!"?F%W%m%;%9$O(B 80 $BHV%]!<%H$r%P%$%s%I$9$k$?$a$K(B root $B$G(B +$B5/F0$5$l$^$9$,!";R%W%m%;%9$O(B Apache $B$+$i$h$jFC8"$N>/$J$$%f!<%6$H$7$F(B +$B5/F0$5$l$^$9!#(B<code>User</code> $B%G%#%l%/%F%#%V$H(B <code>Group</code> +$B%G%#%l%/%F%#%V$O!"(BApache $B$N;R%W%m%;%9$K@_Dj$5$l$kFC8"$r@_Dj$9$k$?$a$K(B +$B;HMQ$5$l$^$9!#;R%W%m%;%9$ODs6!$9$k$9$Y$F$N%3%s%F%s%D$rFI$a$J$1$l$P(B +$B$$$1$^$;$s$,!"$=$l0J>e$NFC8"$O>/$J$1$l$P>/$J$$J}$,K>$^$7$$$G$9!#(B +$B$^$?!"(B<a href="suexec.html">suexec</a> $B$,;HMQ$5$l$F$$$J$$$H!"(B +CGI $B%9%/%j%W%H$,7Q>5$9$kFC8"$K$b$3$l$i$N%G%#%l%/%F%#%V$N@_Dj$,E,MQ$5$l$^$9!#(B</p> + +<p><code>MaxRequestsPerChild</code> $B$O!"%5!<%P$,8E$$%W%m%;%9$r(B kill $B$7$F(B +$B?7$7$$%W%m%;%9$r5/F0$9$k$3$H$G!"%W%m%;%9$r:FMxMQ$9$kIQEY$r@_Dj$7$^$9!#(B</p> + +<p>Windows $B$G$O!"(BApache $B$O@)8f%W%m%;%90l$D$H;R%W%m%;%90l$D$G(B +$B%9%?!<%H$7$^$9!#;R%W%m%;%9$O%j%/%(%9%H$K1~$($k$?$a$KJ#?t$N%9%l%C%I$r(B +$B:n@.$7$^$9!#%9%l%C%I$N?t$O(B <code>ThreadsPerChild</code> $B%G%#%l%/%F%#%V$G(B +$B@)8f$7$^$9!#(B</p> + +<hr> + +<h2><a name="network">$B%M%C%H%o!<%/@_Dj(B</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br><br> + +<a href="mod/core.html#bindaddress">BindAddress</a><br> +<a href="mod/core.html#keepalive">KeepAlive</a><br> +<a href="mod/core.html#keepalivetimeout">KeepAliveTimeout</a><br> +<a href="mod/core.html#listen">Listen</a><br> +<a href="mod/core.html#listenbacklog">ListenBackLog</a><br> +<a href="mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a><br> +<a href="mod/core.html#port">Port</a><br> +<a href="mod/core.html#sendbuffersize">SendBufferSize</a><br> +<a href="mod/core.html#timeout">TimeOut</a><br> +</td></tr></table> + +<p>Apache $B$O5/F0$9$k$H!"%m!<%+%k%^%7%s$N2?$i$+$N%]!<%HHV9f$H%"%I%l%9$K(B +$B%3%M%/%H$7!"%j%/%(%9%H$rBT$A$^$9!#%G%U%)%k%H$G$O!"%^%7%s$K(B +$B3d$jEv$F$i$l$F$$$k$9$Y$F$N%"%I%l%9$G%5!<%P@_Dj$N(B +<code>Port</code> $B%G%#%l%/%F%#%V$G;XDj$5$l$F$$$k%]!<%HHV9f$r(B listen $B$7$^$9!#(B +$BFs$D0J>e$N%]!<%H$r(B listen $B$7$?$j!"A*Br$5$l$?%"%I%l%9$N$_$r(B listen $B$7$?$j!"(B +$B$=$NAH$_9g$o$;$r(B listen $B$7$?$j$9$k$h$&$K$b$G$-$^$9!#(B +$B0c$&(B IP $B%"%I%l%9!"%[%9%HL>!"%]!<%HHV9f$K$h$C$F(B Apache $B$N1~Ez$r(B +$B7hDj$9$k(B<a href="vhosts/">$B%P!<%A%c%k%[%9%H(B</a>$B5!G=$HAH$_9g$o$;$F(B +$B;H$o$l$k$3$H$,$h$/$"$j$^$9!#(B</p> + +<p>Apache $B$,(B listen $B$9$k%"%I%l%9$H%]!<%HHV9f$r;XDj!"$b$7$/$O@)8B$9$k(B +$B%G%#%l%/%F%#%V$OFs$D$"$j$^$9!#(B<code>BindAddress</code> $B%G%#%l%/%F%#%V$O(B +$B%5!<%P$,0l$D$N(B IP $B%"%I%l%9$@$1$r(B listen $B$5$;$k$?$a$K;HMQ$5$l$^$9!#(B +<code>Listen</code> $B%G%#%l%/%F%#%V$O(B Apache $B$,(B listen $B$9$k(B IP $B%"%I%l%9$H(B +$B%]!<%HHV9f$NAH!"$^$?$O$I$A$i$+0lJ}$rJ#?t;XDj$9$k$?$a$K;HMQ$5$l$^$9!#(B</p> + +<p><code>ListenBackLog</code> $B%G%#%l%/%F%#%V!"(B<code>SendBufferSize</code> +$B%G%#%l%/%F%#%V!"(B<code>TimeOut</code> $B%G%#%l%/%F%#%V$O!"(BApache $B$H(B +$B%M%C%H%o!<%/$H$N4X78$rD4@0$7$^$9!#(B</p> + +<p><code>KeepAlive</code> $B%G%#%l%/%F%#%V!"(B<code>KeepAliveTimeout</code> +$B%G%#%l%/%F%#%V!"(B<code>MaxKeepAliveRequests</code> $B%G%#%l%/%F%#%V$O!"(B +Apache $B$,(B persistent connection $B$r$I$N$h$&$K07$&$+$r@)8f$7$^$9!#(B</p> + +<hr> +<h2><a name="resource">$B%j%=!<%9$N@)8B(B</a></h2> +<table border="1"> +<tr><td valign="top"> +<strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br><br> + +<a href="mod/core.html#limitrequestbody">LimitRequestBody</a><br> +<a href="mod/core.html#limitrequestfields">LimitRequestFields</a><br> +<a href="mod/core.html#limitrequestfieldsize">LimitRequestFieldsize</a><br> +<a href="mod/core.html#limitrequestline">LimitRequestLine</a><br> +<a href="mod/core.html#rlimitcpu">RLimitCPU</a><br> +<a href="mod/core.html#rlimitmem">RLimitMEM</a><br> +<a href="mod/core.html#rlimitnproc">RLimitNPROC</a><br> +<a href="mod/core.html#threadstacksize">ThreadStackSize</a><br> +</td></tr></table> + +<p><code>LimitRequest</code>* $B%G%#%l%/%F%#%V$O(B Apache $B$,(B +$B%/%i%$%"%s%H$+$i$N%j%/%(%9%HFI$_9~$_$G;H$&%j%=!<%9$r@)8B$9$k$?$a$K(B +$B;H$o$l$^$9!#$3$l$i$NCM$r@)8B$9$k$3$H$G!"$$$/$D$+$N%5!<%S%95qH]967b$O(B +$B1F6A$rOB$i$2$k$3$H$,$G$-$^$9!#(B</p> + +<p><code>RLimit</code>* $B%G%#%l%/%F%#%V$O!"(BApache $B$N;R%W%m%;%9$+$i(B +fork $B$5$l$?%W%m%;%9$,;HMQ$9$k%j%=!<%9$r@)8B$9$k$?$a$K(B +$B;H$o$l$^$9!#FC$K!"$3$l$O(B CGI $B%9%/%j%W%H$H(B SSI exec $B%3%^%s%I$G(B +$B;H$o$l$k%j%=!<%9$r@)8f$7$^$9!#(B</p> + +<p><code>ThreadStackSize</code> $B$O(B Netware $B$G$N$_!"%9%?%C%/$NBg$-$5$r(B +$B@)8f$9$k$?$a$K;H$o$l$^$9!#(B</p> + +<!--#include virtual="footer.html" --> +</body> +</html> diff --git a/usr.sbin/httpd/htdocs/manual/urlmapping.html b/usr.sbin/httpd/htdocs/manual/urlmapping.html new file mode 100644 index 00000000000..a50fdcab8a7 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/urlmapping.html @@ -0,0 +1,265 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Mapping URLs to Filesystem Locations - Apache HTTP Server</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<DIV ALIGN="CENTER"> + <IMG SRC="images/sub.gif" ALT="[APACHE DOCUMENTATION]"> + <H3> + Apache HTTP Server + </H3> +</DIV> + +<h1 align="center">Mapping URLs to Filesystem Locations</h1> + +<p>This document explains the method in which Apache determines +what filesystem location to serve a file from based on the +URL of a request.</p> + +<ul> +<li><a href="#documentroot">DocumentRoot</a></li> +<li><a href="#outside">Files Outside the DocumentRoot</a></li> +<li><a href="#user">User Directories</a></li> +<li><a href="#redirect">URL Redirection</a></li> +<li><a href="#rewrite">Rewrite Engine</a></li> +<li><a href="#notfound">File Not Found</a></li> +</ul> + +<hr> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Modules</strong><br><br> + +<a href="mod/mod_alias.html">mod_alias</a><br> +<a href="mod/mod_rewrite.html">mod_rewrite</a><br> +<a href="mod/mod_userdir.html">mod_userdir</a><br> +<a href="mod/mod_speling.html">mod_speling</a><br> +<a href="mod/mod_vhost_alias.html">mod_vhost_alias</a><br> + +</td><td valign="top"> +<strong>Related Directives</strong><br><br> + +<A HREF="mod/mod_alias.html#alias">Alias</A><br> +<A HREF="mod/mod_alias.html#aliasmatch">AliasMatch</A><br> +<A HREF="mod/mod_speling.html#checkspelling">CheckSpelling</A><br> +<A HREF="mod/core.html#documentroot">DocumentRoot</A><br> +<A HREF="mod/core.html#errordocument">ErrorDocument</A><br> +<a href="mod/core.html#options">Options</a><br> +<A HREF="mod/mod_alias.html#redirect">Redirect</A><br> +<A HREF="mod/mod_alias.html#redirectmatch">RedirectMatch</A><br> +<A HREF="mod/mod_rewrite.html#RewriteCond">RewriteCond</A><br> +<A HREF="mod/mod_rewrite.html#RewriteRule">RewriteRule</A><br> +<A HREF="mod/mod_alias.html#scriptalias">ScriptAlias</A><br> +<A HREF="mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</A><br> +<A HREF="mod/mod_userdir.html#userdir">UserDir</A><br> + +</td></tr></table> + +<h2><a name="documentroot">DocumentRoot</a></h2> + +<p>In deciding what file to serve for a given request, Apache's +default behavior is to take the URL-Path for the request (the part of +the URL following the first single slash) and add it to the end of the +<a href="mod/core.html#documentroot">DocumentRoot</a> specified in +your configuration files. Therefore, the files and directories +underneath the <code>DocumentRoot</code> make up the basic document +tree which will be visible from the web.</p> + +<p>Apache is also capable of <a href="vhosts/">Virtual Hosting</a>, +where the server receives requests for more than one host. In this +case, a different <code>DocumentRoot</code> can be specified for each +virtual host, or alternatively, the directives provided by the module +<a href="mod/mod_vhost_alias.html">mod_vhost_alias</a> can be used to +dynamically determine the appropriate place from which to serve +content based on the requested IP address or hostname.</p> + +<h2><a name="outside">Files Outside the DocumentRoot</a></h2> + +<p>There are frequently circumstances where it is necessary to allow +web access to parts of the filesystem which are not strictly +underneath the <a href="mod/core.html#documentroot">DocumentRoot</a>. +Apache offers several different ways to accomplish this. On Unix +systems, symbolic links can be used to bring other parts of the +filesystem under the <code>DocumentRoot</code>. For security reasons, +symbolic links will only be followed if the <a +href="mod/core.html#options">Options</a> setting for the relevant +directory includes <code>FollowSymLinks</code> or +<code>SymLinksIfOwnerMatch</code>.</p> + +<p>Alternatively, the <a href="mod/mod_alias.html#alias">Alias</a> +directive can be used to map any part of the filesystem into the web +space. For example, with</p> + +<blockquote><code>Alias /docs /var/web/ +</blockquote></code> + +<p>the URL <code>http://www.example.com/docs/dir/file.html</code> will +be served from <code>/var/web/dir/file.html</code>. The <a +href="mod/mod_alias.html#scriptalias">ScriptAlias</a> directive works +the same way, with the additional effect that all content located at +the target path is treated as CGI scripts.</p> + +<p>For situations where additional flexibility is required, the <a +href="mod/mod_alias.html#aliasmatch">AliasMatch</a> and <a +href="mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a> +directives can do powerful <a +href="misc/FAQ.html#regex">regular-expression</a> based matching and +substitution. For example,</p> + +<blockquote><code> ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*) +/home/$1/cgi-bin/$2 </code></blockquote> + +<p>will map a request to +<code>http://example.com/~user/cgi-bin/script.cgi</code> to the path +<code>/home/user/cgi-bin/script.cgi</code> and will treat the +resulting file as a CGI script.</p> + +<h2><a name="user">User Directories</a></h2> + +<p>Traditionally on Unix systems, the home directory of a particular +<em>user</em> can be referred to as <code>~user/</code>. The module +<a href="mod/mod_userdir.html">mod_userdir</a> extends this idea to +the web by allowing files under each user's home directory to be +accessed using URLs such as the following.</p> + +<blockquote><code>http://www.example.com/~user/file.html</code></blockquote> + +<p>For security reasons, it would be inappropriate to give direct +access to a user's home directory from the web. Therefore, the <a +href="mod/mod_userdir.html#userdir">UserDir</a> directive is used to +specify a directory underneath the user's home directory where web +files will be located. Using the default setting of <code>Userdir +public_html</code>, the above URL would look for a file at a directory +like <code>/home/user/public_html/file.html</code> where the +</code>/home/user/</code> is the user's home directory as specified in +<code>/etc/passwd</code>.</p> + +<p>There are also several other forms of the <code>Userdir</code> +directive which can be used on systems where <code>/etc/passwd</code> +cannot be used to find the location of the home directory.</p> + +<p>Some people find the "~" symbol (which is often encoded on the web +as <code>%7e</code>) to be awkward and prefer to use an alternate +string to represent user directories. This functionality is not +supported by mod_userdir. However, if users' home directories are +structured in a regular way, then it is possible to use the <a +href="mod/mod_alias.html#aliasmatch">AliasMatch</a> directive to +achieve the desired effect. For example, to make +<code>http://www.example.com/upages/user/file.html</code> map to +<code>/home/user/public_html/file.html</code>, the following +<code>AliasMatch</code> directive can be used.</p> + +<blockquote><code> +AliasMatch ^/upages/([^/]*)/?(.*) /home/$1/public_html/$2 +</code></blockquote> + +<h2><a name="redirect">URL Redirection</a></h2> + +<p>The configuration directives discussed in the above sections are +used to tell Apache to get content from a specific place in the +filesystem and return it to the client. Sometimes, it is desirable +instead to inform the client that the content being requested is +located at an different URL, and instruct the client to make a new +request with the new URL. This is referred to as <em>redirection</em> +and is implemented by the <a +href="mod/mod_alias.html#redirect">Redirect</a> directive. For example, +if the contents of the directory <code>/foo/</code> under the +<code>DocumentRoot</code> have been moved to the new directory +<code>/bar/</code>, clients can instructed to request the content at +the new location as follows.</p> + +<blockquote><code>Redirect permanent +/foo/ http://www.example.com/bar/</code></blockquote> + +<p>This will redirect any URL-Path starting in <code>/foo/</code> to +the same URL path on the <code>www.example.com</code> server with +<code>/bar/</code> substituted for <code>/foo/</code>. Note that +clients can be redirected to any server, not only the origin +server.</p> + +<p>Apache also provides a <a +href="mod/mod_alias.html#redirectmatch">RedirectMatch</a> directive +which can be used for more complicated rewriting problems. For +example, to redirect requests for the site home page to a different +site, but leave all other requests alone, the following configuration +can be used.</p> + +<blockquote><code> +RedirectMatch permanent ^/$ http://www.example.com/startpage.html +</code></blockquote> + +<p>Alternatively, to temporarily redirect all pages on a site to one +particular page, the following configuration is useful.</p> + +<blockquote><code> +RedirectMatch temp .* http://www.example.com/startpage.html +</code></blockquote> + +<h2><a name="rewrite">Rewriting Engine</a></h2> + +<p>When even more powerful substitution is required, the rewriting +engine provided by <a href="mod/mod_rewrite.html">mod_rewrite</a> can +be useful. The directives provided by this module can use +characteristics of the request such as browser type or source IP +address in deciding from where to serve content. In addition, +mod_rewrite can use external database files or programs to determine +how to handle a request. Many practical examples employing +mod_rewrite are discussed in the <a href="misc/rewriteguide.html">URL +Rewriting Guide</a>.</p> + +<h2><a name="notfound">File Not Found</a></h2> + +<p>Inevitably, URLs will be requested for which no matching file can +be found in the filesystem. This can happen for several reasons. In +some cases, it can be a result of moving documents from one location +to another. In this case, it is best to use <a href="#redirect">URL +redirection</a> to inform clients of the new location of the resource. +In this way, you can assure that old bookmarks and links will continue +to work, even though the resource is at a new location.</p> + +<p>Another common cause of "File Not Found" errors is accidental +mistyping of URLs, either directly in the browser, or in HTML links. +Apache provides the module <a href="mod/mod_speling">mod_speling</a> +(sic) to help with this problem. When this module is activated, it +will intercept "File Not Found" errors and look for a resource with a +similar filename. If one such file is found, mod_speling will send an +HTTP redirect to the client informing it of the correct location. If +several "close" files are found, a list of available alternatives will +be presented to the client.</p> + +<p>An especially useful feature of mod_speling, is that it will +compare filenames without respect to case. This can be useful for +systems where users are unaware of the case-sensitive nature of URLs +and the unix filesystem. However, using mod_speling for anything more +than the occasional URL correction can lead to additional load on the +server, since each "incorrect" request is followed by a URL +redirection and a new request from the client.</p> + +<p>If all attempts to locate the content fail, Apache returns an error +page with HTTP status code 404 (file not found). The appearance of +this page is controlled with the <a +href="mod/core.html#errordocument">ErrorDocument</a> directive and can +be customized in a flexible manner as discussed in the <a +href="custom-error.html">Custom error responses</a> and <a +href="misc/custom_errordocs.html">International Server Error +Responses</a> documents.</p> + +<HR> + <H3 ALIGN="CENTER"> + Apache HTTP Server + </H3> + +<A HREF="./"><IMG SRC="images/index.gif" ALT="Index"></A> + +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/manual/vhosts/index.html.en b/usr.sbin/httpd/htdocs/manual/vhosts/index.html.en new file mode 100644 index 00000000000..bb4a0f89312 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/vhosts/index.html.en @@ -0,0 +1,65 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Apache Virtual Host documentation</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Apache Virtual Host documentation</H1> + +<P>The term <CITE>Virtual Host</CITE> refers to the practice of maintaining +more than one server on one machine, as differentiated by their apparent +hostname. For example, it is often desirable for companies sharing a +web server to have their own domains, with web servers accessible as +<SAMP>www.company1.com</SAMP> and <SAMP>www.company2.com</SAMP>, +without requiring the user to know any extra path information.</P> + +<P>Apache was one of the first servers to support IP-based +virtual hosts right out of the box. Versions 1.1 and later of +Apache support both, IP-based and name-based virtual hosts (vhosts). +The latter variant of virtual hosts is sometimes also called host-based or +non-IP virtual hosts.</P> + +<P>Below is a list of documentation pages which explain all details +of virtual host support in Apache version 1.3 and later.</P> + +<HR> + +<H2>Virtual Host Support</H2> + +<UL> +<LI><A HREF="name-based.html">Name-based Virtual Hosts</A> +<LI><A HREF="ip-based.html">IP-based Virtual Hosts</A> +<LI><A HREF="examples.html">Virtual Host examples for common setups</A> +<LI><A HREF="details.html">In-Depth Discussion of Virtual Host Matching</A> +<LI><A HREF="fd-limits.html">File Descriptor Limits</A> +<LI><A HREF="mass.html">Dynamically Configured Mass Virtual Hosting</A> +</UL> + +<H2>Configuration directives</H2> + +<UL> +<LI><A HREF="../mod/core.html#virtualhost"><VirtualHost></A> +<LI><A HREF="../mod/core.html#namevirtualhost">NameVirtualHost</A> +<LI><A HREF="../mod/core.html#servername">ServerName</A> +<LI><A HREF="../mod/core.html#serveralias">ServerAlias</A> +<LI><A HREF="../mod/core.html#serverpath">ServerPath</A> +</UL> + +<P>Folks trying to debug their virtual host configuration may find the +Apache <CODE>-S</CODE> command line switch useful. It will dump out a +description of how Apache parsed the configuration file. Careful +examination of the IP addresses and server names may help uncover +configuration mistakes. + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> diff --git a/usr.sbin/httpd/htdocs/manual/vhosts/index.html.html b/usr.sbin/httpd/htdocs/manual/vhosts/index.html.html new file mode 100644 index 00000000000..d2a83d8cc9f --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/vhosts/index.html.html @@ -0,0 +1,66 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Apache Virtual Host documentation</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Apache Virtual Host documentation</H1> + +<P>The term <CITE>Virtual Host</CITE> refers to the practice of maintaining +more than one server on one machine, as differentiated by their apparent +hostname. For example, it is often desirable for companies sharing a +web server to have their own domains, with web servers accessible as +<SAMP>www.company1.com</SAMP> and <SAMP>www.company2.com</SAMP>, +without requiring the user to know any extra path information.</P> + +<P>Apache was one of the first servers to support IP-based +virtual hosts right out of the box. Versions 1.1 and later of +Apache support both, IP-based and name-based virtual hosts (vhosts). +The latter variant of virtual hosts is sometimes also called host-based or +non-IP virtual hosts.</P> + +<P>Below is a list of documentation pages which explain all details +of virtual host support in Apache version 1.3 and later.</P> + +<HR> + +<H2>Virtual Host Support</H2> + +<UL> +<LI><A HREF="name-based.html">Name-based Virtual Hosts</A> +<LI><A HREF="ip-based.html">IP-based Virtual Hosts</A> +<LI><A HREF="examples.html">Virtual Host examples for common setups</A> +<LI><A HREF="details.html">In-Depth Discussion of Virtual Host Matching</A> +<LI><A HREF="fd-limits.html">File Descriptor Limits</A> +<LI><A HREF="mass.html">Dynamically Configured Mass Virtual Hosting</A> +</UL> + +<H2>Configuration directives</H2> + +<UL> +<LI><A HREF="../mod/core.html#virtualhost"><VirtualHost></A> +<LI><A HREF="../mod/core.html#namevirtualhost">NameVirtualHost</A> +<LI><A HREF="../mod/core.html#servername">ServerName</A> +<LI><A HREF="../mod/core.html#serveralias">ServerAlias</A> +<LI><A HREF="../mod/core.html#serverpath">ServerPath</A> +</UL> + +<P>Folks trying to debug their virtual host configuration may find the +Apache <CODE>-S</CODE> command line switch useful. It will dump out a +description of how Apache parsed the configuration file. Careful +examination of the IP addresses and server names may help uncover +configuration mistakes. + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> + diff --git a/usr.sbin/httpd/htdocs/manual/vhosts/index.html.ja.jis b/usr.sbin/httpd/htdocs/manual/vhosts/index.html.ja.jis new file mode 100644 index 00000000000..8c0cc116d04 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/vhosts/index.html.ja.jis @@ -0,0 +1,67 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> +<title>Apache $B%P!<%A%c%k%[%9%H@bL@=q(B</title> +<!-- English revision: 1.7 --> +</head> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<body + bgcolor="#FFFFFF" + text="#000000" + link="#0000FF" + vlink="#000080" + alink="#FF0000" +> +<!--#include virtual="header.html" --> +<h1 align="center">Apache $B%P!<%A%c%k%[%9%H@bL@=q(B</h1> + +<p><cite>$B%P!<%A%c%k%[%9%H(B</cite>$B$H$$$&MQ8l$O!"(B1 $BBf$N%^%7%s>e$G(B +$B0l$D0J>e$N%5!<%P$r!"$=$l$>$lJL$N0c$&%[%9%HL>$G8+$;$k1?MQJ}K!$N$3$H$r;X$7$^$9!#(B +$B$?$H$($P!"0l$D$N%5!<%P$r6&M-$9$kJ#?t$N2q<R$,!"(B +$B%f!<%6$KM>7W$J%Q%9L>$rMW5a$;$:$K!"(B +<samp>www.company1.com</samp> $B$d(B <samp>www.company2.com</samp> +$B$H$$$C$?$=$l$>$l$K8GM-$N%I%a%$%sL>$G%&%'%V%5!<%P$K%"%/%;%9$G$-$k$h$&$K$7$?$$!"(B +$B$H$$$C$?$3$H$O$7$P$7$P$"$j$^$9!#(B</p> + +<p>Apache $B$O!"FC$K<j$rF~$l$J$$>uBV$G(B IP $B%Y!<%9$N%P!<%A%c%k%[%9%H$r(B +$B%5%]!<%H$7$?:G=i$N%5!<%P$N0l$D$G$9!#%P!<%8%g%s(B 1.1 $B0J9_$N(B Apache $B$G$O!"(B +IP $B%Y!<%9$H%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H$NN>J}$r%5%]!<%H$7$F$$$^$9!#(B +$B%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H$O!"%[%9%H%Y!<%9$"$k$$$OHs(B IP $B%Y!<%9$N(B +$B%P!<%A%c%k%[%9%H$H8F$P$l$k$3$H$b$"$j$^$9!#(B</p> + +<p>$B0J2<$N%Z!<%8$G$O!"(BApache $B%P!<%8%g%s(B 1.3 $B0J9_$G$N%P!<%A%c%k%[%9%H$N(B +$B%5%]!<%H$K$D$$$F$N>\:Y$r@bL@$7$^$9!#(B</p> + +<hr> + +<h2>$B%P!<%A%c%k%[%9%H$N%5%]!<%H(B</h2> + +<ul> +<li><a href="name-based.html">$B%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H(B</a> +<li><a href="ip-based.html">IP $B%Y!<%9$N%P!<%A%c%k%[%9%H(B</a> +<li><a href="examples.html">$B%P!<%A%c%k%[%9%H$N0lHLE*$J@_DjNc(B</a> +<li><a href="details.html">$B%P!<%A%c%k%[%9%H$N%^%C%A%s%0$K$D$$$F$N>\:Y(B</a> +<li><a href="fd-limits.html">$B%U%!%$%k5-=R;R$N8B3&(B</a> +<li><a href="mass.html">$BBgNL$N%P!<%A%c%k%[%9%H$NF0E*$J@_Dj(B</a> +</ul> + +<h2>$B@_Dj%G%#%l%/%F%#%V(B</h2> + +<ul> +<li><a href="../mod/core.html#virtualhost"><VirtualHost></a> +<li><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a> +<li><a href="../mod/core.html#servername">ServerName</a> +<li><a href="../mod/core.html#serveralias">ServerAlias</a> +<li><a href="../mod/core.html#serverpath">ServerPath</a> +</ul> + +<p>$B%P!<%A%c%k%[%9%H$N@_Dj$N%G%P%C%0$r$9$k$K$O(B +Apache $B$N%3%^%s%I%i%$%s%9%$%C%A(B <code>-S</code> $B$,JXMx$G$9!#(B +Apache $B$,@_Dj%U%!%$%k$r$I$&2r@O$7$?$+$K$D$$$F=PNO$7$^$9!#(B +IP $B%"%I%l%9$H%5!<%PL>$rCm0U?<$/D4$Y$l$P!"(B +$B@_Dj$N4V0c$$$r8+$D$1$k=u$1$K$J$k$G$7$g$&!#(B</p> + +<!--#include virtual="footer.html" --> +</body> +</html> |