From 818340ddb467ba6a4dbdf09a24dc1f0199231090 Mon Sep 17 00:00:00 2001 From: Bob Beck Date: Thu, 29 Mar 2001 10:21:37 +0000 Subject: import apache 1.3.26 + mod_ssl 2.8.10 --- usr.sbin/httpd/htdocs/index.html.ca | 51 ++ usr.sbin/httpd/htdocs/index.html.cz | 51 ++ usr.sbin/httpd/htdocs/index.html.de | 61 ++ usr.sbin/httpd/htdocs/index.html.dk | 47 ++ usr.sbin/httpd/htdocs/index.html.ee | 53 ++ usr.sbin/httpd/htdocs/index.html.el | 37 + usr.sbin/httpd/htdocs/index.html.en | 88 +++ usr.sbin/httpd/htdocs/index.html.es | 51 ++ usr.sbin/httpd/htdocs/index.html.fr | 46 ++ usr.sbin/httpd/htdocs/index.html.it | 38 ++ usr.sbin/httpd/htdocs/index.html.ja.jis | 42 ++ usr.sbin/httpd/htdocs/index.html.nl | 54 ++ usr.sbin/httpd/htdocs/index.html.po.iso-pl | 40 ++ usr.sbin/httpd/htdocs/index.html.pt | 42 ++ usr.sbin/httpd/htdocs/index.html.pt-br | 55 ++ usr.sbin/httpd/htdocs/index.html.ru.ucs2 | Bin 0 -> 3134 bytes usr.sbin/httpd/htdocs/index.html.ru.ucs4 | Bin 0 -> 6268 bytes usr.sbin/httpd/htdocs/index.html.se | 43 ++ usr.sbin/httpd/htdocs/manual/configuring.html.en | 252 +++++++ usr.sbin/httpd/htdocs/manual/configuring.html.html | 253 +++++++ .../httpd/htdocs/manual/configuring.html.ja.jis | 252 +++++++ usr.sbin/httpd/htdocs/manual/custom-error.html.en | 177 +++++ .../httpd/htdocs/manual/custom-error.html.html | 178 +++++ .../httpd/htdocs/manual/custom-error.html.ja.jis | 177 +++++ usr.sbin/httpd/htdocs/manual/handler.html.en | 156 +++++ usr.sbin/httpd/htdocs/manual/handler.html.html | 157 +++++ usr.sbin/httpd/htdocs/manual/handler.html.ja.jis | 150 +++++ usr.sbin/httpd/htdocs/manual/howto/cgi.html.en | 499 ++++++++++++++ usr.sbin/httpd/htdocs/manual/howto/cgi.html.html | 500 ++++++++++++++ usr.sbin/httpd/htdocs/manual/howto/cgi.html.ja.jis | 495 ++++++++++++++ usr.sbin/httpd/htdocs/manual/howto/footer.html | 8 + usr.sbin/httpd/htdocs/manual/howto/header.html | 6 + usr.sbin/httpd/htdocs/manual/howto/ssi.html.en | 519 ++++++++++++++ usr.sbin/httpd/htdocs/manual/howto/ssi.html.html | 520 ++++++++++++++ usr.sbin/httpd/htdocs/manual/howto/ssi.html.ja.jis | 501 ++++++++++++++ .../httpd/htdocs/manual/images/apache_header.gif | Bin 0 -> 4084 bytes usr.sbin/httpd/htdocs/manual/images/pixel.gif | Bin 0 -> 61 bytes usr.sbin/httpd/htdocs/manual/index.html.en | 184 +++++ usr.sbin/httpd/htdocs/manual/index.html.fr | 164 +++++ usr.sbin/httpd/htdocs/manual/index.html.html | 185 +++++ usr.sbin/httpd/htdocs/manual/index.html.ja.jis | 181 +++++ usr.sbin/httpd/htdocs/manual/install.html.en | 194 ++++++ usr.sbin/httpd/htdocs/manual/install.html.fr | 286 ++++++++ usr.sbin/httpd/htdocs/manual/install.html.html | 195 ++++++ usr.sbin/httpd/htdocs/manual/install.html.ja.jis | 204 ++++++ usr.sbin/httpd/htdocs/manual/invoking.html.fr | 124 ++++ .../httpd/htdocs/manual/mod/directive-dict.html.en | 273 ++++++++ .../htdocs/manual/mod/directive-dict.html.html | 274 ++++++++ .../htdocs/manual/mod/directive-dict.html.ja.jis | 265 ++++++++ .../htdocs/manual/mod/mod_negotiation.html.en | 217 ++++++ .../htdocs/manual/mod/mod_negotiation.html.html | 218 ++++++ .../htdocs/manual/mod/mod_negotiation.html.ja.jis | 220 ++++++ .../httpd/htdocs/manual/mod/module-dict.html.en | 135 ++++ .../httpd/htdocs/manual/mod/module-dict.html.html | 136 ++++ .../htdocs/manual/mod/module-dict.html.ja.jis | 135 ++++ .../httpd/htdocs/manual/new_features_1_3.html.en | 707 +++++++++++++++++++ .../httpd/htdocs/manual/new_features_1_3.html.html | 708 +++++++++++++++++++ .../htdocs/manual/new_features_1_3.html.ja.jis | 746 +++++++++++++++++++++ usr.sbin/httpd/htdocs/manual/programs/ab.html | 164 +++++ usr.sbin/httpd/htdocs/manual/programs/apxs.html | 297 ++++++++ .../httpd/htdocs/manual/programs/dbmmanage.html | 132 ++++ usr.sbin/httpd/htdocs/manual/programs/footer.html | 8 + usr.sbin/httpd/htdocs/manual/programs/header.html | 6 + .../httpd/htdocs/manual/programs/htdigest.html | 82 +++ .../httpd/htdocs/manual/programs/logresolve.html | 68 ++ usr.sbin/httpd/htdocs/manual/programs/other.html | 60 ++ .../httpd/htdocs/manual/programs/rotatelogs.html | 72 ++ usr.sbin/httpd/htdocs/manual/server-wide.html.en | 217 ++++++ usr.sbin/httpd/htdocs/manual/server-wide.html.fr | 227 +++++++ usr.sbin/httpd/htdocs/manual/server-wide.html.html | 218 ++++++ .../httpd/htdocs/manual/server-wide.html.ja.jis | 216 ++++++ usr.sbin/httpd/htdocs/manual/urlmapping.html | 265 ++++++++ usr.sbin/httpd/htdocs/manual/vhosts/index.html.en | 65 ++ .../httpd/htdocs/manual/vhosts/index.html.html | 66 ++ .../httpd/htdocs/manual/vhosts/index.html.ja.jis | 67 ++ 75 files changed, 13580 insertions(+) create mode 100644 usr.sbin/httpd/htdocs/index.html.ca create mode 100644 usr.sbin/httpd/htdocs/index.html.cz create mode 100644 usr.sbin/httpd/htdocs/index.html.de create mode 100644 usr.sbin/httpd/htdocs/index.html.dk create mode 100644 usr.sbin/httpd/htdocs/index.html.ee create mode 100644 usr.sbin/httpd/htdocs/index.html.el create mode 100644 usr.sbin/httpd/htdocs/index.html.en create mode 100644 usr.sbin/httpd/htdocs/index.html.es create mode 100644 usr.sbin/httpd/htdocs/index.html.fr create mode 100644 usr.sbin/httpd/htdocs/index.html.it create mode 100644 usr.sbin/httpd/htdocs/index.html.ja.jis create mode 100644 usr.sbin/httpd/htdocs/index.html.nl create mode 100644 usr.sbin/httpd/htdocs/index.html.po.iso-pl create mode 100644 usr.sbin/httpd/htdocs/index.html.pt create mode 100644 usr.sbin/httpd/htdocs/index.html.pt-br create mode 100644 usr.sbin/httpd/htdocs/index.html.ru.ucs2 create mode 100644 usr.sbin/httpd/htdocs/index.html.ru.ucs4 create mode 100644 usr.sbin/httpd/htdocs/index.html.se create mode 100644 usr.sbin/httpd/htdocs/manual/configuring.html.en create mode 100644 usr.sbin/httpd/htdocs/manual/configuring.html.html create mode 100644 usr.sbin/httpd/htdocs/manual/configuring.html.ja.jis create mode 100644 usr.sbin/httpd/htdocs/manual/custom-error.html.en create mode 100644 usr.sbin/httpd/htdocs/manual/custom-error.html.html create mode 100644 usr.sbin/httpd/htdocs/manual/custom-error.html.ja.jis create mode 100644 usr.sbin/httpd/htdocs/manual/handler.html.en create mode 100644 usr.sbin/httpd/htdocs/manual/handler.html.html create mode 100644 usr.sbin/httpd/htdocs/manual/handler.html.ja.jis create mode 100644 usr.sbin/httpd/htdocs/manual/howto/cgi.html.en create mode 100644 usr.sbin/httpd/htdocs/manual/howto/cgi.html.html create mode 100644 usr.sbin/httpd/htdocs/manual/howto/cgi.html.ja.jis create mode 100644 usr.sbin/httpd/htdocs/manual/howto/footer.html create mode 100644 usr.sbin/httpd/htdocs/manual/howto/header.html create mode 100644 usr.sbin/httpd/htdocs/manual/howto/ssi.html.en create mode 100644 usr.sbin/httpd/htdocs/manual/howto/ssi.html.html create mode 100644 usr.sbin/httpd/htdocs/manual/howto/ssi.html.ja.jis create mode 100644 usr.sbin/httpd/htdocs/manual/images/apache_header.gif create mode 100644 usr.sbin/httpd/htdocs/manual/images/pixel.gif create mode 100644 usr.sbin/httpd/htdocs/manual/index.html.en create mode 100644 usr.sbin/httpd/htdocs/manual/index.html.fr create mode 100644 usr.sbin/httpd/htdocs/manual/index.html.html create mode 100644 usr.sbin/httpd/htdocs/manual/index.html.ja.jis create mode 100644 usr.sbin/httpd/htdocs/manual/install.html.en create mode 100644 usr.sbin/httpd/htdocs/manual/install.html.fr create mode 100644 usr.sbin/httpd/htdocs/manual/install.html.html create mode 100644 usr.sbin/httpd/htdocs/manual/install.html.ja.jis create mode 100644 usr.sbin/httpd/htdocs/manual/invoking.html.fr create mode 100644 usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.en create mode 100644 usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.html create mode 100644 usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.ja.jis create mode 100644 usr.sbin/httpd/htdocs/manual/mod/mod_negotiation.html.en create mode 100644 usr.sbin/httpd/htdocs/manual/mod/mod_negotiation.html.html create mode 100644 usr.sbin/httpd/htdocs/manual/mod/mod_negotiation.html.ja.jis create mode 100644 usr.sbin/httpd/htdocs/manual/mod/module-dict.html.en create mode 100644 usr.sbin/httpd/htdocs/manual/mod/module-dict.html.html create mode 100644 usr.sbin/httpd/htdocs/manual/mod/module-dict.html.ja.jis create mode 100644 usr.sbin/httpd/htdocs/manual/new_features_1_3.html.en create mode 100644 usr.sbin/httpd/htdocs/manual/new_features_1_3.html.html create mode 100644 usr.sbin/httpd/htdocs/manual/new_features_1_3.html.ja.jis create mode 100644 usr.sbin/httpd/htdocs/manual/programs/ab.html create mode 100644 usr.sbin/httpd/htdocs/manual/programs/apxs.html create mode 100644 usr.sbin/httpd/htdocs/manual/programs/dbmmanage.html create mode 100644 usr.sbin/httpd/htdocs/manual/programs/footer.html create mode 100644 usr.sbin/httpd/htdocs/manual/programs/header.html create mode 100644 usr.sbin/httpd/htdocs/manual/programs/htdigest.html create mode 100644 usr.sbin/httpd/htdocs/manual/programs/logresolve.html create mode 100644 usr.sbin/httpd/htdocs/manual/programs/other.html create mode 100644 usr.sbin/httpd/htdocs/manual/programs/rotatelogs.html create mode 100644 usr.sbin/httpd/htdocs/manual/server-wide.html.en create mode 100644 usr.sbin/httpd/htdocs/manual/server-wide.html.fr create mode 100644 usr.sbin/httpd/htdocs/manual/server-wide.html.html create mode 100644 usr.sbin/httpd/htdocs/manual/server-wide.html.ja.jis create mode 100644 usr.sbin/httpd/htdocs/manual/urlmapping.html create mode 100644 usr.sbin/httpd/htdocs/manual/vhosts/index.html.en create mode 100644 usr.sbin/httpd/htdocs/manual/vhosts/index.html.html create mode 100644 usr.sbin/httpd/htdocs/manual/vhosts/index.html.ja.jis (limited to 'usr.sbin/httpd/htdocs') 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 @@ + + + + Pàgina de prova de l'instal·lació d'Apache + + + +

+ Funciona ! El servidor web Apache està instal·lat + en aquest lloc  ! +

+

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

+
+
+ Si està veien aquesta pàgina i no es la que esperava, posis en + contacte amb + l'administrador web d'aquest lloc. + (Provi d'enviar un correu electrònic a <Webmaster@domain>.) + 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à ignorat. +
+
+

+ La + documentació + d'Apache ha estat inclosa en aquesta distribució. +

+

+ 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 ! +

+
+ +
+ + 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 @@ + + + + + Testovací stránka instalace web serveru Apache + + + +

+ Funguje to! Na tomto serveru bì¾í Apache! +

+

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

+
+
+ Pokud vidíte tuto zprávu místo oèekávané domovské stránky, + kontaktujte, prosím, správce pøíslu¹ného web + serveru. (Zkuste poslat e-mail na adresu + <Webmaster@domain>.) + 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 ignorovat. +
+
+

+ Zde najdete + dokumentaci + Apache (anglicky) obsa¾enou v této distribuci. +

+

+ Následující logo mù¾e být pou¾ito bez omezení na web serveru s + programem Apache. Dìkujeme za pou¾ití Apache! +

+
+ +
+ + 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 @@ + + + + Testseite fuer die Apache-Installation auf dieser Web Site + + + + +

+ Es klappt! Der Apache Web-Server ist auf dieser Web-Site installiert! +

+

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

+
+
+ Wenn Sie diese Seite an Stelle einer anderen erwarteten Web-Site + sehen sollten, dann nehmen Sie bitte Kontakt mit dem + Eigentümer dieser Site auf (Versuchen Sie, eine EMail + an <Webmaster@domänenname> + zu senden)!
+

+ Obwohl der Eigentümer dieser Domäne die Apache + Web-Server Software verwendet, hat diese Web-Site ziemlich sicher + keinerlei Verbindung mit der Apache Software Foundation + (die diese Software kostenlos vertreibt). Es besteht also + keinerlei Veranlassung, eine EMail an + die Entwickler der Software zu senden. Sollten Sie das dennoch + tun, wird Ihre Mail stillschweigend + ignoriert. +

+
+

+ Die englische Online-Dokumentation für die + Apache Web-Server Software ist Bestandteil dieser + Software-Distribution. +

+

+ Dem WebMaster dieser Web-Site steht es frei, das + untenstehende "Powered by Apache"-Logo auf einem Apache-basierten + Web-Server zu verwenden.
+ Vielen Dank, dass Sie Apache gewählt haben! +

+
+ Powered by Apache! +
+ + 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 @@ + + + + Prøveside for Apache installationen + + + +

+ Det virkede! Apache Webserveren er installeret på denne maskine! +

+

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

+
+
+ Hvis du ser denne side istedet for en anden forventet side, kontakt + venligst administratoren for den server du prøver at kontakte. + (Prøv at sende mail til <Webmaster@domain>.) + 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. +
+
+

+ Apache- + documentationen + er inkluderet med denne distribution. +

+

+ Webmasteren af denne site må gerne bruge den følgende grafik + på en Apache-drevet webserver. Mange tak for at bruge Apache! +

+
+ +
+ + 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 @@ + + + + Apache veebiserveri installatsiooni testlehekülg + + + + +

+ Kujuta pilti, käima läks! Apache veebiserver on installeeritud! +

+

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

+
+
+ Kui Sa ootasid siin leheküljel näha hoopis midagi muud, + siis palun võta ühendust selle veebisaidi + administraatoriga. (Võid näiteks kirjutada aadressil + <Webmaster@domain>.) 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 + ignoreeritakse. +
+
+

+ Ka Apache + dokumentatsioon + on selles distributsioonis olemas. +

+

+ Kohalik veebmeister võib vabalt kasutada allpool olevat + pilti oma Apache veebiserveril. Aitäh Apachet kasutamast! +

+
+ +
+ + 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 @@ + + + + ÄïêéìáóôéêÞ Óåëßäá ãéá ôçí ÅãêáôÜóôáóç ôïõ Apache + + + + + +

+ÅÜí ìðïñåßôå íá äåßôå áõôÞ ôç óåëßäá, ôüôå ç åãêáôÜóôáóç ôïõ ëïãéóìéêïý ôïõ ÅîõðçñåôçôÞ WWW Apache óå áõôü ôï óýóôçìá Þôáí åðéôõ÷Þò. Ìðïñåßôå ôþñá íá ðñïóèÝóåôå ðåñéå÷üìåíï óå áõôü ôïí êáôÜëïãï êáé íá áíôéêáôáóôÞóåôå áõôÞ ôç óåëßäá. + +


+ +

ÂëÝðåôå áõôÞ ôç óåëßäá áíôß ãéá ôï äéêôõáêü ôüðï ðïõ ðåñéìÝíáôå;

+ +

+ÁõôÞ ç óåëßäá âñßóêåôáé åäþ ãéáôß ï äéá÷åéñéóôÞò áõôïý ôïõ äéêôõáêïý ôüðïõ ôñïðïðïßçóå ôéò ñõèìßóåéò óôïí åîõðçñåôçôÞ Apache. Ðáñáêáëþ åðéêïéíùíÞóôå ìå ôïí õðåýèõíï ãéá ôç äéá÷åßñéóç ôïõ ðáñüíôïò åîõðçñåôçôÞ. Ôï ºäñõìá Ëïãéóìéêïý Apache (The Apache Software Foundation) Ýãñáøå ôï ëïãéóìéêü ôïõ åîõðçñåôçôÞ WWW ôï ïðïßï ÷ñçóéìïðïéåß ï äéá÷åéñéóôÞò áõôïý ôïõ äéêôõáêïý ôüðïõ. Ôï ºäñõìá üìùò äåí Ý÷åé êáìéÜ áñìïäéüôçôá ó÷åôéêÞ ìå ôç äéá÷åßñéóç áõôïý ôïõ äéêôõáêïý ôüðïõ êáé äåí ìðïñåß íá âïçèÞóåé óôçí åðßëõóç èåìÜôùí ðïõ Ý÷ïõí ó÷Ýóç ìå ôéò ñõèìßóåéò ôïõ. + +


+ + +

ôåêìçñßùóç ôïõ Apache Ý÷åé óõìðåñéëçöèåß óå áõôÞ ôç äéáíïìÞ. + +

+Åßóôå åëåýèåñïò/ç íá ÷ñçóéìïðïéÞóåôå ôçí ðáñáêÜôù åéêüíá óå Ýíáí åîõðçñåôçôÞ ôïõ WWW ðïõ âáóßæåôáé óå Apache. Åõ÷áñéóôïýìå ðïõ ÷ñçóéìïðïéåßôå ôïí Apache! + +

+ + 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 @@ + + + + Test Page for the SSL/TLS-aware Apache Installation on Web Site + + + + +
+
+
+

+ Hey, it worked !
+ The SSL/TLS-aware Apache webserver was
+ successfully installed on this website. +

+

+ If you can see this page, then the people who own this website have just + installed the Apache Web server + software and the Apache + Interface to OpenSSL (mod_ssl) successfully. They now have to add + content to this directory and replace this placeholder page, or else point + the server at their real content. +

+
+ ATTENTION!
+ If you are seeing this page instead of the site you expected, please + contact the administrator of the site involved. + (Try sending mail to <webmaster@domain>.) + 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 + ignored. +
+

+ The Apache online + documentation + has been included with this distribution.
+ Especially also read the + mod_ssl User Manual + carefully. +

+

+ Your are allowed to use the images below on your SSL-aware Apache Web server.
+ Thanks for using Apache, mod_ssl and OpenSSL! +

+

+

+ Apache Webserver +   + mod_ssl Interface +   + OpenSSL Toolkit +
+
+
+ + 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 @@ + + + + Pagína para probar la instalación de Apache + + + +

+ ¡Funcionó! ¡El Servidor de Red Apache ha sido instalado en ese sitio! +

+

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

+
+
+ Si usted esta leyendo esta pagína y no es lo que esperaba, por favor + contacte el administrador de este sitio. + (Trate de enviar correo electrónico a <Webmaster@domain>.) + 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 + ignorado. +
+
+

+ La + documentación + de Apache ha sido incluida en esta distribución. +

+

+ El administrador del sitio esta invitado a usar la siguiente + imagen para indicar que su sitio es servido por Apache. + ¡Gracias por usar Apache! +

+
+ +
+ + 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 @@ + + + + Page de test de l'installation d'Apache + + + + + +

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.

+ +
+ +

Vous voyez cette page au lieu du site attendu ?

+ +

Vous voyez cette page parce que l'administrateur du site a modifié +la configuration de ce serveur Web. Veuillez contacter +l'administrateur du site concerné. 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.

+ +
+ +

La documentation Apache est incluse dans cette +distribution.

+ +

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 !

+ +
+ + + 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 @@ + + + + + Pagina di prova dell'installazione di un sito Web con Apache + + + + +
+

+Funziona! Il Server Web Apache e' stato installato su questo sito Web!

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

+


+
Se state vedendo questa pagina invece del sito che pensavate, +vi preghiamo di contattare l'amministratore del sito in questione. +(Provate ad inviare un email a <Webmaster@domain>.)  +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' +ignorato.
+ +
+
La documentazione relativa di Apache +e' inclusa nella distribuzione. +

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! +

+

+ + + 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 @@ + + + + + Apache $B%$%s%9%H!<%k;~$N%F%9%H%Z!<%8(B + + + + + +

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

+
+ +

$B$"$J$?$NM=A[$KH?$7$F!"$3$N%Z!<%8$,8+$($F$$$k$G$7$g$&$+(B?

+ +

+$B$3$N%Z!<%8$O!"%5%$%H4IM}$B$3$N%5!<%P$r4IM}$9$k@UG$$r;}$C$F$$$kJ}$KO"Mm$r$H$C$F(B$B$/$@$5$$!#$3$N%5%$%H4IM} +


+ + +

+Apache $B$K4X$9$k(B$BJ8=q(B $B$O!"$3$N(B web $B%5!<%PG[I[J*$NCf$K4^$^$l$F$$$^$9!#(B +

+

+$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! +

+
+ +
+ + 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 @@ + + + + Test Pagina voor de Apache Installatie op deze Web Site + + + + +

+ Alles Werkt! De Apache Web Server is geinstalleerd op deze Web Site +

+

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

+
+
+ Mocht u deze pagina zien, in plaats van de pagina of web site die u + verwachtte, neem dan contact op met de beheerder van + deze site. Bijvoorbeeld door een berichtje te sturen naar + <Webmaster@dit-domain>. +

+ 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 + absoluut + geen zin de web software auteurs een emailtje te sturen. Mocht u dat + toch doen, dan wordt uw bericht gewoon genegeerd. +

+
+

+ De + handleiding voor de apache web + server software maakt deel uit van deze distributie. +

+

+ Als beheerder of webmaster 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! +

+
+ Klein 'Powered by Apache' Logotje +
+ + 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 @@ + + + + Strona testowa instalacji serwera Apache + + + + + + + +

+Je¿eli strona ta jest widoczna, oznacza to poprawn± instalacjê serwera Apache. Mo¿na ju¿ zamieniæ zawarto¶æ tej witryny. + +


+ +

Czy zamiast spodziewanej witryny WWW widoczna jest ta?

+ +

+Strona ta jest widoczna, poniewa¿ administrator serwera WWW zmieni³ jego konfiguracjê. +Proszê skontaktowaæ siê z osob± odpowiedzialn± za zarz±dzanie tym serwerem. 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±. + +


+ + +

+Do niniejszej dystrybucji serwera Apache do³±czono anglojêzyczn± dokumentacjê. + +

+Poni¿sze logo, "Powered by Apache", mo¿na stosowaæ bez ograniczeñ. Dziêkujemy za wybranie Apache'a! + +

+ + 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 @@ + + + + Página de teste da instalação do Apache Web Server + + + + + + +

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


+ +

Está a ver esta página em vez do website que + esperava?

+ +

Esta página está neste momento activa porque o administrador + deste site alterou a configuração do web server. Por favor contacte + a pessoa responsável pela manutenção deste servidor. + 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. +


+ + +

A documentação foi incluída + juntamente com esta distribuição. +

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! +

+ + 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 @@ + + + + Pagina teste para a instalacao do Apache no Web Site + + + + +

+ Funcionou! O Apache Web Server esta instalado neste Web Site! +

+

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

+
+
+ Se esta a ver esta pagina em vez do site que esperava, por favor + contacte o administrador do site envolvido. + (Tente enviar um e-mail para + <Webmaster@domain>.) + 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 + ignorada. +
+
+

+ O Apache documentation + foi incluido com esta distribuicao. +

+

+ O Webmaster deste site e livre para utilizar a imagem abaixo num + Web server instalado com o Apache. Obrigado por utilizar o Apache! +

+
+ +
+ + diff --git a/usr.sbin/httpd/htdocs/index.html.ru.ucs2 b/usr.sbin/httpd/htdocs/index.html.ru.ucs2 new file mode 100644 index 00000000000..4d22a70a05b Binary files /dev/null and b/usr.sbin/httpd/htdocs/index.html.ru.ucs2 differ diff --git a/usr.sbin/httpd/htdocs/index.html.ru.ucs4 b/usr.sbin/httpd/htdocs/index.html.ru.ucs4 new file mode 100644 index 00000000000..8db773e6a6d Binary files /dev/null and b/usr.sbin/httpd/htdocs/index.html.ru.ucs4 differ 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 @@ + + + + Testsida för Apache-installationen + + + +

+ Det fungerade! Apache är installerad på denna maskin! +

+

+ Om du kan se denna sida så har ägaren till denna maskin installerat + webbserverprogramvaran Apache.
+ Denne måste nu placera webbsidor i detta bibliotek och ändra på denna sida, eller + peka servern mot ett annat bibliotek. +

+
+
+ Om du förväntat dig att se något helt annat här än denna sida, kontakta + vänligen administratören för den webbserver du försöker komma i kontakt med. + (Försök att skicka ett brev till <webmaster@domain>.) + 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. +
+
+

+ Apache-dokumentationen är inkluderad i denna distribution. +

+

+ Administratören av denna webbplats får gärna använda följande bild till en webbplats som använder Apache.
+ Tack för att ni använder Apache! +

+
+ +
+ + 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 @@ + + + +Configuration Files + + + + + +

Configuration Files

+ + + +
+ +

Main Configuration Files

+ + + +
+Related Modules

+mod_mime
+
+Related Directives

+AccessConfig
+<IfDefine>
+Include
+ResourceConfig
+TypesConfig
+
+ +

Apache is configured by placing directives in plain text configuration files. The main +configuration file is usually called httpd.conf. The +location of this file is set at compile-time, but may be overridden +with the -f command line flag. Some sites also have +srm.conf and access.conf files for historical +reasons. In addition, other configuration files may be added using +the Include +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.

+ +

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

+The server also reads a file containing mime document types; the +filename is set by the TypesConfig directive, and is mime.types by default. + +


+ +

Syntax of the Configuration Files

+ +

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

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

You can check your configuration files for syntax errors without +starting the server by using apachectl configtest +or the -t command line option. + +


+ +

Modules

+ + +
+Related Modules

+mod_so
+
+Related Directives

+AddModule
+ClearModuleList
+<IfModule>
+LoadModule
+
+ +

Apache is a modular server. This implies that only the most basic +functionality is included in the core server. Extended features are +available through modules which +can be loaded into Apache. By default, a base set of modules is +included in the server at compile-time. If the server is compiled to +use dynamically loaded modules, then modules +can be compiled separately and added at any time using the LoadModule 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 <IfModule> block. + +

To see which modules are currently compiled into the server, +you can use the -l command line option. + +


+ +

Scope of Directives

+ +
+Related Directives

+<Directory>
+<DirectoryMatch>
+<Files>
+<FilesMatch>
+<Location>
+<LocationMatch>
+<VirtualHost>
+
+ +

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 +<Directory>, +<DirectoryMatch>, +<Files>, +<FilesMatch>, +<Location>, + and +<LocationMatch> + +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. + +

Apache has the capability to serve many different websites +simultaneously. This is called Virtual Hosting. +Directives can also be scoped by placing them inside +<VirtualHost> +sections, so that they will only apply to requests for a particular +website. + +

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 Context of the directive. +For further information, we provide details on How Directory, Location and Files sections +work. + +


+ +

.htaccess Files

+ +
+Related Directives

+AccessFileName
+AllowOverride
+
+ +

Apache allows for decentralized management of configuration via +special files placed inside the web tree. The special files are +usually called .htaccess, but any name can be specified +in the AccessFileName directive. Directives placed in +.htaccess files apply to the directory where you place +the file, and all sub-directories. The .htaccess files +follow the same syntax as the main configuration files. Since +.htaccess files are read on every request, changes made +in these files take immediate effect. + +

To find which directives can be placed in .htaccess +files, check the Context +of the directive. The server administrator further controls what +directives may be placed in .htaccess files by +configuring the AllowOverride +directive in the main configuration files. + +


+ +

Log files

+ +

security warning

+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 NOT give people write +access to the directory the logs are stored in without being aware of +the consequences; see the security tips +document for details. + +

pid file

+ +

On startup, Apache saves the process id of the parent httpd process to +the file logs/httpd.pid. This filename can be changed +with the PidFile 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 Stopping and +Restarting page. + +

+If the process dies (or is killed) abnormally, then it will be necessary to +kill the children httpd processes. + +

Error log

+ +

The server will log error messages to a log file, by default +logs/error_log on Unix or logs/error.log on +Windows and OS/2. The filename can be set using the ErrorLog directive; different error +logs can be set for different virtual hosts. + +

Transfer log

+ +

The server will typically log each request to a transfer file, by +default logs/access_log on Unix or +logs/access.log on Windows and OS/2. The filename can be +set using a CustomLog +directive; different transfer logs can be set for different virtual hosts. + + + + + 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 @@ + + + +Configuration Files + + + + + +

Configuration Files

+ + + +
+ +

Main Configuration Files

+ + + +
+Related Modules

+mod_mime
+
+Related Directives

+AccessConfig
+<IfDefine>
+Include
+ResourceConfig
+TypesConfig
+
+ +

Apache is configured by placing directives in plain text configuration files. The main +configuration file is usually called httpd.conf. The +location of this file is set at compile-time, but may be overridden +with the -f command line flag. Some sites also have +srm.conf and access.conf files for historical +reasons. In addition, other configuration files may be added using +the Include +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.

+ +

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

+The server also reads a file containing mime document types; the +filename is set by the TypesConfig directive, and is mime.types by default. + +


+ +

Syntax of the Configuration Files

+ +

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

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

You can check your configuration files for syntax errors without +starting the server by using apachectl configtest +or the -t command line option. + +


+ +

Modules

+ + +
+Related Modules

+mod_so
+
+Related Directives

+AddModule
+ClearModuleList
+<IfModule>
+LoadModule
+
+ +

Apache is a modular server. This implies that only the most basic +functionality is included in the core server. Extended features are +available through modules which +can be loaded into Apache. By default, a base set of modules is +included in the server at compile-time. If the server is compiled to +use dynamically loaded modules, then modules +can be compiled separately and added at any time using the LoadModule 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 <IfModule> block. + +

To see which modules are currently compiled into the server, +you can use the -l command line option. + +


+ +

Scope of Directives

+ +
+Related Directives

+<Directory>
+<DirectoryMatch>
+<Files>
+<FilesMatch>
+<Location>
+<LocationMatch>
+<VirtualHost>
+
+ +

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 +<Directory>, +<DirectoryMatch>, +<Files>, +<FilesMatch>, +<Location>, + and +<LocationMatch> + +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. + +

Apache has the capability to serve many different websites +simultaneously. This is called Virtual Hosting. +Directives can also be scoped by placing them inside +<VirtualHost> +sections, so that they will only apply to requests for a particular +website. + +

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 Context of the directive. +For further information, we provide details on How Directory, Location and Files sections +work. + +


+ +

.htaccess Files

+ +
+Related Directives

+AccessFileName
+AllowOverride
+
+ +

Apache allows for decentralized management of configuration via +special files placed inside the web tree. The special files are +usually called .htaccess, but any name can be specified +in the AccessFileName directive. Directives placed in +.htaccess files apply to the directory where you place +the file, and all sub-directories. The .htaccess files +follow the same syntax as the main configuration files. Since +.htaccess files are read on every request, changes made +in these files take immediate effect. + +

To find which directives can be placed in .htaccess +files, check the Context +of the directive. The server administrator further controls what +directives may be placed in .htaccess files by +configuring the AllowOverride +directive in the main configuration files. + +


+ +

Log files

+ +

security warning

+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 NOT give people write +access to the directory the logs are stored in without being aware of +the consequences; see the security tips +document for details. + +

pid file

+ +

On startup, Apache saves the process id of the parent httpd process to +the file logs/httpd.pid. This filename can be changed +with the PidFile 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 Stopping and +Restarting page. + +

+If the process dies (or is killed) abnormally, then it will be necessary to +kill the children httpd processes. + +

Error log

+ +

The server will log error messages to a log file, by default +logs/error_log on Unix or logs/error.log on +Windows and OS/2. The filename can be set using the ErrorLog directive; different error +logs can be set for different virtual hosts. + +

Transfer log

+ +

The server will typically log each request to a transfer file, by +default logs/access_log on Unix or +logs/access.log on Windows and OS/2. The filename can be +set using a CustomLog +directive; different transfer logs can be set for different virtual hosts. + + + + + + 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 @@ + + + +$B@_Dj%U%!%$%k(B + + + + + + +

$B%U%!%$%k$N@_Dj(B

+ + + +
+ +

$B%a%$%s$N@_Dj%U%!%$%k(B

+ + + +
+$B4XO"%b%8%e!<%k(B

+mod_mime
+
+$B4XO"%G%#%l%/%F%#%V(B

+AccessConfig
+<IfDefine>
+Include
+ResourceConfig
+TypesConfig
+
+ +

Apache $B$O(B $B%G%#%l%/%F%#%V(B $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 httpd.conf $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 +-f $B%U%i%0$K$h$j>e=q$-$G$-$^$9!#(B +$B%5%$%H$K$h$C$F$O(B $BNr;KE*(B +$BM}M3(B $B$K$h$j(B srm.conf $B$H(B access.conf $B$,(B +$B$"$k>l9g$b$"$j$^$9!#$=$N>e!"B>$N@_Dj%U%!%$%k$,(B +Include $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

+ +

Apache 1.3.13 $B$N?7$7$$5!G=$H$7$F!"@_Dj%U%!%$%k$,$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 + +

+$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 TypesConfig $B$G@_Dj$5$l!"%G%U%)%k%H$G(B mime.types +$B$K$J$C$F$$$^$9!#(B +


+ +

$B@_Dj%U%!%$%k$N9=J8(B

+ +

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$,$NJ8;z$d6uGr$,$"$C$F$O$$$1$^$;$s!#(B + +

$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$B$$$1$^$;$s(B$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 + +

$B@_Dj%U%!%$%k$N9=J8%(%i!<$O(B +apachectl configtest $B$+%3%^%s%I%i%$%s%*%W%7%g%s(B +-t $B$r;H$C$FD4$Y$i$l$^$9!#(B + +


+ +

$B%b%8%e!<%k(B

+ + +
+$B4XO"%b%8%e!<%k(B

+mod_so
+
+$B4XO"%G%#%l%/%F%#%V(B

+AddModule
+ClearModuleList
+<IfModule>
+LoadModule
+
+ +

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 $B%b%8%e!<%k(B $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$B4pK\(B$B%;%C%H$,(B +$B%5!<%P$K4^$^$l$^$9!#%5!<%P$,(B$BF0E*%m!<%I(B$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 LoadModule +$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 <IfModule> $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 + +

$B%3%^%s%I%i%$%s%*%W%7%g%s(B -l $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 + +


+ +

$B%G%#%l%/%F%#%V$NE,MQHO0O(B

+ +
+$B4XO"%G%#%l%/%F%#%V(B

+<Directory>
+<DirectoryMatch>
+<Files>
+<FilesMatch>
+<Location>
+<LocationMatch>
+<VirtualHost>
+
+ +

$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 +<Directory>, +<DirectoryMatch>, +<Files>, +<FilesMatch>, +<Location>, +<LocationMatch> + +$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 + +

Apache $B$OF1;~$KB?$/$N0c$&%&%'%V%5%$%H$r07$&G=NO$,$"$j$^$9!#(B +$B$3$l$O(B $B%P!<%A%c%k%[%9%H(B $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 +<VirtualHost> +$B%;%/%7%g%s$NCf$KCV$/$3$H$G$bE,MQHO0O$rJQ$($k$3$H$,$G$-$^$9!#(B + +

$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 +Context $B$rD4$Y$F$/$@$5$$!#(B +$B>\$7$$>pJs$O!"(BDirectory, Location, Files $B%;%/%7%g%s$NF0:nK!(B +$B$K$"$j$^$9!#(B + +


+ +

.htaccess $B%U%!%$%k(B

+ +
+$B4XO"%G%#%l%/%F%#%V(B

+AccessFileName
+AllowOverride
+
+ +

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 +.htaccess $B$H$$$&L>A0$G!"(B +AccessFileName $B%G%#%l%/%F%#%V$G$I$s$JL>A0$G$b;XDj$G$-$^$9!#(B +.htaccess $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 +.htaccess $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 + +

$B$I$N%G%#%l%/%F%#%V$,(B .htaccess $B%U%!%$%k$K=q$1$k$+$r(B +$BD4$Y$k$K$O!"%G%#%l%/%F%#%V$N(B +Context $B$rD4$Y$F$/$@$5$$!#(B +$B%5!<%P4IM}AllowOverride +$B$r@_Dj$9$k$3$H$G$I$N%G%#%l%/%F%#%V$r(B .htaccess $B%U%!%$%k$K(B +$B=q$1$k$h$&$K$9$k$+$r@)8f$9$k$3$H$,$G$-$^$9!#(B + +


+ +

$B%m%0%U%!%$%k(B

+ +

$B%;%-%e%j%F%#$K4X$9$k7Y9p(B

+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$7$J$$(B$B$G$/$@$5$$!#>\:Y$O(B +$B%;%-%e%j%F%#>pJs(B$B$r;2>H$7$F$/$@$5$$!#(B + +

pid $B%U%!%$%k(B

+ +

$B5/F0;~$K(B Apache $B$O?F(B httpd $B%W%m%;%9$N%W%m%;%9(B ID $B$r(B +logs/httpd.pid $B%U%!%$%k$KJ]B8$7$^$9!#$3$N%U%!%$%kL>$O(B +PidFile +$B%G%#%l%/%F%#%V$GJQ99$9$k$3$H$,$G$-$^$9!#%W%m%;%9(B ID $B$O4IM}\$7$$>pJs$O(B$B5/F0$H=*N;(B$B$r;2>H$7$F$/$@$5$$!#(B + +

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

$B%(%i!<%m%0(B

+ +

$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 logs/error_log $B$G(B Windows $B$H(B OS/2 $B$G$O(B +logs/error.log $B$G$9!#%U%!%$%kL>$O(B ErrorLog $B%G%#%l%/%F%#%V$G@_Dj$G$-$^$9!#(B +$B0c$&(B$B%P!<%A%c%k%[%9%H(B +$B$K0c$&%(%i!<%m%0$r@_Dj$9$k$3$H$,$G$-$^$9!#(B + +

$BE>Aw%m%0(B

+ +

$B%5!<%P$OIaDL$=$l$>$l$N%j%/%(%9%H$rE>Aw%U%!%$%k$K%m%0$rlogs/access_log $B$G(B Windows $B$H(B +OS/2 $B$G$O(B logs/access.log $B$G$9!#%U%!%$%kL>$O(B +CustomLog +$B%G%#%l%/%F%#%V$r$G@_Dj$G$-$^$9!#0c$&(B$B%P!<%A%c%k%[%9%H(B$B$K(B +$B0c$&E>Aw%m%0$r@_Dj$9$k$3$H$,$G$-$^$9!#(B + + + + + 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 @@ + + + +Custom error responses + + + + + +

Custom error responses

+ +
+ +
Purpose + +
Additional functionality. Allows webmasters to configure the response of + Apache to some error or problem. + +

Customizable responses can be defined to be activated in the + event of a server detected error or problem. + +

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

+ +

Old behavior + +
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.
+ +

+ +

New behavior + +
The server can be asked to; +
    +
  1. Display some other text, instead of the NCSA hard coded messages, or +
  2. redirect to a local URL, or +
  3. redirect to an external URL. +
+ +

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

To achieve this, Apache will define new CGI-like environment + variables, e.g. + +

+REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, image/jpeg
+REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05 9000/712)
+REDIRECT_PATH=.:/bin:/usr/local/bin:/etc
+REDIRECT_QUERY_STRING=
+REDIRECT_REMOTE_ADDR=121.345.78.123
+REDIRECT_REMOTE_HOST=ooh.ahhh.com
+REDIRECT_SERVER_NAME=crash.bang.edu
+REDIRECT_SERVER_PORT=80
+REDIRECT_SERVER_SOFTWARE=Apache/0.8.15
+REDIRECT_URL=/cgi-bin/buggy.pl
+
+ +

note the REDIRECT_ prefix. + +

At least REDIRECT_URL and REDIRECT_QUERY_STRING + 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. + None of these will be set if your ErrorDocument is an + external redirect (i.e., anything starting with a + scheme name + like http:, even if it refers to the same host as the + server).

+ +

Configuration + +
Use of "ErrorDocument" is enabled for .htaccess files when the + "FileInfo" override is + allowed. + +

Here are some examples... + +

+ErrorDocument 500 /cgi-bin/crash-recover
+ErrorDocument 500 "Sorry, our script crashed. Oh dear
+ErrorDocument 500 http://xxx/
+ErrorDocument 404 /Lame_excuses/not_found.html
+ErrorDocument 401 /Subscription/how_to_subscribe.html +
+ +

The syntax is, + +

ErrorDocument +<3-digit-code> action + +

where the action can be, + +

    +
  1. Text to be displayed. Prefix the text with a quote ("). Whatever + follows the quote is displayed. Note: the (") prefix isn't + displayed. + +
  2. An external URL to redirect to. + +
  3. A local URL to redirect to. + +
+
+ +


+ +

Custom error responses and redirects

+ +
+ +
Purpose + +
Apache's behavior to redirected URLs has been modified so that additional + environment variables are available to a script/server-include.

+ +

Old behavior + +
Standard CGI vars were made available to a script which has been + redirected to. No indication of where the redirection came from was + provided. + +

+ +

New behavior +
+ +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 REDIRECT_. REDIRECT_ environment +variables are created from the CGI environment variables which existed +prior to the redirect, they are renamed with a REDIRECT_ +prefix, i.e., HTTP_USER_AGENT becomes +REDIRECT_HTTP_USER_AGENT. In addition to these new +variables, Apache will define REDIRECT_URL and +REDIRECT_STATUS to help the script trace its origin. +Both the original URL and the URL being redirected to can be logged in +the access log. + +
+

+If the ErrorDocument specifies a local redirect to a CGI script, the script +should include a "Status:" 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: +

+
+      :
+    print  "Content-type: text/html\n";
+    printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
+      :
+
+

+If the script is dedicated to handling a particular error condition, such as +404 Not Found, it can use the specific code and +error text instead. +

+ + + + 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 @@ + + + +Custom error responses + + + + + +

Custom error responses

+ +
+ +
Purpose + +
Additional functionality. Allows webmasters to configure the response of + Apache to some error or problem. + +

Customizable responses can be defined to be activated in the + event of a server detected error or problem. + +

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

+ +

Old behavior + +
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.
+ +

+ +

New behavior + +
The server can be asked to; +
    +
  1. Display some other text, instead of the NCSA hard coded messages, or +
  2. redirect to a local URL, or +
  3. redirect to an external URL. +
+ +

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

To achieve this, Apache will define new CGI-like environment + variables, e.g. + +

+REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, image/jpeg
+REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05 9000/712)
+REDIRECT_PATH=.:/bin:/usr/local/bin:/etc
+REDIRECT_QUERY_STRING=
+REDIRECT_REMOTE_ADDR=121.345.78.123
+REDIRECT_REMOTE_HOST=ooh.ahhh.com
+REDIRECT_SERVER_NAME=crash.bang.edu
+REDIRECT_SERVER_PORT=80
+REDIRECT_SERVER_SOFTWARE=Apache/0.8.15
+REDIRECT_URL=/cgi-bin/buggy.pl
+
+ +

note the REDIRECT_ prefix. + +

At least REDIRECT_URL and REDIRECT_QUERY_STRING + 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. + None of these will be set if your ErrorDocument is an + external redirect (i.e., anything starting with a + scheme name + like http:, even if it refers to the same host as the + server).

+ +

Configuration + +
Use of "ErrorDocument" is enabled for .htaccess files when the + "FileInfo" override is + allowed. + +

Here are some examples... + +

+ErrorDocument 500 /cgi-bin/crash-recover
+ErrorDocument 500 "Sorry, our script crashed. Oh dear
+ErrorDocument 500 http://xxx/
+ErrorDocument 404 /Lame_excuses/not_found.html
+ErrorDocument 401 /Subscription/how_to_subscribe.html +
+ +

The syntax is, + +

ErrorDocument +<3-digit-code> action + +

where the action can be, + +

    +
  1. Text to be displayed. Prefix the text with a quote ("). Whatever + follows the quote is displayed. Note: the (") prefix isn't + displayed. + +
  2. An external URL to redirect to. + +
  3. A local URL to redirect to. + +
+
+ +


+ +

Custom error responses and redirects

+ +
+ +
Purpose + +
Apache's behavior to redirected URLs has been modified so that additional + environment variables are available to a script/server-include.

+ +

Old behavior + +
Standard CGI vars were made available to a script which has been + redirected to. No indication of where the redirection came from was + provided. + +

+ +

New behavior +
+ +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 REDIRECT_. REDIRECT_ environment +variables are created from the CGI environment variables which existed +prior to the redirect, they are renamed with a REDIRECT_ +prefix, i.e., HTTP_USER_AGENT becomes +REDIRECT_HTTP_USER_AGENT. In addition to these new +variables, Apache will define REDIRECT_URL and +REDIRECT_STATUS to help the script trace its origin. +Both the original URL and the URL being redirected to can be logged in +the access log. + +
+

+If the ErrorDocument specifies a local redirect to a CGI script, the script +should include a "Status:" 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: +

+
+      :
+    print  "Content-type: text/html\n";
+    printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
+      :
+
+

+If the script is dedicated to handling a particular error condition, such as +404 Not Found, it can use the specific code and +error text instead. +

+ + + + + 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 @@ + + + +$B%+%9%?%`%(%i!<%l%9%]%s%9(B + + + + + +

$B%+%9%?%`%(%i!<%l%9%]%s%9(B

+ +
+ +
$BL\E*(B + +
$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 + +

$B%5!<%P$,%(%i!<$dLdBj$rH/8+$7$?>l9g$NH?1~$r!"(B + $B%+%9%?%^%$%:$7$FDj5A$9$k$3$H$,$G$-$^$9!#(B

+ +

$BNc$($P!"%9%/%j%W%H$Nl9g$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

+ + + +
$B8E$$F0:n(B + +
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 + + + +
$B?7$7$$F0:n(B + +
+
    +
  1. NCSA $B$N%O!<%I%3!<%I$5$l$?%a%C%;!<%8$NBe$o$j$KB>$N%F%-%9%H$rI=<((B
  2. +
  3. $B%m!<%+%k$N(B URL $B$K%j%@%$%l%/%H(B
  4. +
  5. $B30It$N(B URL $B$K%j%@%$%l%/%H(B
  6. +
+ $B$9$k$h$&$K%5!<%P$r@_Dj$G$-$^$9!#(B +

$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

+ + +

$B$3$l$r$BNc$($P(B$B0J2<$N$h$&$J$b$N$,$"$j$^$9!#(B + +

+REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, image/jpeg
+REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05 9000/712)
+REDIRECT_PATH=.:/bin:/usr/local/bin:/etc
+REDIRECT_QUERY_STRING=
+REDIRECT_REMOTE_ADDR=121.345.78.123
+REDIRECT_REMOTE_HOST=ooh.ahhh.com
+REDIRECT_SERVER_NAME=crash.bang.edu
+REDIRECT_SERVER_PORT=80
+REDIRECT_SERVER_SOFTWARE=Apache/0.8.15
+REDIRECT_URL=/cgi-bin/buggy.pl
+
+ +

$BF,$KIU$/(B REDIRECT_ $B$KCmL\$7$F$/$@$5$$!#(B

+ +

$B>/$J$/$H$b(B REDIRECT_URL $B$H(B REDIRECT_QUERY_STRING $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 + $B30It(B$B%j%@%$%l%/%H(B + ($B$9$J$o$A(B$B!"(B + http: $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$B$^$C$?$/(B$B@_Dj$5$l$^$;$s!#(B + + + +

$B@_Dj(B + +
"FileInfo" $B%*!<%P!<%i%$%I(B$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 + +

$B$3$3$K!"$$$/$D$+$NNc$r5s$2$^$9!#(B

+ +
ErrorDocument 500 /cgi-bin/crash-recover +ErrorDocument 500 /cgi-bin/crash-recover
+ErrorDocument 500 "Sorry, our script crashed. Oh dear
+ErrorDocument 500 http://xxx/
+ErrorDocument 404 /Lame_excuses/not_found.html
+ErrorDocument 401 /Subscription/how_to_subscribe.html +
+ +

$B9=J8(B

+ +

ErrorDocument <3 $B7e%3!<%I(B> $BF0:n(B

+ +

$BF0:n$O!"(B + +

    +
  1. $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 + $BCm0U(B : (") $B$OI=<($5$l$^$;$s(B
  2. + +
  3. $B%j%@%$%l%/%H@h$N30It(B URL
  4. + +
  5. $B%j%@%$%l%/%H@h$N%m!<%+%k(B URL
  6. + +

+
+ +


+ +

$B%+%9%?%`%(%i!<%l%9%]%s%9$H%j%@%$%l%/%H(B

+ +
+ +
$BL\E*(B + +
$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 + +
$B8E$$F0:n(B + +
$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 + + + + +
$B?7$7$$F0:n(B +
+ +$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 REDIRECT_ $B$G;O$^$j$^$9!#(B +REDIRECT_ $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 + REDIRECT_ $B$rIU$1$F:n@.$5$l$^$9!#(B +$B$9$J$o$A(B$B!"(BHTTP_USER_AGENT $B$O(B +REDIRECT_HTTP_USER_AGENT $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 +REDIRECT_URL $B$H(B REDIRECT_STATUS $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 + +
+

+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"Status:" $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 + +

+
+      :
+    print  "Content-type: text/html\n";
+    printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
+      :
+
+

$B%9%/%j%W%H$,(B +404 Not Found $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 +

+ + + + 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 @@ + + + +Apache's Handler Use + + + + + +

Apache's Handler Use

+ + + +
+

What is a Handler

+ + + + +
+Related Modules

+ +mod_actions
+mod_asis
+mod_cgi
+mod_imap
+mod_info
+mod_include
+mod_mime
+mod_negotiation
+mod_status
+
+Related Directives

+ +Action
+AddHandler
+RemoveHandler
+SetHandler
+
+ + +

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.

+ +

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 +and a handler to be associated with a file. (See also +Files with Multiple +Extensions.)

+ +

Handlers can either be built into the server or included in a module, +or they can be added with the Action directive. The built-in +handlers in the standard distribution are as follows:

+ + + +
+ +

Examples

+ +

Modifying static content using a CGI script

+ +

The following directives will cause requests for files with the +html extension to trigger the launch of the +footer.pl CGI script.

+ +
+     Action add-footer /cgi-bin/footer.pl
+     AddHandler add-footer .html
+
+ +

Then the CGI script is responsible for sending the originally +requested document (pointed to by the PATH_TRANSLATED +environment variable) and making whatever modifications or additions +are desired.

+ +

Files with HTTP headers

+ +

The following directives will enable the send-as-is +handler, which is used for files which contain their own HTTP headers. +All files in the /web/htdocs/asis/ directory will be +processed by the send-as-is handler, regardless of their +filename extensions.

+ +
+    <Directory /web/htdocs/asis>
+    SetHandler send-as-is
+    </Directory>
+
+ +
+ +

Programmer's Note

+ +

In order to implement the handler features, an addition has been +made to the Apache API that you may wish to +make use of. Specifically, a new record has been added to the +request_rec structure:

+
+    char *handler
+
+

If you wish to have your module engage a handler, you need only to +set r->handler to the name of the handler at any time +prior to the invoke_handler 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.

+ + + + + 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 @@ + + + +Apache's Handler Use + + + + + +

Apache's Handler Use

+ + + +
+

What is a Handler

+ + + + +
+Related Modules

+ +mod_actions
+mod_asis
+mod_cgi
+mod_imap
+mod_info
+mod_include
+mod_mime
+mod_negotiation
+mod_status
+
+Related Directives

+ +Action
+AddHandler
+RemoveHandler
+SetHandler
+
+ + +

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.

+ +

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 +and a handler to be associated with a file. (See also +Files with Multiple +Extensions.)

+ +

Handlers can either be built into the server or included in a module, +or they can be added with the Action directive. The built-in +handlers in the standard distribution are as follows:

+ + + +
+ +

Examples

+ +

Modifying static content using a CGI script

+ +

The following directives will cause requests for files with the +html extension to trigger the launch of the +footer.pl CGI script.

+ +
+     Action add-footer /cgi-bin/footer.pl
+     AddHandler add-footer .html
+
+ +

Then the CGI script is responsible for sending the originally +requested document (pointed to by the PATH_TRANSLATED +environment variable) and making whatever modifications or additions +are desired.

+ +

Files with HTTP headers

+ +

The following directives will enable the send-as-is +handler, which is used for files which contain their own HTTP headers. +All files in the /web/htdocs/asis/ directory will be +processed by the send-as-is handler, regardless of their +filename extensions.

+ +
+    <Directory /web/htdocs/asis>
+    SetHandler send-as-is
+    </Directory>
+
+ +
+ +

Programmer's Note

+ +

In order to implement the handler features, an addition has been +made to the Apache API that you may wish to +make use of. Specifically, a new record has been added to the +request_rec structure:

+
+    char *handler
+
+

If you wish to have your module engage a handler, you need only to +set r->handler to the name of the handler at any time +prior to the invoke_handler 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.

+ + + + + + 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 @@ + + + +Apache $B$N%O%s%I%i$N;HMQ(B + + + + + + +

Apache $B$N%O%s%I%i$N;HMQ(B

+ + + +
+

$B%O%s%I%i$H$O(B

+ + + + +
+$B4XO"%b%8%e!<%k(B

+ +mod_actions
+mod_asis
+mod_cgi
+mod_imap
+mod_info
+mod_include
+mod_mime
+mod_negotiation
+mod_status
+
+$B4XO"%G%#%l%/%F%#%V(B

+ +Action
+AddHandler
+RemoveHandler
+SetHandler
+
+ + +

$B!V%O%s%I%i!W$H$O!"%U%!%$%k$,8F$P$l$?$H$-$Ko!"%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

+ +

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$B$H(B$B%O%s%I%i$NN>J}$r4XO"IU$1$k$3$H$,$G$-$k$H$$$&(B +$BE@$GM%$l$F$$$^$9!#(B ($BJ#?t$N3HD%;R$N$"$k%U%!%$%k(B +$B$b;2>H$7$F$/$@$5$$(B)$B!#(B

+ +

$B%O%s%I%i$O%5!<%P$KAH$_9~$s$@$j!"%b%8%e!<%k$H$7$F4^$a$?$j!"(B +Action $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

+ + + +
+ +

$BNc(B

+ +

CGI $B%9%/%j%W%H$rMQ$$$F@EE*$J%3%s%F%s%D$rJQ99$9$k(B

+ +

$B0J2<$N%G%#%l%/%F%#%V$K$h$C$F!"3HD%;R$,(B html $B$G$"$k%U%!%$%k$O(B +footer.pl CGI $B%9%/%j%W%H$r5/F0$9$k$h$&$K$J$j$^$9!#(B

+ +
+     Action add-footer /cgi-bin/footer.pl
+     AddHandler add-footer .html
+
+ +

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 PATH_TRANSLATED $B$G;X$5$l$F$$$^$9(B) $B$rAw$k@UG$$,$"$j$^$9!#(B

+ +

HTTP $B%X%C%@$N$"$k%U%!%$%k(B

+ +

$B0J2<$N%G%#%l%/%F%#%V$O(B send-as-is $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/web/htdocs/asis +$B%G%#%l%/%H%j$K$"$kA4$F$N%U%!%$%k$O(B send-as-is $B%O%s%I%i$K$h$C$F(B +$B07$o$l$^$9!#(B

+ +
+    <Directory /web/htdocs/asis>
+    SetHandler send-as-is
+    </Directory>
+
+ +
+ +

$B%W%m%0%i%^8~$1$N%a%b(B

+ +

$B%O%s%I%i$N5!G=$rApache API $B$KDI2C$5$l$^$7$?!#(B +$B>\$7$/8@$&$H!"(Brequest_rec $B9=B$BN$K?7$7$$%l%3!<%I$,(B +$BDI2C$5$l$?$H$$$&$3$H$G$9!#(B

+
+    char *handler
+
+

$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 invoke_handler $B%9%F!<%8$KC#$9$k0JA0$K(B +r->handler $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$&$KA06u4V$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

+ + + + 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 @@ + + + +Apache Tutorial: Dynamic Content with CGI + + + + + +

Dynamic Content with CGI

+ + + + + + + +
+

Dynamic Content with +CGI

+ + +
+Related Modules

+ +mod_alias
+mod_cgi
+ +
+Related Directives

+ +AddHandler
+Options
+ScriptAlias
+ +
+ +

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.

+ +
+

Configuring Apache to +permit CGI

+ +

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.

+ +

ScriptAlias

+ +

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

+ +

The ScriptAlias directive looks like:

+ +
+        ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/
+
+ +

The example shown is from your default httpd.conf +configuration file, if you installed Apache in the default location. +The ScriptAlias directive is much like the +Alias directive, which defines a URL prefix that is to +mapped to a particular directory. Alias and +ScriptAlias are usually used for directories that are +outside of the DocumentRoot directory. The difference +between Alias and ScriptAlias is that +ScriptAlias 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 +/cgi-bin/ should be served from the directory +/usr/local/apache/cgi-bin/, and should be treated as a CGI +program.

+ +

For example, if the URL +http://dev.rcbowen.com/cgi-bin/test.pl is requested, +Apache will attempt to execute the file +/usr/local/apache/cgi-bin/test.pl 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.

+ +

CGI outside of +ScriptAlias directories

+ +

CGI programs are often restricted to ScriptAlias'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 UserDir directive. If they want to have their +own CGI programs, but don't have access to the main +cgi-bin directory, they will need to be able to run CGI +programs elsewhere.

+ +

Explicitly using +Options to permit CGI execution

+ +

You could explicitly use the Options directive, inside +your main server configuration file, to specify that CGI execution was +permitted in a particular directory:

+ +
+        <Directory /usr/local/apache/htdocs/somedir>
+                Options +ExecCGI
+        </Directory>
+
+ +

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 AddHandler directive tells the server +to treat all files with the cgi or pl +extension as CGI programs:

+ +
+     AddHandler cgi-script cgi pl
+
+ +

.htaccess files

+ +

A .htaccess 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 .htaccess, and, if it finds it, it will apply +directives found therein. .htaccess files can be permitted +with the AllowOverride 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:

+ +
+        AllowOverride Options
+
+ +

In the .htaccess file, you'll need the following +directive:

+ +
+        Options +ExecCGI
+
+ +

which tells Apache that execution of CGI programs is permitted in +this directory.

+ +
+

Writing a CGI program

+ +

There are two main differences between ``regular'' programming, and +CGI programming.

+ +

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:

+ +
+        Content-type: text/html
+
+ +

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.

+ +

Apart from those two things, writing a CGI program will look a lot +like any other program that you might write.

+ +

Your first CGI program

+ +

The following is an example CGI program that prints one line to your +browser. Type in the following, save it to a file called +first.pl, and put it in your cgi-bin +directory.

+ +
+        #!/usr/bin/perl
+        print "Content-type: text/html\r\n\r\n";
+        print "Hello, World.";
+
+ +

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 +/usr/bin/perl. 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.

+ +

If you open your favorite browser and tell it to get the address

+ +
+        http://www.example.com/cgi-bin/first.pl
+
+ +

or wherever you put your file, you will see the one line +Hello, World. 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.

+ +
+

But it's still not +working!

+ +

There are four basic things that you may see in your browser when +you try to access your CGI program from the web:

+ +
+
The output of your CGI program
+
Great! That means everything worked fine.

+ +
The source code of your CGI program or a "POST Method Not Allowed" +message
+
That means that you have not properly configured +Apache to process your CGI program. Reread the section on configuring Apache and try to +find what you missed.

+ +
A message starting with "Forbidden"
That means that there +is a permissions problem. Check the Apache +error log and the section below on file permissions.

+ +
A message saying "Internal Server Error"
If you check the +Apache error log, 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.
+
+ + +

File permissions

+ +

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:

+ +
+        chmod a+x first.pl
+
+ +

Also, if your program reads from, or writes to, any other files, +those files will need to have the correct permissions to permit +this.

+ +

The exception to this is when the server is configured to use suexec. 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.

+ +

Path information

+ +

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.

+ +

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.

+ +

A common manifestation of this is the path to the script interpreter +(often perl) indicated in the first line of your CGI +program, which will look something like:

+ +
+     #!/usr/bin/perl
+
+ +

Make sure that this is in fact the path to the interpreter.

+ +

Syntax errors

+ +

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.

+ +

Error logs

+ +

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.

+ +
+

What's going on behind +the scenes?

+ +

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.

+ +

Environment variables

+ +

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 env +at a command prompt.

+ +

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.

+ +

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 http://hoohoo.ncsa.uiuc.edu/cgi/env.html

+ +

This simple Perl CGI program will display all of the environment +variables that are being passed around. Two similar programs are +included in the cgi-bin 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 add your own environment variables to +the basic ones provided by default.

+ +
+     #!/usr/bin/perl
+     print "Content-type: text/html\n\n";
+     foreach $key (keys %ENV) {
+          print "$key --> $ENV{$key}<br>";
+     }
+
+ +

STDIN and STDOUT

+ +

Other communication between the server and the client happens over +standard input (STDIN) and standard output +(STDOUT). In normal everyday context, STDIN +means the keyboard, or a file that a program is given to act on, and +STDOUT usually means the console or screen.

+ +

When you POST 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 STDIN. The program then can process +that data as though it was coming in from the keyboard, or from a +file

+ +

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:

+ +
+     name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey
+
+ +

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 QUERY_STRING. That's called a +GET request. Your HTML form specifies whether a +GET or a POST is used to deliver the data, by +setting the METHOD attribute in the FORM +tag.

+ +

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.

+ +
+

CGI modules/libraries

+ +

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.

+ +

If you're writing CGI programs in Perl, modules are available on CPAN. 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.

+ +

If you're writing CGI programs in C, there are a variety of options. +One of these is the CGIC library, from http://www.boutell.com/cgic/

+ +
+

For more information

+ +

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 http://www.hwg.org/lists/hwg-servers/

+ +

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 NCSA and there is +an updated draft at the Common Gateway Interface RFC +project.

+ +

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.

+ +

Note that questions about CGI problems should never +be posted to the Apache bug database unless you are sure you have found +a problem in the Apache source code.

+ + + + + + 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 @@ + + + +Apache Tutorial: Dynamic Content with CGI + + + + + +

Dynamic Content with CGI

+ + + + + + + +
+

Dynamic Content with +CGI

+ + +
+Related Modules

+ +mod_alias
+mod_cgi
+ +
+Related Directives

+ +AddHandler
+Options
+ScriptAlias
+ +
+ +

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.

+ +
+

Configuring Apache to +permit CGI

+ +

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.

+ +

ScriptAlias

+ +

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

+ +

The ScriptAlias directive looks like:

+ +
+        ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/
+
+ +

The example shown is from your default httpd.conf +configuration file, if you installed Apache in the default location. +The ScriptAlias directive is much like the +Alias directive, which defines a URL prefix that is to +mapped to a particular directory. Alias and +ScriptAlias are usually used for directories that are +outside of the DocumentRoot directory. The difference +between Alias and ScriptAlias is that +ScriptAlias 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 +/cgi-bin/ should be served from the directory +/usr/local/apache/cgi-bin/, and should be treated as a CGI +program.

+ +

For example, if the URL +http://dev.rcbowen.com/cgi-bin/test.pl is requested, +Apache will attempt to execute the file +/usr/local/apache/cgi-bin/test.pl 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.

+ +

CGI outside of +ScriptAlias directories

+ +

CGI programs are often restricted to ScriptAlias'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 UserDir directive. If they want to have their +own CGI programs, but don't have access to the main +cgi-bin directory, they will need to be able to run CGI +programs elsewhere.

+ +

Explicitly using +Options to permit CGI execution

+ +

You could explicitly use the Options directive, inside +your main server configuration file, to specify that CGI execution was +permitted in a particular directory:

+ +
+        <Directory /usr/local/apache/htdocs/somedir>
+                Options +ExecCGI
+        </Directory>
+
+ +

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 AddHandler directive tells the server +to treat all files with the cgi or pl +extension as CGI programs:

+ +
+     AddHandler cgi-script cgi pl
+
+ +

.htaccess files

+ +

A .htaccess 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 .htaccess, and, if it finds it, it will apply +directives found therein. .htaccess files can be permitted +with the AllowOverride 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:

+ +
+        AllowOverride Options
+
+ +

In the .htaccess file, you'll need the following +directive:

+ +
+        Options +ExecCGI
+
+ +

which tells Apache that execution of CGI programs is permitted in +this directory.

+ +
+

Writing a CGI program

+ +

There are two main differences between ``regular'' programming, and +CGI programming.

+ +

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:

+ +
+        Content-type: text/html
+
+ +

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.

+ +

Apart from those two things, writing a CGI program will look a lot +like any other program that you might write.

+ +

Your first CGI program

+ +

The following is an example CGI program that prints one line to your +browser. Type in the following, save it to a file called +first.pl, and put it in your cgi-bin +directory.

+ +
+        #!/usr/bin/perl
+        print "Content-type: text/html\r\n\r\n";
+        print "Hello, World.";
+
+ +

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 +/usr/bin/perl. 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.

+ +

If you open your favorite browser and tell it to get the address

+ +
+        http://www.example.com/cgi-bin/first.pl
+
+ +

or wherever you put your file, you will see the one line +Hello, World. 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.

+ +
+

But it's still not +working!

+ +

There are four basic things that you may see in your browser when +you try to access your CGI program from the web:

+ +
+
The output of your CGI program
+
Great! That means everything worked fine.

+ +
The source code of your CGI program or a "POST Method Not Allowed" +message
+
That means that you have not properly configured +Apache to process your CGI program. Reread the section on configuring Apache and try to +find what you missed.

+ +
A message starting with "Forbidden"
That means that there +is a permissions problem. Check the Apache +error log and the section below on file permissions.

+ +
A message saying "Internal Server Error"
If you check the +Apache error log, 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.
+
+ + +

File permissions

+ +

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:

+ +
+        chmod a+x first.pl
+
+ +

Also, if your program reads from, or writes to, any other files, +those files will need to have the correct permissions to permit +this.

+ +

The exception to this is when the server is configured to use suexec. 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.

+ +

Path information

+ +

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.

+ +

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.

+ +

A common manifestation of this is the path to the script interpreter +(often perl) indicated in the first line of your CGI +program, which will look something like:

+ +
+     #!/usr/bin/perl
+
+ +

Make sure that this is in fact the path to the interpreter.

+ +

Syntax errors

+ +

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.

+ +

Error logs

+ +

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.

+ +
+

What's going on behind +the scenes?

+ +

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.

+ +

Environment variables

+ +

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 env +at a command prompt.

+ +

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.

+ +

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 http://hoohoo.ncsa.uiuc.edu/cgi/env.html

+ +

This simple Perl CGI program will display all of the environment +variables that are being passed around. Two similar programs are +included in the cgi-bin 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 add your own environment variables to +the basic ones provided by default.

+ +
+     #!/usr/bin/perl
+     print "Content-type: text/html\n\n";
+     foreach $key (keys %ENV) {
+          print "$key --> $ENV{$key}<br>";
+     }
+
+ +

STDIN and STDOUT

+ +

Other communication between the server and the client happens over +standard input (STDIN) and standard output +(STDOUT). In normal everyday context, STDIN +means the keyboard, or a file that a program is given to act on, and +STDOUT usually means the console or screen.

+ +

When you POST 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 STDIN. The program then can process +that data as though it was coming in from the keyboard, or from a +file

+ +

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:

+ +
+     name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey
+
+ +

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 QUERY_STRING. That's called a +GET request. Your HTML form specifies whether a +GET or a POST is used to deliver the data, by +setting the METHOD attribute in the FORM +tag.

+ +

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.

+ +
+

CGI modules/libraries

+ +

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.

+ +

If you're writing CGI programs in Perl, modules are available on CPAN. 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.

+ +

If you're writing CGI programs in C, there are a variety of options. +One of these is the CGIC library, from http://www.boutell.com/cgic/

+ +
+

For more information

+ +

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 http://www.hwg.org/lists/hwg-servers/

+ +

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 NCSA and there is +an updated draft at the Common Gateway Interface RFC +project.

+ +

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.

+ +

Note that questions about CGI problems should never +be posted to the Apache bug database unless you are sure you have found +a problem in the Apache source code.

+ + + + + + + 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 @@ + + + +Apache Tutorial: CGI $B$K$h$kF0E*%3%s%F%s%D(B + + + + + +

CGI $B$K$h$kF0E*%3%s%F%s%D(B

+ + + + + + + +
+

CGI $B$K$h$kF0E*%3%s%F%s%D(B

+ + +
+$B4XO"%b%8%e!<%k(B

+ +mod_alias
+mod_cgi
+ +
+$B4XO"%G%#%l%/%F%#%V(B

+ +AddHandler
+Options
+ScriptAlias
+ +
+ +

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

+ +
+

CGI $B$r5v2D$9$k$h$&$K(B Apache $B$r(B +$B@_Dj$9$k(B

+ +

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

+ +

ScriptAlias

+ +

ScriptAlias $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 + +

ScriptAlias $B%G%#%l%/%F%#%V$O0J2<$N$h$&$K;HMQ$7$^$9(B:

+ +
+        ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/
+
+ +

$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 httpd.conf $B@_Dj%U%!%$%k(B +$B$K4^$^$l$F$$$^$9!#(B +ScriptAlias $B%G%#%l%/%F%#%V$O!"(BURL $B$NA0$KIU2C$9$k%G%#%l%/%H%j$rDj5A$9$k(B Alias $B%G%#%l%/%F%#%V$H$+$J$j;w$F$$$^$9!#(B +Alias $B$H(B ScriptAlias $B$ODL>o!"(B +DocumentRoot $B%G%#%l%/%H%j30$N%G%#%l%/%H%j$N$?$a$K;HMQ$5$l$^$9!#(B +Alias $B$H(B ScriptAlias $B$H$N:9$O!"(B +ScriptAlias $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/cgi-bin/ +$B$G;O$^$k%j%=!<%9$X$N$"$i$f$k%j%/%(%9%H$KBP$7$F!"%G%#%l%/%H%j(B +/usr/local/apache/cgi-bin/ +$B$+$iDs6!$7!"$=$l$i$r(B CGI $B%W%m%0%i%`$H$7$F07$&$h$&(B Apache $B$K<($7$^$9!#(B

+ +

$BNc$($P!"(BURL http://dev.rcbowen.com/cgi-bin/test.pl +$B$,MW5a$5$l$?>l9g!"(BApache $B$O(B $B%U%!%$%k(B +/usr/local/apache/cgi-bin/test.pl $B$r +ScriptAlias $B%G%#%l%/%H%j30$N(B CGI + +

CGI $B%W%m%0%i%`$O!"%;%-%e%j%F%#>e$NM}M3$+$i(B +ScriptAlias $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}UserDir $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 +cgi-bin $B%G%#%l%/%H%j$X$N%"%/%;%9$,$G$-$J$$>l9g!"(BCGI $B%W%m%0%i%`$r(B +$B$N>l=j$,I,MW$K$J$j$^$9!#(B

+ +

+CGI $B$N

+ +

$B%5!<%P$N%a%$%s$N@_Dj%U%!%$%kCf$G(B Options $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 + +

+        <Directory /usr/local/apache/htdocs/somedir>
+                Options +ExecCGI
+        </Directory>
+
+ +

$B>e5-%G%#%l%/%F%#%V$O!"(BCGI $B%U%!%$%k$NAddHandler +$B%G%#%l%/%F%#%V$NNc$G$O!"(Bcgi $B$^$?$O(B pl $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:

+ +

+     AddHandler cgi-script cgi pl
+
+ +

.htaccess $B%U%!%$%k(B

+ +

.htaccess $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 .htaccess $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 +.htaccess $B%U%!%$%k$O!"(BAllowOverride +$B%G%#%l%/%F%#%V$N;XDj$K$h$j;H$($k$h$&$K$J$j$^$9!#(B +AllowOverride $B%G%#%l%/%F%#%V$O!"(B.htaccess $B%U%!%$%k$G(B +$B@_Dj$G$-$k%G%#%l%/%F%#%V$N%?%$%W$r;XDj$7$^$9!#(B +AllowOverride $B%G%#%l%/%F%#%V$N;XDj$,$J$$>l9g!"$^$C$?$/;H$($^$;$s!#(B +CGI $B$N + +

+        AllowOverride Options
+
+ +

.htaccess $B%U%!%$%k$G$O!" + +

+        Options +ExecCGI
+
+ +

$B$3$N@_Dj$G$O!"$3$N%G%#%l%/%H%j$K$*$1$k(B CGI $B%W%m%0%i%`$N + +


+

CGI $B%W%m%0%i%`$r=q$/(B

+ +

$BDL>o$N%W%m%0%i%_%s%0$H(B CGI $B%W%m%0%i%_%s%0$N4V$K$O + +

$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$&$Jl9g$G$O!"(B +$B + +

+        Content-type: text/html
+
+ +

$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

+ +

$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

+ +

$B$"$J$?$N:G=i$N(B CGI $B%W%m%0%i%`(B

+ +

$Bfirst.pl $B$H$$$&%U%!%$%k$KJ]B8$7!"$=$l$r(B +cgi-bin $B%G%#%l%/%H%j$KCV$$$F$/$@$5$$!#(B

+ +
+        #!/usr/bin/perl
+        print "Content-type: text/html\r\n\r\n";
+        print "Hello, World.";
+
+ +

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/usr/bin/perl $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%`$,e$G + +

$B9%$_$N%V%i%&%6$r3+$-!"%"%I%l%9(B

+ +
+        http://www.example.com/cgi-bin/first.pl
+
+ +

$B$"$k$$$O%U%!%$%k$rCV$$$?%m%1!<%7%g%s$r;XDj$9$k$H!"(B +Hello, World. $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

+ +
+

$B$7$+$7!"$^$@F0$+$J$$(B !

+ +

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

+ +
+
CGI $B%W%m%0%i%`$N=PNO(B
+
$BAG@2$i$7$$(B ! $B$=$l$O$9$Y$F$,$&$^$/F0$$$?$3$H$r0UL#$7$^$9!#(B

+ +
CGI $B%W%m%0%i%`$N%=!<%9%3!<%I!"$^$?$O(B "POST Method Not Allowed" +$B$H$$$&%a%C%;!<%8(B
+
$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 +$B!V(BCGI $B$r5v2D$9$k$h$&$K(B Apache $B$r@_Dj$9$k!W(B$B$N>O$rFI$_D>$7!"$"$J$?$,2?$r4V0c$($?$+$r(B +$BC5$7$F$_$F$/$@$5$$!#(B

+ +
$B%a%C%;!<%8$,(B "Forbidden" $B$G;O$^$C$F$$$k(B
+
$B$3$l$O%Q!<%_%C%7%g%s$NLdBj$H$$$&$3$H$r0UL#$7$^$9!#(B +Apache $B$N%(%i!<%m%0(B$B$H!"8e=R$N(B +$B!V%U%!%$%k$N%Q!<%_%C%7%g%s!W(B$B$N>O$r(B +$B%A%'%C%/$7$F$/$@$5$$!#(B +

+ +
"Internal Server Error" $B$H$$$&%a%C%;!<%8(B
+
Apache $B$N%(%i!<%m%0(B$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
+
+ +

$B%U%!%$%k$N%Q!<%_%C%7%g%s(B

+ +

$B%5!<%P$O$"$J$?$N8"8B$Go(B ``nobody'' $B$d(B ``www'' +$B$N8"8B$Go!"(B``nobody'' $B$, + +

+        chmod a+x first.pl
+
+ +

$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

+ +

$B$3$l$KBP$9$kNc30$O!"%5!<%P$,(B suexec $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 +$Bl9g!"$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

+ +

$B%Q%9>pJs(B

+ +

$B%3%^%s%I%i%$%s$+$i%W%m%0%i%`$rpJs$,$"$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

+ +

$B%W%m%0%i%`$,(B CGI $B%W%m%0%i%`$H$7$F%&%'%V%5!<%P$K$h$C$F + +

$BF1MM$J$3$H$O!"%9%/%j%W%H$N%$%s%?%W%j%?(B ($B$7$P$7$P(B perl ) +$B$X$N%Q%9$G!"(BCGI $B%W%m%0%i%`$N(B 1 $B9TL\$K + +

+     #!/usr/bin/perl
+
+ +

$B$3$l$,%$%s%?!<%W%j%?$X$N + +

$B9=J8%(%i!<(B

+ +

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

$B%(%i!<%m%0(B

+ +

$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$rl=j$,%(%i!<%m%0$N;2>H$r(B +$B5v$7$F$$$J$$$J$i$P!"$-$C$HB>$N%5%$%H$G + +


+

$BN"$G2?$,5/$3$C$F$$$k$N$+(B?

+ +

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

+ +

$B4D6-JQ?t(B

+ +

$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!"Co$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 +env $B$rF~NO$7$^$9!#(B

+ +

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!"A0(B +$B$J$I$N$h$&$J$b$N$G$9!#(B

+ +

$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 +http://hoohoo.ncsa.uiuc.edu/cgi/env.html +$B$K$"$j$^$9!#(B

+ +

$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 +cgi-bin $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 +$B$"$J$?<+?H$N4D6-JQ?t$r2C$($k(B +$B$?$a$N!"B?$/$N0[$J$kJ}K!$rMQ0U$7$F$7$^$9!#(B

+ +
+     #!/usr/bin/perl
+     print "Content-type: text/html\n\n";
+     foreach $key (keys %ENV) {
+          print "$key --> $ENV{$key}<br>";
+     }
+
+ +

STDIN $B$H(B STDOUT

+ +

$B%5!<%P$H%/%i%$%"%s%H4V$N$b$&0l$D$NDL?.$O!"I8=`F~NO(B (STDIN)$B$H(B +$BI8=`=PNO(B (STDOUT) $B$rDL$8$F9T$J$o$l$^$9!#DL>o$NJ8L.$K$*$$$F!"(B +STDIN $B$O%-!<%\!<%I$d%W%m%0%i%`$,F0:n$9$k$?$a$KM?$($i$l$k(B +$B%U%!%$%k$r0UL#$7!"(BSTDOUT $B$ODL>o%3%s%=!<%k$^$?$O%9%/%j!<%s$r(B +$B0UL#$7$^$9!#(B

+ +

$B%&%'%V%U%)!<%`$+$i(B CGI $B%W%m%0%i%`$X(BPOST $B$7$?$H$-!"(B +$B%U%)!<%`$N%G!<%?$OFCJL$J%U%)!<%^%C%H$GB+$M$i$l!"(BSTDIN $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

+ +

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

+ +
+     name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey
+
+ +

$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 QUERY_STRING $B$H$$$&4D6-JQ?t$K$=$N(B +$BJ8;zNs$rF~$l$^$9!#$=$l$O(B GET $B%j%/%(%9%H$H8F$P$l$^$9!#(B +HTML $B%U%)!<%`$G$O!"%G!<%?$rEO$9$?$a$K(B GET $B$H(B POST +$B$N$I$A$i$r;HMQ$9$k$+$r!"(B +FORM$B%?%0$N(B METHOD $BB0@-$N@_Dj$G;XDj$7$^$9!#(B

+ +

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

+ +
+

CGI $B%b%8%e!<%k(B/$B%i%$%V%i%j(B

+ +

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

+ +

Perl $B$G(B CGI $B%W%m%0%i%`$r=q$$$F$$$k$J$i!"%b%8%e!<%k$O(B +CPAN $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 + +

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 +http://www.boutell.com/cgic/ +$B$GDs6!$5$l$F$$$k(B CGIC $B%i%$%V%i%j$G$9!#(B

+ +
+

$B99$J$k>pJs(B

+ +

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$?$Nhttp://www.hwg.org/lists/hwg-servers/ +$B$G99$KB?$/$rC5$7=P$9$3$H$,(B +$B$G$-$^$9!#(B

+ +

$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 +NCSA $B$G!"(B +$B%"%C%W%G!<%H$5$l$?%I%i%U%H$r(B +Common Gateway Interface RFC +$B%W%m%8%'%/%H(B$B$G;2>H$9$k$3$H$,$G$-$^$9!#(B

+ +

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

+ +

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 + + + + + + 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 @@ +


+ +

+ Apache HTTP Server Version 1.3 +

+ +Index +Home 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 @@ +
+ [APACHE DOCUMENTATION] +

+ Apache HTTP Server Version 1.3 +

+
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 @@ + + + +Apache Tutorial: Introduction to Server Side Includes + + + + + +

Apache Tutorial: Introduction to Server Side +Includes

+ + + + + + + +
+

Apache +Tutorial: Introduction to Server Side Includes

+ + + + + + +
Related Modules
+
+ mod_include
+mod_cgi
+mod_expires
+
Related Directives
+
+ Options
+XBitHack
+AddType
+AddHandler
+BrowserMatchNoCase
+ +
+ +

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.

+ +

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.

+ +

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.

+ +
+

What are SSI?

+ +

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.

+ +

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.

+ +
+

Configuring your +server to permit SSI

+ +

To permit SSI on your server, you must have the following directive +either in your httpd.conf file, or in a +.htaccess file:

+ +
+        Options +Includes
+
+ +

This tells Apache that you want to permit files to be parsed for SSI +directives.

+ +

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 .shtml, with the following directives:

+ +
+        AddType text/html .shtml
+        AddHandler server-parsed .shtml
+
+ +

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 +.shtml extension, so that those directives would be +executed.

+ +

The other method is to use the XBitHack directive:

+ +
+        XBitHack on
+
+ +

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

+ +
+        chmod +x pagename.html
+
+ +

A brief comment about what not to do. You'll occasionally see people +recommending that you just tell Apache to parse all .html +files for SSI, so that you don't have to mess with .shtml +file names. These folks have perhaps not heard about +XBitHack. 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.

+ +

Of course, on Windows, there is no such thing as an execute bit to +set, so that limits your options a little.

+ +

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:

+ +
    + +
  1. Use the XBitHack Full 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.
  2. + +
  3. Use the directives provided by mod_expires to set an explicit +expiration time on your files, thereby letting browsers and proxies +know that it is acceptable to cache them.
  4. + +
+ + +
+

Basic SSI directives

+ +

SSI directives have the following syntax:

+ +
+        <!--#element attribute=value attribute=value ... -->
+
+ +

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.

+ +

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

+ +

Today's date

+ +
+        <!--#echo var="DATE_LOCAL" -->
+
+ +

The echo 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 set +element.

+ +

If you don't like the format in which the date gets printed, you can +use the config element, with a timefmt +attribute, to modify that formatting.

+ +
+        <!--#config timefmt="%A %B %d, %Y" -->
+        Today is <!--#echo var="DATE_LOCAL" -->
+
+ +

Modification date of the +file

+ +
+        This document last modified <!--#flastmod file="index.html" -->
+
+ +

This element is also subject to timefmt format +configurations.

+ +

Including the +results of a CGI program

+ +

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

+ +
+        <!--#include virtual="/cgi-bin/counter.pl" -->
+
+ +
+

Additional examples

+ +

Following are some specific examples of things you can do in your +HTML documents with SSI.

+ +
+

When was this document +modified?

+ +

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.

+ +
+        <!--#config timefmt="%A %B %d, %Y" -->
+        This file last modified <!--#flastmod file="ssi.shtml" -->
+
+ +

Of course, you will need to replace the ssi.shtml 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 +LAST_MODIFIED variable instead:

+ +
+        <!--#config timefmt="%D" -->
+        This file last modified <!--#echo var="LAST_MODIFIED" -->
+
+ +

For more details on the timefmt format, go to your +favorite search site and look for ctime. The syntax is the +same.

+ +
+

Including a standard +footer

+ +

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.

+ +

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 include SSI +command. The include element can determine what file to +include with either the file attribute, or the +virtual attribute. The file attribute is a +file path, relative to the current directory. That means that +it cannot be an absolute file path (starting with /), nor can it +contain ../ as part of that path. The virtual 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.

+ +
+        <!--#include virtual="/footer.html" -->
+
+ +

I'll frequently combine the last two things, putting a +LAST_MODIFIED 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.

+ +
+

What else can I config?

+ +

In addition to being able to config the time format, +you can also config two other things.

+ +

Usually, when something goes wrong with your SSI directive, you get +the message

+ +
+        [an error occurred while processing this directive]
+
+ +

If you want to change that message to something else, you can do so +with the errmsg attribute to the config +element:

+ +
+        <!--#config errmsg="[It appears that you don't know how to use SSI]" -->
+
+ +

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?)

+ +

And you can config the format in which file sizes are +returned with the sizefmt attribute. You can specify +bytes for a full count in bytes, or abbrev +for an abbreviated number in Kb or Mb, as appropriate.

+ +
+

Executing commands

+ +

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 exec element. You can actually +have SSI execute a command using the shell (/bin/sh, to be +precise - or the DOS shell, if you're on Win32). The following, for +example, will give you a directory listing.

+ +
+        <pre>
+        <!--#exec cmd="ls" -->
+        </pre>
+
+ +

or, on Windows

+ +
+        <pre>
+        <!--#exec cmd="dir" -->
+        </pre>
+
+ +

You might notice some strange formatting with this directive on +Windows, because the output from dir contains the string +``<dir>'' in it, which confuses browsers.

+ +

Note that this feature is exceedingly dangerous, as it will execute +whatever code happens to be embedded in the exec 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 exec +feature, with the IncludesNOEXEC argument to the +Options directive.

+ +
+

Advanced SSI techniques

+ +

In addition to spitting out content, Apache SSI gives you the option +of setting variables, and using those variables in comparisons and +conditionals.

+ +

Caveat

+ +

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.

+ +
+

Setting variables

+ +

Using the set 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:

+ +
+        <!--#set var="name" value="Rich" -->
+
+ +

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 +LAST_MODIFIED, 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.

+ +
+        <!--#set var="modified" value="$LAST_MODIFIED" -->
+
+ +

To put a literal dollar sign into the value of your variable, you +need to escape the dollar sign with a backslash.

+ +
+        <!--#set var="cost" value="\$100" -->
+
+ +

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

+ +
+        <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" -->
+
+ +
+

Conditional expressions

+ +

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. mod_include provides +an if, elif, else, +endif structure for building conditional statements. This +allows you to effectively generate multiple logical pages out of one +actual page.

+ +

The structure of this conditional construct is:

+ +
+        <!--#if expr="test_condition" -->
+    <!--#elif expr="test_condition" -->
+    <!--#else -->
+    <!--#endif -->
+
+ +

A test_condition 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 +mod_include documentation. Here are some examples of how +one might use this construct.

+ +

In your configuration file, you could put the following line:

+ +
+        BrowserMatchNoCase macintosh Mac
+        BrowserMatchNoCase MSIE InternetExplorer
+
+ +

This will set environment variables ``Mac'' and ``InternetExplorer'' +to true, if the client is running Internet Explorer on a Macintosh.

+ +

Then, in your SSI-enabled document, you might do the following:

+ +
+        <!--#if expr="${Mac} && ${InternetExplorer}" -->
+        Apologetic text goes here
+        <!--#else -->
+        Cool JavaScript code goes here
+        <!--#endif -->
+
+ +

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.

+ +

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 +SetEnvIf directives, and other related directives, this +functionality can let you do some pretty involved dynamic stuff without +ever resorting to CGI.

+ +
+

Conclusion

+ +

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.

+ + + 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 @@ + + + +Apache Tutorial: Introduction to Server Side Includes + + + + + +

Apache Tutorial: Introduction to Server Side +Includes

+ + + + + + + +
+

Apache +Tutorial: Introduction to Server Side Includes

+ + + + + + +
Related Modules
+
+ mod_include
+mod_cgi
+mod_expires
+
Related Directives
+
+ Options
+XBitHack
+AddType
+AddHandler
+BrowserMatchNoCase
+ +
+ +

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.

+ +

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.

+ +

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.

+ +
+

What are SSI?

+ +

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.

+ +

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.

+ +
+

Configuring your +server to permit SSI

+ +

To permit SSI on your server, you must have the following directive +either in your httpd.conf file, or in a +.htaccess file:

+ +
+        Options +Includes
+
+ +

This tells Apache that you want to permit files to be parsed for SSI +directives.

+ +

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 .shtml, with the following directives:

+ +
+        AddType text/html .shtml
+        AddHandler server-parsed .shtml
+
+ +

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 +.shtml extension, so that those directives would be +executed.

+ +

The other method is to use the XBitHack directive:

+ +
+        XBitHack on
+
+ +

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

+ +
+        chmod +x pagename.html
+
+ +

A brief comment about what not to do. You'll occasionally see people +recommending that you just tell Apache to parse all .html +files for SSI, so that you don't have to mess with .shtml +file names. These folks have perhaps not heard about +XBitHack. 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.

+ +

Of course, on Windows, there is no such thing as an execute bit to +set, so that limits your options a little.

+ +

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:

+ +
    + +
  1. Use the XBitHack Full 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.
  2. + +
  3. Use the directives provided by mod_expires to set an explicit +expiration time on your files, thereby letting browsers and proxies +know that it is acceptable to cache them.
  4. + +
+ + +
+

Basic SSI directives

+ +

SSI directives have the following syntax:

+ +
+        <!--#element attribute=value attribute=value ... -->
+
+ +

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.

+ +

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

+ +

Today's date

+ +
+        <!--#echo var="DATE_LOCAL" -->
+
+ +

The echo 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 set +element.

+ +

If you don't like the format in which the date gets printed, you can +use the config element, with a timefmt +attribute, to modify that formatting.

+ +
+        <!--#config timefmt="%A %B %d, %Y" -->
+        Today is <!--#echo var="DATE_LOCAL" -->
+
+ +

Modification date of the +file

+ +
+        This document last modified <!--#flastmod file="index.html" -->
+
+ +

This element is also subject to timefmt format +configurations.

+ +

Including the +results of a CGI program

+ +

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

+ +
+        <!--#include virtual="/cgi-bin/counter.pl" -->
+
+ +
+

Additional examples

+ +

Following are some specific examples of things you can do in your +HTML documents with SSI.

+ +
+

When was this document +modified?

+ +

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.

+ +
+        <!--#config timefmt="%A %B %d, %Y" -->
+        This file last modified <!--#flastmod file="ssi.shtml" -->
+
+ +

Of course, you will need to replace the ssi.shtml 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 +LAST_MODIFIED variable instead:

+ +
+        <!--#config timefmt="%D" -->
+        This file last modified <!--#echo var="LAST_MODIFIED" -->
+
+ +

For more details on the timefmt format, go to your +favorite search site and look for ctime. The syntax is the +same.

+ +
+

Including a standard +footer

+ +

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.

+ +

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 include SSI +command. The include element can determine what file to +include with either the file attribute, or the +virtual attribute. The file attribute is a +file path, relative to the current directory. That means that +it cannot be an absolute file path (starting with /), nor can it +contain ../ as part of that path. The virtual 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.

+ +
+        <!--#include virtual="/footer.html" -->
+
+ +

I'll frequently combine the last two things, putting a +LAST_MODIFIED 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.

+ +
+

What else can I config?

+ +

In addition to being able to config the time format, +you can also config two other things.

+ +

Usually, when something goes wrong with your SSI directive, you get +the message

+ +
+        [an error occurred while processing this directive]
+
+ +

If you want to change that message to something else, you can do so +with the errmsg attribute to the config +element:

+ +
+        <!--#config errmsg="[It appears that you don't know how to use SSI]" -->
+
+ +

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?)

+ +

And you can config the format in which file sizes are +returned with the sizefmt attribute. You can specify +bytes for a full count in bytes, or abbrev +for an abbreviated number in Kb or Mb, as appropriate.

+ +
+

Executing commands

+ +

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 exec element. You can actually +have SSI execute a command using the shell (/bin/sh, to be +precise - or the DOS shell, if you're on Win32). The following, for +example, will give you a directory listing.

+ +
+        <pre>
+        <!--#exec cmd="ls" -->
+        </pre>
+
+ +

or, on Windows

+ +
+        <pre>
+        <!--#exec cmd="dir" -->
+        </pre>
+
+ +

You might notice some strange formatting with this directive on +Windows, because the output from dir contains the string +``<dir>'' in it, which confuses browsers.

+ +

Note that this feature is exceedingly dangerous, as it will execute +whatever code happens to be embedded in the exec 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 exec +feature, with the IncludesNOEXEC argument to the +Options directive.

+ +
+

Advanced SSI techniques

+ +

In addition to spitting out content, Apache SSI gives you the option +of setting variables, and using those variables in comparisons and +conditionals.

+ +

Caveat

+ +

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.

+ +
+

Setting variables

+ +

Using the set 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:

+ +
+        <!--#set var="name" value="Rich" -->
+
+ +

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 +LAST_MODIFIED, 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.

+ +
+        <!--#set var="modified" value="$LAST_MODIFIED" -->
+
+ +

To put a literal dollar sign into the value of your variable, you +need to escape the dollar sign with a backslash.

+ +
+        <!--#set var="cost" value="\$100" -->
+
+ +

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

+ +
+        <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" -->
+
+ +
+

Conditional expressions

+ +

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. mod_include provides +an if, elif, else, +endif structure for building conditional statements. This +allows you to effectively generate multiple logical pages out of one +actual page.

+ +

The structure of this conditional construct is:

+ +
+        <!--#if expr="test_condition" -->
+    <!--#elif expr="test_condition" -->
+    <!--#else -->
+    <!--#endif -->
+
+ +

A test_condition 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 +mod_include documentation. Here are some examples of how +one might use this construct.

+ +

In your configuration file, you could put the following line:

+ +
+        BrowserMatchNoCase macintosh Mac
+        BrowserMatchNoCase MSIE InternetExplorer
+
+ +

This will set environment variables ``Mac'' and ``InternetExplorer'' +to true, if the client is running Internet Explorer on a Macintosh.

+ +

Then, in your SSI-enabled document, you might do the following:

+ +
+        <!--#if expr="${Mac} && ${InternetExplorer}" -->
+        Apologetic text goes here
+        <!--#else -->
+        Cool JavaScript code goes here
+        <!--#endif -->
+
+ +

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.

+ +

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 +SetEnvIf directives, and other related directives, this +functionality can let you do some pretty involved dynamic stuff without +ever resorting to CGI.

+ +
+

Conclusion

+ +

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.

+ + + + 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 @@ + + + +Apache $B%A%e!<%H%j%"%k(B: Server Side Includes $BF~Lg(B + + + + + + +

Apache $B%A%e!<%H%j%"%k(B: Server Side Includes $BF~Lg(B

+ + + + + + + +
+

Apache +$B%A%e!<%H%j%"%k(B: Server Side Includes $BF~Lg(B

+ + + + + + +
$B4XO"%b%8%e!<%k(B
+
+ mod_include
+mod_cgi
+mod_expires
+
$B4XO"%G%#%l%/%F%#%V(B
+
+ Options
+XBitHack
+AddType
+AddHandler
+BrowserMatchNoCase
+ +
+ +

$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

+ +

$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

+ +

$B5-;v$N8eH>$G$O!"(BSSI $B%G%#%l%/%F%#%V$G(B +SSI $B$H6&$Kr7oJ8$N$h$&$J4vJ,9bEY$J;vJA$K(B +$B$D$$$F=R$Y$F$$$^$9!#(B

+ +
+

SSI $B$H$O(B?

+ +

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

+ +

$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

+ +
+

SSI $B$r5v2D$9$k$?$a$N(B +$B%5!<%P$N@_Dj(B

+ +

$B%5!<%P$G(B SSI $B5v2D$9$k$K$O!"(Bhttpd.conf $B%U%!%$%k(B +$B$^$?$O(B .htaccess $B%U%!%$%k$K + +

+        Options +Includes
+
+ +

$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

+ +

$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!#.shtml $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:

+ +
+        AddType text/html .shtml
+        AddHandler server-parsed .shtml
+
+ +

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

+ +

$B$b$&0l$D$NJ}K!$O!"(BXBitHack $B%G%#%l%/%F%#%V$r;HMQ$9$k$3$H$G$9(B:

+ +
+        XBitHack on
+
+ +

XBitHack $B$O!"%U%!%$%k$Nl9g!"(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 chmod $B$r;HMQ$7$F%U%!%$%k$r + +

+        chmod +x pagename.html
+
+ +

$B9T$J$&$Y$-$G$O$J$$$3$H$K4X$9$kC;$$%3%a%s%H!#;~!9C/$+$,!"(B +$BA4$F$N(B .html $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 .shtml $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 XBitHack +$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

+ +

$B$b$A$m$s!"(BWindows $B$G$O$=$N$h$&$J/$7@)8B$5$l$F$$$^$9!#(B

+ +

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

+ +
    + +
  1. XBitHack Full $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
  2. + +
  3. mod_expires $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
  4. + +
+ +
+

$B4pK\E*$J(B SSI $B%G%#%l%/%F%#%V(B

+ +

SSI $B%G%#%l%/%F%#%V$O0J2<$NJ8K!$G5-=R$7$^$9(B:

+ +
+        <!--#element attribute=value attribute=value ... -->
+
+ +

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

+ +

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!"/$7>\$7$/@bL@$7$^$9!#(B +$B$3$3$G$O!"(BSSI $B$G9T$J$&$3$H$,$G$-$kNc$r$$$/$D$+<($7$^$9!#(B

+ +

$B:#F|$NF|IU(B

+ +
+        <!--#echo var="DATE_LOCAL" -->
+
+ +

echo $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$^$?!"(Bset $BMWAG$rMQ$$$k$3$H$G!"FH<+$NJQ?t$rDj5A$9$k$3$H$,(B +$B$G$-$^$9!#(B

+ +

$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!"(Bconfig $BMWAG$K(B timefmt $BB0@-$r(B +$B;HMQ$9$k$3$H$,$G$-$^$9!#(B

+ +
+        <!--#config timefmt="%A %B %d, %Y" -->
+        Today is <!--#echo var="DATE_LOCAL" -->
+
+ +

$B%U%!%$%k$NJQ99F|(B

+ +
+        This document last modified <!--#flastmod file="index.html" -->
+
+ +

$B$3$NMWAG$b(B timefmt $B%U%)!<%^%C%H$N@_Dj$K=>$$$^$9!#(B

+ +

CGI $B%W%m%0%i%`$N7k2L$r

+ +

$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

+ +
+        <!--#include virtual="/cgi-bin/counter.pl" -->
+
+ +
+

$BDI2C$NNc(B

+ +

$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

+ +
+

$B$$$D$3$N%I%-%e%a%s%H$O=$@5$5$l$?$N$+(B? +

+ +

$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!"e=R$N(B +$B$h$&$K!"(BSSI $B$r@5$7$/F0:n2DG=$K$7$F$*$/I,MW$,$"$j$^$9!#(B

+ +
+        <!--#config timefmt="%A %B %d, %Y" -->
+        This file last modified <!--#flastmod file="ssi.shtml" -->
+
+ +

$B$b$A$m$s!"(Bssi.shtml $B$NItJ,$r$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 LAST_MODIFIED +$B$r;HMQ$7$?$$$H9M$($k$G$7$g$&(B:

+ +
+        <!--#config timefmt="%D" -->
+        This file last modified <!--#echo var="LAST_MODIFIED" -->
+
+ +

timefmt $B=q<0$K$D$$$F$N$h$j>\:Y$K$D$$$F$O!"(B +$B$*9%$_$N8!:w%5%$%H$K9T$-!"(Bctime $B$G8!:w$7$F$_$F$/$@$5$$!#J8K!$OF1$8$G$9!#(B

+ +
+

$BI8=`$N%U%C%?$rA^F~$9$k(B

+ +

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

$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 include SSI $B%3%^%s%I$G3F%Z!<%8$K(B +$BF~$l$k$@$1$G:Q$_$^$9!#(Binclude $BMWAG$O!"(Bfile $BB0@-(B +$B$^$?$O(B virtual $BB0@-$N$$$:$l$+$r;HMQ$7$F$I$N%U%!%$%k$rA^F~$9$k$+$r(B +$B7h$a$k$3$H$,$G$-$^$9!#(Bfile $BB0@-$O!"(B$B%+%l%s%H%G%#%l%/%H%j$+$i$N(B +$BAjBP%Q%9$G<($5$l$?(B$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!#(Bvirtual $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

+ +
+        <!--#include virtual="/footer.html" -->
+
+ +

$B;d$O:G8e$NFs$D$rAH$_9g$o$;$F!"(BLAST_MODIFIED $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

+ +
+

$BB>$K2?$,@_Dj$G$-$k$N$+(B?

+ +

$B;~9o=q<0$r(B config $B$G@_Dj$G$-$k$3$H$K2C$($F!"(B +$B99$KFs$D(B config $B$G@_Dj$9$k$3$H$,$G$-$^$9!#(B

+ +

$BDL>o!"(BSSI $B%G%#%l%/%F%#%V$G2?$+$,$&$^$/$$$+$J$$$H$-$O!" + +

+        [an error occurred while processing this directive]
+
+ +

$B$3$N%a%C%;!<%8$rB>$N$b$N$K$7$?$$>l9g!"(B +config $BMWAG$N(B errmsg $BB0@-$GJQ99$9$k$3$H$,(B +$B$G$-$^$9(B:

+ +

+        <!--#config errmsg="[It appears that you don't know how to use SSI]" -->
+
+ +

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

+ +

$B$=$7$F!"(Bconfig $B$K$*$$$F(B sizefmt $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 bytes $B$r!"E,Ev$K(B Kb $B$d(B Mb $B$K(B +$BC;=L$5$;$k$K$O(B abbrev $B$r;XDj$9$k$3$H$,$G$-$^$9!#(B

+ +
+

$B%3%^%s%I$N

+ +

$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 +exec $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 /bin/sh$B!#(BWin32 $B$J$i$P(B DOS $B%7%'%k(B) +$B$r;HMQ$7$F%3%^%s%I$r + +

+        <pre>
+        <!--#exec cmd="ls" -->
+        </pre>
+
+ +

Windows $B>e$G$O!"(B

+ +
+        <pre>
+        <!--#exec cmd="dir" -->
+        </pre>
+
+ +

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 dir $B$N=PNO$,(B +$BJ8;zNs(B ``<dir>'' $B$r4^$_!"%V%i%&%6$r:.Mp$5$;$k$+$i$G$9!#(B

+ +

$B$3$N5!G=$OHs>o$K4m81$G$"$j!"$I$s$J%3!<%I$G$b(B exec $B%?%0$K(B +$BKd$a9~$^$l$F$7$^$($Pu67$K$"$k$J$i$P!"$3$N5!G=$r3NOptions $B%G%#%l%/%F%#%V$N(B IncludesNOEXEC $B0z?t$r;XDj$9$k$3$H$G!"(B +SSI $B$O5v2D$9$k$1$l$I(B exec $B5!G=$O5v2D$7$J$$$h$&$K$9$k$3$H$,$G$-$^$9!#(B

+ +
+

$B9bEY$J(B SSI $B%F%/%K%C%/(B

+ +

$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

+ +

$B7Y9p(B

+ +

$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

+ +
+

$BJQ?t$r@_Dj$9$k(B

+ +

set $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:

+ +
+        <!--#set var="name" value="Rich" -->
+
+ +

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

+ +
+        <!--#set var="modified" value="$LAST_MODIFIED" -->
+
+ +

$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

+ +
+        <!--#set var="cost" value="\$100" -->
+
+ +

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

+ +
+        <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" -->
+
+ +
+

$B>r7o<0(B

+ +

$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.$5$J%W%m%0%i%_%s%08@8l$K$J$C$F$$$^$9!#(Bmod_include $B$O(B +$B>r7o$rI=8=$9$k$?$a$K(B if, elif, else, +endif $B9=B$$rDs6!$7$F$$$^$9!#$3$l$K$h$C$F!"0l$D$N + +

$B>r7o9=B$$O0J2<$N$H$*$j$G$9(B:

+ +
+        <!--#if expr="test_condition" -->
+        <!--#elif expr="test_condition" -->
+        <!--#else -->
+        <!--#endif -->
+
+ +

test_condition $B$O$"$i$f$k2A$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 +mod_include $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

+ +

$B@_Dj%U%!%$%k$G + +

+        BrowserMatchNoCase macintosh Mac
+        BrowserMatchNoCase MSIE InternetExplorer
+
+ +

$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

+ +

$B + +

+        <!--#if expr="${Mac} && ${InternetExplorer}" -->
+        Apologetic text goes here
+        <!--#else -->
+        Cool JavaScript code goes here
+        <!--#endif -->
+
+ +

Mac $B>e$N(B IE $B$KBP$7$F2?$+;W$&$H$3$m$,$"$k$o$1$G$"$j$^$;$s!#(B +$BB>$G$Oe$N(B IE $B$G(B +$Be$NNc$O$=$N;CDjE*$JBP=hJ}K!$G$9!#(B

+ +

$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 SetEnvIf +$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

+ +
+

$B=*$o$j$K(B

+ +

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

+ + + diff --git a/usr.sbin/httpd/htdocs/manual/images/apache_header.gif b/usr.sbin/httpd/htdocs/manual/images/apache_header.gif new file mode 100644 index 00000000000..260e421bf4a Binary files /dev/null and b/usr.sbin/httpd/htdocs/manual/images/apache_header.gif differ diff --git a/usr.sbin/httpd/htdocs/manual/images/pixel.gif b/usr.sbin/httpd/htdocs/manual/images/pixel.gif new file mode 100644 index 00000000000..c0801475d27 Binary files /dev/null and b/usr.sbin/httpd/htdocs/manual/images/pixel.gif differ 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 @@ + + +Apache HTTP Server Version 1.3 Documentation + + +
+ + + + + + + + + + + + +
+ [Apache Documentation]
+ + + + + + +
+ FAQ + + Directives + + Modules + + Search +
+
 
+

Apache HTTP Server Version 1.3

+
+
+ +
+ + +
+
+ + + + + +
+
+ + + + + + + + + +
+ + +
+ Release Notes +
+New Features in Version 1.3 +
+Upgrading to Version 1.3 +
+Apache License +
+ +

+ +
+Reference Manual +
+Compiling and Installing +
+Starting +
+Stopping or Restarting +
+Run-time Configuration Directives +
+Modules: By Type or + Alphabetical +
+Server and Supporting Programs +
+Dynamic Shared Object (DSO) Support +
+The Apache API +
+ +

+ +
+Platform Specific Notes +
+Microsoft Windows +
+Novell Netware 5 +
+HP MPE/iX +
+UnixWare +
+TPF +
+ +

+
.
+
+ +
+Using the Apache HTTP Server +
+Configuration Files +
+Server-Wide Configuration +
+Mapping URLs to the Filesystem +
+Virtual Hosts +
+Server Side Includes +
+Dynamic Content with CGI +
+Handlers +
+Content negotiation +
+Environment Variables +
+Using SetUserID Execution for CGI +
+General Performance hints +
+Security tips +
+URL Rewriting Guide +
+ +

+ +
+Other Topics +
+Frequently Asked Questions +
+Tutorials +
+Other Notes +
+

+ +
+ +

Maintained by the Apache HTTP Server +Documentation Project.

+ + + + 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 @@ + + +Documentation du serveur HTTP Apache version 1.3 + + +
+ + + + + + + + + + + + +
+ [Documentation d'Apache]
+ + + + + + +
+ FAQ + + Directives + + Modules + + Rechercher +
+
 
+

Serveur HTTP Apache version 1.3

+
+
+ +
+ + +
+
+ + + + +
+
+ + + + + + + +
+ + +
+ Notes sur cette version +
+Nouvelles fonctionnalités de la version 1.3 +
+Migrer vers la version 1.3 +
+License Apache +
+ + + +
+Manuel de référence +
+Compilation et installation +
+Démarrage +
+Arrêt et redémarrage +
+Directives de configuration de l'exécution +
+Modules: par type or + par ordre alphabétique +
+Support des Objets partagés dynamiques (DSO) +
+L'API Apache +
+ + +
+Notes liées aux plates-formes +
+Microsoft Windows +
+Novell Netware 5 +
+HP MPE/iX +
+UnixWare +
+TPF +
+ +
+
.
+
+ +
+Utilisation du serveur HTTP Apache +
+Fichiers de configuration +
+Configuration globale du serveur +
+Hôtes virtuels +
+Inclusion côté serveur (SSI) +
+Contenu dynamique avec les CGI +
+Handlers +
+Négotiation de contenu +
+Variables d'environnement +
+Using SetUserID Execution for CGI +
+Aides sur les performances générales +
+Trucs sur la sécurité +
+Guide de réécriture d'URLs +
+ + +
+Autres sujets +
+Foires aux questions +
+Tutoriels +
+Autres notes +
+
+ +
+ + + + 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 @@ + + +Apache HTTP Server Version 1.3 Documentation + + +
+ + + + + + + + + + + + +
+ [Apache Documentation]
+ + + + + + +
+ FAQ + + Directives + + Modules + + Search +
+
 
+

Apache HTTP Server Version 1.3

+
+
+ +
+ + +
+
+ + + + + +
+
+ + + + + + + + + +
+ + +
+ Release Notes +
+New Features in Version 1.3 +
+Upgrading to Version 1.3 +
+Apache License +
+ +

+ +
+Reference Manual +
+Compiling and Installing +
+Starting +
+Stopping or Restarting +
+Run-time Configuration Directives +
+Modules: By Type or + Alphabetical +
+Server and Supporting Programs +
+Dynamic Shared Object (DSO) Support +
+The Apache API +
+ +

+ +
+Platform Specific Notes +
+Microsoft Windows +
+Novell Netware 5 +
+HP MPE/iX +
+UnixWare +
+TPF +
+ +

+
.
+
+ +
+Using the Apache HTTP Server +
+Configuration Files +
+Server-Wide Configuration +
+Mapping URLs to the Filesystem +
+Virtual Hosts +
+Server Side Includes +
+Dynamic Content with CGI +
+Handlers +
+Content negotiation +
+Environment Variables +
+Using SetUserID Execution for CGI +
+General Performance hints +
+Security tips +
+URL Rewriting Guide +
+ +

+ +
+Other Topics +
+Frequently Asked Questions +
+Tutorials +
+Other Notes +
+

+ +
+ +

Maintained by the Apache HTTP Server +Documentation Project.

+ + + + + 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 @@ + + +Apache HTTP $B%5!<%P(B $B%P!<%8%g%s(B 1.3 $B%I%-%e%a%s%H(B + + +
+ + + + + + + + + + + + +
+ [Apache $B%I%-%e%a%s%H(B]
+ + + + + + +
+ FAQ + + $B%G%#%l%/%F%#%V(B + + $B%b%8%e!<%k(B + + $B8!:w(B +
+
 
+

Apache HTTP Server Version 1.3

+
+
+ +
+ + +
+
+ + + + + +
+
+ + + + + + + + + +
+ + +
+ $B%j%j!<%9%N!<%H(B +
+Apache 1.3 $B$N?75!G=(B +
+Apache 1.3 $B$X$N%"%C%W%0%l!<%I(B +
+Apache $B$N%i%$%;%s%9(B +
+ +

+ +
+$B%j%U%!%l%s%9%^%K%e%"%k(B +
+$B%3%s%Q%$%k$H%$%s%9%H!<%k(B +
+$B5/F0(B +
+$B=*N;$^$?$O:F5/F0(B +
+$B +
+$B%b%8%e!<%k(B: $B $B$H(B + $B%"%k%U%!%Y%C%H=g(B +
+Dynamic Shared Object (DSO) $B$N%5%]!<%H(B +
+Apache API +
+ +

+ +
+$B%W%i%C%H%U%)!<%`8GM-$N>pJs(B +
+Microsoft Windows +
+Novell Netware 5 +
+HP MPE/iX +
+UnixWare +
+TPF +
+ +

+
.
+
+ +
+Apache HTTP $B%5!<%P$r;H$&(B +
+$B@_Dj%U%!%$%k(B +
+$B%5!<%PA4BN$N@_Dj(B +
+$B%P!<%A%c%k%[%9%H(B +
+Server Side Include +
+CGI $B$K$h$kF0E*%3%s%F%s%D(B +
+$B%O%s%I%i(B +
+$B%3%s%F%s%H%M%4%7%(!<%7%g%s(B +
+$B4D6-JQ?t(B +
+CGI $B$G(B SetUserID $B +
+$B0lHLE*$J@-G=$K4X$9$k%R%s%H(B +
+$B%;%-%e%j%F%#>pJs(B +
+URL Rewriting $B$N%,%$%I(B +
+ +

+ +
+$B$=$NB>(B +
+FAQ +
+$B%A%e!<%H%j%"%k(B +
+$B$=$NB>(B +
+

+ +
+ +

Apache HTTP Server +Documentation Project $B$K$h$j%a%s%F%J%s%9$5$l$F$$$^$9!#(B

+ + + + + 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 @@ + + + +Compiling and Installing Apache + + + + + + +

Compiling and Installing Apache 1.3

+ +

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

+ + +

Downloading Apache

+ +Information on the latest version of Apache can be found on the Apache +web server at http://www.apache.org/. This will +list the current release, any more recent beta-test release, together +with details of mirror web and anonymous ftp sites. + +

+ +If you downloaded a binary distribution, skip to Installing Apache. Otherwise read the next section +for how to compile the server. + +

Compiling Apache

+ +Compiling Apache consists of three steps: Firstly select which Apache +modules you want to include into the server. Secondly create a +configuration for your operating system. Thirdly compile the +executable. +

+ +All configuration of Apache is performed in the src +directory of the Apache distribution. Change into this directory. + +

    +
  1. + Select modules to compile into Apache in the + Configuration 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 API.html 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). +

    + + You should also read the instructions in the Configuration + file to see if you need to set any of the Rule lines. + + +

  2. + Configure Apache for your operating system. Normally you can just + run the Configure script as given below. However + if this fails or you have any special requirements (e.g., to include + an additional library required by an optional module) you might need + to edit one or more of the following options in the + Configuration file: + EXTRA_CFLAGS, LIBS, LDFLAGS, INCLUDES. +

    + + Run the Configure script: +

    +
    +    % 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
    +   
    +
    + + (*: Depending on Configuration and your system, Configure + might not print these lines. That's OK).

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

    + + (If you want to maintain multiple configurations, you can give an + option to Configure to tell it to read an alternative + Configuration file, such as Configure -file + Configuration.ai). +

    + +

  3. + Type make. +
+ +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 +<http://www.apache.org/dist/contrib/modules/>. +There are instructions on that page for linking these modules into the +core Apache code. + +

Installing Apache

+ +You will have a binary file called httpd in the +src directory. A binary distribution of Apache will +supply this file.

+ +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 conf, logs and +icons directories into it. In either case you should +read the security tips +describing how to set the permissions on the server root directory.

+ +The next step is to edit the configuration files for the server. This +consists of setting up various directives in up to three +central configuration files. By default, these files are located in +the conf directory and are called srm.conf, +access.conf and httpd.conf. To help you get +started there are same files in the conf directory of the +distribution, called srm.conf-dist, +access.conf-dist and httpd.conf-dist. Copy +or rename these files to the names without the -dist. +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 conf directory called mime.types. This +file usually does not need editing. + +

+ +First edit httpd.conf. This sets up general attributes +about the server: the port number, the user it runs as, etc. Next +edit the srm.conf file; this sets up the root of the +document tree, special functions like server-parsed HTML or internal +imagemap parsing, etc. Finally, edit the access.conf +file to at least set the base cases of access. + +

+ +In addition to these three files, the server behavior can be configured +on a directory-by-directory basis by using .htaccess +files in directories accessed by the server. + +

Set your system time properly!

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

Compiling Support Programs

+ +In addition to the main httpd 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 +support directory of the distribution. To compile +the support programs, change into this directory and type +
+    make
+
+ + + + 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 @@ + + + +Compilation et installation d'Apache + + + + + + +

Compilation et installation d'Apache 1.3

+ +

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

+ + +

Téléchargement d'Apache

+Les informations sur la dernière version d'Apache se trouvent sur le +site web d'Apache à l'adresse +http://www.apache.org/. +Ce site réunit la version actuelle, les récentes versions +beta, ainsi que la liste des sites miroirs web et ftp anonymes. +

+Si vous avez téléchargé une distribution composée +des binaires, passez directement à l'installation d'Apache. +Sinon lisez la section suivante afin de savoir comment compiler le serveur. + +

Compilation d'Apache

+ +La compilation d'Apache se compose de trois étapes : la sélection des +modules 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. +

+ +La configuration d'Apache s'effectue dans le répertoire src +de la distribution. Entrez dans ce répertoire. + +

    +
  1. + Sélection des modules à compiler dans Apache définis dans le + fichier Configuration. 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 API.html 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). +

    + + Vous pouvez également lire les instructions contenues dans le fichier + Configuration afin de savoir si devez activer certaines lignes + commençant par Rule. + + +

  2. + Création de la configuration pour votre système d'exploitation. + Normalement vous n'avez qu'à exécuter le script Configure + 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 Configuration : + EXTRA_CFLAGS, LIBS, LDFLAGS, INCLUDES. +

    + + Lancement du script Configure : +

    +
    +    % 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
    +   
    +
    + + (*: selon le fichier Configuration et votre système, Configure + peut ne pas afficher ces lignes).

    + + 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 + support, pour compiler les programmes optionnels d'assistance. +

    + + (Si vous souhaitez maintenir différentes configurations, Configure + accepte une option lui disant de lire un autre fichier de configuration, comme : + Configure -file Configuration.ai). +

    + +

  3. + Compilation des sources. + Tapez :
    make
    +
+ +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 <http://www.apache.org/dist/contrib/modules/>. +Des instructions sont fournies sur cette page pour lier ces modules au noyau +d'Apache. + +

Installation d'Apache

+ +Vous devez avoir un exécutable appelé httpd dans le +répertoire src. Une distribution des binaires doit fournir +ce fichier.

+ +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 +conf, logs et icons. +Dans tous les cas lisez le document +trucs sur la sécurité +qui décrit comment affecter les droits sur le répertoire racine du serveur.

+ +L'étape suivante est la modification des fichiers de configuration du serveur. +Cela consiste à définir différentes +directives dans les trois fichiers centraux de configuration. +Par défaut ces fichiers sont situés dans le répertoire +conf et s'appellent srm.conf, +access.conf et httpd.conf. +Pour vous aider, les mêmes fichiers existent dans le répertoire +conf de la distribution et sont appelés srm.conf-dist, + access.conf-dist et httpd.conf-dist. +Copiez ou renommez ces fichiers en supprimant le -dist 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 +conf un fichier mime.types. +Généralement, ce fichier n'a pas besoin d'être modifié. +

+ +Premièrement éditez le fichier httpd.conf. +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 srm.conf. 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 access.conf pour au moins définir les schémas +d'accès de base. + +

+ +En plus de ces trois fichiers, le comportement du serveur peut être +configuré dans chaque répertoire en utilisant les fichiers +.htaccess pour les répertoires accédés par +le serveur. + +

Définissez l'heure du système correctement !

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

Démarrage et arrêt du serveur

+ +Pour démarrer le serveur, exécutez httpd. Il cherchera +le fichier httpd.conf à l'emplacement spécifié +lors de la compilation (par défaut +/usr/local/apache/conf/httpd.conf). Si ce fichier est situé +autre part, vous pouvez indiquer son emplacement en utilisant l'option -f. +Par exemple : +
+    /usr/local/apache/httpd -f /usr/local/apache/conf/httpd.conf
+
+ +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 : + +
+    http://localhost/
+
+ +

+ +Notez que lors du démarrage du serveur un certain nombre de processus +fils 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. + +

+ +Si au lancement de httpd 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). +

+ +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 error_log du +répertoire logs). +

+ +Si vous voulez que votre serveur continue à s'exécuter après +une relance du système, vous devez ajouter un appel à httpd +dans vos fichiers de démarrage du système (typiquement rc.local +ou un fichier dans un répertoire rc.N). +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. + +

+ +Pour arrêter Apache, envoyez au processus parent un signal TERM. +Le PID de ce processus est écrit dans le fichier httpd.pid +situé dans le répertoire logs (à 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 : + +

+    kill -TERM `cat /usr/local/apache/logs/httpd.pid`
+
+ +

+ +Pour plus d'information sur les options de la ligne de commande, sur les +fichiers de configuration et les fichiers de trace, voir +Démarrage d'Apache. Pour un guide de +référence de toutes les directives Apache autorisées par +les modules distribués, voir les +directives Apache . + +

Compilation des programmes d'assistance

+ +En plus du serveur httpd 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 support de la distribution. +Pour les compiler, allez dans ce répertoire et tapez : +
+    make
+
+ + + + 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 @@ + + + +Compiling and Installing Apache + + + + + + +

Compiling and Installing Apache 1.3

+ +

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

+ + +

Downloading Apache

+ +Information on the latest version of Apache can be found on the Apache +web server at http://www.apache.org/. This will +list the current release, any more recent beta-test release, together +with details of mirror web and anonymous ftp sites. + +

+ +If you downloaded a binary distribution, skip to Installing Apache. Otherwise read the next section +for how to compile the server. + +

Compiling Apache

+ +Compiling Apache consists of three steps: Firstly select which Apache +modules you want to include into the server. Secondly create a +configuration for your operating system. Thirdly compile the +executable. +

+ +All configuration of Apache is performed in the src +directory of the Apache distribution. Change into this directory. + +

    +
  1. + Select modules to compile into Apache in the + Configuration 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 API.html 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). +

    + + You should also read the instructions in the Configuration + file to see if you need to set any of the Rule lines. + + +

  2. + Configure Apache for your operating system. Normally you can just + run the Configure script as given below. However + if this fails or you have any special requirements (e.g., to include + an additional library required by an optional module) you might need + to edit one or more of the following options in the + Configuration file: + EXTRA_CFLAGS, LIBS, LDFLAGS, INCLUDES. +

    + + Run the Configure script: +

    +
    +    % 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
    +   
    +
    + + (*: Depending on Configuration and your system, Configure + might not print these lines. That's OK).

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

    + + (If you want to maintain multiple configurations, you can give an + option to Configure to tell it to read an alternative + Configuration file, such as Configure -file + Configuration.ai). +

    + +

  3. + Type make. +
+ +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 +<http://www.apache.org/dist/contrib/modules/>. +There are instructions on that page for linking these modules into the +core Apache code. + +

Installing Apache

+ +You will have a binary file called httpd in the +src directory. A binary distribution of Apache will +supply this file.

+ +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 conf, logs and +icons directories into it. In either case you should +read the security tips +describing how to set the permissions on the server root directory.

+ +The next step is to edit the configuration files for the server. This +consists of setting up various directives in up to three +central configuration files. By default, these files are located in +the conf directory and are called srm.conf, +access.conf and httpd.conf. To help you get +started there are same files in the conf directory of the +distribution, called srm.conf-dist, +access.conf-dist and httpd.conf-dist. Copy +or rename these files to the names without the -dist. +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 conf directory called mime.types. This +file usually does not need editing. + +

+ +First edit httpd.conf. This sets up general attributes +about the server: the port number, the user it runs as, etc. Next +edit the srm.conf file; this sets up the root of the +document tree, special functions like server-parsed HTML or internal +imagemap parsing, etc. Finally, edit the access.conf +file to at least set the base cases of access. + +

+ +In addition to these three files, the server behavior can be configured +on a directory-by-directory basis by using .htaccess +files in directories accessed by the server. + +

Set your system time properly!

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

Compiling Support Programs

+ +In addition to the main httpd 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 +support directory of the distribution. To compile +the support programs, change into this directory and type +
+    make
+
+ + + + + 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 @@ + + + +Compiling and Installing Apache + + + + + + + +

Apache 1.3 $B$N%3%s%Q%$%k!&%$%s%9%H!<%k(B

+ +

$B$3$N%I%-%e%a%s%H$O(B Apache $B$r(B Unix $B%7%9%F%`>e$G!"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

+ + +

Apache $B$N%@%&%s%m!<%I(B

+ +Apache $B$N:G?7HG$N>pJs$O(B http://www.apache.org/ $B$N(B +Apache $B%&%'%V%5!<%P$+$iF~\$7$$>pJs$,I=<($5$l$F$$$^$9!#(B + +

+$B$b$7!"$"$J$?$,%P%$%J%jG[I[HG$r%@%&%s%m!<%I$7$?$N$G$"$l$P!"(B Apache $B$N%$%s%9%H!<%k(B$B$K0\$C$F$/$@$5$$!#(B +$B$=$&$G$J$1$l$P!"Apache $B$N%3%s%Q%$%k(B + +Apache $B$N%3%s%Q%$%k$O;0CJ3,$G9=@.$5$l$^$9(B: + $B$^$:%5!<%P$K4^$a$?$$(B Apache $B%b%8%e!<%k(B +$B$rA*Br$7$F$/$@$5$$!# + +Apache $B$NA4$F$N@_Dj$O!"(BApache $BG[I[$N(B src +$B%G%#%l%/%H%j$G9T$o$l$^$9!#$3$N%G%#%l%/%H%j$KF~$C$F$/$@$5$$!#(B + +

    +
  1. + Configuration $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!#API.html $B$r;2>H$7$F$/$@$5$$(B) $B!#(B + $B$"$k%b%8%e!<%k$,3N + + Rule $B9T$N$$$/$D$+$r@_Dj$9$kI,MW$,$"$k$+$I$&$+$rCN$k$?$a$K(B +Configuration $B%U%!%$%k$N;X<($bFI$s$G$/$@$5$$!#(B + + +
  2. + Apache $B$r(B OS $B$K9g$o$;$F@_Dj$7$^$9!#DL>o$O$?$@(B + Configure $B%9%/%j%W%H$r2<5-$NNc$N$h$&$K$BNc$($P(B$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 Configure $B%U%!%$%k$NEXTRA_CFLAGS, LIBS, LDFLAGS, INCLUDES. +

    + + Configure $B%9%/%j%W%H$r +

    +    % 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
    +   
    + + + (*: $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)

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

    + + ($B$b$7!"MM!9$J@_Dj$r4IM}$9$k$D$b$j$J$i$P!"(BConfigure $B$K(B + Configure -file Configuration.ai $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) +

    + +

  3. + make $B$r + +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 +<http://www.apache.org/dist/contrib/modules/> + $B$+$iF~Apache $B$N%$%s%9%H!<%k(B + +$B%3%s%Q%$%k$r9T$&$H!"(B httpd $B$H$$$&%P%$%J%j%U%!%$%k$,(B +src $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

    + +$B$N$H$3$m$+$il9g$O!"%G%#%l%/%H%j$r:n@.$7!"$=$3$K(B conf $B$H(B +logs, icons $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 + security $B>pJs(B $B$r(B +$BFI$`$Y$-$G$9!#(B

    + +$B$B%G%#%l%/%F%#%V(B $B$r@_Dj$7$^$9!#I8=`>uBV$G$O!"$3$l$i$N%U%!%$%k$O(B + conf $B%G%#%l%/%H%j$KG[CV$5$l$k!"(Bsrm.conf, +access.conf, httpd.conf $B$G$9!#(B +$B@_Dj$N;29M$K$J$k$h$&$K!"G[I[$N(B conf $B%G%#%l%/%H%j$K(B +$BF1$8FbMF$N%U%!%$%k!"(Bsrm.conf-dist, +access.conf-dist, httpd.conf-dist $B$,$"$j$^$9!#(B +-dist $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 +conf $B%G%#%l%/%H%j$K$O(B mime.types $B$H$$$&(B +$BDI2C%U%!%$%k$,$"$j$^$9!#DL>o$3$N%U%!%$%k$rJT=8$9$kI,MW$O$"$j$^$;$s!#(B + +

    + +$B:G=i$K(B httpd.conf $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 +$BEy!9(B$B$G$9!#srm.conf $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$BEy!9(B +$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 + +

    + +$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 .htaccess $B%U%!%$%k$r;H$&$3$H$K$h$C$F!"(B +$B%G%#%l%/%H%jKh$K@_Dj$G$-$^$9!#(B + +

    $B%7%9%F%`%?%$%`$r@53N$K@_Dj$7$F$/$@$5$$(B!

    + +$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$B%5%]!<%H%W%m%0%i%`$N%3%s%Q%$%k(B + +$B>e5-$G%3%s%Q%$%k!"@_Dj$5$l$k%a%$%s$N(B httpd $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 support +$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 : +
    +    make
    +
    + + + + 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 @@ + + + + +Démarrage d'Apache + + + + + +

    Démarrage d'Apache

    + + +
    + +

    Démarrage d'Apache sur Windows

    + +

    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 +lancer Apache pour Windows.

    + +

    Démarrage d'Apache sur Unix

    + +

    Sur Unix, le programme httpd 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 inetd à chaque fois qu'une connexion au service +HTTP est faite (if faut pour cela utiliser la directive ServerType) mais cela n'est pas +recommandé.

    + +

    Si le Port 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 fils ayant pour +rôle d'attendre et de répondre +aux requêtes des clients. Le processus père httpd +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 +processus

    + +

    La première chose qu'httpd fait lorsqu'il est appelé +est de chercher et lire le fichier de configuration +httpd.conf. 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 -f. Exemple : + +

    /usr/local/apache/bin/httpd -f +/usr/local/apache/conf/httpd.conf
    + +

    Comme alternative à l'appel direct de l'exécutable httpd +un script appelé apachectl est fourni +qui permet de contrôler le processus démon avec des commandes simples +telles que apachectl start ou apachectl stop.

    + +

    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 DocumentRoot +ainsi qu'une copie locale de la documentation à partir d'un lien de cette page. + +

    Erreurs durant l'initialisation

    + +

    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 ErrorLog. +Un des messages les plus courants est "Unable to bind to Port +...". Ce message est généralement dû à +

      +
    • une tentative de lancer le serveur sur un port privilégié alors +que vous n'êtes pas connecté comme utilisateur root, ou à
    • +
    • 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.
    • +
    +

    Pour plus d'informations sur la correction des problèmes, consultez +la FAQ d'Apache.

    + +

    Démarrage à l'initialisation du système

    +

    Si vous souhaitez que votre serveur continue à s'exécuter après +une relance du système, vous devez ajouter un appel à +httpd ou apachectl dans votre fichier de lancement +du système (généralement rc.local ou +un fichier dans un répertoire rc.N). 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 apachectl 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.

    + +

    Informations complémentaires

    +

    Des informations complémentaires sur les options en ligne de commande +d'httpd et d'apachectl ainsi que des autres programmes +d'assistance inclus avec le serveur, sont disponibles à la page +Serveur et programmes d'assistance. Il existe +également une documentation de tous les modules inclus +dans la distribution Apache ainsi que les directives qu'ils fournissent.

    + + + + 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 @@ + + + + Definitions of terms used to describe Apache directives + + + + + +

    Terms Used to Describe Apache Directives

    + +

    + Each Apache configuration directive is described using a common format + that looks like this: +

    +
    +
    Syntax: directive-name some args +
    + Default: + directive-name default-value +
    + Context: context-list +
    + Override: override +
    + Status: status +
    + Module: module-name +
    + Compatibility: compatibility notes +
    +
    +

    + Each of the directive's attributes, complete with possible values + where possible, are described in this document. +

    + +

    Directive Terms

    + + +
    +

    Syntax

    +

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

    + +
    +

    Default

    +

    + If the directive has a default value (i.e., 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 + "None". +

    + +
    +

    Context

    +

    + 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: +

    +
    +
    server config +
    +
    This means that the directive may be used in the server + configuration files (e.g., httpd.conf, + srm.conf, and access.conf), but + not within any <VirtualHost> or + <Directory> containers. It is not allowed in + .htaccess files at all. +

    +

    +
    +
    virtual host +
    +
    This context means that the directive may appear inside + <VirtualHost> containers in the server + configuration files. +

    +

    +
    +
    directory +
    +
    A directive marked as being valid in this context may be used + inside <Directory>, + <Location>, and <Files> + containers in the server configuration files, subject to the + restrictions outlined in How Directory, + Location and Files sections work. +

    +

    +
    +
    .htaccess +
    +
    If a directive is valid in this context, it means that it can + appear inside per-directory .htaccess files. + It may not be processed, though depending upon the + overrides + currently active. +

    +

    +
    +
    +

    + The directive is only 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 -- + i.e., the server won't even start. +

    +

    + 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 "server config, + .htaccess" can be used in the httpd.conf file + and in .htaccess files, but not within any + <Directory> or <VirtualHost> containers. +

    + +
    +

    Override

    +

    + This directive attribute indicates which configuration override must + be active in order for the directive to be processed when it appears + in a .htaccess file. If the directive's + context + doesn't permit it to appear in .htaccess files, this + attribute should say "Not applicable". +

    +

    + Overrides are activated by the + AllowOverride + directive, and apply to a particular scope (such as a directory) and + all descendants, unless further modified by other + AllowOverride directives at lower levels. The + documentation for that directive also lists the possible override + names available. +

    + +
    +

    Status

    +

    + 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: +

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

    +

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

    +

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

    +

    +
    +
    Experimental +
    +
    "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. +

    +

    +
    +
    + +
    +

    Module

    +

    + This quite simply lists the name of the source module which defines + the directive. +

    + +
    +

    Compatibility

    +

    + 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 "No + compatibility issues." +

    + + + 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 @@ + + + + Definitions of terms used to describe Apache directives + + + + + +

    Terms Used to Describe Apache Directives

    + +

    + Each Apache configuration directive is described using a common format + that looks like this: +

    +
    +
    Syntax: directive-name some args +
    + Default: + directive-name default-value +
    + Context: context-list +
    + Override: override +
    + Status: status +
    + Module: module-name +
    + Compatibility: compatibility notes +
    +
    +

    + Each of the directive's attributes, complete with possible values + where possible, are described in this document. +

    + +

    Directive Terms

    + + +
    +

    Syntax

    +

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

    + +
    +

    Default

    +

    + If the directive has a default value (i.e., 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 + "None". +

    + +
    +

    Context

    +

    + 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: +

    +
    +
    server config +
    +
    This means that the directive may be used in the server + configuration files (e.g., httpd.conf, + srm.conf, and access.conf), but + not within any <VirtualHost> or + <Directory> containers. It is not allowed in + .htaccess files at all. +

    +

    +
    +
    virtual host +
    +
    This context means that the directive may appear inside + <VirtualHost> containers in the server + configuration files. +

    +

    +
    +
    directory +
    +
    A directive marked as being valid in this context may be used + inside <Directory>, + <Location>, and <Files> + containers in the server configuration files, subject to the + restrictions outlined in How Directory, + Location and Files sections work. +

    +

    +
    +
    .htaccess +
    +
    If a directive is valid in this context, it means that it can + appear inside per-directory .htaccess files. + It may not be processed, though depending upon the + overrides + currently active. +

    +

    +
    +
    +

    + The directive is only 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 -- + i.e., the server won't even start. +

    +

    + 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 "server config, + .htaccess" can be used in the httpd.conf file + and in .htaccess files, but not within any + <Directory> or <VirtualHost> containers. +

    + +
    +

    Override

    +

    + This directive attribute indicates which configuration override must + be active in order for the directive to be processed when it appears + in a .htaccess file. If the directive's + context + doesn't permit it to appear in .htaccess files, this + attribute should say "Not applicable". +

    +

    + Overrides are activated by the + AllowOverride + directive, and apply to a particular scope (such as a directory) and + all descendants, unless further modified by other + AllowOverride directives at lower levels. The + documentation for that directive also lists the possible override + names available. +

    + +
    +

    Status

    +

    + 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: +

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

    +

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

    +

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

    +

    +
    +
    Experimental +
    +
    "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. +

    +

    +
    +
    + +
    +

    Module

    +

    + This quite simply lists the name of the source module which defines + the directive. +

    + +
    +

    Compatibility

    +

    + 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 "No + compatibility issues." +

    + + + + 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 @@ + + + + Apache $B$N%G%#%l%/%F%#%V$N2r@b$K;H$o$l$kMQ8l(B + + + + + + + +

    Apache $B$N%G%#%l%/%F%#%V$N2r@b$K;H$o$l$kMQ8l(B

    + +

    + $B$=$l$>$l$N(B Apache $B%G%#%l%/%F%#%V$O!" +

    +
    $B9=J8(B: directive-name some args +
    + $B%G%U%)%k%H(B: + directive-name default-value +
    + $B%3%s%F%-%9%H(B: context-list +
    + $B>e=q$-(B: override +
    + $B%9%F!<%?%9(B: status +
    + $B%b%8%e!<%k(B: module-name +
    + $B8_49@-(B: compatibility notes +
    +
    +

    + $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$, + +

    $B%G%#%l%/%F%#%V$NMQ8l(B

    + + +
    +

    $B9=J8(B

    +

    + $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$rl9g$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 +

    + +
    +

    $B%G%U%)%k%H(B

    +

    + $B%G%#%l%/%F%#%V$K%G%U%)%k%HCM(B ($B$9$J$o$A(B$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 "None" $B$H(B + $B=q$+$l$^$9!#(B +

    + +
    +

    $B%3%s%F%-%9%H(B

    +

    + $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 + $Be%+%s%^6h@Z$j$GNs5s$5$l$F$$$^$9!#(B +

    +
    +
    $B%5!<%P@_Dj%U%!%$%k(B +
    +
    $B$3$l$O!"%5!<%P@_Dj%U%!%$%k(B + ($BNc$($P(B$B!"(Bhttpd.conf, + srm.conf, access.conf) + $BFb$G$O;HMQ$G$-$^$9$,!"(B + <VirtualHost>$B$d(B <Directory> $B$NCf$G$O(B + $B;HMQ$G$-$J$$(B$B$3$H$r<($7$^$9!#(B + .htaccess$B%U%!%$%k$G$N;HMQ$O5v2D$5$l$F$$$^$;$s!#(B +

    +

    +
    +
    $B%P!<%A%c%k%[%9%H(B +
    +
    $B$3$l$O!"%5!<%P@_Dj%U%!%$%k$N(B <VirtualHost> + $B$NCf$G;HMQ$G$-$k$3$H$r<($7$^$9!#(B +

    +

    +
    +
    $B%G%#%l%/%H%j(B +
    +
    $B$3$l$O!"%5!<%P@_Dj%U%!%$%k$N(B <Directory>$B!"(B + <Location>$B!"(B<Files> + $B$NCf$G!"(B + Directory$B!"(BLocation$B!"(BFiles $B%;%/%7%g%s$N5!G=(B + $B$G@bL@$5$l$F$$$k@)8B$N2<$G;HMQ$G$-$k$3$H$r<($7$^$9!#(B +

    +

    +
    +
    .htaccess +
    +
    $B$3$l$O!"%G%#%l%/%H%j(B$BKh(B$B$N(B .htaccess $B%U%!%$%kFb$G(B + $B;HMQ2DG=$G$"$k$3$H$r<($7$^$9!#(B + $B$?$@!"(B$B>e=q$-(B $B$N@_Dj$K$h$C$F$O!"=hM}$5$l$J$$$+$b$7$l$^$;$s!#(B +

    +

    +
    +
    +

    + $B%G%#%l%/%F%#%V$O;X<($5$l$?%3%s%F%-%9%H$G(B$B$N$_(B$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 + $B$9$J$o$A(B$B!"%5!<%P$,5/F0$7$J$/$J$k$H$$$&$3$H$K$J$j$^$9!#(B +

    +

    + $B%G%#%l%/%F%#%V$NM-8z$J0LCV$O!"$B%5!<%P@_Dj%U%!%$%k!"(B.htaccess" $B$GM-8z$@$H(B + $B5-$5$l$F$$$k%G%#%l%/%F%#%V$O(B httpd.conf $B%U%!%$%k$H(B + .htaccess $B%U%!%$%k$H$GM-8z$G$9$,!"(B + <Directory> $B$d(B <VirtualHost> + $B$NCf$G$O;HMQ$G$-$^$;$s!#(B +

    + +
    +

    $B>e=q$-(B

    +

    + $B$3$N%G%#%l%/%F%#%V$NB0@-$O!"(B.htaccess $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 $B%3%s%F%-%9%H(B + $B$,!"(B.htaccess $B%U%!%$%kCf$G$O5v2D$7$F$$$J$$>l9g$O!"(B + $B$3$NB0@-$O(B "$BE,MQIT2D(B" $B$H=q$+$l$^$9!#(B +

    +

    + $B>e=q$-$O!"(BAllowOverride + $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 AllowOverride $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$Oe=q$-$NL>A0$b5s$2$^$9!#(B +

    + +
    +

    $B%9%F!<%?%9(B

    +

    + $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@-$, +

    +
    Core +
    +
    "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 +

    +

    +
    +
    Base +
    +
    "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 +

    +

    +
    +
    Extension +
    +
    "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 +

    +

    +
    +
    Experimental +
    +
    "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 +

    +

    +
    +
    + +
    +

    $B%b%8%e!<%k(B

    +

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

    + +
    +

    $B8_49@-(B

    +

    + $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"$B8_49@-$NLdBjL5$7(B" $B$H=q$+$l$F$$$^$9!#(B +

    + + + 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 @@ + + + +Apache module mod_negotiation + + + + + +

    Module mod_negotiation

    + +

    This module provides for content negotiation.

    + +

    Status: Base +
    +Source File: mod_negotiation.c +
    +Module Identifier: negotiation_module +

    + +

    Summary

    +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. +
      +
    • A type map (a file with the handler type-map) +which explicitly lists the files containing the variants. +
    • A MultiViews search (enabled by the MultiViews +Option, where the server does an implicit +filename pattern match, and choose from amongst the results. +
    + +

    Directives

    + + +See also: +DefaultLanguage, +AddEncoding, +AddLanguage, +AddType, and +Options. + +

    Type maps

    +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: + +
    +
    Content-Encoding: +
    The encoding of the file. Apache only recognizes encodings that are +defined by an AddEncoding directive. +This normally includes the encodings x-compress for compress'd +files, and x-gzip for gzip'd files. The x- prefix +is ignored for encoding comparisons. +
    Content-Language: +
    The language of the variant, as an Internet standard language tag +(RFC 1766). An example is en, meaning English. +
    Content-Length: +
    The length of the file, in bytes. If this header is not present, then +the actual length of the file is used. +
    Content-Type: +
    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 name=value. Common parameters +include: +
    +
    level +
    an integer specifying the version of the media type. +For text/html this defaults to 2, otherwise 0. +
    qs +
    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. +
    +Example: +
    Content-Type: image/jpeg; qs=0.8
    +
    URI: +
    The path to the file containing this variant, relative to the map file. +
    + +

    MultiViews

    +A MultiViews search is enabled by the MultiViews +Option. +If the server receives a request for /some/dir/foo and +/some/dir/foo does not exist, then the server reads the +directory looking for all files named foo.*, 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.

    + + + +


    + + +

    CacheNegotiatedDocs directive

    +Syntax: CacheNegotiatedDocs
    +Context: server config
    +Status: Base
    +Module: mod_negotiation
    +Compatibility: CacheNegotiatedDocs is only available +in Apache 1.1 and later.

    + +

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

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


    + +

    LanguagePriority directive

    + +Syntax: LanguagePriority MIME-lang + [MIME-lang] ...
    +Context: server config, virtual host, directory, .htaccess
    +Override: FileInfo
    +Status: Base
    +Module: mod_negotiation

    + +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 MIME-lang are in order of decreasing +preference. Example: + +

    LanguagePriority en fr de
    + +For a request for foo.html, where foo.html.fr +and foo.html.de both existed, but the browser did not express +a language preference, then foo.html.fr would be returned.

    + +

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

    + +See also: +DefaultLanguage and +AddLanguage + + + + + + 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 @@ + + + +Apache module mod_negotiation + + + + + +

    Module mod_negotiation

    + +

    This module provides for content negotiation.

    + +

    Status: Base +
    +Source File: mod_negotiation.c +
    +Module Identifier: negotiation_module +

    + +

    Summary

    +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. +
      +
    • A type map (a file with the handler type-map) +which explicitly lists the files containing the variants. +
    • A MultiViews search (enabled by the MultiViews +Option, where the server does an implicit +filename pattern match, and choose from amongst the results. +
    + +

    Directives

    + + +See also: +DefaultLanguage, +AddEncoding, +AddLanguage, +AddType, and +Options. + +

    Type maps

    +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: + +
    +
    Content-Encoding: +
    The encoding of the file. Apache only recognizes encodings that are +defined by an AddEncoding directive. +This normally includes the encodings x-compress for compress'd +files, and x-gzip for gzip'd files. The x- prefix +is ignored for encoding comparisons. +
    Content-Language: +
    The language of the variant, as an Internet standard language tag +(RFC 1766). An example is en, meaning English. +
    Content-Length: +
    The length of the file, in bytes. If this header is not present, then +the actual length of the file is used. +
    Content-Type: +
    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 name=value. Common parameters +include: +
    +
    level +
    an integer specifying the version of the media type. +For text/html this defaults to 2, otherwise 0. +
    qs +
    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. +
    +Example: +
    Content-Type: image/jpeg; qs=0.8
    +
    URI: +
    The path to the file containing this variant, relative to the map file. +
    + +

    MultiViews

    +A MultiViews search is enabled by the MultiViews +Option. +If the server receives a request for /some/dir/foo and +/some/dir/foo does not exist, then the server reads the +directory looking for all files named foo.*, 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.

    + + + +


    + + +

    CacheNegotiatedDocs directive

    +Syntax: CacheNegotiatedDocs
    +Context: server config
    +Status: Base
    +Module: mod_negotiation
    +Compatibility: CacheNegotiatedDocs is only available +in Apache 1.1 and later.

    + +

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

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


    + +

    LanguagePriority directive

    + +Syntax: LanguagePriority MIME-lang + [MIME-lang] ...
    +Context: server config, virtual host, directory, .htaccess
    +Override: FileInfo
    +Status: Base
    +Module: mod_negotiation

    + +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 MIME-lang are in order of decreasing +preference. Example: + +

    LanguagePriority en fr de
    + +For a request for foo.html, where foo.html.fr +and foo.html.de both existed, but the browser did not express +a language preference, then foo.html.fr would be returned.

    + +

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

    + +See also: +DefaultLanguage and +AddLanguage + + + + + + + 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 @@ + + + +Apache module mod_negotiation + + + + + + +

    mod_negotiation $B%b%8%e!<%k(B

    + +

    $B$3$N%b%8%e!<%k$O(B $B%3%s%F%s%H%M%4%7%(!<%7%g%s(B$B$r(B +$BDs6!$7$^$9!#(B

    + +

    $B%9%F!<%?%9(B: Base +
    +$B%=!<%9%U%!%$%k(B: mod_negotiation.c +
    +$B%b%8%e!<%k<1JL;R(B: negotiation_module +

    + +

    $B35MW(B

    +$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 +
  4. $B%?%$%W%^%C%W(B (type-map $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 +
  5. MultiViews $B$NC5:w(B (MultiViews +$B%*%W%7%g%s(B $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 + + +

    $B%G%#%l%/%F%#%V(B

    + + +DefaultLanguage, +AddEncoding, +AddLanguage, +AddType, +Options +$B$b;2>H$7$F$/$@$5$$(B$B!#(B + + +

    $B%?%$%W%^%C%W(B

    + +

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

    + +

    +$B;HMQ2DG=$J%X%C%@$O0J2<$N$H$*$j$G$9(B: +

    + +
    +
    Content-Encoding: +
    $B%U%!%$%k$N%(%s%3!<%G%#%s%0!#(BApache $B$O(B AddEncoding $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 x-compress +$B$H(B gzip $B$5$l$?%U%!%$%k$N$?$a$N(B x-gzip $B$r4^$_$^$9!#(B +$B%(%s%3!<%G%#%s%0$NHf3S$r$9$k$H$-$O!"@\F,<-(B x- $B$OL5;k$5$l$^$9!#(B +
    Content-Language: +
    $B%$%s%?!<%M%C%HI8=`$N8@8l%?%0(B (RFC 1766) $B$GDj5A$5$l$F$$$k8@8l$Nen $B$O1Q8l$rI=$7$^$9!#(B +
    Content-Length: +
    $B%U%!%$%k$ND9$5(B ($B%P%$%H?t(B)$B!#$3$N%X%C%@$,$J$$>l9g!"%U%!%$%k$NContent-Type: +
    $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 name=value $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: +
    +
    level +
    $B%a%G%#%"%?%$%W$N%P!<%8%g%s$r<($9@0?t!#(B +text/html $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 +
    qs +
    $B%/%i%$%"%s%H$NG=NO$K4X78$J$/!"(Bvariant $B$rB>$HHf3S$7$?$H$-$NAjBPE*$J!VIJ.?t!#Nc$($P!" +$BNc(B: +
    Content-Type: image/jpeg; qs=0.8
    +
    URI: +
    $B%^%C%W%U%!%$%k$+$iAjBP%Q%9$GI=$o$7$?!"(Bvariant $B$N$"$k%U%!%$%k$X$N%Q%9(B +
    + +

    MultiViews

    + +

    +MultiViews $BC5:w$O!"(BMultiviews $B%*%W%7%g%s(B$B$K$h$j(B +$BM-8z$K$J$j$^$9!#%5!<%P$,(B /some/dir/foo $B$X$N%j%/%(%9%H$r/some/dir/foo $B$,B8:_(B$B$7$J$$(B$B>l9g!"%5!<%P$O%G%#%l%/%H%j$r(B +$BFI$s$G!"(Bfoo.* $B$K$"$F$O$^$kA4$F$N%U%!%$%k$rC5$7!"(B +$B;ve$=$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

    + +
    + +

    CacheNegotiatedDocs $B%G%#%l%/%F%#%V(B

    +$B9=J8(B: CacheNegotiatedDocs
    +$B%3%s%F%-%9%H(B: $B%5!<%P@_Dj%U%!%$%k(B
    +$B%9%F!<%?%9(B: Base
    +$B%b%8%e!<%k(B: mod_negotiation
    +$B8_49@-(B: CacheNegotiatedDocs $B$O(B Apache 1.1 $B0J9_$G$N$_(B +$B;HMQ2DG=!#(B
    + +

    $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

    + +

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

    + +
    + +

    LanguagePriority $B%G%#%l%/%F%#%V(B

    + +$B9=J8(B: LanguagePriority MIME-lang + [MIME-lang] ...
    +$B%3%s%F%-%9%H(B: $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess
    +$B>e=q$-(B: FileInfo
    +$B%9%F!<%?%9(B: Base
    +$B%b%8%e!<%k(B: mod_negotiation

    + +

    +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 +MIME-lang $B$N%j%9%H$,M%@hEY$N9_=g$KJB$S$^$9!#Nc(B: +

    + +
    LanguagePriority en fr de
    + +

    +foo.html $B$,%j%/%(%9%H$5$l!"(B +foo.html.fr $B$H(B foo.html.de $B$,N>J}B8:_$7!"(B +$B%V%i%&%6$,8@8l$NM%@h=g0L$rDs6!$7$F$J$$>l9g$O(B foo.html.fr $B$,(B +$BJV$5$l$^$9!#(B +

    + +

    +$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$/l9g$K$O!"$3$N%G%#%l%/%F%#%V$OL58z$K$J$j$^$9!#(B +

    + +

    +DefaultLanguage, +AddLanguage +$B$b;2>H$7$F$/$@$5$$(B$B!#(B +

    + + + + + 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 @@ + + + + Definitions of terms used to describe Apache modules + + + + + +

    Terms Used to Describe Apache Modules

    + +

    + Each Apache module is described using a common format that looks + like this: +

    +
    +
    Status: status +
    + Source File: source-file +
    + Module Identifier: module-identifier +
    + Compatibility: compatibility notes +
    +
    +

    + Each of the attributes, complete with values where possible, are + described in this document. +

    + +

    Module Terms

    + + +
    +

    Status

    +

    + 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: +

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

    +

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

    +

    +
    +
    Experimental +
    +
    "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. +

    +

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

    +

    +
    +
    + +
    +

    Source File

    +

    + 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 <IfModule> + directive. +

    + +
    +

    Module Identifier

    +

    + This is a string which identifies the module for use in the LoadModule directive when + dynamically loading modules. In particular, it is the name + of the external variable of type module in the source file. +

    + +
    +

    Compatibility

    +

    + If the module was not part of the original Apache version 1 + distribution, the version in which it was introduced should be listed + here. +

    + + + 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 @@ + + + + Definitions of terms used to describe Apache modules + + + + + +

    Terms Used to Describe Apache Modules

    + +

    + Each Apache module is described using a common format that looks + like this: +

    +
    +
    Status: status +
    + Source File: source-file +
    + Module Identifier: module-identifier +
    + Compatibility: compatibility notes +
    +
    +

    + Each of the attributes, complete with values where possible, are + described in this document. +

    + +

    Module Terms

    + + +
    +

    Status

    +

    + 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: +

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

    +

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

    +

    +
    +
    Experimental +
    +
    "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. +

    +

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

    +

    +
    +
    + +
    +

    Source File

    +

    + 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 <IfModule> + directive. +

    + +
    +

    Module Identifier

    +

    + This is a string which identifies the module for use in the LoadModule directive when + dynamically loading modules. In particular, it is the name + of the external variable of type module in the source file. +

    + +
    +

    Compatibility

    +

    + If the module was not part of the original Apache version 1 + distribution, the version in which it was introduced should be listed + here. +

    + + + + 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 @@ + + + + Apache $B%b%8%e!<%k$N2r@b$G;HMQ$9$kMQ8l(B + + + + + + + +

    Apache $B%b%8%e!<%k$N2r@b$G;HMQ$9$kMQ8l(B

    + +

    + 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: +

    +
    +
    $B%9%F!<%?%9(B: status +
    + $B%=!<%9%U%!%$%k(B: source-file +
    + $B%b%8%e!<%k<1JL;R(B: module-identifier +
    + $B8_49@-(B: compatibility notes +
    +
    +

    + $B$3$N%I%-%e%a%s%H$G$O$=$l$>$l$NB0@-$r@bL@$7$F$$$^$9!#(B + $B + +

    $B%b%8%e!<%k$NMQ8l(B

    + + +
    +

    $B%9%F!<%?%9(B

    +

    + $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@-$, +

    +
    Base +
    +
    $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 +

    +

    +
    +
    Extension +
    +
    $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 +

    +

    +
    +
    Experimental +
    +
    $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 +

    +

    +
    +
    External +
    +
    $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 +

    +

    +
    +
    + +
    +

    $B%=!<%9%U%!%$%k(B

    +

    + $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<IfModule> $B%G%#%l%/%F%#%V(B + $B$G;HMQ$5$l$kL>A0$G$b$"$j$^$9!#(B +

    + +
    +

    $B%b%8%e!<%k<1JL;R(B

    +

    + $B$3$NJ8;zNs$O!"%b%8%e!<%k$NF0E*FI$_9~$_$r9T$J$&$H$-$K;HMQ$9$k(B LoadModule $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 +

    + +
    +

    $B8_49@-(B

    +

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

    + + + 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 @@ + + +New features with Apache 1.3 + + + + + +

    Overview of New Features in Apache 1.3

    + +

    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 +compatibility notes if you have any +problems.

    + +

    If you're upgrading from Apache 1.2, you may wish to read +the upgrade notes. + +

    Enhancements: Core | +Performance | +Configuration | +Modules | +API | +Misc + +


    + +

    Core Enhancements:

    + +
    +
    Dynamic Shared Object (DSO) support +
    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. + +
    Support for Windows NT/95 +
    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. + +
    Support for NetWare 5.x +
    Apache now experimentally supports the NetWare 5.x operating systems. + +
    Re-organized + Sources +
    The source files for Apache have been re-organized. The main + difference for Apache users is that the "Module" lines in + Configuration 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. + +
    Reliable Piped Logs +
    On almost all Unix architectures Apache now implements "reliable" + piped logs in mod_log_config. 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. +
    + +


    + +

    Performance Improvements

    + +
      +
    • IP-based virtual hosts are looked up via hash table. +
    • <Directory> parsing speedups. +
    • 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). +
    • + ProxyReceiveBufferSize directive gives + mod_proxy's outgoing connections larger network + buffers, for increased throughput. +
    • The low level I/O routines use writev (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. +
    • Static requests are served using mmap, 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.) +
    • When presented with a load spike, the server quickly adapts by + spawning children at faster rates. +
    • 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.) +
    • 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. +
    • New serialization choices improve performance on Linux, and + IRIX. +
    • mod_log_config can + be compile-time configured to buffer writes. +
    • Replaced strncpy() with + ap_cpystrn(), a routine which doesn't have to + zero-fill the entire result. This has dramatic effects on + mod_include speed. +
    • 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. +
    + +

    See the new performance +documentation for more information. + +


    + +

    Configuration Enhancements

    + +
    +
    Unified Server Configuration Files
    +
    (Apache 1.3.4) The contents of the three + server configuration files (httpd.conf, + srm.conf, and access.conf) have + been merged into a single httpd.conf file. + The srm.conf and access.conf files + are now empty except for comments directing the Webmaster + to look in httpd.conf. In addition, the + merged httpd.conf file has been restructured + to allow directives to appear in a hopefully more + intuitive and meaningful order. +
    +
    Continuation Lines in config files
    +
    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. +
    +
    Apache Autoconf-style Interface (APACI) +
    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 + configure script and a corresponding top-level + Makefile.tmpl file. The goal is to provide a GNU + Autoconf-style frontend which is capable to both drive the old + src/Configure 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.
    + Note: The default installation layout has changed + for Apache 1.3.4. See the files README.configure and + INSTALL for more information. + +
    APache eXtenSion (APXS) support tool +
    Now that Apache provides full support for loading modules under + runtime from dynamic shared object (DSO) files, a new support tool + apxs 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 apxs tool. + +
    Default Apache directory + path changed to /usr/local/apache/
    +
    The default directory for the Apache ServerRoot changed from the + NCSA-compatible /usr/local/etc/httpd/ to + /usr/local/apache/. This change covers only the + default setting (and the documentation); it is of course possible + to override it using the -d + ServerRoot and -f httpd.conf switches when + starting apache. + +
    Improved HTTP/1.1-style Virtual Hosts +
    The new NameVirtualHost + directive is used to list IP address:port pairs on which + HTTP/1.1-style virtual hosting occurs. This is vhosting based on + the Host: 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 Apache Virtual Host documentation for + further details on configuration. + +
    Include directive +
    The Include + directive includes other config files immediately at that point in + parsing. + +
    -S command line option for debugging vhost setup +
    If Apache is invoked with the -S command line option + it will dump out information regarding how it parsed the + VirtualHost sections. This is useful for folks + trying to debug their virtual host configuration. + +
    Control of HTTP methods +
    <LimitExcept> and + </LimitExcept> 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. +
    + +


    + +

    Module Enhancements

    + +
    +
    Improved mod_negotiation +
    +
    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. + +
    NEW - Spelling correction + module
    +
    This optional module corrects frequently occurring spelling and + capitalization errors in document names requested from the server. + +
    NEW - Conditional setting of + environment variables
    +
    The addition of + + SetEnvIf and + + SetEnvIfNoCase. These allow you to set + environment variables for server and CGI use based upon attributes + of the request. + +
    NEW - "Magic" +MIME-typing +
    The optional mod_mime_magic 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. + +
    NEW - Unique Request + Identifiers +
    mod_unique_id 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 + UNIQUE_ID. + +
    mod_proxy enhancements: +
    +
      +
    • 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. +
    • The new AllowCONNECT 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. +
    • The proxy now supports the HTTP/1.1 "Via:" header as specified in + RFC2068. The new + ProxyVia + directive allows switching "Via:" support off or on, or + suppressing outgoing "Via:" header lines altogether for privacy + reasons. +
    • 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). +
    • NoProxy and ProxyDomain + directives added to proxy, useful for intranets. +
    • New + ProxyPassReverse directive. It lets Apache adjust the + URL in the Location header on HTTP redirect + responses. +
    • Easier navigation in ftp server directory trees. +
    + +
    Enhanced + mod_include string comparisons
    +
    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. + +
    ServerRoot relative auth filenames +
    Auth filenames for the various authentication modules are now + treated as relative to the ServerRoot if they are not full paths. + +
    Enhancements to directory + indexing: + +
      +
    • Code split:The mod_dir module has + been split in two, with mod_dir handling directory index + files, and mod_autoindex + creating directory listings. Thus allowing folks to remove the + indexing function from critical servers. + +
    • Sortable: 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 SuppressColumnSorting IndexOptions + keyword. + +
    • + SuppressHTMLPreamble can be used if + your README.html file includes its own HTML header. + +
    • The + IndexOptions directive now allows + the use of incremental prefixes (+/- to add/remove the respective + keyword feature, as was already possible for the + Options directive) to its + keyword arguments. Multiple IndexOptions directives applying + to the same directory will now be merged. + +
    • IconHeight and + IconWidth + let you set height and width attributes to the + <IMG> tag in directory listings. + +
    • The new NameWidth keyword to the + IndexOptions + directive lets you set the number of columns for + "fancy" + directory listings. If set to an '*' asterisk, the name width + will be adjusted automatically. + +
    • The FancyIndexing directive now correctly has + the same impact as + IndexOptions FancyIndexing + without replacing the effect of any existing IndexOptions + directive. + +
    • Starting with 1.3.15, the server will satisfy directory requests + with the cache controls ETag and LastModified, if IndexOptions + includes the TrackModified 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. + +
    + +
    Less Buffering of CGI Script Output +
    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. + + +
    Regular Expression support for + Alias and Redirect +
    New AliasMatch, + ScriptAliasMatch, and + RedirectMatch + directives allow for the use of regular expression matching. + Additionally, new + <DirectoryMatch>, + <LocationMatch>, + and + <FilesMatch> + sections provide a new syntax for regular expression sectioning. + +
    AddModuleInfo + directive added to mod_info +
    Allows additional information to be listed along with a specified + module. + +
    Absence of any TransferLog disables + logging +
    If no TransferLog directive is given then no log is + written. This supports co-existence with other logging modules. + +
    Ability to name logging formats +
    The LogFormat + directive has been enhanced to allow you to give nicknames to + specific logging formats. You can then use these nicknames in + other LogFormat and CustomLog directives, rather than having to + spell out the complete log format string each time. + +
    Conditional logging +
    mod_log_config + now supports logging based upon environment variables. + mod_log_referer and mod_log_agent are now deprecated. + +
    mod_cern_meta configurable per-directory +
    mod_cern_meta is now + configurable on a per-directory basis. + +
    New map types for + RewriteMap + directive +
    The new map types `Randomized Plain Text' and `Internal Function' + were added to the RewriteMap 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). + +
    CIDR and Netmask access control +
    mod_access directives now + support CIDR (Classless Inter-Domain Routing) style prefixes, and + netmasks for greater control over IP access lists. + +
    +


    + +

    API Additions and Changes

    + +

    For all those module writers and code hackers: + +

    +
    child_init +
    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. + +
    child_exit +
    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 child_init and + child_exit 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 init function is passed a pool whose lifetime + ends when the parent exits or restarts. + +
    child_terminate +
    Used in the child to indicate the child should exit after finishing + the current request. + +
    register_other_child +
    See http_main.h. 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. + +
    piped_log +
    See http_log.h. This API provides the common code for + implementing piped logs. In particular it implements a reliable piped + log on architectures supporting it (i.e., Unix at the moment). + +
    scoreboard format changed +
    The scoreboard format is quite different. It is considered a + "private" interface in general, so it's only mentioned here as an FYI. + +
    set_last_modified split into three +
    The old function set_last_modified performed multiple + jobs including the setting of the Last-Modified header, the + ETag header, and processing conditional requests (such as + IMS). These functions have been split into three functions: + set_last_modified, set_etag, and + meets_conditions. The field mtime has been + added to request_rec to facilitate + meets_conditions. + +
    New error logging function: ap_log_error +
    All old logging functions are deprecated, we are in the process of + replacing them with a single function called ap_log_error. + This is still a work in progress. + +
    set_file_slot for config parsing +
    The set_file_slot routine provides a standard routine that + prepends ServerRoot to non-absolute paths. + +
    post_read_request module API +
    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. + +
    psocket, and popendir +
    The psocket and pclosesocket functions allow + for race-condition free socket creation with resource tracking. + Similarly popendir and pclosedir protect + directory reading. + +
    is_initial_req +
    Test if the request is the initial request (i.e., the one + coming from the client). + +
    kill_only_once +
    An option to ap_spawn_child functions which prevents Apache + from aggressively trying to kill off the child. + +
    alloc debugging code +
    Defining ALLOC_DEBUG 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 + ALLOC_USE_MALLOC will cause the alloc code to use + malloc() and free() for each object. This + is far more expensive and should only be used for testing with tools + such as Electric Fence and Purify. See main/alloc.c + for more details. + +
    ap_cpystrn +
    The new strncpy "lookalike", with slightly different + semantics is much faster than strncpy because it + doesn't have to zero-fill the entire buffer. + +
    table_addn, table_setn, + table_mergen +
    These new functions do not call pstrdup + on their arguments. This provides for big speedups. There is + also some debugging support to ensure code uses them properly. + See src/CHANGES for more information. + +
    construct_url +
    The function prototype for this changed from taking a + server_rec * to taking a request_rec *. + +
    get_server_name, get_server_port +
    These are wrappers which deal with the + UseCanonicalName directive + when retrieving the server name and port for a request. + +
    Change to prototype for ap_bspawn_child and + ap_call_exec +
    Added a child_info * to spawn function + (as passed to ap_bspawn_child) and to + ap_call_exec to allow children to work correctly on Win32. + We also cleaned up the nomenclature a bit, replacing + spawn_child_err with simply + ap_spawn_child and spawn_child_err_buff + with simply ap_bspawn_child. + +
    ap_add_version_component() +
    This API function allows for modules to add their own additional + server tokens which are printed on the on the Server: + header line. Previous 1.3beta versions had used a + SERVER_SUBVERSION compile-time #define + to perform this function. Whether the tokens are actually displayed + is controlled by the new ServerTokens directive. + +
    + +


    + +

    Miscellaneous Enhancements

    + +
    +
    Port to EBCDIC mainframe machine + running BS2000/OSD +
    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). + +
    AccessFileName + Enhancement +
    The AccessFileName 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. + +
    HostNameLookups now defaults to "Off" +
    The HostNameLookups + 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. + +
    Double-Reverse DNS enforced +
    The HostnameLookups + directive now supports double-reverse DNS. (Known as + PARANOID 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, mod_access access lists using DNS + names require all names to pass a double-reverse + DNS test. (Prior versions of Apache required a compile-time + switch to enable double-reverse DNS.) + +
    LogLevel and syslog support +
    Apache now has configurable error + logging levels and supports error logging via syslogd(8). + +
    Detaching from stdin/out/err +
    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. + +
    Year-2000 Improvements +
    The default timefmt string used by mod_include has been + modified to display the year using four digits rather than the + two-digit format used previously. The mod_autoindex + module has also been modified to display years using four digits + in FancyIndexed directory listings. + +
    Common routines Moving to a Separate Library +
    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 + htdigest), 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 src/ap/ subdirectory. + +
    New + ServerSignature directive +
    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 etc.). This + makes it easier for users to tell which server produced the error + message, especially in a proxy chain (often found in intranet + environments). + +
    New + UseCanonicalName directive +
    This directive gives control over how Apache creates + self-referential URLs. Previously Apache would always use the ServerName and Port directives to construct a + "canonical" name for the server. With UseCanonicalName + off Apache will use the hostname and port supplied by the + client, if available. + +
    SERVER_VERSION definition abstracted, and server + build date added +
    In earlier versions, the Apache server version was available to + modules through the #defined value for + SERVER_VERSION. 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 ap_get_server_version(). The use of + the SERVER_VERSION symbol is deprecated. Also, + ap_get_server_built() returns a string representing + the time the core server was linked. + +
    Including the operating + system in the server identity
    +
    A new directive, ServerTokens, allows the Webmaster + to change the value of the Server response header + field which is sent back to clients. The ServerTokens + 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. + +

    + +
    Support for Netscape style SHA1 encrypted passwords
    +
    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 {SHA1} are taken + as Base64 encoded SHA1 passwords. More information and + some utilities to convert Netscape ldap/ldif entries can be + found in support/SHA1. +
    + + + + + + 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 @@ + + +New features with Apache 1.3 + + + + + +

    Overview of New Features in Apache 1.3

    + +

    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 +compatibility notes if you have any +problems.

    + +

    If you're upgrading from Apache 1.2, you may wish to read +the upgrade notes. + +

    Enhancements: Core | +Performance | +Configuration | +Modules | +API | +Misc + +


    + +

    Core Enhancements:

    + +
    +
    Dynamic Shared Object (DSO) support +
    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. + +
    Support for Windows NT/95 +
    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. + +
    Support for NetWare 5.x +
    Apache now experimentally supports the NetWare 5.x operating systems. + +
    Re-organized + Sources +
    The source files for Apache have been re-organized. The main + difference for Apache users is that the "Module" lines in + Configuration 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. + +
    Reliable Piped Logs +
    On almost all Unix architectures Apache now implements "reliable" + piped logs in mod_log_config. 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. +
    + +


    + +

    Performance Improvements

    + +
      +
    • IP-based virtual hosts are looked up via hash table. +
    • <Directory> parsing speedups. +
    • 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). +
    • + ProxyReceiveBufferSize directive gives + mod_proxy's outgoing connections larger network + buffers, for increased throughput. +
    • The low level I/O routines use writev (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. +
    • Static requests are served using mmap, 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.) +
    • When presented with a load spike, the server quickly adapts by + spawning children at faster rates. +
    • 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.) +
    • 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. +
    • New serialization choices improve performance on Linux, and + IRIX. +
    • mod_log_config can + be compile-time configured to buffer writes. +
    • Replaced strncpy() with + ap_cpystrn(), a routine which doesn't have to + zero-fill the entire result. This has dramatic effects on + mod_include speed. +
    • 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. +
    + +

    See the new performance +documentation for more information. + +


    + +

    Configuration Enhancements

    + +
    +
    Unified Server Configuration Files
    +
    (Apache 1.3.4) The contents of the three + server configuration files (httpd.conf, + srm.conf, and access.conf) have + been merged into a single httpd.conf file. + The srm.conf and access.conf files + are now empty except for comments directing the Webmaster + to look in httpd.conf. In addition, the + merged httpd.conf file has been restructured + to allow directives to appear in a hopefully more + intuitive and meaningful order. +
    +
    Continuation Lines in config files
    +
    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. +
    +
    Apache Autoconf-style Interface (APACI) +
    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 + configure script and a corresponding top-level + Makefile.tmpl file. The goal is to provide a GNU + Autoconf-style frontend which is capable to both drive the old + src/Configure 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.
    + Note: The default installation layout has changed + for Apache 1.3.4. See the files README.configure and + INSTALL for more information. + +
    APache eXtenSion (APXS) support tool +
    Now that Apache provides full support for loading modules under + runtime from dynamic shared object (DSO) files, a new support tool + apxs 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 apxs tool. + +
    Default Apache directory + path changed to /usr/local/apache/
    +
    The default directory for the Apache ServerRoot changed from the + NCSA-compatible /usr/local/etc/httpd/ to + /usr/local/apache/. This change covers only the + default setting (and the documentation); it is of course possible + to override it using the -d + ServerRoot and -f httpd.conf switches when + starting apache. + +
    Improved HTTP/1.1-style Virtual Hosts +
    The new NameVirtualHost + directive is used to list IP address:port pairs on which + HTTP/1.1-style virtual hosting occurs. This is vhosting based on + the Host: 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 Apache Virtual Host documentation for + further details on configuration. + +
    Include directive +
    The Include + directive includes other config files immediately at that point in + parsing. + +
    -S command line option for debugging vhost setup +
    If Apache is invoked with the -S command line option + it will dump out information regarding how it parsed the + VirtualHost sections. This is useful for folks + trying to debug their virtual host configuration. + +
    Control of HTTP methods +
    <LimitExcept> and + </LimitExcept> 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. +
    + +


    + +

    Module Enhancements

    + +
    +
    Improved mod_negotiation +
    +
    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. + +
    NEW - Spelling correction + module
    +
    This optional module corrects frequently occurring spelling and + capitalization errors in document names requested from the server. + +
    NEW - Conditional setting of + environment variables
    +
    The addition of + + SetEnvIf and + + SetEnvIfNoCase. These allow you to set + environment variables for server and CGI use based upon attributes + of the request. + +
    NEW - "Magic" +MIME-typing +
    The optional mod_mime_magic 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. + +
    NEW - Unique Request + Identifiers +
    mod_unique_id 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 + UNIQUE_ID. + +
    mod_proxy enhancements: +
    +
      +
    • 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. +
    • The new AllowCONNECT 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. +
    • The proxy now supports the HTTP/1.1 "Via:" header as specified in + RFC2068. The new + ProxyVia + directive allows switching "Via:" support off or on, or + suppressing outgoing "Via:" header lines altogether for privacy + reasons. +
    • 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). +
    • NoProxy and ProxyDomain + directives added to proxy, useful for intranets. +
    • New + ProxyPassReverse directive. It lets Apache adjust the + URL in the Location header on HTTP redirect + responses. +
    • Easier navigation in ftp server directory trees. +
    + +
    Enhanced + mod_include string comparisons
    +
    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. + +
    ServerRoot relative auth filenames +
    Auth filenames for the various authentication modules are now + treated as relative to the ServerRoot if they are not full paths. + +
    Enhancements to directory + indexing: + +
      +
    • Code split:The mod_dir module has + been split in two, with mod_dir handling directory index + files, and mod_autoindex + creating directory listings. Thus allowing folks to remove the + indexing function from critical servers. + +
    • Sortable: 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 SuppressColumnSorting IndexOptions + keyword. + +
    • + SuppressHTMLPreamble can be used if + your README.html file includes its own HTML header. + +
    • The + IndexOptions directive now allows + the use of incremental prefixes (+/- to add/remove the respective + keyword feature, as was already possible for the + Options directive) to its + keyword arguments. Multiple IndexOptions directives applying + to the same directory will now be merged. + +
    • IconHeight and + IconWidth + let you set height and width attributes to the + <IMG> tag in directory listings. + +
    • The new NameWidth keyword to the + IndexOptions + directive lets you set the number of columns for + "fancy" + directory listings. If set to an '*' asterisk, the name width + will be adjusted automatically. + +
    • The FancyIndexing directive now correctly has + the same impact as + IndexOptions FancyIndexing + without replacing the effect of any existing IndexOptions + directive. + +
    • Starting with 1.3.15, the server will satisfy directory requests + with the cache controls ETag and LastModified, if IndexOptions + includes the TrackModified 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. + +
    + +
    Less Buffering of CGI Script Output +
    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. + + +
    Regular Expression support for + Alias and Redirect +
    New AliasMatch, + ScriptAliasMatch, and + RedirectMatch + directives allow for the use of regular expression matching. + Additionally, new + <DirectoryMatch>, + <LocationMatch>, + and + <FilesMatch> + sections provide a new syntax for regular expression sectioning. + +
    AddModuleInfo + directive added to mod_info +
    Allows additional information to be listed along with a specified + module. + +
    Absence of any TransferLog disables + logging +
    If no TransferLog directive is given then no log is + written. This supports co-existence with other logging modules. + +
    Ability to name logging formats +
    The LogFormat + directive has been enhanced to allow you to give nicknames to + specific logging formats. You can then use these nicknames in + other LogFormat and CustomLog directives, rather than having to + spell out the complete log format string each time. + +
    Conditional logging +
    mod_log_config + now supports logging based upon environment variables. + mod_log_referer and mod_log_agent are now deprecated. + +
    mod_cern_meta configurable per-directory +
    mod_cern_meta is now + configurable on a per-directory basis. + +
    New map types for + RewriteMap + directive +
    The new map types `Randomized Plain Text' and `Internal Function' + were added to the RewriteMap 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). + +
    CIDR and Netmask access control +
    mod_access directives now + support CIDR (Classless Inter-Domain Routing) style prefixes, and + netmasks for greater control over IP access lists. + +
    +


    + +

    API Additions and Changes

    + +

    For all those module writers and code hackers: + +

    +
    child_init +
    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. + +
    child_exit +
    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 child_init and + child_exit 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 init function is passed a pool whose lifetime + ends when the parent exits or restarts. + +
    child_terminate +
    Used in the child to indicate the child should exit after finishing + the current request. + +
    register_other_child +
    See http_main.h. 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. + +
    piped_log +
    See http_log.h. This API provides the common code for + implementing piped logs. In particular it implements a reliable piped + log on architectures supporting it (i.e., Unix at the moment). + +
    scoreboard format changed +
    The scoreboard format is quite different. It is considered a + "private" interface in general, so it's only mentioned here as an FYI. + +
    set_last_modified split into three +
    The old function set_last_modified performed multiple + jobs including the setting of the Last-Modified header, the + ETag header, and processing conditional requests (such as + IMS). These functions have been split into three functions: + set_last_modified, set_etag, and + meets_conditions. The field mtime has been + added to request_rec to facilitate + meets_conditions. + +
    New error logging function: ap_log_error +
    All old logging functions are deprecated, we are in the process of + replacing them with a single function called ap_log_error. + This is still a work in progress. + +
    set_file_slot for config parsing +
    The set_file_slot routine provides a standard routine that + prepends ServerRoot to non-absolute paths. + +
    post_read_request module API +
    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. + +
    psocket, and popendir +
    The psocket and pclosesocket functions allow + for race-condition free socket creation with resource tracking. + Similarly popendir and pclosedir protect + directory reading. + +
    is_initial_req +
    Test if the request is the initial request (i.e., the one + coming from the client). + +
    kill_only_once +
    An option to ap_spawn_child functions which prevents Apache + from aggressively trying to kill off the child. + +
    alloc debugging code +
    Defining ALLOC_DEBUG 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 + ALLOC_USE_MALLOC will cause the alloc code to use + malloc() and free() for each object. This + is far more expensive and should only be used for testing with tools + such as Electric Fence and Purify. See main/alloc.c + for more details. + +
    ap_cpystrn +
    The new strncpy "lookalike", with slightly different + semantics is much faster than strncpy because it + doesn't have to zero-fill the entire buffer. + +
    table_addn, table_setn, + table_mergen +
    These new functions do not call pstrdup + on their arguments. This provides for big speedups. There is + also some debugging support to ensure code uses them properly. + See src/CHANGES for more information. + +
    construct_url +
    The function prototype for this changed from taking a + server_rec * to taking a request_rec *. + +
    get_server_name, get_server_port +
    These are wrappers which deal with the + UseCanonicalName directive + when retrieving the server name and port for a request. + +
    Change to prototype for ap_bspawn_child and + ap_call_exec +
    Added a child_info * to spawn function + (as passed to ap_bspawn_child) and to + ap_call_exec to allow children to work correctly on Win32. + We also cleaned up the nomenclature a bit, replacing + spawn_child_err with simply + ap_spawn_child and spawn_child_err_buff + with simply ap_bspawn_child. + +
    ap_add_version_component() +
    This API function allows for modules to add their own additional + server tokens which are printed on the on the Server: + header line. Previous 1.3beta versions had used a + SERVER_SUBVERSION compile-time #define + to perform this function. Whether the tokens are actually displayed + is controlled by the new ServerTokens directive. + +
    + +


    + +

    Miscellaneous Enhancements

    + +
    +
    Port to EBCDIC mainframe machine + running BS2000/OSD +
    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). + +
    AccessFileName + Enhancement +
    The AccessFileName 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. + +
    HostNameLookups now defaults to "Off" +
    The HostNameLookups + 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. + +
    Double-Reverse DNS enforced +
    The HostnameLookups + directive now supports double-reverse DNS. (Known as + PARANOID 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, mod_access access lists using DNS + names require all names to pass a double-reverse + DNS test. (Prior versions of Apache required a compile-time + switch to enable double-reverse DNS.) + +
    LogLevel and syslog support +
    Apache now has configurable error + logging levels and supports error logging via syslogd(8). + +
    Detaching from stdin/out/err +
    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. + +
    Year-2000 Improvements +
    The default timefmt string used by mod_include has been + modified to display the year using four digits rather than the + two-digit format used previously. The mod_autoindex + module has also been modified to display years using four digits + in FancyIndexed directory listings. + +
    Common routines Moving to a Separate Library +
    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 + htdigest), 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 src/ap/ subdirectory. + +
    New + ServerSignature directive +
    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 etc.). This + makes it easier for users to tell which server produced the error + message, especially in a proxy chain (often found in intranet + environments). + +
    New + UseCanonicalName directive +
    This directive gives control over how Apache creates + self-referential URLs. Previously Apache would always use the ServerName and Port directives to construct a + "canonical" name for the server. With UseCanonicalName + off Apache will use the hostname and port supplied by the + client, if available. + +
    SERVER_VERSION definition abstracted, and server + build date added +
    In earlier versions, the Apache server version was available to + modules through the #defined value for + SERVER_VERSION. 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 ap_get_server_version(). The use of + the SERVER_VERSION symbol is deprecated. Also, + ap_get_server_built() returns a string representing + the time the core server was linked. + +
    Including the operating + system in the server identity
    +
    A new directive, ServerTokens, allows the Webmaster + to change the value of the Server response header + field which is sent back to clients. The ServerTokens + 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. + +

    + +
    Support for Netscape style SHA1 encrypted passwords
    +
    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 {SHA1} are taken + as Base64 encoded SHA1 passwords. More information and + some utilities to convert Netscape ldap/ldif entries can be + found in support/SHA1. +
    + + + + + + + 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 @@ + + +New features with Apache 1.3 + + + + + + +

    Apache 1.3 $B$N?75!G=$N35MW(B

    + +

    $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$,l9g$K$O(B +$B8_49@-$K4X$7$F(B$B$G%A%'%C%/$7$F$/(B +$B$@$5$$!#(B

    + +

    Apache 1.2 $B$+$i$N%"%C%W%0%l!<%I$O(B +$B!V%"%C%W%0%l!<%I$K4X$7$F!W(B +$B$rFI$`$HNI$$$G$7$g$&!#(B +

    + +

    $B3HD%(B: $B%3%"(B | +$B%Q%U%)!<%^%s%9(B | +$B@_Dj(B | +$B%b%8%e!<%k(B | +API | +$B$=$NB>(B

    + +
    + +

    $B%3%"$N3HD%(B:

    + +
    +
    Dynamic Shared Object (DSO) $B$N%5%]!<%H(B +
    $BWindows NT/95 $B$N%5%]!<%H(B +
    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!"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 + $BIJNetWare 5.x $B$N%5%]!<%H(B +
    Apache $B$O(B NetWare 5.x $B$r$B%=!<%9$N:F9=@.(B +
    Apache $B$N%=!<%9%U%!%$%k$O:F9=@.$5$l$^$7$?!#(B + Apache $B$N%f!<%6$K$H$C$FConfiguration + $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$B?.Mj@-$N$"$k%Q%$%W$5$l$?%m%0(B +
    $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 mod_log_config + $B$Gl$G$NHsF14|$N(B DNS $B2r7h$r$7$?$j$9$k5!2q$,$G$-$^$9!#(B +
    + +
    + +

    $B@-G=$N2~A1(B

    + +
      +
    • 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 +
    • <Directory> $B2r@O$NB.EY8~>e!#(B +
    • $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 +
    • $B%9%k!<%W%C%H8~>e$N$?$a$K(B + + ProxyReceiveBufferSize $B%G%#%l%/%F%#%V$O!"(B + mod_proxy $B$+$i$N30It@\B3$KBP$7$F!"(B + $B$h$jBg$-$J%M%C%H%o!<%/%P%C%U%!$rM?$($^$9!#(B +
    • $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) writev $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 +
    • $B@EE*$J%j%/%(%9%H$O(B mmap $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 +
    • $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 +
    • $B%b%8%e!<%k$r%G%#%9%Q%C%A$9$k%3!<%I$O(B API $B$NFCDj$NItJ,$rUnix $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$,$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 +
    • mod_log_config $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 +
    • strncpy() $B$r7k2LA4BN$r(B 0 $B$GKd$a$kI,MW$N$J$$(B + ap_cpystrn() $B$GCV$-49$($^$7$?!#$3$l$O(B + mod_include $B$NB.EY$K7`E*$J8z2L$,$"$j$^$9!#(B +
    • $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 +
    + +

    $B>\$7$$>pJs$O(B$B@-G=$K$D$$$F$N?7$7$$(B +$B%I%-%e%a%s%H(B $B$r;2>H$7$F$/$@$5$$!#(B +

    + +
    + +

    $B@_Dj$N3HD%(B

    + +
    +
    $B%5!<%P$N@_Dj%U%!%$%k$N0l852=(B
    +
    (Apache 1.3.4) $B;0$D$N%5!<%P@_Dj%U%!%$%k(B + (httpd.conf, srm.conf, access.conf) + $B$,(B httpd.conf $B%U%!%$%k0l$D$K$^$H$a$i$l$^$7$?!#(B + srm.conf $B$H(B access.conf $B%U%!%$%k$O!"(B + $B%&%'%V%^%9%?!<$,(B httpd.conf $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 + httpd.conf $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 +
    +
    $B@_Dj%U%!%$%k$G$N7QB3$7$?9T(B
    +
    $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!" +
    Apache Autoconf-style Interface (APACI) +
    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*configure $B%9%/%j%W%H$H!"$=$l$KBP1~$9$k(B + $B%H%C%W%G%#%l%/%H%j$N(B Makefile.tmpl $B%U%!%$%k$G!"(B + $B$=$l$,src/Configure $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
    + $BCm0U(B: $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 + README.configure $B$H(B INSTALL $B%U%!%$%k$r(B + $B;2>H$7$F$/$@$5$$!#(B + +
    APache eXtenSion (APXS) $B%5%]!<%H%D!<%k(B +
    Apache $B$Ol=j$G%S%k%I!"%$%s%9%H!<%k!"%"%/%F%#%V2=$r9T$J$&?7$7$$(B + $B%5%]!<%H%D!<%k(B apxs $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 + apxs $B$H0l=o$K%$%s%9%H!<%k$7$^$9!#(B + +
    Apache $B$N%G%U%)%k%H(B + $B%G%#%l%/%H%j%Q%9$r(B /usr/local/apache/$B$XJQ99(B
    +
    Apache $B$N%G%U%)%k%H$N(B ServerRoot $B%G%#%l%/%H%j$,!"(BNCSA $B8_49$N(B + /usr/local/etc/httpd/$B$+$i(B /usr/local/apache/ + $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 -d + ServerRoot $B$H(B -f httpd.conf $B$r;XDj$9$k$3$H$G(B + $BJQ99$9$k$3$H$,$G$-$^$9!#(B + +
    HTTP/1.1 $B7A<0$N%P!<%A%c%k%[%9%H$N2~A1(B +
    NameVirtualHost + $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 + Host: $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 + $B!V(BApache $B%P!<%A%c%k%[%9%H%I%-%e%a%s%s%H!W(B + $B$r;2>H$7$F$/$@$5$$!#(B + +
    Include $B%G%#%l%/%F%#%V(B +
    $B@_Dj%U%!%$%k$N%Q!<%9$NESCf$G(B + Include + $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 + +
    $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 +
    $B%3%^%s%I%i%$%s%*%W%7%g%s(B -S $B$rIU$1$F(B Apache $B$r(B + $B5/F0$9$k$H!"(BVirtualHost $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 + +
    HTTP $B%a%C%=%I$N@)8f(B +
    <LimitExcept> $B$H(B + </LimitExcept> $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 +
    + +
    + +

    $B%b%8%e!<%k$N3HD%(B

    + +
    +
    mod_negotiation $B$N2~A1(B +
    +
    $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 + $BNEW - + $BDV$j=$@5%b%8%e!<%k(B ($BLuCm(B: mod_speling)
    +
    $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 + +
    NEW - + $B>r7oIU$-4D6-JQ?t$N@_Dj(B ($BLuCm(B: mod_setenvif)
    +
    + SetEnvIf $B%G%#%l%/%F%#%V$H(B + + SetEnvIfNoCase $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 + +
    NEW - "Magic" +MIME $B%?%$%W(B ($BLuCm(B: mod-mime_magic) +
    $B%*%W%7%g%J%k$J(B mod_mime_magic $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 + +
    NEW - $B0l0U$K<1JL2DG=$J(B + ID ($BLuCm(B: mod_unique_id) +
    mod_unique_id + 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 + UNIQUE_ID $B$H$7$F;2>H$9$k$3$H$,$G$-$^$9!#(B + +
    mod_proxy $B$N3HD%(B: +
    +
      +
    • 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$,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$B?75,$N(B AllowCONNECT $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 +
    • 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 + ProxyVia + $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 +
    • 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 +
    • NoProxy $B%G%#%l%/%F%#%V(B + $B$H(B ProxyDomain + $B%G%#%l%/%F%#%V$,DI2C$5$l$^$7$?!#(B + $B%$%s%H%i%M%C%H$G$NMxMQ$KJXMx$G$9!#(B +
    • + ProxyPassReverse $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 Location: + $B%X%C%@Cf$N(B URL $B$rD4@0$9$k$3$H$,$G$-$^$9!#(B +
    • FTP $B%5!<%P$N%G%#%l%/%H%j%D%j!<$G$N0\F0$,!"$h$j4JC1$K$J$j$^$7$?!#(B +
    + +
    mod_include + $B$NJ8;zNsHf3S$N3HD%(B
    +
    $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 + +
    ServerRoot $B$+$i$NAjBP%Q%9$G$N(B auth $B%U%!%$%kL>;XDj(B +
    $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 + +
    $B%G%#%l%/%H%j$N%$%s%G%C%/%9$N3HD%(B: +($BLuCm(B: mod_autoindex) + +
      +
    • $B%3!<%I$NJ,3d(B: mod_dir $B%b%8%e!<%k$,!"(B + $B%G%#%l%/%H%j$N%$%s%G%C%/%9%U%!%$%k$r07$&(B mod_dir $B$H!"%G%#%l%/%H%jFb$N%U%!%$%k0lMw$r(B + $B:n@.$9$k(B mod_autoindex $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 + +
    • $B%=!<%H2DG=(B: $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 + IndexOptions + $B$N(B SuppressColumnSorting $B%-!<%o!<%I$GL58z$K$G$-$^$9!#(B + +
    • README.html $B%U%!%$%k$K(B HTML $B$N%X%C%@$,5-=R$5$l$F$$$k>l9g$O!"(B + + SuppressHTMLPreamble $B$r(B + $B;H$&$3$H$,$G$-$^$9!#(B + +
    • The + IndexOptions $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 + (Options + $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 + +
    • IconHeight $B$H(B + IconWidth + $B$G%G%#%l%/%H%j$N0lMwI=<($G$N(B + <IMG> $B%?%0$N(B height $BB0@-$H(B width + $BB0@-$r@_Dj$G$-$^$9!#(B + +
    • IndexOptions + $B%G%#%l%/%F%#%V$K?75,$KDI2C$5$l$?(B + NameWidth $B%-!<%o!<%I$G!"(B + "$B6E$C$?(B" + $B%G%#%l%/%H%jFbMF0lMw(B $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 + +
    • FancyIndexing $B%G%#%l%/%F%#%V$O@_Dj:Q$_$N(B + IndexOptions $B%G%#%l%/%F%#%V$N8z2L$rCV$-49$($F$7$^$&(B + $B$3$H$J$/!"@5$7$/(B + IndexOptions FancyIndexing + $B$HF1$88z2L$K$J$k$h$&$K$J$j$^$7$?!#(B + +
    • 1.3.15 $B$+$i$O!"(BIndexOptions $B$K(B + + TrackModified $B%G%#%l%/%F%#%V$,4^$^$l$F$$$k>l9g$O!"(B + $B%5!<%P$O%G%#%l%/%H%j$N%j%/%(%9%H$re$7$^$9!#$3$N5!G=$O + +
      CGI $B%9%/%j%W%H$N=PNO$N%P%C%U%!%j%s%0$N8:>/(B +
      $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 + +
      Alias $B$H(B + Redirect$B$G$N@55,I=8=$N%5%]!<%H(B + +
      $B?75,$N(B AliasMatch, + ScriptAliasMatch, $B$H(B + RedirectMatch + $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 + <DirectoryMatch>, + <LocationMatch>, + <FilesMatch> + $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 + +
      mod_info $B$X$N(B + AddModuleInfo + $B%G%#%l%/%F%#%V$NDI2C(B +
      $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 + +
      TransferLog $B$,L5$$>l9g$N%m%0<}=8$NM^@)(B +
      TransferLog $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 + +
      $B%m%0$N=q<0$KL>A0$rIU$1$k5!G=(B +
      LogFormat + $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 LogFormat $B%G%#%l%/%F%#%V$N;XDj$d(B + CustomLog $B%G%#%l%/%F%#%V$N;XDj$G;H$&$3$H$,$G$-$^$9!#(B + +
      $B>r7oIU$-%m%0<}=8(B +
      mod_log_config + $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 + +
      mod_cern_meta $B$r%G%#%l%/%H%jKh$K@_Dj2DG=(B +
      mod_cern_meta $B$r%G%#%l%/%H%jKh$K(B + $B@_Dj$9$k$3$H$,$G$-$k$h$&$K$J$j$^$7$?!#(B + +
      + RewriteMap + $B%G%#%l%/%F%#%V$N?7$7$$%^%C%W%?%$%W(B +
      mod_rewrite $B$N(B RewriteMap $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 + +
      CIDR $B$H(B Netmask $B$K$h$k%"%/%;%9@)8f(B +
      mod_access $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 +
    +
    + +

    API $B$NDI2C$HJQ99(B

    + +

    $B%b%8%e!<%k:npJs(B:

    + +
    +
    child_init +
    "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 + +
    child_exit +
    "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$$!#(Bchild_init $B4X?t$H(B + child_exit $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 init $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 + +
    child_terminate +
    $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 + +
    register_other_child +
    http_main.h $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 + +
    piped_log +
    http_log.h $B$r;2>H$7$F$/$@$5$$!#$3$N(B API $B$O!"(B + $B%Q%$%W$5$l$?%m%0$rl9g$O(B ($B$D$^$j(B + $B8=;~E@$G$O(B Unix)$B!"?.Mj@-$N$"$k%Q%$%W$5$l$?%m%0$r$B%9%3%"%\!<%I$N7A<0JQ99(B +
    $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 + +
    set_last_modified $B$r;0$D$KJ,3d(B +
    $B8E$$(B set_last_modified $B4X?t$O!"(BLast-Modified + $B%X%C%@$d!"(BEtag $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 + set_last_modified, set_etag, + meets_conditions $B$KJ,3d$5$l$^$7$?!#(B + meets_conditions $B4X?t$N(B + $B=hM}$r4JC1$K$9$k$?$a$K(B requrest_rec $B9=B$BN$K(B + mtime$B$,%U%#!<%k%I$,DI2C$5$l$^$7$?!#(B + +
    $B%(%i!<%m%0<}=8MQ$N?75,4X?t(B: ap_log_error +
    $B%m%0<}=8MQ$N8E$$4X?t$O$9$Y$FHs?d>)$H$J$C$F$$$^$9!#$3$l$i$N4X?t$r(B + ap_log_error $B$H$$$&C1FH$N4X?t$GCV$-49$($h$&$H$7$F$$$^$9!#(B + $B$3$l$O$^$@:n6HCf$G$9!#(B + +
    $B@_Dj2r@O$N$?$a$N(B set_file_slot +
    set_file_slot $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 + +
    post_read_request $B%b%8%e!<%k(B API +
    $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 + +
    psocket $B$H(B popendir +
    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 psocket $B4X?t$H(B pclosesocket + $B4X?t$,MF0W$5$l$^$7$?!#(B + $BF1MM$K!"(Bpopendir $B4X?t$H(B pclosedir $B4X?t$O(B + $B%G%#%l%/%H%j$NFI$_9~$_$rJ]8n$7$^$9!#(B + +
    is_initial_req +
    $B%j%/%(%9%H$,=i4|%j%/%(%9%H(B ($B$9$J$o$A(B$B!"%/%i%$%"%s%H$+$iMh$k$b$N(B) + $B$G$"$k$+$I$&$+$rH=Dj$7$^$9!#(B + +
    kill_only_once +
    ap_spawn_child $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 + +
    alloc $B%G%P%C%0MQ%3!<%I(B +
    ALLOC_DEBUG $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 + ALLOC_USE_MALLOC $B$rDj5A$9$k$H!"(Balloc $B%3!<%I$,(B + $B$=$l$>$l$N%*%V%8%'%/%H$KBP$7$F(B malloc() $B$H(B + free() $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 + main/alloc.c $B$r;2>H$7$F$/$@$5$$!#(B + +
    ap_cpystrn +
    $B?7$7$$(B strncpy $B$N$h$&$J$b$N$G$9$,!"%P%C%U%!A4BN$r(B + 0 $B$GK~$?$9I,MW$,L5$$$?$a$K(B strncpy $B$h$j$:$C$HB.$$E@$G(B + $Btable_addn, table_setn, + table_mergen +
    $B$3$l$i$N?7$7$$4X?t$O!"0z?t$KBP$7$F(B pstrdup $B$r(B + $B8F$S(B$B$^$;$s(B$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 src/CHANGES $B$r(B + $B;2>H$7$F$/$@$5$$!#(B + +
    construct_url +
    $B$3$N4X?t$N%W%m%H%?%$%W$,(B server_rec * $B$+$i(B + request_rec * $B$r0z?t$H$7$Fget_server_name, get_server_port +
    $B%j%/%(%9%H$KBP1~$9$k%5!<%PL>$H%]!<%HHV9f$rUseCanonicalName + $B%G%#%l%/%F%#%V$r07$&$?$a$N%i%C%Q!<$G$9!#(B + +
    ap_bspawn_child $B$H(B ap_call_exec + $B$N%W%m%H%?%$%W$NJQ99(B +
    Win32 $B$G;R%W%m%;%9$,@5$7$/F0:n$9$k$h$&$K!"(Bspawn $B4X?t(B + (ap_bspawn_child $B$KEO$5$l$k(B) $B$H(B ap_call_exec + $B4X?t$K(B child_info * $B$rDI2C$7$^$7$?!#$^$?!"(B + spawn_child_err $B$rC1$K(B ap_spawn_child $B$G(B + $BCV$-49$(!"(Bspawn_child_err_buff $B$rC1$K(B + ap_bspawn_child $B$GCV$-49$($k$3$H$G!"4X?tL>$r>/$7@0M}$7$^$7$?!#(B + +
    ap_add_version_component() +
    $B$3$N(B API $B4X?t$O(B Server: $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 + #define $B$5$l$?(B SERVER_SUBVERSION $B$r(B + $BDj5A$7$F$3$N5!G=$rSeverTokens $B%G%#%l%/%F%#%V$G@)8f$5$l$^$9!#(B + +
    + +
    + +

    $B$=$NB>$N3HD%(B

    + +
    +
    BS2000/OSD $B$r +
    ($BLuCm(B: $B%a%$%s%U%l!<%`%^%7%s$X$N0\?"$N(B) + $Be$G(B + BS2000/OSD $B%*%Z%l!<%F%#%s%0%7%9%F%`$rAccessFileName + $B$N3HD%(B +
    AccessFileName $B%G%#%l%/%F%#%V$O!"J#?t$N%U%!%$%kL>$r(B + $BHostNameLookups $B$N%G%U%)%k%H$r(B "Off" $B$KJQ99(B +
    HostNameLookups + $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 + +
    DNS $B$NFs=E5U0z$-$N6/@)5!G=(B +
    HostnameLookups + $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 PARANOID $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 + mod_access $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$BMW5a(B$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) + +
    LogLevel $B$H(B syslog $B$N%5%]!<%H(B +
    Apache $B$O(B$B%(%i!<$N%m%0<}=8%l%Y%k$r(B + $B@_Dj(B$B$G$-$k5!G=$,DI2C$5$l$^$7$?!#$^$?!"(Bsyslogd(8) $B$K$h$k%(%i!<$N%m%0<}=8(B + $B$r%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#(B + +
    $BI8=`F~NO(B/$BI8=`=PNO(B/$BI8=`%(%i!<=PNO$+$i$N@ZN%$7(B +
    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 + +
    2000 $BG/LdBj$N2~A1(B +
    mod_include $B$G;H$o$l$k(B + $B%G%U%)%k%H$N(B timefmt $BJ8;zNs$,!"0JA0;H$o$l$F$$$?(B2$B7e$G$O$J$/(B + 4$B7e$r;H$&$h$&$K=$@5$5$l$^$7$?!#(Bmod_autoindex + $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 + +
    $B6&DL$N%k!<%A%s$rFHN)$7$?%i%$%V%i%j$KJ,N%(B +
    $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 htdigest $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$?!#(Bsrc/ap/ $B%5%V%G%#%l%/%H%j$r;2>H$7$F$/$@$5$$!#(B + +
    $B?7$7$$(B + ServerSignature $B%G%#%l%/%F%#%V(B +
    $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 $B$J$I(B) + $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 + +
    $B?7$7$$(B + UseCanonicalName $B%G%#%l%/%F%#%V(B +
    $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 ServerName $B%G%#%l%/%F%#%V$H(B Port $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 + UseCanonicalName off + $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 + +
    SERVER_VERSION $B$NDj5A$,Cj>]2=$H(B + $B%5!<%P$N%S%k%IF|;~$NDI2C(B +
    $B0JA0$N%P!<%8%g%s$G$O!"(BSERVER_VERSION $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 + ap_get_server_version() $B$GF@$k$3$H$,$G$-$k$h$&$K$J$j$^$7$?!#(B + SERVER_VERSION $B%7%s%\%k$N;EMM$OHs?d>)$G$9!#(B + $B$^$?!"(Bap_get_server_built() $B$O%3%"%5!<%P$,%j%s%/$5$l$?(B + $B;~9o$rI=$9J8;zNs$rJV$7$^$9!#(B + +
    $B%5!<%P$N(B ID $B$K(B + $B%*%Z%l!<%F%#%s%0%7%9%F%`$r4^$a$k(B
    +
    $B?7$7$$%G%#%l%/%F%#%V(B ServerTokens $B$K$h$j!"(B + $B%/%i%$%"%s%H$KAw$jJV$5$l$k(B Server $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 + ServerTokens $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\$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 + +

    + +
    Netscape $B7A<0$N(B SHA1 $B$G0E9f2=$5$l$?%Q%9%o!<%I$N%5%]!<%H(B
    +
    (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{SHA1} $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$F2rpJs$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 +
    + + + + + + 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 @@ + + + + Manual Page: ab - Apache HTTP Server + + + + +
    + [APACHE DOCUMENTATION] +

    + Apache HTTP Server Version 1.3 +

    +
    + + + +

    Manual Page: ab

    + + +
    +NAME
    +     ab - Apache HTTP server benchmarking tool
    +
    +SYNOPSIS
    +     ab [ -k ] [ -i ] [ -n requests ] [ -t timelimit ] [ -c  con-
    +     currency   ]   [   -p   POST   file   ]  [  -A  Authenticate
    +     username:password    ]    [    -P     Proxy     Authenticate
    +     username:password  ]  [  -H  Custom  header  ]  [  -C Cookie
    +     name=value ] [ -T content-type ] [ -v verbosity  ]  ]  [  -w
    +     output HTML ] ] [ -x <table> attributes ] ] [ -y <tr> attri-
    +     butes     ]     ]     [     -z     <td>     attributes     ]
    +     [http://]hostname[:port]/path
    +
    +     ab [ -V ] [ -h ]
    +
    +DESCRIPTION
    +     ab 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.
    +
    +OPTIONS
    +     -k          Enable the HTTP KeepAlive feature; that is, per-
    +                 form  multiple requests within one HTTP session.
    +                 Default is no KeepAlive.
    +
    +     -i          Use an HTTP 'HEAD' instead of  the  GET  method.
    +                 Cannot be mixed with POST.
    +
    +     -n requests 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.
    +
    +     -t timelimit
    +                 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.
    +
    +     -c concurrency
    +                 The number of simultaneous requests to  perform.
    +                 The default is to perform one HTTP request at a
    +                 time, that is, no concurrency.
    +
    +     -p POST file
    +                 A file containing data  that  the  program  will
    +                 send  to  the  Apache  server  in  any HTTP POST
    +                 requests.
    +
    +     -A Authorization username:password
    +                 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.
    +
    +     -p Proxy-Authorization username:password
    +                 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.
    +
    +     -C Cookie name=value
    +                 Add a 'Cookie:' line to the request.  The  argu-
    +                 ment  is  typically  a  'name=value'  pair. This
    +                 option may be repeated.
    +
    +     -p Header string
    +                 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'.
    +
    +     -T content-type
    +                 The content-type header to use for POST data.
    +
    +     -v          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.
    +
    +     -w          Print out results in HTML tables.   The  default
    +                 table  is  two  columns wide, with a white back-
    +                 ground.
    +
    +     -x attributes
    +                 The string to use  as  attributes  for  <table>.
    +                 Attributes are inserted <table here >
    +
    +     -y attributes
    +                 The string to use as attributes for <tr>.
    +
    +     -z attributes
    +                 The string to use as attributes for <td>.
    +
    +     -V          Display the version number and exit.
    +
    +     -h          Display usage information.
    +
    +BUGS
    +     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.
    +
    +     Ab does not  implement  HTTP/1.x  fully;  instead,  it  only
    +     accepts some 'expected' forms of responses.
    +
    +     The rather heavy use of strstr(3) by the  program  may  skew
    +     performance   results,   since   it   uses  significant  CPU
    +     resources.  Make sure that performance limits are not hit by
    +     ab before your server's limit is reached.
    +
    +SEE ALSO
    +     httpd(8)
    +
    +
    + + +
    + +

    + Apache HTTP Server Version 1.3 +

    + +Index +Home + + 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 @@ + + + + Manual Page: apxs - Apache HTTP Server + + + +
    + [APACHE DOCUMENTATION] +

    + Apache HTTP Server Version 1.3 +

    +
    + + + +

    Manual Page: apxs

    + + +
    +NAME
    +     apxs - APache eXtenSion tool
    +
    +SYNOPSIS
    +     apxs -g [ -S variable=value ] -n name
    +
    +     apxs -q [ -S variable=value ] query ...
    +
    +     apxs -c [ -S variable=value ] [ -o dsofile ] [ -I incdir ] [
    +     -D  variable[=value]  ]  [  -L  libdir  ]  [  -l libname ] [
    +     -Wc,compiler-flags ] [ -Wl,linker-flags ] files ...
    +
    +     apxs -i [ -S variable=value ] [ -n name ] [ -a ] [ -A ] dso-
    +     file ...
    +
    +     apxs -e [ -S variable=value ] [ -n name ] [ -a ] [ -A ] dso-
    +     file ...
    +
    +DESCRIPTION
    +     apxs 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 files which then can be
    +     loaded into the Apache server under runtime via the  LoadMo-
    +     dule directive from mod_so.
    +
    +     So to use this extension mechanism,  your  platform  has  to
    +     support  the DSO feature and your Apache httpd binary has to
    +     be built with the mod_so module.  The  apxs  tool  automati-
    +     cally complains if this is not the case.  You can check this
    +     yourself by manually running the command
    +
    +       $ httpd -l
    +
    +     The module mod_so 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 apxs 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 files can be any C source file (.c), a  object
    +     file  (.o)  or  even  a  library archive (.a). The apxs 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
    +     -fpic.  For other C compilers please consult its manual page
    +     or  watch  for  the  flags  apxs  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 mod_so.
    +
    +OPTIONS
    +     Common options:
    +
    +     -n name     This explicitly sets the module name for the  -i
    +                 (install)  and  -g (template generation) option.
    +                 Use this to explicitly specify the module  name.
    +                 For  option  -g  this is required, for option -i
    +                 the apxs tool tries to determine the  name  from
    +                 the source or (as a fallback) at least by guess-
    +                 ing it from the filename.
    +
    +     Query options:
    +
    +     -q          Performs a query for apxs's knowledge about cer-
    +                 tain  settings.  The query 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:
    +
    +     -S variable=value
    +                 This option changes the apxs settings  described
    +                 above.
    +
    +     Template Generation options:
    +     -g          This generates a subdirectory name  (see  option
    +                 -n)  and there two files: A sample module source
    +                 file named mod_name.c which can  be  used  as  a
    +                 template  for  creating your own modules or as a
    +                 quick start for playing with the apxs mechanism.
    +                 And  a  corresponding  Makefile  for even easier
    +                 building and installing of this module.
    +
    +     DSO compilation options:
    +
    +     -c          This indicates  the  compilation  operation.  It
    +                 first  compiles the C source files (.c) of files
    +                 into corresponding object files  (.o)  and  then
    +                 builds  a DSO in dsofile by linking these object
    +                 files plus the remaining object  files  (.o  and
    +                 .a)  of  files  If no -o option is specified the
    +                 output file is guessed from the  first  filename
    +                 in   files   and   thus   usually   defaults  to
    +                 mod_name.so
    +
    +     -o dsofile  Explicitly specifies the filename of the created
    +                 DSO  file.  If not specified and the name cannot
    +                 be guessed from the  files  list,  the  fallback
    +                 name mod_unknown.so is used.
    +
    +     -D variable[=value]
    +                 This option is directly passed  through  to  the
    +                 compilation  command(s).   Use  this to add your
    +                 own defines to the build process.
    +
    +     -I incdir   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.
    +
    +     -L libdir   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.
    +
    +     -l libname  This option is directly passed  through  to  the
    +                 linker  command.   Use  this  to  add  your  own
    +                 libraries to search to the build process.
    +
    +     -Wc,compiler-flags
    +                 This option passes compiler-flags as  additional
    +                 flags  to the compiler command.  Use this to add
    +                 local compiler-specific options.
    +
    +     -Wl,linker-flags
    +                 This option passes  linker-flags  as  additional
    +                 flags  to  the  linker command.  Use this to add
    +                 local linker-specific options.
    +
    +     DSO installation and configuration options:
    +
    +     -i          This indicates the  installation  operation  and
    +                 installs  one  or  more  DSOs  into the server's
    +                 libexec directory.
    +
    +     -a          This  activates  the  module  by   automatically
    +                 adding   a   corresponding  LoadModule  line  to
    +                 Apache's httpd.conf configuration  file,  or  by
    +                 enabling it if it already exists.
    +
    +     -A          Same as option -a  but  the  created  LoadModule
    +                 directive is prefixed with a hash sign (#), i.e.
    +                 the module is just prepared for later activation
    +                 but initially disabled.
    +
    +     -e          This indicates the editing operation, which  can
    +                 be  used with the -a and -A options similarly to
    +                 the -i operation  to  edit  Apache's  httpd.conf
    +                 configuration file without attempting to install
    +                 the module.
    +
    +EXAMPLES
    +     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 LoadModule directive is present to load this DSO. To
    +     simplify this step apxs provides an automatic way to install
    +     the   DSO  in  the  "libexec"  directory  and  updating  the
    +     httpd.conf 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 -A
    +     option, i.e.
    +
    +       $ apxs -i -A mod_foo.c
    +
    +     For a quick test of the apxs mechanism you can create a sam-
    +     ple  Apache  module  template  plus a corresponding Makefile
    +     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 apxs to compile complex modules outside the
    +     Apache  source  tree,  like PHP3, because apxs 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.
    +
    +SEE ALSO
    +     apachectl(1), httpd(8).
    +
    +
    + + +
    + +

    + Apache HTTP Server Version 1.3 +

    + +Index +Home + + 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 @@ + + + + Manual Page: dbmmanage - Apache HTTP Server + + + +
    + [APACHE DOCUMENTATION] +

    + Apache HTTP Server Version 1.3 +

    +
    + + + +

    Manual Page: dbmmanage

    + + +
    +NAME
    +     dbmmanage - Create and update user authentication  files  in
    +     DBM format
    +
    +SYNOPSIS
    +     dbmmanage filename [ command ] [ username [ encpasswd ] ]
    +
    +DESCRIPTION
    +     dbmmanage 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  httpd
    +     Apache web server can be restricted to just the users listed
    +     in the files created by dbmmanage. This program can only  be
    +     used  when  the usernames are stored in a DBM file. To use a
    +     flat-file database see htpasswd.
    +
    +     This manual page only lists the command line arguments.  For
    +     details  of  the  directives  necessary  to  configure  user
    +     authentication in httpd see the Apache manual, which is part
    +     of   the   Apache   distribution   or   can   be   found  at
    +     http://www.apache.org/.
    +
    +OPTIONS
    +     filename
    +          The filename of the DBM format  file.  Usually  without
    +          the extension .db, .pag, or .dir.
    +
    +     command
    +          This selects the operation to perform:
    +
    +     add         Adds an entry for username to filename using the
    +                 encrypted password encpassword.
    +
    +     adduser     Asks for a password and then adds an  entry  for
    +                 username to filename .
    +
    +     check       Asks for a password and then checks if  username
    +                 is  in filename and if it's password matches the
    +                 specified one.
    +
    +     delete      Deletes the username entry from filename.
    +
    +     import      Reads username:password entries (one  per  line)
    +                 from  STDIN and adds them to filename. The pass-
    +                 words already has to be crypted.
    +
    +     update      Same as the "adduser" command,  except  that  it
    +                 makes sure username already exists in filename.
    +
    +     view        Just displays the complete contents of  the  DBM
    +                 file.
    +
    +     username    The user for which the update operation is  per-
    +                 formed.
    +
    +BUGS
    +     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 filename is the same  format  that  dbmmanage
    +     expects  to see. dbmmanage 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.
    +
    +     dbmmanage has a list of DBM format preferences,  defined  by
    +     the  @AnyDBM::ISA  array  near the beginning of the program.
    +     Since we prefer the Berkeley DB 2 file format, the order  in
    +     which  dbmmanage  will look for system libraries is Berkeley
    +     DB 2, then NDBM, and then GDBM.   The  first  library  found
    +     will  be  the  library dbmmanage will attempt to use for all
    +     DBM file transactions.  This ordering is slightly  different
    +     than  the standard @AnyDBM::ISA 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 mod_auth_db.c module corresponds to Berkeley  DB  2
    +     library,   while  mod_auth_dbm.c  corresponds  to  the  NDBM
    +     library.  Also, one can usually use the  file  program  sup-
    +     plied  with  most Unix systems to see what format a DBM file
    +     is in.
    +
    +SEE ALSO
    +     httpd(8)
    +
    +
    + + +
    + +

    + Apache HTTP Server Version 1.3 +

    + +Index +Home + + 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 @@ +
    + +

    + Apache HTTP Server Version 1.3 +

    + +Index +Home 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 @@ +
    + [APACHE DOCUMENTATION] +

    + Apache HTTP Server Version 1.3 +

    +
    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 @@ + + + + Manual Page: htdigest - Apache HTTP Server + + + + +
    + [APACHE DOCUMENTATION] +

    + Apache HTTP Server Version 1.3 +

    +
    + + + +

    Manual Page: htdigest

    + + + +
    +NAME
    +     htdigest - Create and update user authentication files
    +
    +SYNOPSIS
    +     htdigest [ -c ] passwdfile realm username
    +
    +DESCRIPTION
    +     htdigest 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  httpd
    +     Apache web server can be restricted to just the users listed
    +     in the files created by htdigest.
    +
    +     This manual page only lists the command line arguments.  For
    +     details  of  the  directives  necessary  to configure digest
    +     authentication in httpd see the Apache manual, which is part
    +     of   the   Apache   distribution   or   can   be   found  at
    +     http://www.apache.org/.
    +
    +OPTIONS
    +     -c   Create the passwdfile. If passwdfile already exists, it
    +          is deleted first.
    +
    +     passwdfile
    +          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.
    +
    +     realm
    +          The realm name to which the user name belongs.
    +
    +     username
    +          The user name to create or  update  in  passwdfile.  If
    +          username  does  not  exist  is  this  file, an entry is
    +          added. If it does exist, the password is changed.
    +
    +SEE ALSO
    +     httpd(8)
    +
    +
    + + +
    + +

    + Apache HTTP Server Version 1.3 +

    + +Index +Home + + + 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 @@ + + + + Manual Page: logresolve - Apache HTTP Server + + + + +
    + [APACHE DOCUMENTATION] +

    + Apache HTTP Server Version 1.3 +

    +
    + + + + +

    Manual Page: logresolve

    + +
    +NAME
    +     logresolve - resolve hostnames  for  IP-addresses  in  Apache
    +     logfiles
    +
    +SYNOPSIS
    +     logresolve  [  -s  filename  ]  [  -c  ]  <   access_log   >
    +     access_log.new
    +
    +DESCRIPTION
    +     logresolve 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.
    +
    +OPTIONS
    +     -s filename Specifies a filename to record statistics.
    +
    +     -c          This causes logresolve 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.
    +
    +SEE ALSO
    +     httpd(8)
    +
    + + +
    + +

    + Apache HTTP Server Version 1.3 +

    + +Index +Home + + + + 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 @@ + + + + Other Programs - Apache HTTP Server + + + + +
    + [APACHE DOCUMENTATION] +

    + Apache HTTP Server Version 1.3 +

    +
    + + + +

    Other Programs

    + +

    The following programs are simple support programs included with +the Apache HTTP Server which do not have their own manual pages.

    + +

    log_server_status

    + +

    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.

    + +

    split-logfile

    + +

    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.

    + +

    The combined log file is read from stdin. Records read +will be appended to any existing log files.

    + + +
    + +

    + Apache HTTP Server Version 1.3 +

    + +Index +Home + + + 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 @@ + + + + Manual Page: rotatelogs - Apache HTTP Server + + + + + +
    + [APACHE DOCUMENTATION] +

    + Apache HTTP Server Version 1.3 +

    +
    + + + +

    Manual Page: rotatelogs

    + + +
    +NAME
    +     rotatelogs - rotate Apache logs without having to  kill  the
    +     server
    +
    +SYNOPSIS
    +     rotatelogs logfile rotationtime
    +
    +DESCRIPTION
    +     rotatelogs 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.
    +
    +OPTIONS
    +     logfile
    +          The path plus basename of the logfile. The suffix .nnnn
    +          is automatically added.
    +
    +     rotationtime
    +          The rotation time in seconds.
    +
    +SEE ALSO
    +     httpd(8)
    +
    +
    + + +
    + +

    + Apache HTTP Server Version 1.3 +

    + +Index +Home + + 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 @@ + + + +Server-Wide Configuration + + + + + +

    Server-Wide Configuration

    + +

    This document explains some of the directives provided by the +core server which are used to configure +the basic operations of the server.

    + + + +
    + +

    Server Identification

    + + +
    +Related Directives

    + +ServerName
    +ServerAdmin
    +ServerSignature
    +ServerTokens
    +UseCanonicalName
    +
    + +

    The ServerAdmin and ServerTokens +directives control what information about the server will be presented +in server-generated documents such as error messages. +The ServerTokens directive sets the value of the +Server HTTP response header field.

    + +

    The ServerName and UseCanonicalName +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.

    + +
    + +

    File Locations

    + + +
    +Related Directives

    + +CoreDumpDirectory
    +DocumentRoot
    +ErrorLog
    +Lockfile
    +PidFile
    +ScoreBoardFile
    +ServerRoot
    +
    + +

    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 +ServerRoot. Be careful about locating files in paths +which are writable by non-root users. See the security tips documentation for +more details.

    + +
    + +

    Process Creation

    + + +
    +Related Directives

    + +BS2000Account
    +Group
    +MaxClients
    +MaxRequestsPerChild
    +MaxSpareServers
    +MinSpareServers
    +ServerType
    +StartServers
    +ThreadsPerChild
    +User
    +
    + +

    When ServerType is set to its recommended value of +Standalone, 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 spare 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.

    + +

    The StartServers, MinSpareServers, +MaxSpareServers, and MaxServers 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 +MaxClients, while sites with limited memory may need to +decrease MaxClients to keep the server from thrashing +(swapping memory to disk and back). More information about tuning +process creation is provided in the performance hints documentation.

    + +

    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 User and +Group 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 suexec is used, +these directives also set the privileges which will be inherited +by CGI scripts.

    + +

    MaxRequestsPerChild controls how frequently the server +recycles processes by killing old ones and launching new ones.

    + +

    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 +ThreadsPerChild directive.

    + +
    + +

    Network Configuration

    + + +
    +Related Directives

    + +BindAddress
    +KeepAlive
    +KeepAliveTimeout
    +Listen
    +ListenBackLog
    +MaxKeepAliveRequests
    +Port
    +SendBufferSize
    +TimeOut
    +
    + +

    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 +Port 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 +Virtual Host feature which determines how Apache +responds to different IP addresses, hostnames and ports.

    + +

    There are two directives used to restrict or specify which addresses +and ports Apache listens to. The BindAddress directive +is used to restrict the server to listening to a single IP address. +The Listen directive can be used to specify multiple +IP addresses and/or Ports to which Apache will listen.

    + +

    The ListenBackLog, SendBufferSize, and +TimeOut directives are used to adjust how Apache +interacts with the network.

    + +

    The KeepAlive, KeepAliveTimeout, +and MaxKeepAliveRequests directives are used to +configure how Apache handles persistent connections.

    + +
    +

    Limiting Resource Usage

    + +
    +Related Directives

    + +LimitRequestBody
    +LimitRequestFields
    +LimitRequestFieldsize
    +LimitRequestLine
    +RLimitCPU
    +RLimitMEM
    +RLimitNPROC
    +ThreadStackSize
    +
    + +

    The LimitRequest* 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.

    + +

    The RLimit* 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.

    + +

    The ThreadStackSize directive is used only +on Netware to control the stack size.

    + + + + 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 @@ + + + + +Configuration globale du serveur + + + + + +

    Configuration globale du serveur

    + +

    Ce document décrit certaines directives traitées par le +noyau du serveur qui sont utilisées pour +configurer les opérations de base du serveur.

    + + + +
    + +

    Identification du serveur

    + + +
    +Directives associées

    + +ServerName
    +ServerAdmin
    +ServerSignature
    +ServerTokens
    +UseCanonicalName
    +
    + +

    Les directives ServerAdmin and ServerTokens +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 ServerTokens assigne la valeur du champ serveur +dans les en-têtes de réponse HTTP.

    + +

    Les directives ServerName and UseCanonicalName +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.

    + +
    + +

    Emplacement des fichiers

    + + +
    +Directives associées

    + +CoreDumpDirectory
    +DocumentRoot
    +ErrorLog
    +Lockfile
    +PidFile
    +ScoreBoardFile
    +ServerRoot
    +
    + +

    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 à ServerRoot. Soyez attentifs à placer +ces fichiers dans des chemins qui sont autorisés en écriture aux +utilisateurs autres que root. Voir les +trucs sur la sécurité pour +plus de détails.

    + +
    + +

    Création des processus

    + + +
    +Directives associées

    + +BS2000Account
    +Group
    +MaxClients
    +MaxRequestsPerChild
    +MaxSpareServers
    +MinSpareServers
    +ServerType
    +StartServers
    +ThreadsPerChild
    +User
    +
    + +

    Si la directive ServerType est définie avec la +valeur recommandée de Standalone, +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.

    + +

    Les directives StartServers, MinSpareServers, +MaxSpareServers, and MaxServers 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 MaxClients, tandis que les sites +tournant sur des machines limitées en mémoire doivent réduire +la valeur de MaxClients 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 +Aide sur les performances générales.

    + +

    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 User et Group 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 +suexec soit utilisé, ces directives définissent +également les droits qui seront hérités par les scripts CGI.

    + +

    MaxRequestsPerChild contrôle la fréquence de +rénovation des processus, en supprimant les anciens et en lançant de +nouveaux.

    + +

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

    + +
    + +

    Configuration réseau

    + + +
    +Directives associées

    + +BindAddress
    +KeepAlive
    +KeepAliveTimeout
    +Listen
    +ListenBackLog
    +MaxKeepAliveRequests
    +Port
    +SendBufferSize
    +TimeOut
    +
    + +

    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 Port. 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' +hôte virtuel qui détermine comment +Apache répond de différentes adresses IP, de noms d'hôtes et +de ports.

    + +

    Il y a deux directives qui permettent de restreindre ou de spécifier +quelles adresses et quels ports Apache doit écouter. +La directive BindAddress restreint le serveur à +n'écouter qu'une seule adresse IP. La directive Listen peut +être utilisée pour spécifier un ensemble d'adresses et de +ports qu'Apache doit écouter.

    + +

    Les directives ListenBackLog, SendBufferSize, and +TimeOut permettent d'adjuster comment Apache interagit avec +le réseau.

    + +

    Les directives KeepAlive, KeepAliveTimeout, +and MaxKeepAliveRequests définissent comment +Apache gère les connexions persistantes.

    + +
    +

    Limitation de l'utilisation des Ressources

    + +
    +Directives associées

    + +LimitRequestBody
    +LimitRequestFields
    +LimitRequestFieldsize
    +LimitRequestLine
    +RLimitCPU
    +RLimitMEM
    +RLimitNPROC
    +ThreadStackSize
    +
    + +

    Les directives commençant par LimitRequest +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.

    + +

    Les directives commençant par RLimit 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.

    + +

    La directive ThreadStackSize est utilisée seulement sur +Netware pour contrôler la taille de la pile.

    + + + + 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 @@ + + + +Server-Wide Configuration + + + + + +

    Server-Wide Configuration

    + +

    This document explains some of the directives provided by the +core server which are used to configure +the basic operations of the server.

    + + + +
    + +

    Server Identification

    + + +
    +Related Directives

    + +ServerName
    +ServerAdmin
    +ServerSignature
    +ServerTokens
    +UseCanonicalName
    +
    + +

    The ServerAdmin and ServerTokens +directives control what information about the server will be presented +in server-generated documents such as error messages. +The ServerTokens directive sets the value of the +Server HTTP response header field.

    + +

    The ServerName and UseCanonicalName +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.

    + +
    + +

    File Locations

    + + +
    +Related Directives

    + +CoreDumpDirectory
    +DocumentRoot
    +ErrorLog
    +Lockfile
    +PidFile
    +ScoreBoardFile
    +ServerRoot
    +
    + +

    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 +ServerRoot. Be careful about locating files in paths +which are writable by non-root users. See the security tips documentation for +more details.

    + +
    + +

    Process Creation

    + + +
    +Related Directives

    + +BS2000Account
    +Group
    +MaxClients
    +MaxRequestsPerChild
    +MaxSpareServers
    +MinSpareServers
    +ServerType
    +StartServers
    +ThreadsPerChild
    +User
    +
    + +

    When ServerType is set to its recommended value of +Standalone, 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 spare 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.

    + +

    The StartServers, MinSpareServers, +MaxSpareServers, and MaxServers 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 +MaxClients, while sites with limited memory may need to +decrease MaxClients to keep the server from thrashing +(swapping memory to disk and back). More information about tuning +process creation is provided in the performance hints documentation.

    + +

    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 User and +Group 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 suexec is used, +these directives also set the privileges which will be inherited +by CGI scripts.

    + +

    MaxRequestsPerChild controls how frequently the server +recycles processes by killing old ones and launching new ones.

    + +

    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 +ThreadsPerChild directive.

    + +
    + +

    Network Configuration

    + + +
    +Related Directives

    + +BindAddress
    +KeepAlive
    +KeepAliveTimeout
    +Listen
    +ListenBackLog
    +MaxKeepAliveRequests
    +Port
    +SendBufferSize
    +TimeOut
    +
    + +

    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 +Port 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 +Virtual Host feature which determines how Apache +responds to different IP addresses, hostnames and ports.

    + +

    There are two directives used to restrict or specify which addresses +and ports Apache listens to. The BindAddress directive +is used to restrict the server to listening to a single IP address. +The Listen directive can be used to specify multiple +IP addresses and/or Ports to which Apache will listen.

    + +

    The ListenBackLog, SendBufferSize, and +TimeOut directives are used to adjust how Apache +interacts with the network.

    + +

    The KeepAlive, KeepAliveTimeout, +and MaxKeepAliveRequests directives are used to +configure how Apache handles persistent connections.

    + +
    +

    Limiting Resource Usage

    + +
    +Related Directives

    + +LimitRequestBody
    +LimitRequestFields
    +LimitRequestFieldsize
    +LimitRequestLine
    +RLimitCPU
    +RLimitMEM
    +RLimitNPROC
    +ThreadStackSize
    +
    + +

    The LimitRequest* 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.

    + +

    The RLimit* 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.

    + +

    The ThreadStackSize directive is used only +on Netware to control the stack size.

    + + + + + 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 @@ + + + +Server-Wide Configuration + + + + + + +

    $B%5!<%PA4BN$N@_Dj(B

    + +

    $B$3$N%I%-%e%a%s%H$G$O(B$B%3%"(B$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

    + + + +
    + +

    $B%5!<%P(B ID

    + + +
    +$B4XO"%G%#%l%/%F%#%V(B

    + +ServerName
    +ServerAdmin
    +ServerSignature
    +ServerTokens
    +UseCanonicalName
    +
    + +

    ServerAdmin $B%G%#%l%/%F%#%V$H(B ServerTokens +$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!#(BServerTokens +$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

    + +

    ServerName $B%G%#%l%/%F%#%V$H(B UseCanonicalName +$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

    + +
    + +

    $B%U%!%$%k$N0LCV(B

    + + +
    +$B4XO"%G%#%l%/%F%#%V(B

    + +CoreDumpDirectory
    +DocumentRoot
    +ErrorLog
    +Lockfile
    +PidFile
    +ScoreBoardFile
    +ServerRoot
    +
    + +

    $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 +$B3FServerRoot $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$B!V%;%-%e%j%F%#>pJs!W(B$B$r(B +$B;2>H$7$F$/$@$5$$!#(B

    + +
    + +

    $B%W%m%;%9@8@.(B

    + + +
    +$B4XO"%G%#%l%/%F%#%V(B

    + +BS2000Account
    +Group
    +MaxClients
    +MaxRequestsPerChild
    +MaxSpareServers
    +MinSpareServers
    +ServerType
    +StartServers
    +ThreadsPerChild
    +User
    +
    + +

    ServerType $B$K?d>)$5$l$F$$$kCM$G$"$k(B Standalone +$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$B%9%Z%"(B$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

    + +

    StartServers, MinSpareServers, +MaxSpareServers, MaxServers $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 MaxClients $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 MaxClients +$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 +$B@-G=$N>pJs(B$B%I%-%e%a%s%H$r(B +$B;2>H$7$F$/$@$5$$!#(B

    + +

    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!#(BUser $B%G%#%l%/%F%#%V$H(B Group +$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$^$?!"(Bsuexec $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

    + +

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

    + +

    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 ThreadsPerChild $B%G%#%l%/%F%#%V$G(B +$B@)8f$7$^$9!#(B

    + +
    + +

    $B%M%C%H%o!<%/@_Dj(B

    + + +
    +$B4XO"%G%#%l%/%F%#%V(B

    + +BindAddress
    +KeepAlive
    +KeepAliveTimeout
    +Listen
    +ListenBackLog
    +MaxKeepAliveRequests
    +Port
    +SendBufferSize
    +TimeOut
    +
    + +

    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 +Port $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$B%P!<%A%c%k%[%9%H(B$B5!G=$HAH$_9g$o$;$F(B +$B;H$o$l$k$3$H$,$h$/$"$j$^$9!#(B

    + +

    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!#(BBindAddress $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 +Listen $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

    + +

    ListenBackLog $B%G%#%l%/%F%#%V!"(BSendBufferSize +$B%G%#%l%/%F%#%V!"(BTimeOut $B%G%#%l%/%F%#%V$O!"(BApache $B$H(B +$B%M%C%H%o!<%/$H$N4X78$rD4@0$7$^$9!#(B

    + +

    KeepAlive $B%G%#%l%/%F%#%V!"(BKeepAliveTimeout +$B%G%#%l%/%F%#%V!"(BMaxKeepAliveRequests $B%G%#%l%/%F%#%V$O!"(B +Apache $B$,(B persistent connection $B$r$I$N$h$&$K07$&$+$r@)8f$7$^$9!#(B

    + +
    +

    $B%j%=!<%9$N@)8B(B

    + +
    +$B4XO"%G%#%l%/%F%#%V(B

    + +LimitRequestBody
    +LimitRequestFields
    +LimitRequestFieldsize
    +LimitRequestLine
    +RLimitCPU
    +RLimitMEM
    +RLimitNPROC
    +ThreadStackSize
    +
    + +

    LimitRequest* $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

    + +

    RLimit* $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

    + +

    ThreadStackSize $B$O(B Netware $B$G$N$_!"%9%?%C%/$NBg$-$5$r(B +$B@)8f$9$k$?$a$K;H$o$l$^$9!#(B

    + + + + 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 @@ + + + +Mapping URLs to Filesystem Locations - Apache HTTP Server + + + + +
    + [APACHE DOCUMENTATION] +

    + Apache HTTP Server +

    +
    + +

    Mapping URLs to Filesystem Locations

    + +

    This document explains the method in which Apache determines +what filesystem location to serve a file from based on the +URL of a request.

    + + + +
    + + +
    +Related Modules

    + +mod_alias
    +mod_rewrite
    +mod_userdir
    +mod_speling
    +mod_vhost_alias
    + +
    +Related Directives

    + +Alias
    +AliasMatch
    +CheckSpelling
    +DocumentRoot
    +ErrorDocument
    +Options
    +Redirect
    +RedirectMatch
    +RewriteCond
    +RewriteRule
    +ScriptAlias
    +ScriptAliasMatch
    +UserDir
    + +
    + +

    DocumentRoot

    + +

    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 +DocumentRoot specified in +your configuration files. Therefore, the files and directories +underneath the DocumentRoot make up the basic document +tree which will be visible from the web.

    + +

    Apache is also capable of Virtual Hosting, +where the server receives requests for more than one host. In this +case, a different DocumentRoot can be specified for each +virtual host, or alternatively, the directives provided by the module +mod_vhost_alias can be used to +dynamically determine the appropriate place from which to serve +content based on the requested IP address or hostname.

    + +

    Files Outside the DocumentRoot

    + +

    There are frequently circumstances where it is necessary to allow +web access to parts of the filesystem which are not strictly +underneath the DocumentRoot. +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 DocumentRoot. For security reasons, +symbolic links will only be followed if the Options setting for the relevant +directory includes FollowSymLinks or +SymLinksIfOwnerMatch.

    + +

    Alternatively, the Alias +directive can be used to map any part of the filesystem into the web +space. For example, with

    + +
    Alias /docs /var/web/ +
    + +

    the URL http://www.example.com/docs/dir/file.html will +be served from /var/web/dir/file.html. The ScriptAlias directive works +the same way, with the additional effect that all content located at +the target path is treated as CGI scripts.

    + +

    For situations where additional flexibility is required, the AliasMatch and ScriptAliasMatch +directives can do powerful regular-expression based matching and +substitution. For example,

    + +
    ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*) +/home/$1/cgi-bin/$2
    + +

    will map a request to +http://example.com/~user/cgi-bin/script.cgi to the path +/home/user/cgi-bin/script.cgi and will treat the +resulting file as a CGI script.

    + +

    User Directories

    + +

    Traditionally on Unix systems, the home directory of a particular +user can be referred to as ~user/. The module +mod_userdir extends this idea to +the web by allowing files under each user's home directory to be +accessed using URLs such as the following.

    + +
    http://www.example.com/~user/file.html
    + +

    For security reasons, it would be inappropriate to give direct +access to a user's home directory from the web. Therefore, the UserDir directive is used to +specify a directory underneath the user's home directory where web +files will be located. Using the default setting of Userdir +public_html, the above URL would look for a file at a directory +like /home/user/public_html/file.html where the +/home/user/ is the user's home directory as specified in +/etc/passwd.

    + +

    There are also several other forms of the Userdir +directive which can be used on systems where /etc/passwd +cannot be used to find the location of the home directory.

    + +

    Some people find the "~" symbol (which is often encoded on the web +as %7e) 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 AliasMatch directive to +achieve the desired effect. For example, to make +http://www.example.com/upages/user/file.html map to +/home/user/public_html/file.html, the following +AliasMatch directive can be used.

    + +
    +AliasMatch ^/upages/([^/]*)/?(.*) /home/$1/public_html/$2 +
    + +

    URL Redirection

    + +

    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 redirection +and is implemented by the Redirect directive. For example, +if the contents of the directory /foo/ under the +DocumentRoot have been moved to the new directory +/bar/, clients can instructed to request the content at +the new location as follows.

    + +
    Redirect permanent +/foo/ http://www.example.com/bar/
    + +

    This will redirect any URL-Path starting in /foo/ to +the same URL path on the www.example.com server with +/bar/ substituted for /foo/. Note that +clients can be redirected to any server, not only the origin +server.

    + +

    Apache also provides a RedirectMatch 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.

    + +
    +RedirectMatch permanent ^/$ http://www.example.com/startpage.html +
    + +

    Alternatively, to temporarily redirect all pages on a site to one +particular page, the following configuration is useful.

    + +
    +RedirectMatch temp .* http://www.example.com/startpage.html +
    + +

    Rewriting Engine

    + +

    When even more powerful substitution is required, the rewriting +engine provided by mod_rewrite 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 URL +Rewriting Guide.

    + +

    File Not Found

    + +

    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 URL +redirection 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.

    + +

    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 mod_speling +(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.

    + +

    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.

    + +

    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 ErrorDocument directive and can +be customized in a flexible manner as discussed in the Custom error responses and International Server Error +Responses documents.

    + +
    +

    + Apache HTTP Server +

    + +Index + + + 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 @@ + + + +Apache Virtual Host documentation + + + + + +

    Apache Virtual Host documentation

    + +

    The term Virtual Host 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 +www.company1.com and www.company2.com, +without requiring the user to know any extra path information.

    + +

    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.

    + +

    Below is a list of documentation pages which explain all details +of virtual host support in Apache version 1.3 and later.

    + +
    + +

    Virtual Host Support

    + + + +

    Configuration directives

    + + + +

    Folks trying to debug their virtual host configuration may find the +Apache -S 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. + + + + 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 @@ + + + +Apache Virtual Host documentation + + + + + +

    Apache Virtual Host documentation

    + +

    The term Virtual Host 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 +www.company1.com and www.company2.com, +without requiring the user to know any extra path information.

    + +

    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.

    + +

    Below is a list of documentation pages which explain all details +of virtual host support in Apache version 1.3 and later.

    + +
    + +

    Virtual Host Support

    + + + +

    Configuration directives

    + + + +

    Folks trying to debug their virtual host configuration may find the +Apache -S 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. + + + + + 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 @@ + + + +Apache $B%P!<%A%c%k%[%9%H@bL@=q(B + + + + + + +

    Apache $B%P!<%A%c%k%[%9%H@bL@=q(B

    + +

    $B%P!<%A%c%k%[%9%H(B$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$N2q7W$J%Q%9L>$rMW5a$;$:$K!"(B +www.company1.com $B$d(B www.company2.com +$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

    + +

    Apache $B$O!"FC$KuBV$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

    + +

    $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

    + +
    + +

    $B%P!<%A%c%k%[%9%H$N%5%]!<%H(B

    + + + +

    $B@_Dj%G%#%l%/%F%#%V(B

    + + + +

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

    + + + + -- cgit v1.2.3