diff options
Diffstat (limited to 'rubbos/app/apache2/manual/howto')
26 files changed, 6551 insertions, 0 deletions
diff --git a/rubbos/app/apache2/manual/howto/auth.html b/rubbos/app/apache2/manual/howto/auth.html new file mode 100644 index 00000000..c485dfb9 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/auth.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: auth.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: auth.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: auth.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: auth.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/rubbos/app/apache2/manual/howto/auth.html.en b/rubbos/app/apache2/manual/howto/auth.html.en new file mode 100644 index 00000000..f410577f --- /dev/null +++ b/rubbos/app/apache2/manual/howto/auth.html.en @@ -0,0 +1,355 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Authentication, Authorization and Access Control - Apache HTTP Server</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.0</a> > <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>Authentication, Authorization and Access Control</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/howto/auth.html" title="English"> en </a> | +<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Espaol"> es </a> | +<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> + + <p>Authentication is any process by which you verify that + someone is who they claim they are. Authorization is any + process by which someone is allowed to be where they want to + go, or to have information that they want to have.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Related Modules and Directives</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduction</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">The Prerequisites</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">Getting it working</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Letting more than one +person in</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Possible problems</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#whatotherneatstuffcanido">What other neat stuff can I +do?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">More information</a></li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">Related Modules and Directives</a></h2> + <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code></li><li><code class="module"><a href="../mod/mod_access.html">mod_access</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li></ul></td></tr></table> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="introduction" id="introduction">Introduction</a></h2> + <p>If you have information on your web site that is sensitive + or intended for only a small group of people, the techniques in + this article will help you make sure that the people that see + those pages are the people that you wanted to see them.</p> + + <p>This article covers the "standard" way of protecting parts + of your web site that most of you are going to use.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="theprerequisites" id="theprerequisites">The Prerequisites</a></h2> + <p>The directives discussed in this article will need to go + either in your main server configuration file (typically in a + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> section), or + in per-directory configuration files (<code>.htaccess</code> files).</p> + + <p>If you plan to use <code>.htaccess</code> files, you will + need to have a server configuration that permits putting + authentication directives in these files. This is done with the + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> directive, which + specifies which directives, if any, may be put in per-directory + configuration files.</p> + + <p>Since we're talking here about authentication, you will need + an <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> directive like the + following:</p> + + <div class="example"><p><code> + AllowOverride AuthConfig + </code></p></div> + + <p>Or, if you are just going to put the directives directly in + your main server configuration file, you will of course need to + have write permission to that file.</p> + + <p>And you'll need to know a little bit about the directory + structure of your server, in order to know where some files are + kept. This should not be terribly difficult, and I'll try to + make this clear when we come to that point.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="gettingitworking" id="gettingitworking">Getting it working</a></h2> + <p>Here's the basics of password protecting a directory on your + server.</p> + + <p>You'll need to create a password file. This file should be + placed somewhere not accessible from the web. This is so that + folks cannot download the password file. For example, if your + documents are served out of <code>/usr/local/apache/htdocs</code> you + might want to put the password file(s) in + <code>/usr/local/apache/passwd</code>.</p> + + <p>To create the file, use the <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> utility that + came with Apache. This will be located in the <code>bin</code> directory + of wherever you installed Apache. To create the file, type:</p> + + <div class="example"><p><code> + htpasswd -c /usr/local/apache/passwd/passwords rbowen + </code></p></div> + + <p><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> will ask you for the password, and + then ask you to type it again to confirm it:</p> + + <div class="example"><p><code> + # htpasswd -c /usr/local/apache/passwd/passwords rbowen<br /> + New password: mypassword<br /> + Re-type new password: mypassword<br /> + Adding password for user rbowen + </code></p></div> + + <p>If <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> is not in your path, of course + you'll have to type the full path to the file to get it to run. + On my server, it's located at + <code>/usr/local/apache/bin/htpasswd</code></p> + + <p>Next, you'll need to configure the server to request a + password and tell the server which users are allowed access. + You can do this either by editing the <code>httpd.conf</code> + file or using an <code>.htaccess</code> file. For example, if + you wish to protect the directory + <code>/usr/local/apache/htdocs/secret</code>, you can use the + following directives, either placed in the file + <code>/usr/local/apache/htdocs/secret/.htaccess</code>, or + placed in <code>httpd.conf</code> inside a <Directory + /usr/local/apache/apache/htdocs/secret> section.</p> + + <div class="example"><p><code> + AuthType Basic<br /> + AuthName "Restricted Files"<br /> + AuthUserFile /usr/local/apache/passwd/passwords<br /> + Require user rbowen + </code></p></div> + + <p>Let's examine each of those directives individually. The <code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code> directive selects + that method that is used to authenticate the user. The most + common method is <code>Basic</code>, and this is the method + implemented by <code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code>. It is important to be aware, + however, that Basic authentication sends the password from the client to + the browser unencrypted. This method should therefore not be used for + highly sensitive data. Apache supports one other authentication method: + <code>AuthType Digest</code>. This method is implemented by <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> and is much more secure. Only the most recent + versions of clients are known to support Digest authentication.</p> + + <p>The <code class="directive"><a href="../mod/core.html#authname">AuthName</a></code> directive sets + the <dfn>Realm</dfn> to be used in the authentication. The realm serves + two major functions. First, the client often presents this information to + the user as part of the password dialog box. Second, it is used by the + client to determine what password to send for a given authenticated + area.</p> + + <p>So, for example, once a client has authenticated in the + <code>"Restricted Files"</code> area, it will automatically + retry the same password for any area on the same server that is + marked with the <code>"Restricted Files"</code> Realm. + Therefore, you can prevent a user from being prompted more than + once for a password by letting multiple restricted areas share + the same realm. Of course, for security reasons, the client + will always need to ask again for the password whenever the + hostname of the server changes.</p> + + <p>The <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code> + directive sets the path to the password file that we just + created with <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code>. If you have a large number + of users, it can be quite slow to search through a plain text + file to authenticate the user on each request. Apache also has + the ability to store user information in fast database files. + The <code class="module"><a href="../mod/mod_auth_dbm.html">mod_auth_dbm</a></code> module provides the <code class="directive"><a href="../mod/mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code> directive. These + files can be created and manipulated with the <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> program. Many + other types of authentication options are available from third + party modules in the <a href="http://modules.apache.org/">Apache Modules + Database</a>.</p> + + <p>Finally, the <code class="directive"><a href="../mod/core.html#require">Require</a></code> + directive provides the authorization part of the process by + setting the user that is allowed to access this region of the + server. In the next section, we discuss various ways to use the + <code class="directive"><a href="../mod/core.html#require">Require</a></code> directive.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Letting more than one +person in</a></h2> + <p>The directives above only let one person (specifically + someone with a username of <code>rbowen</code>) into the + directory. In most cases, you'll want to let more than one + person in. This is where the <code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code> comes in.</p> + + <p>If you want to let more than one person in, you'll need to + create a group file that associates group names with a list of + users in that group. The format of this file is pretty simple, + and you can create it with your favorite editor. The contents + of the file will look like this:</p> + + <div class="example"><p><code> + GroupName: rbowen dpitts sungo rshersey + </code></p></div> + + <p>That's just a list of the members of the group in a long + line separated by spaces.</p> + + <p>To add a user to your already existing password file, + type:</p> + + <div class="example"><p><code> + htpasswd /usr/local/apache/passwd/passwords dpitts + </code></p></div> + + <p>You'll get the same response as before, but it will be + appended to the existing file, rather than creating a new file. + (It's the <code>-c</code> that makes it create a new password + file).</p> + + <p>Now, you need to modify your <code>.htaccess</code> file to + look like the following:</p> + + <div class="example"><p><code> + AuthType Basic<br /> + AuthName "By Invitation Only"<br /> + AuthUserFile /usr/local/apache/passwd/passwords<br /> + AuthGroupFile /usr/local/apache/passwd/groups<br /> + Require group GroupName + </code></p></div> + + <p>Now, anyone that is listed in the group <code>GroupName</code>, + and has an entry in the <code>password</code> file, will be let in, if + they type the correct password.</p> + + <p>There's another way to let multiple users in that is less + specific. Rather than creating a group file, you can just use + the following directive:</p> + + <div class="example"><p><code> + Require valid-user + </code></p></div> + + <p>Using that rather than the <code>Require user rbowen</code> + line will allow anyone in that is listed in the password file, + and who correctly enters their password. You can even emulate + the group behavior here, by just keeping a separate password + file for each group. The advantage of this approach is that + Apache only has to check one file, rather than two. The + disadvantage is that you have to maintain a bunch of password + files, and remember to reference the right one in the + <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code> directive.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="possibleproblems" id="possibleproblems">Possible problems</a></h2> + <p>Because of the way that Basic authentication is specified, + your username and password must be verified every time you + request a document from the server. This is even if you're + reloading the same page, and for every image on the page (if + they come from a protected directory). As you can imagine, this + slows things down a little. The amount that it slows things + down is proportional to the size of the password file, because + it has to open up that file, and go down the list of users + until it gets to your name. And it has to do this every time a + page is loaded.</p> + + <p>A consequence of this is that there's a practical limit to + how many users you can put in one password file. This limit + will vary depending on the performance of your particular + server machine, but you can expect to see slowdowns once you + get above a few hundred entries, and may wish to consider a + different authentication method at that time.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="whatotherneatstuffcanido" id="whatotherneatstuffcanido">What other neat stuff can I +do?</a></h2> + <p>Authentication by username and password is only part of the + story. Frequently you want to let people in based on something + other than who they are. Something such as where they are + coming from.</p> + + <p>The <code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code> and + <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code> directives let + you allow and deny access based on the host name, or host + address, of the machine requesting a document. The + <code class="directive"><a href="../mod/mod_access.html#order">Order</a></code> directive goes + hand-in-hand with these two, and tells Apache in which order to + apply the filters.</p> + + <p>The usage of these directives is:</p> + + <div class="example"><p><code> + Allow from <var>address</var> + </code></p></div> + + <p>where <var>address</var> is an IP address (or a partial IP + address) or a fully qualified domain name (or a partial domain + name); you may provide multiple addresses or domain names, if + desired.</p> + + <p>For example, if you have someone spamming your message + board, and you want to keep them out, you could do the + following:</p> + + <div class="example"><p><code> + Deny from 10.252.46.165 + </code></p></div> + + <p>Visitors coming from that address will not be able to see + the content covered by this directive. If, instead, you have a + machine name, rather than an IP address, you can use that.</p> + + <div class="example"><p><code> + Deny from <var>host.example.com</var> + </code></p></div> + + <p>And, if you'd like to block access from an entire domain, + you can specify just part of an address or domain name:</p> + + <div class="example"><p><code> + Deny from <var>192.168.205</var><br /> + Deny from <var>phishers.example.com</var> <var>moreidiots.example</var><br /> + Deny from ke + </code></p></div> + + <p>Using <code class="directive"><a href="../mod/mod_access.html#order">Order</a></code> will let you be + sure that you are actually restricting things to the group that you want + to let in, by combining a <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code> + and an <code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code> directive:</p> + + <div class="example"><p><code> + Order deny,allow<br /> + Deny from all<br /> + Allow from <var>dev.example.com</var> + </code></p></div> + + <p>Listing just the <code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code> + directive would not do what you want, because it will let folks from that + host in, in addition to letting everyone in. What you want is to let + <em>only</em> those folks in.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="moreinformation" id="moreinformation">More information</a></h2> + <p>You should also read the documentation for <code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code> + and <code class="module"><a href="../mod/mod_access.html">mod_access</a></code> which contain some more information + about how this all works.</p> +</div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/howto/auth.html" title="English"> en </a> | +<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Espaol"> es </a> | +<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/auth.html.es b/rubbos/app/apache2/manual/howto/auth.html.es new file mode 100644 index 00000000..f2839d77 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/auth.html.es @@ -0,0 +1,374 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Autentificacin, Autorizacin y Control de Acceso - Servidor HTTP Apache</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">Mdulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="../faq/">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa de este sitio web</a></p> +<p class="apache">Versin 2.0 del Servidor HTTP Apache</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentacin</a> > <a href="../">Versin 2.0</a> > <a href="./">How-To / Tutoriales</a></div><div id="page-content"><div id="preamble"><h1>Autentificacin, Autorizacin y Control de Acceso</h1> +<div class="toplang"> +<p><span>Idiomas disponibles: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/howto/auth.html" title="Espaol"> es </a> | +<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">Esta traduccin podra estar + obsoleta. Consulte la versin en ingls de la + documentacin para comprobar si se han producido cambios + recientemente.</div> + + <p>La autentificacin es cualquier proceso mediante el cual se + verifica que alguien es quien dice ser. La autorizacin es + cualquier proceso por el cual a alguien se le permite estar donde + quiere ir, o tener la informacin que quiere tener.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Mdulos y Directivas relacionadas</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduccin</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">Los Prerrequisitos</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">Puesta en funcionamiento</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Permitir el acceso a ms +de una persona</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Posibles Problemas</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#whatotherneatstuffcanido">Qu otra cosa +sencilla y efectiva puedo hacer?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">Ms informacin</a></li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">Mdulos y Directivas relacionadas</a></h2> + <table class="related"><tr><th>Mdulos Relacionados</th><th>Directivas Relacionadas</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code></li><li><code class="module"><a href="../mod/mod_access.html">mod_access</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li></ul></td></tr></table> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="introduction" id="introduction">Introduccin</a></h2> + <p>Si en su sitio web tiene informacin sensible o dirigida + slo a un pequeo grupo de personas, las tcnicas + explicadas en ste artculo le ayudarn a + asegurarse de que las personas que ven esas pginas son las + personas que usted quiere que las vean.</p> + + <p>Este artculo cubre la manera "estndar" de proteger + partes de su sitio web que la mayora de ustedes van a usar.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="theprerequisites" id="theprerequisites">Los Prerrequisitos</a></h2> + <p>Las directivas tratadas en ste artculo necesitarn + ir en el archivo de configuracin principal de su servidor + (tpicamente en una seccin del tipo + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>), + o en archivos de configuracin por directorios (archivos + <code>.htaccess</code>).</p> + + <p>Si planea usar archivos <code>.htaccess</code>, necesitar + tener una configuracin en el servidor que permita poner directivas + de autentificacin en estos archivos. Esto se logra con la + directiva <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>, + la cual especifica cules directivas, en caso de existir, pueden + ser colocadas en los archivos de configuracin por directorios.</p> + + <p>Ya que se est hablando de autentificacin, necesitar + una directiva <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> como + la siguiente:</p> + + <div class="example"><p><code> + AllowOverride AuthConfig + </code></p></div> + + <p>O, si slo va a colocar directivas directamente en el principal + archivo de configuracin del servidor, por supuesto necesitar + tener permiso de escritura a ese archivo.</p> + + <p>Y necesitar saber un poco acerca de la estructura de + directorios de su servidor, con la finalidad de que sepa dnde + estn algunos archivos. Esto no debera ser muy + difcil, y tratar de hacerlo sencillo cuando lleguemos a + ese punto.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="gettingitworking" id="gettingitworking">Puesta en funcionamiento</a></h2> + <p>Aqu est lo esencial en cuanto a proteger con + contrasea un directorio de su servidor.</p> + + <p>Necesitar crear un archivo de contraseas. ste + archivo debera colocarlo en algn sitio no accesible + mediante la Web. Por ejemplo, si sus documentos son servidos desde + <code>/usr/local/apache/htdocs</code> usted podra querer colocar + el(los) archivo(s) de contraseas en + <code>/usr/local/apache/passwd</code>.</p> + + <p>Para crear un archivo de contraseas, use la utilidad + <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> que viene con Apache. + sta utilidad puede encontrarla en el directorio <code>bin</code> + de cualquier sitio en que haya instalado Apache. Para crear el + archivo, escriba:</p> + + <div class="example"><p><code> + htpasswd -c /usr/local/apache/passwd/passwords rbowen + </code></p></div> + + <p><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> le pedir la contrasea, y luego se + la volver a pedir para confirmarla:</p> + + <div class="example"><p><code> + # htpasswd -c /usr/local/apache/passwd/passwords rbowen<br /> + New password: mypassword<br /> + Re-type new password: mypassword<br /> + Adding password for user rbowen + </code></p></div> + + <p>Si <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> no est en su ruta, por supuesto + tendr que escribir la ruta completa al archivo para ejecutarlo. + En mi servidor, ste archivo est en + <code>/usr/local/apache/bin/htpasswd</code></p> + + <p>El siguiente paso es configurar el servidor para que solicite una + contrasea y decirle al servidor a qu usuarios se les + permite el acceso. Puede hacer esto editando el archivo + <code>httpd.conf</code> o usando un archivo <code>.htaccess</code>. + Por ejemplo, si desea proteger el directorio + <code>/usr/local/apache/htdocs/secret</code>, puede usar las siguientes + directivas, ya sea colocndolas en el archivo + <code>/usr/local/apache/htdocs/secret/.htaccess</code>, + o en <code>httpd.conf</code> dentro de una seccin <Directory + /usr/local/apache/apache/htdocs/secret>.</p> + + <div class="example"><p><code> + AuthType Basic<br /> + AuthName "Restricted Files"<br /> + AuthUserFile /usr/local/apache/passwd/passwords<br /> + Require user rbowen + </code></p></div> + + <p>Vamos a examinar cada una de estas directivas por separado. La + directiva <code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code> selecciona + el mtodo que se va a usar para autentificar al usuario. El + mtodo ms comn es <code>Basic</code>, y ste + mtodo est implementado en <code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code>. Es importante + ser consciente, sin embargo, de que la autentificacin Bsica + enva la contrasea desde el cliente hasta el navegador sin + encriptar. Por lo tanto, este mtodo no debera ser usado + para informacin altamente sensible. Apache soporta otro mtodo + de autentificacin: <code>AuthType Digest</code>. Este mtodo + est implementado en <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> y es mucho ms + seguro. Slo las versiones ms recientes de clientes soportan + la autentificacin del tipo Digest.</p> + + <p>La directiva <code class="directive"><a href="../mod/core.html#authname">AuthName</a></code> establece + el <dfn>Dominio (Realm)</dfn> a usar en la + autentificacin. El dominio (realm) cumple + dos funciones importantes. Primero, el cliente frecuentemente presenta + esta informacin al usuario como parte del cuatro de dilogo + para la contrasea. Segundo, es usado por el cliente para determinar + qu contrasea enviar para un rea autentificada dada.</p> + + <p>As, por ejemplo, una vez que el cliente se haya autentificado en + el rea <code>"Restricted Files"</code>, + automticamente se volver a tratar de usar la misma + contrasea en cualquier rea del mismo servidor que est + marcado con el Dominio (Realm) <code>"Restricted Files"</code>. Por lo tanto, + puede evitar que se le pida al usuario la contrasea + ms de una vez permitiendo compartir el mismo dominio (realm) + para mltiples reas restringidas. Por supuesto, por + razones de seguridad, el cliente siempre necesitar pedir de + nuevo la contrasea cuando cambie el nombre de la + mquina del servidor.</p> + + <p>La directiva <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code> + establece la ruta al archivo de contrasea que acabamos de crear + con <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code>. Si tiene un gran nmero de usuarios, + sera bastante lento buscar por medio de un archivo en texto plano + para autentificar al usuario en cada solicitud. Apache tambin tiene + la capacidad de almacenar la informacin del usuario en + archivos rpidos de bases de datos. El mdulo <code class="module"><a href="../mod/mod_auth_dbm.html">mod_auth_dbm</a></code> + proporciona la directiva <code class="directive"><a href="../mod/mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>. Estos archivos pueden + ser creados y manipulados con el programa + <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code>. Muchos otros tipos + de opciones de autentificacin estn disponibles en mdulos + de terceras partes en la <a href="http://modules.apache.org/">Base de + datos de Mdulos de Apache</a>.</p> + + <p>Finalmente, la directiva <code class="directive"><a href="../mod/core.html#require">Require</a></code> + proporciona la parte de la autorizacin del proceso estableciendo + el usuario al que se le permite acceder a ese rea del servidor. + En la prxima seccin, discutimos varias formas de usar la + directiva <code class="directive"><a href="../mod/core.html#require">Require</a></code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Permitir el acceso a ms +de una persona</a></h2> + <p>Las directivas anteriores slo permiten que una persona + (especficamente alguien con un nombre de usuario de + <code>rbowen</code>) acceda al directorio. En la mayora de los + casos, usted querr permitir el acceso a ms de una persona. + Aqu es donde entra la directiva <code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code>.</p> + + <p>Si desea permitir la entrada a ms de una persona, necesitar + crear un archivo de grupo que asocie nombres de grupo con una lista + de usuarios perteneciente a ese grupo. El formato de este archivo es muy sencillo, + y puede crearlo con su editor favorito. El contenido del archivo + ser parecido a este:</p> + + <div class="example"><p><code> + GroupName: rbowen dpitts sungo rshersey + </code></p></div> + + <p>Esto es solo una lista de miembros del grupo escritos en una + lnea separados por espacios.</p> + + <p>Para agregar un usuario a un archivo de contraseas ya existente, + escriba:</p> + + <div class="example"><p><code> + htpasswd /usr/local/apache/passwd/passwords dpitts + </code></p></div> + + <p>Obtendr la misma respuesta que antes, pero el nuevo usuario ser agregado + al archivo existente, en lugar de crear un nuevo archivo. + (Es la opcin <code>-c</code> la que se cree un nuevo archivo + de contraseas).</p> + + <p>Ahora, necesita modificar su archivo <code>.htaccess</code> para que + sea como el siguiente:</p> + + <div class="example"><p><code> + AuthType Basic<br /> + AuthName "By Invitation Only"<br /> + AuthUserFile /usr/local/apache/passwd/passwords<br /> + AuthGroupFile /usr/local/apache/passwd/groups<br /> + Require group GroupName + </code></p></div> + + <p>Ahora, cualquiera que est listado en el grupo <code>GroupName</code>, + y figure en el archivo <code>password</code>, se le permitir + el acceso, si escribe la contrasea correcta.</p> + + <p>Existe otra manera de permitir entrar a mltiples usuarios que + es menos especfica. En lugar de crear un archivo de grupo, puede + usar slo la siguiente directiva:</p> + + <div class="example"><p><code> + Require valid-user + </code></p></div> + + <p>Usando eso en vez de la lnea <code>Require user rbowen</code>, + le permitir el acceso a cualquiera que est listado en el + archivo de contraseas y que haya introducido correctamente su + contrasea. Incluso puede emular el comportamiento del grupo + aqu, slo manteniendo un archivo de contrasea para + cada grupo. La ventaja de esta tcnica es que Apache slo + tiene que verificar un archivo, en vez de dos. La desventaja es que + usted tiene que mantener un grupo de archivos de contrasea, y + recordar referirse al correcto en la directiva <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="possibleproblems" id="possibleproblems">Posibles Problemas</a></h2> + <p>Por la manera en la que la autentificacin bsica est + especificada, su nombre de usuario y contrasea debe ser verificado + cada vez que se solicita un documento del servidor. Incluso si est + recargando la misma pgina, y por cada imagen de la pgina + (si vienen de un directorio protegido). Como se puede imaginar, esto + retrasa un poco las cosas. El retraso es proporcional al + tamao del archivo de contrasea, porque se tiene que abrir ese + archivo, y recorrer la lista de usuarios hasta que encuentre su nombre. + Y eso se tiene que hacer cada vez que se cargue la pgina.</p> + + <p>Una consecuencia de esto es que hay un lmite prctico + de cuntos usuarios puede colocar en un archivo de contraseas. + Este lmite variar dependiendo del rendimiento de su equipo + servidor en particular, pero puede esperar observar una disminucin + una vez que inserte unos cientos de entradas, y puede que entonces considere + un mtodo distinto de autentificacin.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="whatotherneatstuffcanido" id="whatotherneatstuffcanido">Qu otra cosa +sencilla y efectiva puedo hacer?</a></h2> + <p>La autentificacin por nombre de usuario y contrasea es + slo parte del cuento. Frecuentemente se desea permitir el acceso + a los usuarios basandose en algo ms que quines son. Algo como de + dnde vienen.</p> + + <p>Las directivas <code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code> y + <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code> posibilitan permitir + y rechazar el acceso dependiendo del nombre o la direccin de la + mquina que solicita un documento. La directiva <code class="directive"><a href="../mod/mod_access.html#order">Order</a></code> va de la mano con estas dos, y le + dice a Apache en qu orden aplicar los filtros.</p> + + <p>El uso de estas directivas es:</p> + + <div class="example"><p><code> + Allow from <var>address</var> + </code></p></div> + + <p>donde <var>address</var> es una direccin IP (o una + direccin IP parcial) o un nombre de dominio completamente + cualificado (o un nombre de dominio parcial); puede proporcionar + mltiples direcciones o nombres de dominio, si lo desea.</p> + + <p>Por ejemplo, si usted tiene a alguien que manda mensajes no deseados + a su foro, y quiere que no vuelva a acceder, podra hacer lo + siguiente:</p> + + <div class="example"><p><code> + Deny from 205.252.46.165 + </code></p></div> + + <p>Los visitantes que vengan de esa direccin no podrn + ver el contenido afectado por esta directiva. Si, por el + contrario, usted tiene un nombre de mquina pero no una + direccin IP, tambin puede usarlo.</p> + + <div class="example"><p><code> + Deny from <var>host.example.com</var> + </code></p></div> + + <p>Y, si le gustara bloquear el acceso de un dominio entero, + puede especificar slo parte de una direccin o nombre de + dominio:</p> + + <div class="example"><p><code> + Deny from <var>192.101.205</var><br /> + Deny from <var>cyberthugs.com</var> <var>moreidiots.com</var><br /> + Deny from ke + </code></p></div> + + <p>Usar <code class="directive"><a href="../mod/mod_access.html#order">Order</a></code> le permitir + estar seguro de que efectivamente est restringiendo el acceso + al grupo al que quiere permitir el acceso, combinando una directiva + <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code> y una <code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code>:</p> + + <div class="example"><p><code> + Order deny,allow<br /> + Deny from all<br /> + Allow from <var>dev.example.com</var> + </code></p></div> + + <p>Usando slo la directiva <code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code> no hara lo que desea, porque + le permitira entrar a la gente proveniente de esa mquina, y + adicionalmente a cualquier persona. Lo que usted quiere es dejar entrar + <em>slo</em> aquellos.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="moreinformation" id="moreinformation">Ms informacin</a></h2> + <p>Tambin debera leer la documentacin de + <code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code> y <code class="module"><a href="../mod/mod_access.html">mod_access</a></code> que + contiene ms informacin acerca de cmo funciona todo esto.</p> +</div></div> +<div class="bottomlang"> +<p><span>Idiomas disponibles: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/howto/auth.html" title="Espaol"> es </a> | +<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los trminos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Mdulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="../faq/">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa de este sitio web</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/auth.html.ja.utf8 b/rubbos/app/apache2/manual/howto/auth.html.ja.utf8 new file mode 100644 index 00000000..bcbfd650 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/auth.html.ja.utf8 @@ -0,0 +1,388 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>認証、承認、アクセス制御 - Apache HTTP サーバ</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.0</a> > <a href="./">How-To / チュートリアル</a></div><div id="page-content"><div id="preamble"><h1>認証、承認、アクセス制御</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../ja/howto/auth.html" title="Japanese"> ja </a> | +<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">This translation may be out of date. Check the + English version for recent changes.</div> + + <p>「認証」とは、誰かが自分は誰であるかを主張した場合に、 + それを確認するための全過程を指します。「承認」とは、 + 誰かが行きたい場所に行けるように、あるいは欲しい情報を + 得ることができるようにするための全過程を指します。</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">関連するモジュールとディレクティブ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#introduction">はじめに</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">準備</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">動作させる</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin"> +複数の人が入れるようにする</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">起こりえる問題</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#whatotherneatstuffcanido">もっと巧みに制御できない +?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">追加情報</a></li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">関連するモジュールとディレクティブ</a></h2> + <table class="related"><tr><th>関連モジュール</th><th>関連ディレクティブ</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code></li><li><code class="module"><a href="../mod/mod_access.html">mod_access</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li></ul></td></tr></table> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="introduction" id="introduction">はじめに</a></h2> + <p>もし機密の情報や、ごくごく少数グループの人向けの情報を + ウェブサイトに置くのであれば、この文書に書かれている + テクニックを使うことで、そのページを見ている人たちが + 望みの人たちであることを確実にできるでしょう。</p> + + <p>この文書では、多くの人が採用するであろう、 + ウェブサイトの一部分を保護する「一般的な」 + 方法についてカバーしています。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="theprerequisites" id="theprerequisites">準備</a></h2> + <p>この文書で取り扱われるディレクティブは、 + メインサーバ設定ファイル (普通は + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + セクション中) か、あるいはディレクトリ毎の設定ファイル + (<code>.htaccess</code> ファイル) かで用います。</p> + + <p><code>.htaccess</code> ファイルを用いるのであれば、 + これらのファイルに認証用のディレクティブを置けるように + サーバの設定をしないといけないでしょう。これは + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> + ディレクティブで可能になります。 + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> + ディレクティブでは、ディレクトリ毎の設定ファイル中に置くことのできる + ディレクティブを、もしあれば、指定します。</p> + + <p>認証について話を進めているので、次のような + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> + ディレクティブが必要になるでしょう。</p> + + <div class="example"><p><code> + AllowOverride AuthConfig + </code></p></div> + + <p>そうでなく、メインサーバ設定ファイルの中に + 直接置くのであれば、当然ながらそのファイルへの書き込み + 権限を持っていなければならないでしょう。</p> + + <p>また、どのファイルがどこに保存されているか知るために、 + サーバのディレクトリ構造について少し知っておく + 必要があるでしょう。 + これはそんなに難しくないので、この文書中で + ディレクトリ構造について知っておく必要がある場面では、 + 明らかになるようにします。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="gettingitworking" id="gettingitworking">動作させる</a></h2> + <p>では、サーバ上のあるディレクトリをパスワードで保護する + 基本手順を示します。</p> + + <p>パスワードファイルを作る必要があります。 + このファイルは、ウェブからアクセスできる場所に + 置くべきではありません。他の人がパスワードファイルを + ダウンロードできないようにするためです。例えば、 + <code>/usr/local/apache/htdocs</code> でドキュメントを + 提供しているのであれば、パスワードファイルは + <code>/usr/local/apache/passwd</code> + などに置いた方が良いでしょう。</p> + + <p>ファイルを作るためには、Apache 付属の <a href="../programs/htpasswd.html">htpasswd</a> + を使います。このコマンドは Apache をどこにインストールしようとも、 + インストールディレクトリの <code>bin</code> + ディレクトリ以下に置かれます。ファイルを作るには、次のように + タイプしてください。</p> + + <div class="example"><p><code> + htpasswd -c /usr/local/apache/passwd/passwords rbowen + </code></p></div> + + <p><code>htpasswd</code> は、パスワードを要求し、その後 + 確認のためにもう一度入力するように要求してきます。</p> + + <div class="example"><p><code> + # htpasswd -c /usr/local/apache/passwd/passwords rbowen<br /> + New password: mypassword<br /> + Re-type new password: mypassword<br /> + Adding password for user rbowen + </code></p></div> + + <p>もし <code>htpasswd</code> がパスの中に入っていない場合は、 + もちろん、実行するためにプログラムまでのフルパスを + タイプする必要があります。私のサーバであれば、 + <code>/usr/local/apache/bin/htpasswd</code> + にプログラムが置かれています。</p> + + <p>次に、サーバがパスワードを要求するように設定して、 + どのユーザがアクセスを許されているかをサーバに知らせなければ + なりません。 <code>httpd.conf</code> を編集するか + <code>.htaccess</code> ファイルを使用するかで + 設定します。例えば、ディレクトリ + <code>/usr/local/apache/htdocs/secret</code> + を保護したい場合は、 + <code>/usr/local/apache/htdocs/secret/.htaccess</code> + か httpd.conf 中の <Directory + /usr/local/apache/apache/htdocs/secret> セクションに + 配置して、次のディレクティブを使うことができます。</p> + + <div class="example"><p><code> + AuthType Basic<br /> + AuthName "Restricted Files"<br /> + AuthUserFile /usr/local/apache/passwd/passwords<br /> + Require user rbowen + </code></p></div> + + <p>個々のディレクティブについて見てみましょう。 + <code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code> + ディレクティブはどういう認証方法でユーザの認証を行うかを + 選択します。最も一般的な方法は <code>Basic</code> + で、これは <code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code> + で実装されています。しかしながら、 + これは気を付けるべき重要なポイントなのですが、 + Basic 認証はクライアントからブラウザへ、 + パスワードを暗号化せずに送ります。ですから、 + この方法は特に機密性の高いデータに対しては用いるべきでは + ありません。 Apache ではもう一つ別の認証方法: + <code>AuthType Digest</code> をサポートしています。 + この方法は <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> + で実装されていて、もっと安全です。 + ごくごく最近のクライアントしか Digest + 認証をサポートしていないようです。</p> + + <p><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code> + ディレクティブでは、認証に使う <dfn>Realm</dfn> (訳注: 領域) + を設定します。Realm は大きく分けて二つの機能を提供します。 + 一つ目は、クライアントがパスワードダイアログボックスの + 一部としてユーザにこの情報をよく提示する、というものです。 + 二つ目には、クライアントが与えられた認証領域に対してどのパスワードを + 送信すれば良いのかを決定するために使われる、という機能です。</p> + + <p>例えば、<code>"Restricted Files"</code> 領域中で + 一度認証されれば、同一サーバ上で <code>"Restricted Files"</code> + Realm としてマークされたどんな領域でも、クライアントは + 自動的に同じパスワードを使おうと試みます。 + このおかげで、複数の制限領域に同じ realm を共有させて、 + ユーザがパスワードを何度も要求される事態を + 防ぐことができます。もちろん、セキュリティ上の理由から、 + サーバのホスト名が変わればいつでも必ず、 + クライアントは再びパスワードを尋ねる必要があります。</p> + + <p><code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code> + ディレクティブは <code>htpasswd</code> で作った + パスワードファイルへのパスを設定します。 + ユーザ数が多い場合は、リクエスト毎のユーザの認証のための + プレーンテキストの探索が非常に遅くなることがあります。 + Apache ではユーザ情報を高速なデータベースファイルに + 保管することもできます。 + <code class="module"><a href="../mod/mod_auth_dbm.html">mod_auth_dbm</a></code> モジュールが + <code class="directive"><a href="../mod/mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code> + ディレクティブを提供します。これらのファイルは <a href="../programs/dbmmanage.html">dbmmanage</a> + プログラムで作成したり操作したりできます。 + <a href="http://modules.apache.org/">Apache + モジュールデータベース</a>中にあるサードパーティー製の + モジュールで、その他多くのタイプの認証オプションが + 利用可能です。</p> + + <p>最後に、<code class="directive"><a href="../mod/core.html#require">Require</a></code> + ディレクティブが、サーバのこの領域にアクセスできるユーザを + 指定することによって、プロセスの承認部分を提供します。 + 次のセクションでは、<code class="directive"><a href="../mod/core.html#require">Require</a></code> + ディレクティブの様々な用法について述べます。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin"> +複数の人が入れるようにする</a></h2> + <p>上記のディレクティブは、ただ一人 (具体的にはユーザ名 + <code>rbowen</code> の誰か) がディレクトリに + 入れるようにします。多くの場合は、複数の人が + 入れるようにしたいでしょう。ここで + <code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code> + の登場です。</p> + + <p>もし複数の人が入れるようにしたいのであれば、 + グループに属するユーザの一覧の入っている、グループ名のついた + グループファイルを作る必要があります。このファイルの + 書式はきわめて単純で、お好みのエディタで生成できます。 + ファイルの中身は次のようなものです。</p> + + <div class="example"><p><code> + GroupName: rbowen dpitts sungo rshersey + </code></p></div> + + <p>一行にスペース区切りで、グループに所属するメンバーの + 一覧をならべるだけです。</p> + + <p>既に存在するパスワードファイルにユーザを加える場合は、 + 次のようにタイプしてください。</p> + + <div class="example"><p><code> + htpasswd /usr/local/apache/passwd/passwords dpitts + </code></p></div> + + <p>以前と同じ応答が返されますが、新しいファイルを + 作るのではなく、既にあるファイルに追加されています。 + (新しいパスワードファイルを作るには <code>-c</code> + を使います。)</p> + + <p>ここで次のようにして <code>.htaccess</code> ファイルを + 修正する必要があります。</p> + + <div class="example"><p><code> + AuthType Basic<br /> + AuthName "By Invitation Only"<br /> + AuthUserFile /usr/local/apache/passwd/passwords<br /> + AuthGroupFile /usr/local/apache/passwd/groups<br /> + Require group GroupName + </code></p></div> + + <p>これで、グループ <code>GroupName</code> にリストされていて、 + <code>password</code> ファイルにエントリがある人は、 + 正しいパスワードをタイプすれば入ることができるでしょう。</p> + + <p>もっと特定せずに複数のユーザが入れるようにする、 + もう一つの方法があります。グループファイルを作るのではなく、 + 次のディレクティブを使えばできます。</p> + + <div class="example"><p><code> + Require valid-user + </code></p></div> + + <p><code>require user rbowen</code> 行でなく、上記を使うと、 + パスワードファイルにリストされている人であれば誰でも + 許可されます。 + 単にパスワードファイルをグループ毎に分けておくことで、 + グループのような振る舞いをさせることもできます。 + このアプローチの利点は、Apache は二つではなく、 + ただ一つのファイルだけを検査すればよいという点です。 + 欠点は、たくさんのパスワードファイルを管理して、その中から + <code class="directive"><a href="../mod/mod_auth_file.html#authuserfile">AuthUserFile</a></code> + ディレクティブに正しいファイルを参照させなければならない点です。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="possibleproblems" id="possibleproblems">起こりえる問題</a></h2> + <p>Basic 認証が指定されている場合は、 + サーバにドキュメントをリクエストする度に + ユーザ名とパスワードを検査しなければなりません。 + これは同じページ、ページにある全ての画像を + リロードする場合であっても該当します + (もし画像も保護されたディレクトリから来るのであれば) 。 + 予想される通り、これは動作を多少遅くします。 + 遅くなる程度はパスワードファイルの大きさと比例しますが、 + これは、ファイルを開いてあなたの名前を発見するまで + ユーザ名のリストを読まなければならないからです。 + そして、ページがロードされる度にこれを行わなければ + なりません。</p> + + <p>結論としては、一つのパスワードファイルに置くことのできる + ユーザ数には実質的な限界があります。 + この限界はサーバマシンの性能に依存して変わりますが、 + 数百のエントリを越えたあたりから速度低下が見られると予期されています。 + その時は他の認証方法を考慮に入れた方が良いでしょう。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="whatotherneatstuffcanido" id="whatotherneatstuffcanido">もっと巧みに制御できない +?</a></h2> + <p>ユーザ名とパスワードによる認証は認証の一つの方法に過ぎません。 + しばしば誰であるかということとは違う何かに基づいて、 + 入れるようにしたくなることもあるでしょう。 + 例えばその人がどこから来ているかといったことです。</p> + + <p><code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code> と + <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code> + ディレクティブを使って、ドキュメントを要求してきたマシンの + ホスト名やホストアドレスに基づいて許可不許可を制御できます。 + <code class="directive"><a href="../mod/mod_access.html#order">Order</a></code> + ディレクティブはこの二つと連携して動作し、Apache + にどの順番でフィルタを適用するかを知らせます。</p> + + <p>これらのディレクティブの使い方は次のようになります。</p> + + <div class="example"><p><code> + Allow from <var>address</var> + </code></p></div> + + <p>ここで、<var>address</var> は IP アドレス + (または IP アドレスの一部)、あるいは完全修飾ドメイン名 + (またはドメイン名の一部) です。 + 必要であれば複数のアドレスやドメイン名を指定できます。</p> + + <p>例えば、もし誰かが掲示板を攻撃していて、 + その人を閉め出したいのであれば、 + 次のようにすることができます。</p> + + <div class="example"><p><code> + Deny from 205.252.46.165 + </code></p></div> + + <p>このアドレスから来る人は、このディレクティブの範囲内の + コンテンツを見ることができません。もし IP + アドレスの代わりにマシン名があれば、それを使えます。</p> + + <div class="example"><p><code> + Deny from <var>host.example.com</var> + </code></p></div> + + <p>ドメイン全体からのアクセスを防ぎたければ、 + 単にアドレスやドメイン名の一部を指定することができます。</p> + + <div class="example"><p><code> + Deny from <var>192.101.205</var><br /> + Deny from <var>cyberthugs.com</var> <var>moreidiots.com</var><br /> + Deny from ke + </code></p></div> + + <p><code class="directive"><a href="../mod/mod_access.html#order">Order</a></code> を使うことで、 + <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code> と + <code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code> の組み合わせで + 入っても良いグループが本当に確実に限定できているようにできます。</p> + + <div class="example"><p><code> + Order deny,allow<br /> + Deny from all<br /> + Allow from <var>dev.example.com</var> + </code></p></div> + + <p><code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code> + ディレクティブを単純に列挙するのでは望みの動作をしないでしょう。 + なぜなら、全ての人が入れるということに加えて、 + 指定したホストからの人が入れるようにするからです。 + やりたいことは、指定した人たち<em>だけ</em>が入れるように + することです。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="moreinformation" id="moreinformation">追加情報</a></h2> + <p>これら全てがどのように動作するかについて + もっと多くの情報が書かれている <code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code> と + <code class="module"><a href="../mod/mod_access.html">mod_access</a></code> + の文書も読むとよいでしょう。</p> +</div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../ja/howto/auth.html" title="Japanese"> ja </a> | +<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/auth.html.ko.euc-kr b/rubbos/app/apache2/manual/howto/auth.html.ko.euc-kr new file mode 100644 index 00000000..f79cc967 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/auth.html.ko.euc-kr @@ -0,0 +1,325 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>(Authentication), Ѻο(Authorization), +(Access Control) - Apache HTTP Server</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.0</a> > <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>(Authentication), Ѻο(Authorization), +(Access Control)</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/auth.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> + + <p>(authentication) ڽ ϴ + Ȯϴ ̴. Ѻο(authorization) + Ȥ ϴ ϴ ̴.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related"> þ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#introduction">Ұ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">⺻ </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">⺻ ϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin"> 鿩</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems"> ִ </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#whatotherneatstuffcanido">ٸ Ѱ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#moreinformation"> </a></li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related"> þ</a></h2> + <table class="related"><tr><th>õ </th><th>õ þ</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code></li><li><code class="module"><a href="../mod/mod_access.html">mod_access</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li></ul></td></tr></table> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="introduction" id="introduction">Ұ</a></h2> + <p> Ʈ ִ Ҽ 鸸 ̰ų + ̵鸸 , ۿ ϴ Ͽ + ϴ ִ.</p> + + <p> Ʈ Ϻθ ȣϱ + ϴ "ǥ" ٷ.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="theprerequisites" id="theprerequisites">⺻ </a></h2> + <p> ۿ ٷ þ ּ(Ϲ + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + )̳ 丮 (<code>.htaccess</code> ) + Ѵ.</p> + + <p><code>.htaccess</code> Ϸ Ͽ ִ + þ ϵ ؾ Ѵ. ̸ + 丮 Ͽ þ ִ ϴ + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> þ + Ѵ.</p> + + <p>⼭ ٷ , + <code>AllowOverride</code> þ ʿϴ.</p> + + <div class="example"><p><code> + AllowOverride AuthConfig + </code></p></div> + + <p>Ȥ þ ּϿ ´ٸ, Ͽ + ־ Ѵ.</p> + + <p> ȣ ִ ˱ 丮 + ˾ƾѴ. ʰ, + ڼ ̴.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="gettingitworking" id="gettingitworking">⺻ ϱ</a></h2> + <p> 丮 ȣ ȣϴ ⺻ + Ѵ.</p> + + <p> ȣ Ѵ. + ־ Ѵ. ٸ ȣ ٿε + ϰϱ ؼ. , + <code>/usr/local/apache/htdocs</code> ִٸ ȣ() + <code>/usr/local/apache/passwd</code> д.</p> + + <p>ġ Ե <a href="../programs/htpasswd.html">htpasswd</a> Ͽ + ȣ . α ġ ġ + <code>bin</code> 丮 ִ. + ԷѴ.</p> + + <div class="example"><p><code> + htpasswd -c /usr/local/apache/passwd/passwords rbowen + </code></p></div> + + <p><code>htpasswd</code> ȣ , Ȯ + ȣ ٽ Է϶ ûѴ.</p> + + <div class="example"><p><code> + # htpasswd -c /usr/local/apache/passwd/passwords rbowen<br /> + New password: mypassword<br /> + Re-type new password: mypassword<br /> + Adding password for user rbowen + </code></p></div> + + <p> <code>htpasswd</code> ο ٸ + ü θ Էؾ Ѵ. ϴ + <code>/usr/local/apache/bin/htpasswd</code> + ִ.</p> + + <p> ȣ ûϵ ϰ, + ˷ Ѵ. + <code>httpd.conf</code> ϰų <code>.htaccess</code> + Ͽ Ѵ. , + <code>/usr/local/apache/htdocs/secret</code> 丮 + ȣϷ, Ʒ þ + <code>/usr/local/apache/htdocs/secret/.htaccess</code> ̳ + <code>httpd.conf</code> <Directory + /usr/local/apache/apache/htdocs/secret> ǿ + Ѵ.</p> + + <div class="example"><p><code> + AuthType Basic<br /> + AuthName "Restricted Files"<br /> + AuthUserFile /usr/local/apache/passwd/passwords<br /> + Require user rbowen + </code></p></div> + + <p>þ ϳ 캸. <code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code> þ ڸ + Ѵ. Ϲ <code>Basic</code>, + <code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code> Ѵ. Basic + ȣ ȣȭ ʰ . + Ƿ ڷḦ ȣϱ ϸ ȵȴ. + ġ <code>AuthType Digest</code> Ѵ. + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> ϸ, ſ + ϴ. ֱ Ŭ̾Ʈ鸸 Digest Ѵٰ + Ѵ.</p> + + <p><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code> þ + <dfn>(realm)</dfn> Ѵ. + ΰ Ѵ. ù° Ŭ̾Ʈ + ȣ ȭâ ش. ι° Ͽ + Ŭ̾Ʈ Ư ȣ Ѵ.</p> + + <p> , ϴ Ŭ̾Ʈ <code>"Restricted Files"</code> + Ͽٸ, Ŭ̾Ʈ ڵ + <code>"Restricted Files"</code> ǥõ + ȣ õѴ. + ϸ ڰ ȣ Է ʾƵ ȴ. + Ȼ Ŭ̾Ʈ ȣƮ ٸ + ȣ .</p> + + <p><code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code> + þ 츮 <code>htpasswd</code> ȣ + θ Ѵ. ڰ ٸ û Ź ڸ + ϱ Ϲ ˻ϴµ ð + ɸ ִ. ġ Ÿ̽ Ͽ + ִ. <code class="module"><a href="../mod/mod_auth_dbm.html">mod_auth_dbm</a></code> <code class="directive"><a href="../mod/mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code> þ + Ѵ. <a href="../programs/dbmmanage.html">dbmmanage</a> + α Ͽ ȣ ٷ. <a href="http://modules.apache.org/">ġ + Ÿ̽</a> ٸ ϴ ڰ + ִ.</p> + + <p> <code class="directive"><a href="../mod/core.html#require">Require</a></code> + þ Ư ִ ڸ Ͽ + Ѻο Ѵ. <code>require</code> þ + ϴ پ Ѵ.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin"> 鿩</a></h2> + <p> þ 丮 (ڸ <code>rbowen</code>) + 鿩. κ 鿩 + ̴. <code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code> + .</p> + + <p> 鿩 ʹٸ 쿡 + ڵ ִ ˷ִ ʿϴ. + ſ Ͽ, ƹ γ ִ. ϳ + .</p> + + <div class="example"><p><code> + GroupName: rbowen dpitts sungo rshersey + </code></p></div> + + <p>׳ ̴.</p> + + <p> ȣϿ ڸ ߰Ϸ ԷѴ</p> + + <div class="example"><p><code> + htpasswd /usr/local/apache/passwd/passwords dpitts + </code></p></div> + + <p> , ʰ Ͽ ڸ + ߰Ѵ. (<code>-c</code> ɼ ȣ ).</p> + + <p> <code>.htaccess</code> Ѵ.</p> + + <div class="example"><p><code> + AuthType Basic<br /> + AuthName "By Invitation Only"<br /> + AuthUserFile /usr/local/apache/passwd/passwords<br /> + AuthGroupFile /usr/local/apache/passwd/groups<br /> + Require group GroupName + </code></p></div> + + <p> <code>GroupName</code> 쿡 ϸ + <code>password</code> Ͽ ִ ڰ ùٸ + ȣ Էϸ Ѵ.</p> + + <p> Ϲ ڸ 鿩 ٸ ִ. + ʿ þ ϱ⸸ ϸ ȴ.</p> + + <div class="example"><p><code> + Require valid-user + </code></p></div> + + <p><code>Require user rbowen</code> þ ϸ + ȣϿ ִ ùٸ ȣ Էϱ⸸ ϸ + Ѵ. 캰 ٸ ȣ Ͽ + ȿ ִ. ġ ΰ(ȣϰ + ) ƴ Ѱ(ȣ) ˻ϸ ȴٴ + ̴. ȣ ؾ ϰ, <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code> þ + Ȯ ȣ ؾ ϴ ̴.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="possibleproblems" id="possibleproblems"> ִ </a></h2> + <p>Basic û ڸ + ȣ ȮѴ. ħ + ( ȣ ȣϴ 丮 ִ ) ִ + ٽ ȮѴ. ϵ ӵ . + ȣ ڸ ã + ϱ ȣ ũⰡ Ŀ . + ۾ û Ѵ.</p> + + <p> ȣϿ ִ ڼ + Ѱ谡 ִ. Ѱ ϴ ɿ ٸ, + 鰳 Ѵ´ٸ ٰ ϰ ٸ + ؾ Ѵ.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="whatotherneatstuffcanido" id="whatotherneatstuffcanido">ٸ Ѱ?</a></h2> + <p>ڸ ȣ ٰ ƴϴ. + ҿ ٸ ڸ 鿩 + ִ.</p> + + <p><code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code> + <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code> þ + û ǻ ȣƮ Ȥ ȣƮ ּҸ + ϰų źѴ. <code class="directive"><a href="../mod/mod_access.html#order">Order</a></code> þ + þ Ͽ, ġ Ģ + ˸.</p> + + <p>̵ þ .</p> + + <div class="example"><p><code> + Allow from <var>address</var> + </code></p></div> + + <p>⼭ <var>address</var> IP ּ(Ȥ IP ּ Ϻ) + θ(Ȥ θ Ϻ)̴. Ѵٸ ּҳ + θ ִ.</p> + + <p> , Խǿ ø ִٸ + ִ.</p> + + <div class="example"><p><code> + Deny from 205.252.46.165 + </code></p></div> + + <p> ּҿ 湮ڴ þ ȣϴ + . IP ּ ǻ + ִ.</p> + + <div class="example"><p><code> + Deny from <var>host.example.com</var> + </code></p></div> + + <p>, ü ּҳ θ Ϻθ + Ѵ.</p> + + <div class="example"><p><code> + Deny from <var>192.101.205</var><br /> + Deny from <var>cyberthugs.com</var> <var>moreidiots.com</var><br /> + Deny from ke + </code></p></div> + + <p><code class="directive"><a href="../mod/mod_auth.html#order">Order</a></code> + <code class="directive"><a href="../mod/mod_auth.html#deny">Deny</a></code> <code class="directive"><a href="../mod/mod_auth.html#allow">Allow</a></code> þ + Ͽ ϴ ִ.</p> + + <div class="example"><p><code> + Order deny,allow<br /> + Deny from all<br /> + Allow from <var>dev.example.com</var> + </code></p></div> + + <p><code class="directive"><a href="../mod/mod_auth.html#allow">Allow</a></code> + þ ϸ, ش ȣƮ ڸ ϰ ű + ߰ ϹǷ ϴ Ѵ. + Ư <em></em> ϱ Ѵ.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="moreinformation" id="moreinformation"> </a></h2> + <p><code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code> + <code class="module"><a href="../mod/mod_access.html">mod_access</a></code> ϴ + ִ.</p> +</div></div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/auth.html" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/cgi.html b/rubbos/app/apache2/manual/howto/cgi.html new file mode 100644 index 00000000..61f160a2 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/cgi.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: cgi.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: cgi.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: cgi.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/rubbos/app/apache2/manual/howto/cgi.html.en b/rubbos/app/apache2/manual/howto/cgi.html.en new file mode 100644 index 00000000..c3299f6c --- /dev/null +++ b/rubbos/app/apache2/manual/howto/cgi.html.en @@ -0,0 +1,555 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Apache Tutorial: Dynamic Content with CGI - Apache HTTP Server</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.0</a> > <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>Apache Tutorial: Dynamic Content with CGI</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/howto/cgi.html" title="English"> en </a> | +<a href="../ja/howto/cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#intro">Introduction</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#configuring">Configuring Apache to permit CGI</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#writing">Writing a CGI program</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">But it's still not working!</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#behindscenes">What's going on behind the scenes?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#libraries">CGI modules/libraries</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#moreinfo">For more information</a></li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="intro" id="intro">Introduction</a></h2> + + + <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li></ul></td></tr></table> + + <p>The CGI (Common Gateway Interface) defines a way for a web + server to interact with external content-generating programs, + which are often referred to as CGI programs or CGI scripts. It + is the simplest, and most common, way to put dynamic content on + your web site. This document will be an introduction to setting + up CGI on your Apache web server, and getting started writing + CGI programs.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="configuring" id="configuring">Configuring Apache to permit CGI</a></h2> + + + <p>In order to get your CGI programs to work properly, you'll + need to have Apache configured to permit CGI execution. There + are several ways to do this.</p> + + <h3><a name="scriptalias" id="scriptalias">ScriptAlias</a></h3> + + + <p>The + <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + + directive tells Apache that a particular directory is set + aside for CGI programs. Apache will assume that every file in + this directory is a CGI program, and will attempt to execute + it, when that particular resource is requested by a + client.</p> + + <p>The <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + directive looks like:</p> + + <div class="example"><p><code> + ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/ + </code></p></div> + + <p>The example shown is from your default <code>httpd.conf</code> + configuration file, if you installed Apache in the default + location. The <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + directive is much like the <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> directive, which defines a URL prefix that + is to mapped to a particular directory. <code class="directive">Alias</code> + and <code class="directive">ScriptAlias</code> are usually used for + directories that are outside of the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> directory. The difference between + <code class="directive">Alias</code> and <code class="directive">ScriptAlias</code> + is that <code class="directive">ScriptAlias</code> has the added meaning + that everything under that URL prefix will be considered a CGI + program. So, the example above tells Apache that any request for a + resource beginning with <code>/cgi-bin/</code> should be served from + the directory <code>/usr/local/apache2/cgi-bin/</code>, and should be + treated as a CGI program.</p> + + <p>For example, if the URL + <code>http://www.example.com/cgi-bin/test.pl</code> + is requested, Apache will attempt to execute the file + <code>/usr/local/apache2/cgi-bin/test.pl</code> + and return the output. Of course, the file will have to + exist, and be executable, and return output in a particular + way, or Apache will return an error message.</p> + + + <h3><a name="nonscriptalias" id="nonscriptalias">CGI outside of ScriptAlias directories</a></h3> + + + <p>CGI programs are often restricted to <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>'ed directories for security reasons. + In this way, administrators can tightly control who is allowed to + use CGI programs. However, if the proper security precautions are + taken, there is no reason why CGI programs cannot be run from + arbitrary directories. For example, you may wish to let users + have web content in their home directories with the + <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> directive. + If they want to have their own CGI programs, but don't have access to + the main <code>cgi-bin</code> directory, they will need to be able to + run CGI programs elsewhere.</p> + + <p>There are two steps to allowing CGI execution in an arbitrary + directory. First, the <code>cgi-script</code> handler must be + activated using the <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> or <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> directive. Second, + <code>ExecCGI</code> must be specified in the <code class="directive"><a href="../mod/core.html#options">Options</a></code> directive.</p> + + + <h3><a name="options" id="options">Explicitly using Options to permit CGI execution</a></h3> + + + <p>You could explicitly use the <code class="directive"><a href="../mod/core.html#options">Options</a></code> directive, inside your main server configuration + file, to specify that CGI execution was permitted in a particular + directory:</p> + + <div class="example"><p><code> + <Directory /usr/local/apache2/htdocs/somedir><br /> + <span class="indent"> + Options +ExecCGI<br /> + </span> + </Directory> + </code></p></div> + + <p>The above directive tells Apache to permit the execution + of CGI files. You will also need to tell the server what + files are CGI files. The following <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> directive tells the server to treat all + files with the <code>cgi</code> or <code>pl</code> extension as CGI + programs:</p> + + <div class="example"><p><code> + AddHandler cgi-script .cgi .pl + </code></p></div> + + + <h3><a name="htaccess" id="htaccess">.htaccess files</a></h3> + + + <p>The <a href="htaccess.html"><code>.htaccess</code> tutorial</a> + shows how to activate CGI programs if you do not have + access to <code>httpd.conf</code>.</p> + + + <h3><a name="userdir" id="userdir">User Directories</a></h3> + + + <p>To allow CGI program execution for any file ending in + <code>.cgi</code> in users' directories, you can use the + following configuration.</p> + + <div class="example"><p><code> + <Directory /home/*/public_html><br /> + <span class="indent"> + Options +ExecCGI<br /> + AddHandler cgi-script .cgi<br /> + </span> + </Directory> + </code></p></div> + + <p>If you wish designate a <code>cgi-bin</code> subdirectory of + a user's directory where everything will be treated as a CGI + program, you can use the following.</p> + + <div class="example"><p><code> + <Directory /home/*/public_html/cgi-bin><br /> + <span class="indent"> + Options ExecCGI<br /> + SetHandler cgi-script<br /> + </span> + </Directory> + </code></p></div> + + + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="writing" id="writing">Writing a CGI program</a></h2> + + + <p>There are two main differences between ``regular'' + programming, and CGI programming.</p> + + <p>First, all output from your CGI program must be preceded by + a MIME-type header. This is HTTP header that tells the client + what sort of content it is receiving. Most of the time, this + will look like:</p> + + <div class="example"><p><code> + Content-type: text/html + </code></p></div> + + <p>Secondly, your output needs to be in HTML, or some other + format that a browser will be able to display. Most of the + time, this will be HTML, but occasionally you might write a CGI + program that outputs a gif image, or other non-HTML + content.</p> + + <p>Apart from those two things, writing a CGI program will look + a lot like any other program that you might write.</p> + + <h3><a name="firstcgi" id="firstcgi">Your first CGI program</a></h3> + + + <p>The following is an example CGI program that prints one + line to your browser. Type in the following, save it to a + file called <code>first.pl</code>, and put it in your + <code>cgi-bin</code> directory.</p> + + <div class="example"><p><code> + #!/usr/bin/perl<br /> + print "Content-type: text/html\n\n";<br /> + print "Hello, World."; + </code></p></div> + + <p>Even if you are not familiar with Perl, you should be able + to see what is happening here. The first line tells Apache + (or whatever shell you happen to be running under) that this + program can be executed by feeding the file to the + interpreter found at the location <code>/usr/bin/perl</code>. + The second line prints the content-type declaration we + talked about, followed by two carriage-return newline pairs. + This puts a blank line after the header, to indicate the end + of the HTTP headers, and the beginning of the body. The third + line prints the string "Hello, World.". And that's the end + of it.</p> + + <p>If you open your favorite browser and tell it to get the + address</p> + + <div class="example"><p><code> + http://www.example.com/cgi-bin/first.pl + </code></p></div> + + <p>or wherever you put your file, you will see the one line + <code>Hello, World.</code> appear in your browser window. + It's not very exciting, but once you get that working, you'll + have a good chance of getting just about anything working.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="troubleshoot" id="troubleshoot">But it's still not working!</a></h2> + + + <p>There are four basic things that you may see in your browser + when you try to access your CGI program from the web:</p> + + <dl> + <dt>The output of your CGI program</dt> + <dd>Great! That means everything worked fine. If the output is correct, + but the browser is not processing it correctly, make sure you have the + correct <code>Content-Type</code> set in your CGI program.</dd> + + <dt>The source code of your CGI program or a "POST Method Not + Allowed" message</dt> + <dd>That means that you have not properly configured Apache + to process your CGI program. Reread the section on + <a href="#configuring">configuring + Apache</a> and try to find what you missed.</dd> + + <dt>A message starting with "Forbidden"</dt> + <dd>That means that there is a permissions problem. Check the + <a href="#errorlogs">Apache error log</a> and the section below on + <a href="#permissions">file permissions</a>.</dd> + + <dt>A message saying "Internal Server Error"</dt> + <dd>If you check the + <a href="#errorlogs">Apache error log</a>, you will probably + find that it says "Premature end of + script headers", possibly along with an error message + generated by your CGI program. In this case, you will want to + check each of the below sections to see what might be + preventing your CGI program from emitting the proper HTTP + headers.</dd> + </dl> + + <h3><a name="permissions" id="permissions">File permissions</a></h3> + + + <p>Remember that the server does not run as you. That is, + when the server starts up, it is running with the permissions + of an unprivileged user - usually <code>nobody</code>, or + <code>www</code> - 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 <code>nobody</code> + is to give everyone execute permission on the file:</p> + + <div class="example"><p><code> + chmod a+x first.pl + </code></p></div> + + <p>Also, if your program reads from, or writes to, any other + files, those files will need to have the correct permissions + to permit this.</p> + + + + <h3><a name="pathinformation" id="pathinformation">Path information and environment</a></h3> + + + <p>When you run a program from your command line, you have + certain information that is passed to the shell without you + thinking about it. For example, you have a <code>PATH</code>, + which tells the shell where it can look for files that you + reference.</p> + + <p>When a program runs through the web server as a CGI program, + it may not have the same <code>PATH</code>. Any programs that you + invoke in your CGI program (like <code>sendmail</code>, for + example) will need to be specified by a full path, so that the + shell can find them when it attempts to execute your CGI + program.</p> + + <p>A common manifestation of this is the path to the script + interpreter (often <code>perl</code>) indicated in the first + line of your CGI program, which will look something like:</p> + + <div class="example"><p><code> + #!/usr/bin/perl + </code></p></div> + + <p>Make sure that this is in fact the path to the + interpreter.</p> + + <p>In addition, if your CGI program depends on other <a href="#env">environment variables</a>, you will need to + assure that those variables are passed by Apache.</p> + + + + <h3><a name="syntaxerrors" id="syntaxerrors">Program errors</a></h3> + + + <p>Most of the time when a CGI program fails, it's because of + a problem with the program itself. This is particularly true + once you get the hang of this CGI stuff, and no longer make + the above two mistakes. The first thing to do is to make + sure that your program runs from the command line before + testing it via the web server. For example, try:</p> + + <div class="example"><p><code> + cd /usr/local/apache2/cgi-bin<br /> + ./first.pl + </code></p></div> + + <p>(Do not call the <code>perl</code> interpreter. The shell + and Apache should find the interpreter using the <a href="#pathinformation">path information</a> on the first line of + the script.)</p> + + <p>The first thing you see written by your program should be + a set of HTTP headers, including the <code>Content-Type</code>, + followed by a blank line. If you see anything else, Apache will + return the <code>Premature end of script headers</code> error if + you try to run it through the server. See <a href="#writing">Writing a CGI program</a> above for more + details.</p> + + + <h3><a name="errorlogs" id="errorlogs">Error logs</a></h3> + + + <p>The error logs are your friend. Anything that goes wrong + generates message in the error log. You should always look + there first. If the place where you are hosting your web site + does not permit you access to the error log, you should + probably host your site somewhere else. Learn to read the + error logs, and you'll find that almost all of your problems + are quickly identified, and quickly solved.</p> + + + <h3><a name="suexec" id="suexec">Suexec</a></h3> + + + <p>The <a href="../suexec.html">suexec</a> support 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 <code>Premature end of script headers</code>.</p> + + <p>To check if you are using suexec, run <code>apachectl + -V</code> and check for the location of <code>SUEXEC_BIN</code>. + If Apache finds an <code class="program"><a href="../programs/suexec.html">suexec</a></code> binary there on startup, + suexec will be activated.</p> + + <p>Unless you fully understand suexec, you should not be using it. + To disable suexec, simply remove (or rename) the <code class="program"><a href="../programs/suexec.html">suexec</a></code> + binary pointed to by <code>SUEXEC_BIN</code> and then restart the + server. If, after reading about <a href="../suexec.html">suexec</a>, + you still wish to use it, then run <code>suexec -V</code> to find + the location of the suexec log file, and use that log file to + find what policy you are violating.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="behindscenes" id="behindscenes">What's going on behind the scenes?</a></h2> + + + <p>As you become more advanced in CGI programming, it will + become useful to understand more about what's happening behind + the scenes. Specifically, how the browser and server + communicate with one another. Because although it's all very + well to write a program that prints "Hello, World.", it's not + particularly useful.</p> + + <h3><a name="env" id="env">Environment variables</a></h3> + + + <p>Environment variables are values that float around you as + you use your computer. They are useful things like your path + (where the computer searches for the actual file + implementing a command when you type it), your username, your + terminal type, and so on. For a full list of your normal, + every day environment variables, type + <code>env</code> at a command prompt.</p> + + <p>During the CGI transaction, the server and the browser + also set environment variables, so that they can communicate + with one another. These are things like the browser type + (Netscape, IE, Lynx), the server type (Apache, IIS, WebSite), + the name of the CGI program that is being run, and so on.</p> + + <p>These variables are available to the CGI programmer, and + are half of the story of the client-server communication. The + complete list of required variables is at + <a href="http://hoohoo.ncsa.uiuc.edu/cgi/env.html">http://hoohoo.ncsa.uiuc.edu/cgi/env.html</a>.</p> + + <p>This simple Perl CGI program will display all of the + environment variables that are being passed around. Two + similar programs are included in the + <code>cgi-bin</code> + + directory of the Apache distribution. Note that some + variables are required, while others are optional, so you may + see some variables listed that were not in the official list. + In addition, Apache provides many different ways for you to + <a href="../env.html">add your own environment variables</a> + to the basic ones provided by default.</p> + + <div class="example"><p><code> + #!/usr/bin/perl<br /> + print "Content-type: text/html\n\n";<br /> + foreach $key (keys %ENV) {<br /> + <span class="indent"> + print "$key --> $ENV{$key}<br>";<br /> + </span> + } + </code></p></div> + + + <h3><a name="stdin" id="stdin">STDIN and STDOUT</a></h3> + + + <p>Other communication between the server and the client + happens over standard input (<code>STDIN</code>) and standard + output (<code>STDOUT</code>). In normal everyday context, + <code>STDIN</code> means the keyboard, or a file that a + program is given to act on, and <code>STDOUT</code> + usually means the console or screen.</p> + + <p>When you <code>POST</code> a web form to a CGI program, + the data in that form is bundled up into a special format + and gets delivered to your CGI program over <code>STDIN</code>. + The program then can process that data as though it was + coming in from the keyboard, or from a file</p> + + <p>The "special format" is very simple. A field name and + its value are joined together with an equals (=) sign, and + pairs of values are joined together with an ampersand + (&). Inconvenient characters like spaces, ampersands, and + equals signs, are converted into their hex equivalent so that + they don't gum up the works. The whole data string might look + something like:</p> + + <div class="example"><p><code> + name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey + </code></p></div> + + <p>You'll sometimes also see this type of string appended to + a URL. When that is done, the server puts that string + into the environment variable called + <code>QUERY_STRING</code>. That's called a <code>GET</code> + request. Your HTML form specifies whether a <code>GET</code> + or a <code>POST</code> is used to deliver the data, by setting the + <code>METHOD</code> attribute in the <code>FORM</code> tag.</p> + + <p>Your program is then responsible for splitting that string + up into useful information. Fortunately, there are libraries + and modules available to help you process this data, as well + as handle other of the aspects of your CGI program.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="libraries" id="libraries">CGI modules/libraries</a></h2> + + + <p>When you write CGI programs, you should consider using a + code library, or module, to do most of the grunt work for you. + This leads to fewer errors, and faster development.</p> + + <p>If you're writing CGI programs in Perl, modules are + available on <a href="http://www.cpan.org/">CPAN</a>. The most + popular module for this purpose is <code>CGI.pm</code>. You might + also consider <code>CGI::Lite</code>, which implements a minimal + set of functionality, which is all you need in most programs.</p> + + <p>If you're writing CGI programs in C, there are a variety of + options. One of these is the <code>CGIC</code> library, from + <a href="http://www.boutell.com/cgic/">http://www.boutell.com/cgic/</a>.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="moreinfo" id="moreinfo">For more information</a></h2> + + + <p>There are a large number of CGI resources on the web. You + can discuss CGI problems with other users on the Usenet group + <a href="news:comp.infosystems.www.authoring.cgi">comp.infosystems.www.authoring.cgi</a>. And the -servers mailing + list from the HTML Writers Guild is a great source of answers + to your questions. You can find out more at + <a href="http://www.hwg.org/lists/hwg-servers/">http://www.hwg.org/lists/hwg-servers/</a>.</p> + + <p>And, of course, you should probably read the CGI + specification, which has all the details on the operation of + CGI programs. You can find the original version at the + <a href="http://hoohoo.ncsa.uiuc.edu/cgi/interface.html">NCSA</a> and there is an updated draft at the + <a href="http://web.golux.com/coar/cgi/">Common Gateway + Interface RFC project</a>.</p> + + <p>When you post a question about a CGI problem that you're + having, whether to a mailing list, or to a newsgroup, make sure + you provide enough information about what happened, what you + expected to happen, and how what actually happened was + different, what server you're running, what language your CGI + program was in, and, if possible, the offending code. This will + make finding your problem much simpler.</p> + + <p>Note that questions about CGI problems should <strong>never</strong> + be posted to the Apache bug database unless you are sure you + have found a problem in the Apache source code.</p> + </div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/howto/cgi.html" title="English"> en </a> | +<a href="../ja/howto/cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/cgi.html.ja.utf8 b/rubbos/app/apache2/manual/howto/cgi.html.ja.utf8 new file mode 100644 index 00000000..51168ac5 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/cgi.html.ja.utf8 @@ -0,0 +1,546 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Apache Tutorial: CGI による動的コンテンツ - Apache HTTP サーバ</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.0</a> > <a href="./">How-To / チュートリアル</a></div><div id="page-content"><div id="preamble"><h1>Apache Tutorial: CGI による動的コンテンツ</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/howto/cgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/cgi.html" title="Japanese"> ja </a> | +<a href="../ko/howto/cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">This translation may be out of date. Check the + English version for recent changes.</div> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#intro">はじめに</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#configuring">CGI を許可するように Apache を設定する</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#writing">CGI プログラムを書く</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">しかし、まだ動かない !</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#behindscenes">裏で何が起こっているのか?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#libraries">CGI モジュール/ライブラリ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#moreinfo">更なる情報</a></li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="intro" id="intro">はじめに</a></h2> + + + <table class="related"><tr><th>関連モジュール</th><th>関連ディレクティブ</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li></ul></td></tr></table> + + <p>CGI (Common Gateway Interface) は、ウェブサーバが + コンテンツ生成をする外部プログラムと協調して動作するための方法を + 定義しています。そのプログラムはしばしば CGI プログラムや + CGI スクリプトと呼ばれます。CGI は、ウェブサイトに動的な + コンテンツを置くための最も簡単で一般的な方法です。このドキュメントは、 + Apache ウェブサーバで CGI を設定し、 + CGI プログラムを書き始めるための入門書となるでしょう。</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="configuring" id="configuring">CGI を許可するように Apache を設定する</a></h2> + + + <p>CGI プログラムを正しく動作させるには、CGI を許可するように + Apache の設定を行う必要があります。 + これを行なうための方法がいくつかあります。</p> + + <h3><a name="scriptalias" id="scriptalias">ScriptAlias</a></h3> + + + <p><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + ディレクティブを使用して、 + CGI プログラム用の特別な別ディレクトリを Apache に設定します。 + Apache は、このディレクトリ中の全てのファイルを CGI + プログラムであると仮定します。 + そして、この特別なリソースがクライアントから要求されると、 + そのプログラムの実行を試みます。</p> + + <p><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + ディレクティブは以下のように使用します:</p> + + <div class="example"><p><code> + ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/ + </code></p></div> + + <p>デフォルト位置に Apache をインストールしたならば、 + この例はデフォルト状態の <code>httpd.conf</code> + 設定ファイルに含まれています。 + <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + ディレクティブは、URL の前に付加するディレクトリを定義する + <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> + ディレクティブとかなり似ています。 + <code class="directive">Alias</code> と <code class="directive">ScriptAlias</code> + は通常、<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> + ディレクトリ外のディレクトリのために使用されます。 + <code class="directive">Alias</code> と <code class="directive">ScriptAlias</code> + との差は、<code class="directive">ScriptAlias</code> が接頭辞で始まるすべての + URL は CGI プログラムとみなされるという追加の意味を含んでいることです。 + 従って、上記の例では、<code>/cgi-bin/</code> + で始まるリソースへのあらゆるリクエストに対して、ディレクトリ + <code>/usr/local/apache2/cgi-bin/</code> から提供し、それらを + CGI プログラムとして扱うよう Apache に示します。</p> + + <p>例えば、URL <code>http://dev.rcbowen.com/cgi-bin/test.pl</code> + が要求された場合、Apache は ファイル + <code>/usr/local/apache2/cgi-bin/test.pl</code> + を実行し、その出力を返すことを試みます。 + もちろん、ファイルが存在し、実行可能であり、決められた方法で出力を返します。 + そうでなければ、Apache はエラーメッセージを返します。</p> + + + <h3><a name="nonscriptalias" id="nonscriptalias">ScriptAlias ディレクトリ外の CGI</a></h3> + + + <p>CGI プログラムは、セキュリティ上の理由から + <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + されたディレクトリに制限されることがしばしばあります。この方法により、 + CGI プログラムを使用できるユーザを管理者が厳しく制御することができます。 + しかしながら、適切なセキュリティ事前対策がとられるならば、CGI + プログラムを任意のディレクトリで実行できないようにする理由はありません。 + 例えば、ユーザに <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> + ディレクティブで彼らのホームディレクトリ配下にウェブコンテンツを持たせたいとします。 + もし、彼らが CGI プログラムを持つことを望んでいても、メインの + <code>cgi-bin</code> ディレクトリへのアクセスができない場合、 + CGI プログラムを実行することができる他の場所が必要になります。</p> + + <p>任意のディレクトリで CGI の実行を許可するには二段階の設定が必要です。 + まず、<code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> や <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> ディレクティブによって + <code>cgi-script</code> ハンドラが可能になっている必要があります。 + 次に、<code class="directive"><a href="../mod/core.html#options">Options</a></code> ディレクティブで + <code>ExecCGI</code> が指定されていなければなりません。</p> + + + <h3><a name="options" id="options">CGI の実行を可能にするために Options を明示的に使用する</a></h3> + + + <p>サーバのメインの設定ファイル中で <code class="directive"><a href="../mod/core.html#options">Options</a></code> + ディレクティブを明示的に使用することで、特定のディレクトリ配下で + CGI の実行を許可するように指定することができます:</p> + + <div class="example"><p><code> + <Directory /usr/local/apache2/htdocs/somedir><br /> + <span class="indent"> + Options +ExecCGI<br /> + </span> + </Directory> + </code></p></div> + + <p>上記ディレクティブは、CGI ファイルの実行を可能にするよう + Apache に伝えます。また、どのファイルが CGI ファイルかを + サーバに伝える必要があります。次の + <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> + ディレクティブの例では、<code>cgi</code> または <code>pl</code> + を拡張子に持つすべてのファイルを CGI + プログラムとしてみなすことをサーバに伝えます:</p> + + <div class="example"><p><code> + AddHandler cgi-script .cgi .pl + </code></p></div> + + + <h3><a name="htaccess" id="htaccess">.htaccess files</a></h3> + + + <p><a href="htaccess.html"><code>.htaccess</code> チュートリアル</a> + は <code>httpd.conf</code> を変更できない場合にどうやって CGI プログラムを + 使えるようにするかを説明しています。</p> + + + <h3><a name="userdir" id="userdir">User ディレクトリ</a></h3> + + + <p><code>.cgi</code> で終わるすべてのファイルに対して CGI プログラムの + 実行を許可するには、以下の設定を使用できます。</p> + + <div class="example"><p><code> + <Directory /home/*/public_html><br /> + <span class="indent"> + Options +ExecCGI<br /> + AddHandler cgi-script .cgi<br /> + </span> + </Directory> + </code></p></div> + + <p>ユーザディレクトリの <code>cgi-bin</code> サブディレクトリの + すべてのファイルを CGI プログラムとして指定したい場合には + 以下のようなものを使います。</p> + + <div class="example"><p><code> + <Directory /home/*/public_html/cgi-bin><br /> + <span class="indent"> + Options ExecCGI<br /> + SetHandler cgi-script<br /> + </span> + </Directory> + </code></p></div> + + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="writing" id="writing">CGI プログラムを書く</a></h2> + + + <p>「通常の」プログラミングと CGI + プログラミングの間には主に二つの違いがあります。</p> + + <p>一つは、CGI プログラムのすべての出力には MIME-type + ヘッダを付けなければなりません。 + これはどのような種類のコンテンツを受け取っているかをクライアントに示す + HTTP ヘッダです。ほとんどの場合では、次のように出力します:</p> + + <div class="example"><p><code> + Content-type: text/html + </code></p></div> + + <p>もう一つは、出力を HTML + か、ブラウザが表示することができる何か他の形式にする必要があります。 + 大抵の場合は HTML でしょうが、GIF イメージや他の非 HTML + コンテンツを出力する CGI プログラムを書くこともあるでしょう。</p> + + <p>これら二点以外では、CGI プログラムを書くことは、 + あなたが書いている他のプログラムとよく似ているでしょう。</p> + + <h3><a name="firstcgi" id="firstcgi">最初の CGI プログラム</a></h3> + + + <p>次に示すのは、ブラウザに 1 行印字する CGI + プログラムの例です。以下を入力し、<code>first.pl</code> + というファイルに保存し、それを <code>cgi-bin</code> + ディレクトリに置いてください。</p> + + <div class="example"><p><code> + #!/usr/bin/perl<br /> + print "Content-type: text/html\n\n";<br /> + print "Hello, World."; + </code></p></div> + + <p>Perl に精通していなくても、 + 何が起こるかを理解することはできるでしょう。1 行目は、 + <code>/usr/bin/perl</code> で見つけられるインタプリタに + このファイルを供給することでこのプログラムが実行されることを + Apache に (シェル上で実行しようとしているならば、そのシェルに ) + 示します。2 行目は、前述したとおり content-type の定義を印字します。 + これには復帰改行の二つの組を後に付加します。 + これにより、ヘッダの終りに空行が置かれ、HTTP + ヘッダの終りとボディの始まりを示します。3 行目は、"Hello, World." + という文字列を印字し、これで終りとなります。</p> + + <p>好みのブラウザを開き、アドレス</p> + + <div class="example"><p><code> + http://www.example.com/cgi-bin/first.pl + </code></p></div> + + <p>あるいはファイルを置いたロケーションを指定すると、 + <code>Hello, World.</code> + という 1 行がブラウザウィンドに現れるでしょう。 + それはあまりエキサイティングなことではありません。 + しかし、これがうまく動けば、 + 他のどのようなものでも動かすことができるようになります。</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="troubleshoot" id="troubleshoot">しかし、まだ動かない !</a></h2> + + + <p>ウェブから CGI プログラムへのアクセスを行なったとき、 + ブラウザで見る可能性がある四つの基本的なことがあります:</p> + + <dl> + <dt>CGI プログラムの出力</dt> + <dd>素晴らしい ! それはすべてがうまく動いたことを意味します。 + 出力が正常だけれども、ブラウザが正常に処理してくれない場合は、 + 正しい <code>Content-Type</code> を CGI プログラム内で + セットしたかを確認してください。</dd> + + <dt>CGI プログラムのソースコード、または "POST Method Not Allowed" + というメッセージ</dt> + <dd>これは、CGI プログラムを処理できるよう Apache + を適切に設定していなかったことを意味します。<a href="#configuring">「CGI を許可するように + Apache を設定する」</a>の章を読み直し、 + あなたが何を間違えたかを探してみてください。 + </dd> + + <dt>メッセージが "Forbidden" で始まっている</dt> + <dd>これはパーミッションの問題ということを意味します。 + <a href="#errorlogs">Apache のエラーログ</a>と、後述の<a href="#filepermissions">「ファイルのパーミッション」</a> + の章をチェックしてください。 + </dd> + + <dt>"Internal Server Error" というメッセージ</dt> + <dd><a href="#errorlogs">Apache + のエラーログ</a>をチェックすると、"Premature end of script headers" + というログが記録されていると思います。そして、おそらく CGI + プログラムによって生成されたエラーメッセージも記録されているでしょう。 + この場合、CGI プログラムが適切な + HTTP ヘッダを出力できない原因を知るために、 + 以下の各章でチェックしてみてください。</dd> + </dl> + + <h3><a name="permissions" id="permissions">ファイルのパーミッション</a></h3> + + + <p>サーバはあなたの権限で実行されていないのを忘れないように。 + つまり、起動するとき、サーバは特権をもたないユーザ - 通常 <code>nobody</code> + や <code>www</code> の権限で実行されます。したがって、あなたが所有する + ファイルを実行するには別のパーミッションが必要となります。 + 通常、<code>nobody</code> が実行するのに十分なパーミッションを与える方法は、 + ファイルに誰でも実行可能とするパーミッションを与えることです:</p> + + <div class="example"><p><code> + chmod a+x first.pl + </code></p></div> + + <p>また、もしあなたのプログラムが他のファイルを読み書きするならば、 + それらのファイルは、これが可能となる正しいパーミッション + を持っている必要があります。</p> + + + + <h3><a name="pathinformation" id="pathinformation">パス情報と環境</a></h3> + + + <p>コマンドラインからプログラムを実行するとき、 + 意識しなくてもシェルに渡される情報があります。 + 例えば、参照するファイルのためにどこを検索したらよいかを + シェルに伝える <code>PATH</code> があります。</p> + + <p>プログラムが CGI プログラムとしてウェブサーバによって実行されるとき、 + それは同じ <code>PATH</code> ではないかもしれません。 + CGI プログラム内で呼び出すあらゆるプログラム + (例えば、<code>sendmail</code> のようなもの) は、 + フルパスで指定する必要があるでしょう。それにより、CGI + プログラムを実行しようとしたとき、 + シェルはそのようなプログラムを見つけることができます。</p> + + <p>同様なことは、スクリプトのインタプリタ (しばしば <code>perl</code>) + へのパスで、CGI プログラムの 1 行目に次のように示されます:</p> + + <div class="example"><p><code> + #!/usr/bin/perl + </code></p></div> + + <p>これがインタープリタへの実際のパスであることを確実にしておきます。</p> + + + <h3><a name="syntaxerrors" id="syntaxerrors">プログラムエラー</a></h3> + + + <p>CGI + プログラムが失敗するのは大抵、プログラム自身に問題がある場合です。 + 一度 CGI の使い方を理解し、前述の二つの誤りを犯していないならば、 + まず間違いなくそうでしょう。ブラウザを使ってテストする前に + まず確認することは、コマンドラインからプログラムが実行できることです。 + 例えば、以下を実行してみてください:</p> + + <div class="example"><p><code> + cd /usr/local/apache2/cgi-bin<br /> + ./first.pl + </code></p></div> + + <p>(<code>perl</code> インタプリタは呼ばないでください。 + シェルと Apache がスクリプトの最初の行の <a href="#pathinformation">パス情報</a> を使って見つけます。)</p> + + <p>最初にプログラムから出力されるのは <code>Content-Type</code> を含み、 + 後に空行の続く HTTP ヘッダでなければなりません。他のものが出力されている + 場合は、Apache はこのプログラムをサーバ経由で実行しようとしたときには + <code>Premature end of script headers</code> エラーを出力します。詳細は + 上記の <a href="#writing">CGI プログラムを書く</a> を読んでください。</p> + + + <h3><a name="errorlogs" id="errorlogs">エラーログ</a></h3> + + + <p>エラーログは友達です。 + 全てのうまくいかないことは、エラーログにメッセージを生成します。 + 必ずそれを最初に見るべきです。 + もし、あなたがウェブサイトを主催している場所が + エラーログの参照を許していないならば、きっと他のサイトで主催するべきです。 + エラーログの読み方を学ぶことで、ほとんど全ての問題が迅速に確認され、 + 迅速に解決されるということが分かるでしょう。</p> + + + <h3><a name="suexec" id="suexec">Suexec</a></h3> + + + <p><a href="../suexec.html">suexec</a> サポートプログラムは + バーチャルホストやユーザのホームディレクトリの場所に依って + CGI プログラムを違うユーザ権限の下で走らせることを可能にします。 + Suexec の権限のチェックは非常に厳しく、それを満たさない場合は + CGI プログラムが <code>Premature end of script headers</code> エラーで + 実行されません。</p> + + <p>suexec を使っているかどうかを調べためには <code>apachectl + -V</code> を実行して、<code>SUEXEC_BIN</code> の場所を調べてください。 + Apache がそこに suexec のバイナリを発見した場合は、suexec が + 使用されます。</p> + + <p>suexec を完全に理解していない限り、使うべきではありません。 + suexec を無効にするには、<code>SUEXEC_BIN</code> から指されている + <code>suexec</code> バイナリを削除 (か名前を変更) するだけです。 + <a href="../suexec.html">suexec</a> を読んだ後で、まだそれを + 使いたいのであれば、<code>suexec -V</code> を実行して suexec の + ログファイルの位置を調べ、そのログファイルを使ってポリシー違反を + 見つけてください。</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="behindscenes" id="behindscenes">裏で何が起こっているのか?</a></h2> + + + <p>CGI プログラミングに習熟すると、 + 裏で起こっていることについて更に理解すること役に立ちます。 + ブラウザとサーバがどのように相互通信するかについては特にそうです。 + なぜなら、"Hello, World." + を印字するプログラムを書くことはおおいに結構ですが、 + それは特に有益ではありません。</p> + + <h3><a name="env" id="env">環境変数</a></h3> + + + <p>環境変数は、 + あなたがコンピュータを使うときに辺りに存在している値です。 + それらは、パス + (コマンドをタイプしたときに実行する実際のファイルを探し出すところ)、 + ユーザ名、端末型などのような便利なものです。 + 通常、普段使用している環境変数の完全なリストを調べるには、 + コマンドプロンプトで <code>env</code> を入力します。</p> + + <p>CGI の処理中、サーバとブラウザも環境変数を設定し、 + それにより相互に通信することができるようになります。 + その環境変数は、ブラウザタイプ (Netscape, IE, Lynx)、サーバタイプ + (Apache, IIS, WebSite)、実行されている CGI + プログラムの名前などです。</p> + + <p>これらの変数は CGI プログラマが使用できます。 + そして、それはクライアントとサーバの通信の話の半分です。 + 必要な変数の完全なリストは <a href="http://hoohoo.ncsa.uiuc.edu/cgi/env.html">http://hoohoo.ncsa.uiuc.edu/cgi/env.html</a> にあります。</p> + + <p>以下の単純な Perl CGI + プログラムは、渡される全ての環境変数を表示します。同様のプログラムは、 + Apache ディストリビューションの <code>cgi-bin</code> + ディレクトリに二つ含まれています。 + いくつかの変数が必須であり、いくつかは任意であることに注意してください。 + そして、公式のリストにはないいくつかの変数が表示されているかもしれません。 + さらに、Apache はデフォルトで用意されている基本的なものに + <a href="../env.html">あなた自身の環境変数を加える</a>ための、 + 多くの異なる方法を用意してします。</p> + + <div class="example"><p><code> + #!/usr/bin/perl<br /> + print "Content-type: text/html\n\n";<br /> + foreach $key (keys %ENV) {<br /> + <span class="indent"> + print "$key --> $ENV{$key}<br>";<br /> + </span> + } + </code></p></div> + + + <h3><a name="stdin" id="stdin">STDIN と STDOUT</a></h3> + + + <p>サーバとクライアント間のもう一つの通信は、標準入力 + (<code>STDIN</code>)と標準出力 (<code>STDOUT</code>) + を通じて行なわれます。通常の文脈において、<code>STDIN</code> + はキーボードやプログラムが動作するために与えられるファイルを意味し、 + <code>STDOUT</code> は通常コンソールまたはスクリーンを意味します。</p> + + <p>ウェブフォームから CGI プログラムへ<code>POST</code> + したとき、フォームのデータは特別なフォーマットで束ねられ、 + <code>STDIN</code> を通して、CGI プログラムに引き渡されます。 + プログラムはデータがキーボード + もしくはファイルから来ていたかのように処理することができます。</p> + + <p>「特別なフォーマット」はとても単純です。フィールド名と値はイコール + (=) で結ばれます。そして値の組はアンパサンド (&) で結ばれます。 + スペース、アンパサンド、イコールのような面倒な文字は、 + それらが動作を駄目にしないようにその文字に相当する 16 進に変換されます。 + 全データ文字列は、以下のようになります: + </p> + + <div class="example"><p><code> + name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey + </code></p></div> + + <p>時々、このような文字列が URL + に付加されるのを見るでしょう。その場合、サーバは + <code>QUERY_STRING</code> という環境変数にその文字列を入れます。それは + <code>GET</code> リクエストと呼ばれます。 + HTML フォームでは、データを渡すために <code>GET</code> と + <code>POST</code> のどちらを使用するかを、<code>FORM</code> タグの + <code>METHOD</code> 属性の設定で指定します。</p> + + <p>CGI プログラムは、その文字列を役に立つ情報に分割する責任があります。 + 幸いにも、そのデータ処理を助けるライブラリやモジュールが存在します。 + これらは、CGI プログラムの他の面でも同様に役に立ちます。</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="libraries" id="libraries">CGI モジュール/ライブラリ</a></h2> + + + <p>CGI プログラムを書くとき、面倒な仕事の大部分をしてくれる + コードライブラリまたはモジュールを使うことを検討すべきです。 + これはエラーを減らし、早い開発につながります。</p> + + <p>Perl で CGI プログラムを書いているなら、モジュールは <a href="http://www.cpan.org/">CPAN</a> で提供されています。 + この目的のための最も普及しているモジュールは <code>CGI.pm</code> です。 + <code>CGI::Lite</code> も検討しましょう。これは、ほとんどのプログラム + において必要とするすべての機能の最小セットの実装です。</p> + + <p>C で CGI プログラムを書いているなら、いろいろな + オプションがあります。これらの内の一つは <a href="http://www.boutell.com/cgic/">http://www.boutell.com/cgic/</a> + で提供されている <code>CGIC</code> ライブラリです。</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="moreinfo" id="moreinfo">更なる情報</a></h2> + + + <p>CGI に関する情報はウェブで数多く提供されています。CGI + の問題については Usenet の <a href="news:comp.infosystems.www.authoring.cgi">comp.infosystems.www.authoring.cgi</a> で、 + 他のユーザと論議することができます。HTML Writers Guide の + -servers メーリングリストは、あなたの質問に回答してくれる偉大なリソースです。 + <a href="http://www.hwg.org/lists/hwg-servers/">http://www.hwg.org/lists/hwg-servers/</a> + で更に多くを探し出すことができます。</p> + + <p>そしてもちろん、おそらく CGI + プログラムの動作に関する詳細の全てが記述されている + CGI の仕様を読むべきです。オリジナルバージョンを + <a href="http://hoohoo.ncsa.uiuc.edu/cgi/interface.html">NCSA</a> + で、アップデートされたドラフトを + <a href="http://web.golux.com/coar/cgi/">Common Gateway Interface RFC + プロジェクト</a>で参照することができます。</p> + + <p>CGI の問題について、加わっているメーリングリストまたはニュース + グループに質問を送るとき、起こったもの、起こってほしいこと、 + 実際に起こったことがどう違うか、使用しているサーバ、 + CGI プログラムを記述している言語に関する十分な情報と、 + 可能であれば問題のコードを提供するようにしてください。 + そうすることで、問題がより間単に見つかるようになります。</p> + + <p>Apache のソースコードにおいて問題を発見したことを確信していない限り、 + CGI の問題に関する質問を Apache + バグデータベースに<strong>送るべきでない</strong> + ことに注目してください。</p> + </div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/howto/cgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/cgi.html" title="Japanese"> ja </a> | +<a href="../ko/howto/cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/cgi.html.ko.euc-kr b/rubbos/app/apache2/manual/howto/cgi.html.ko.euc-kr new file mode 100644 index 00000000..0486a222 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/cgi.html.ko.euc-kr @@ -0,0 +1,503 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>ġ 丮: CGI - Apache HTTP Server</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.0</a> > <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>ġ 丮: CGI </h1> +<div class="toplang"> +<p><span> : </span><a href="../en/howto/cgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/cgi.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#intro">Ұ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#configuring">CGI ϵ ġ ϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#writing">CGI α ۼϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot"> ʾƿ!</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#behindscenes">ڿ °?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#libraries">CGI /̺귯</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#moreinfo"> ...</a></li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="intro" id="intro">Ұ</a></h2> + + + <table class="related"><tr><th>õ </th><th>õ þ</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li></ul></td></tr></table> + + <p>CGI (Common Gateway Interface) CGI α + Ȥ CGI ũƮ θ, ( ) ܺ + α ϴ Ѵ. Ʈ + ϰ ̴. ġ + CGI ϴ Ұϰ, CGI α + ۼغ.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="configuring" id="configuring">CGI ϵ ġ ϱ</a></h2> + + + <p>CGI α ùٷ Ϸ CGI ϵ + ġ ؾ Ѵ. ϴ .</p> + + <h3><a name="scriptalias" id="scriptalias">ScriptAlias</a></h3> + + + <p><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + þ ϸ ġ Ư 丮 CGI α + д. ġ 丮 ִ CGI + α̶ Ͽ Ŭ̾Ʈ ڿ ûϸ ڿ + Ϸ õѴ.</p> + + <p><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + þ Ѵ.</p> + + <div class="example"><p><code> + ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/ + </code></p></div> + + <p> ġ ⺻ ҿ ġ + <code>httpd.conf</code> Ͽ ִ ̴. <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> þ <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> þ URL + պκ Ư 丮 Ѵ. + <code class="directive">Alias</code> + <code class="directive">ScriptAlias</code> <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> 丮 ۿ ִ + 丮 Ѵ. <code class="directive">Alias</code> + <code class="directive">ScriptAlias</code> + <code class="directive">ScriptAlias</code> ߰ URL պκ + ϴ CGI α ϴ ̴. + ġ <code>/cgi-bin/</code> + ϴ ڿ ûϸ + <code>/usr/local/apache2/cgi-bin/</code> 丮 + ãƼ CGI α ó϶ ˸.</p> + + <p> , URL + <code>http://www.example.com/cgi-bin/test.pl</code> + ûϸ ġ + <code>/usr/local/apache2/cgi-bin/test.pl</code> + Ͽ ȯѴ. ϰ డϸ + ε ؾ Ѵ. ġ + .</p> + + + <h3><a name="nonscriptalias" id="nonscriptalias">ScriptAlias 丮 ۿ ִ CGI</a></h3> + + + <p> Ȼ CGI α <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> 丮 + Ѵ. ڴ CGI α + ִ ִ. ġ + ߴٸ ƹ 丮 CGI α + . , <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> þ Ͽ + ڰ ڽ Ȩ丮 츦 + . ڰ ڽ CGI α ϰ + <code>cgi-bin</code> 丮 ٱ ٸ, ٸ + CGI α ϰ ̴.</p> + + <p>ƹ 丮 CGI Ϸ + ʿϴ. , <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> þ Ͽ + <code>cgi-script</code> ڵ鷯 ۵ؾ Ѵ. ι°, + <code class="directive"><a href="../mod/core.html#options">Options</a></code> þ + <code>ExecCGI</code> ؾ Ѵ.</p> + + + <h3><a name="options" id="options">Options Ͽ CGI ϱ</a></h3> + + + <p> ּϿ <code class="directive"><a href="../mod/core.html#options">Options</a></code> þ Ͽ Ư + 丮 CGI ִ.</p> + + <div class="example"><p><code> + <Directory /usr/local/apache2/htdocs/somedir><br /> + <span class="indent"> + Options +ExecCGI<br /> + </span> + </Directory> + </code></p></div> + + <p> þ ġ CGI Ѵ. + CGI ˷ Ѵ. <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> þ + Ȯڰ <code>cgi</code> <code>pl</code> + CGI α̶ ˸.</p> + + <div class="example"><p><code> + AddHandler cgi-script .cgi .pl + </code></p></div> + + + <h3><a name="htaccess" id="htaccess">.htaccess </a></h3> + + + <p><a href="htaccess.html"><code>.htaccess</code> 丮</a> + <code>httpd.conf</code> ٱ 쿡 CGI α + ִ ˷ش.</p> + + + <h3><a name="userdir" id="userdir"> 丮</a></h3> + + + <p>Ʒ ϸ 丮 <code>.cgi</code> + CGI α Ѵ.</p> + + <div class="example"><p><code> + <Directory /home/*/public_html><br /> + <span class="indent"> + Options +ExecCGI<br /> + AddHandler cgi-script .cgi<br /> + </span> + </Directory> + </code></p></div> + + <p> ϸ 丮 <code>cgi-bin</code> + 丮 ִ CGI α νѴ.</p> + + <div class="example"><p><code> + <Directory /home/*/public_html/cgi-bin><br /> + <span class="indent"> + Options ExecCGI<br /> + SetHandler cgi-script<br /> + </span> + </Directory> + </code></p></div> + + + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="writing" id="writing">CGI α ۼϱ</a></h2> + + + <p>``Ϲ'' αְ CGI α ̿ ΰ + ֵ ִ.</p> + + <p>ù° ̴ CGI α ٸ ϱ + MIME-type ؾ Ѵٴ ̴. HTTP + Ŭ̾Ʈ Ŭ̾Ʈ ްԵ ̸ ˸. + .</p> + + <div class="example"><p><code> + Content-type: text/html + </code></p></div> + + <p>ι° ̴ HTML Ȥ ִ + ؾ Ѵٴ ̴. κ HTML , + gif HTML ƴ ϴ CGI + α ۼϴ 쵵 ִ.</p> + + <p>ΰ ϰ CGI α ۼ ̹ + ٸ α ſ ϴ.</p> + + <h3><a name="firstcgi" id="firstcgi">ó CGI α</a></h3> + + + <p> CGI α . + ״ <code>first.pl</code>̶ Ͽ ϰ, + <code>cgi-bin</code> 丮 Ѵ.</p> + + <div class="example"><p><code> + #!/usr/bin/perl<br /> + print "Content-type: text/html\n\n";<br /> + print "Hello, World."; + </code></p></div> + + <p>Perl ͼ ʴ Ͼ + ִ. ù° ġ(Ȥ ϴ ) + <code>/usr/bin/perl</code> ġ ִ Ͽ + α ϶ ˸. ι° + content-type ϰ carriage-return ٹٲ + ι Ѵ. ڿ HTTP ϴ + , Ѵ. ° "Hello, World." + ڿ Ѵ. ̰ ̴.</p> + + <p> ϰ ּҸ ԷѴ</p> + + <div class="example"><p><code> + http://www.example.com/cgi-bin/first.pl + </code></p></div> + + <p> Ҹ Էϸ, â <code>Hello, World.</code> + δ. е , ѹ ϴ + ٸ õ ִ.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="troubleshoot" id="troubleshoot"> ʾƿ!</a></h2> + + + <p> CGI α Ҷ ִ + ⺻ װ.</p> + + <dl> + <dt>CGI α </dt> + <dd>! Ѵٴ ̴. Ȯ + ùٷ ó Ѵٸ, CGI α + ùٸ <code>Content-Type</code> Ͽ ȮѴ.</dd> + + <dt>CGI α ҽڵ Ȥ "POST Method Not Allowed" + </dt> + <dd>CGI α ϵ ġ + ʾҴٴ ̴. <a href="#configuring">ġ ϱ</a> + ٽ а κ ִ ãƺ.</dd> + + <dt>"Forbidden" ϴ </dt> + <dd> ִٴ ̴. <a href="#errorlogs">ġ + α</a> Ʒ <a href="#permissions">ϱ</a> + Ȯ϶.</dd> + + <dt>"Internal Server Error" </dt> + <dd><a href="#errorlogs">ġ α</a> Ƹ + CGI α Բ "Premature end of + script headers" ̴. Ʒ ϳ + ȮϿ CGI α HTTP + ߴ ˾ƺ.</dd> + </dl> + + <h3><a name="permissions" id="permissions">ϱ</a></h3> + + + <p> Ű ϶. + , ϸ Ư ( + <code>nobody</code> <code>www</code>) Ѵ. + Ϸ ʿϴ. + Ͽ <code>nobody</code> ϱ + ֱ ο ش.</p> + + <div class="example"><p><code> + chmod a+x first.pl + </code></p></div> + + <p>, α ٸ аų ٸ Ͽ + ʿϴ.</p> + + + + <h3><a name="pathinformation" id="pathinformation"> ȯ</a></h3> + + + <p> α ϸ ڵ + ȴ. , <code>PATH</code> + ã Ҹ ˷ش.</p> + + <p> α CGI α Ҷ + <code>PATH</code> ٸ ִ. ( , + <code>sendmail</code> ) CGI α ȿ ϴ + ɾ η ؾ ɾ ã + ִ.</p> + + <p> CGI α ù° ٿ + ũƮ ( <code>perl</code>) ο + Ѵ.</p> + + <div class="example"><p><code> + #!/usr/bin/perl + </code></p></div> + + <p> ȮѴ.</p> + + <p>, CGI α ٸ <a href="#env">ȯ溯</a> + Ѵٸ ġ α ؾ + Ѵ.</p> + + + + <h3><a name="syntaxerrors" id="syntaxerrors">α </a></h3> + + + <p>CGI α ϴ κ α ü + ̴. Ư ΰ Ǽ ʾҰ + ִٸ . ϱ + α غ. , + Ѵ.</p> + + <div class="example"><p><code> + cd /usr/local/apache2/cgi-bin<br /> + ./first.pl + </code></p></div> + + <p>(<code>perl</code> . + ġ ũƮ ù° ٿ ִ <a href="#pathinformation"> </a> Ͽ + ãƾ Ѵ.)</p> + + <p>α <code>Content-Type</code> + HTTP ϰ ؾ Ѵ. ٸ + Ѵٸ ġ <code>Premature + end of script headers</code> ȯѴ. ڼ + <a href="#writing">CGI α ۼϱ</a> ϶.</p> + + + <h3><a name="errorlogs" id="errorlogs"> α</a></h3> + + + <p> α״ ̴. ߸Ǹ α + . α Ѵ. Ʈ + ȣϴ α ϰ Ѵٸ, Ƹ + ٸ ü ˾ƺ Ѵ. α , + κ ľϿ ذ ִ.</p> + + + <h3><a name="suexec" id="suexec">Suexec</a></h3> + + + <p><a href="../suexec.html">suexec</a> α + ϸ ȣƮ Ȥ 丮 ִ + CGI α ٸ ִ. + Suexec ſ ϰ ˻ϸ, ˻縦 ϳ + ϸ CGI α ʰ <code>Premature + end of script headers</code> ȯѴ.</p> + + <p>suexec ϰ ִ ˷ <code>apachectl -V</code> + Ͽ <code>SUEXEC_BIN</code> ġ ȮѴ. ġ + Ҷ ҿ suexec ߰ϸ, suexec + ִ.</p> + + <p>suexec ߴٸ ؼ ȵȴ. + suexec <code>SUEXEC_BIN</code> ġ + ִ <code>suexec</code> (Ȥ ϸ + ٲٰ) ϸ ȴ. <a href="../suexec.html">suexec</a> + ϰ ʹٸ, <code>suexec -V</code> Ͽ suexec + α ġ ˾Ƴ αϿ Ģ + ִ ã´.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="behindscenes" id="behindscenes">ڿ °?</a></h2> + + + <p>CGI αֿ ͼ ڿ ϸ + ȴ. ü ϴ + ϴ ̴. "Hello, World." ϴ + α ۼ ̷ α + ̴.</p> + + <h3><a name="env" id="env">ȯ溯</a></h3> + + + <p>ȯ溯 ǻ ϴ + ٴϴ ̴. ȯ溯 path (ǻͰ Է + ɾ شϴ ã ), ڸ, ̳ + . Ϲ ȯ溯 + Ʈ <code>env</code> ԷѴ.</p> + + <p>CGI Ҷ ȯ溯 + ȯѴ. (Netscape, IE, + Lynx), (ġ, IIS, WebSite), ϴ CGI + α ִ.</p> + + <p>CGI αӴ ̷ ְ, + ȯ溯 Ŭ̾Ʈ- ſ Ϻκ Ѵ. + ü ʼ <a href="http://hoohoo.ncsa.uiuc.edu/cgi/env.html">http://hoohoo.ncsa.uiuc.edu/cgi/env.html</a> ִ.</p> + + <p>Ʒ Perl CGI α ڽſ + ȯ溯 ش. ġ <code>cgi-bin</code> + 丮 ̿ α ΰ ִ. + ʼ̰ ̴. Ͽ + δ. , ġ ⺻ ϴ ȯ溯 + ܿ <a href="../env.html"> ȯ溯 + ߰ ִ</a>.</p> + + <div class="example"><p><code> + #!/usr/bin/perl<br /> + print "Content-type: text/html\n\n";<br /> + foreach $key (keys %ENV) {<br /> + <span class="indent"> + print "$key --> $ENV{$key}<br>";<br /> + </span> + } + </code></p></div> + + + <h3><a name="stdin" id="stdin">STDIN STDOUT</a></h3> + + + <p>, Ŭ̾Ʈ ǥԷ(<code>STDIN</code>) + ǥ(<code>STDOUT</code>) Ѵ. ϻ + <code>STDIN</code> Ű峪 α óϴ + Ÿ, <code>STDOUT</code> ܼ̳ ȭ Ѵ.</p> + + <p>CGI α (form) <code>POST</code>ϸ + Ŀ Է ڷḦ Ư CGI α + <code>STDIN</code> Ѵ. α Ű峪 + Ͽ ڷḦ óϵ ڷḦ ó ִ.</p> + + <p>"Ư " ſ ϴ. ̸ ȣ(=) + ϰ, ̸ ֵ ۻ(&) + Ѵ. , ۻ, ȣ ڿ ڴ + ȥ ʵ 16 ȯѴ. ڷ ڿ + .</p> + + <div class="example"><p><code> + name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey + </code></p></div> + + <p> URL ڿ ̷ ڿ ȴ. + ڿ <code>QUERY_STRING</code>̶ ȯ溯 Ѵ. + ̸ <code>GET</code> û̶ Ѵ. <code>FORM</code> + ± <code>METHOD</code> Ӽ Ͽ HTML (form) + ڷḦ <code>GET</code> <code>POST</code> Ѵ.</p> + + <p> α ̷ ڿ ɰ + Ѵ. ̷ ڷ ó CGI α ٸ + Ǵ ̺귯 ִ.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="libraries" id="libraries">CGI /̺귯</a></h2> + + + <p>CGI α ۼҶ ۾ ִ ڵ + ̺귯 Ȥ غ Ѵ. ̷ + ϸ װ ٰ α ִ.</p> + + <p>Perl CGI α ۼѴٸ <a href="http://www.cpan.org/">CPAN</a> ã + ִ. CGI ߿ θ Ǵ + <code>CGI.pm</code>̴. κ α ּ + <code>CGI::Lite</code> ִ.</p> + + <p>C CGI α ۼѴٸ . + ϳ <a href="http://www.boutell.com/cgic/">http://www.boutell.com/cgic/</a> + ִ <code>CGIC</code> ̺귯.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="moreinfo" id="moreinfo"> ...</a></h2> + + + <p> ſ CGI ִ. <a href="news:comp.infosystems.www.authoring.cgi">comp.infosystems.www.authoring.cgi</a> + CGI ִ. HTML Writers Guild -servers + ϸƮ ã Ǹ Ҵ. <a href="http://www.hwg.org/lists/hwg-servers/">http://www.hwg.org/lists/hwg-servers/</a> + ִ.</p> + + <p> CGI α ۿ + CGI Ծ о . <a href="http://hoohoo.ncsa.uiuc.edu/cgi/interface.html">NCSA</a> + ְ, ʾ <a href="http://web.golux.com/coar/cgi/">Common Gateway Interface + RFC Ʈ</a> ִ.</p> + + <p>ϸƮ 쿡 ݰ ִ CGI + Ҷ , + ٸ, ϴ , CGI α ۼ + , ϸ ش ڵ带 ڼ . ذå + ã .</p> + + <p>ġ ҽڵ尡 ߸Ǿٰ Ȯ ʴ CGI + ġ ͺ̽ ø <strong></strong> + ȵȴ.</p> + </div></div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/howto/cgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/cgi.html" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/htaccess.html b/rubbos/app/apache2/manual/howto/htaccess.html new file mode 100644 index 00000000..9c5991ce --- /dev/null +++ b/rubbos/app/apache2/manual/howto/htaccess.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: htaccess.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: htaccess.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: htaccess.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/rubbos/app/apache2/manual/howto/htaccess.html.en b/rubbos/app/apache2/manual/howto/htaccess.html.en new file mode 100644 index 00000000..f9d6614f --- /dev/null +++ b/rubbos/app/apache2/manual/howto/htaccess.html.en @@ -0,0 +1,386 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Apache Tutorial: .htaccess files - Apache HTTP Server</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.0</a> > <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>Apache Tutorial: .htaccess files</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/howto/htaccess.html" title="English"> en </a> | +<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> + +<p><code>.htaccess</code> files provide a way to make configuration +changes on a per-directory basis.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">.htaccess files</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#what">What they are/How to use them</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#when">When (not) to use .htaccess files</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#how">How directives are applied</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#auth">Authentication example</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssi">Server Side Includes example</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgi">CGI example</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Troubleshooting</a></li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">.htaccess files</a></h2> + <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li><li><code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li></ul></td></tr></table> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="what" id="what">What they are/How to use them</a></h2> + + + <p><code>.htaccess</code> files (or "distributed configuration files") + provide a way to make configuration changes on a per-directory basis. A + file, containing one or more configuration directives, is placed in a + particular document directory, and the directives apply to that + directory, and all subdirectories thereof.</p> + + <div class="note"><h3>Note:</h3> + <p>If you want to call your <code>.htaccess</code> file something + else, you can change the name of the file using the <code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code> directive. For example, + if you would rather call the file <code>.config</code> then you + can put the following in your server configuration file:</p> + + <div class="example"><p><code> + AccessFileName .config + </code></p></div> + </div> + + <p>In general, <code>.htaccess</code> files use the same syntax as + the <a href="../configuring.html#syntax">main configuration + files</a>. What you can put in these files is determined by the + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> directive. This + directive specifies, in categories, what directives will be + honored if they are found in a <code>.htaccess</code> file. If a + directive is permitted in a <code>.htaccess</code> file, the + documentation for that directive will contain an Override section, + specifying what value must be in <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> in order for that + directive to be permitted.</p> + + <p>For example, if you look at the documentation for the <code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code> + directive, you will find that it is permitted in <code>.htaccess</code> + files. (See the Context line in the directive summary.) The <a href="../mod/directive-dict.html#Context">Override</a> line reads + <code>FileInfo</code>. Thus, you must have at least + <code>AllowOverride FileInfo</code> in order for this directive to be + honored in <code>.htaccess</code> files.</p> + + <div class="example"><h3>Example:</h3><table> + <tr> + <td><a href="../mod/directive-dict.html#Context">Context:</a></td> + <td>server config, virtual host, directory, .htaccess</td> + </tr> + + <tr> + <td><a href="../mod/directive-dict.html#Override">Override:</a></td> + <td>FileInfo</td> + </tr> + </table></div> + + <p>If you are unsure whether a particular directive is permitted in a + <code>.htaccess</code> file, look at the documentation for that + directive, and check the Context line for ".htaccess".</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="when" id="when">When (not) to use .htaccess files</a></h2> + + <p>In general, you should never use <code>.htaccess</code> files unless + you don't have access to the main server configuration file. There is, + for example, a prevailing misconception that user authentication should + always be done in <code>.htaccess</code> files. This is simply not the + case. You can put user authentication configurations in the main server + configuration, and this is, in fact, the preferred way to do + things.</p> + + <p><code>.htaccess</code> files should be used in a case where the + content providers need to make configuration changes to the server on a + per-directory basis, but do not have root access on the server system. + In the event that the server administrator is not willing to make + frequent configuration changes, it might be desirable to permit + individual users to make these changes in <code>.htaccess</code> files + for themselves. This is particularly true, for example, in cases where + ISPs are hosting multiple user sites on a single machine, and want + their users to be able to alter their configuration.</p> + + <p>However, in general, use of <code>.htaccess</code> files should be + avoided when possible. Any configuration that you would consider + putting in a <code>.htaccess</code> file, can just as effectively be + made in a <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> section in your main server + configuration file.</p> + + <p>There are two main reasons to avoid the use of + <code>.htaccess</code> files.</p> + + <p>The first of these is performance. When <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> + is set to allow the use of <code>.htaccess</code> files, Apache will + look in every directory for <code>.htaccess</code> files. Thus, + permitting <code>.htaccess</code> files causes a performance hit, + whether or not you actually even use them! Also, the + <code>.htaccess</code> file is loaded every time a document is + requested.</p> + + <p>Further note that Apache must look for <code>.htaccess</code> files + in all higher-level directories, in order to have a full complement of + directives that it must apply. (See section on <a href="#how">how + directives are applied</a>.) Thus, if a file is requested out of a + directory <code>/www/htdocs/example</code>, Apache must look for the + following files:</p> + + <div class="example"><p><code> + /.htaccess<br /> + /www/.htaccess<br /> + /www/htdocs/.htaccess<br /> + /www/htdocs/example/.htaccess + </code></p></div> + + <p>And so, for each file access out of that directory, there are 4 + additional file-system accesses, even if none of those files are + present. (Note that this would only be the case if + <code>.htaccess</code> files were enabled for <code>/</code>, which + is not usually the case.)</p> + + <p>The second consideration is one of security. You are permitting + users to modify server configuration, which may result in changes over + which you have no control. Carefully consider whether you want to give + your users this privilege. Note also that giving users less + privileges than they need will lead to additional technical support + requests. Make sure you clearly tell your users what level of + privileges you have given them. Specifying exactly what you have set + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> to, and pointing them + to the relevant documentation, will save yourself a lot of confusion + later.</p> + + <p>Note that it is completely equivalent to put a <code>.htaccess</code> + file in a directory <code>/www/htdocs/example</code> containing a + directive, and to put that same directive in a Directory section + <code><Directory /www/htdocs/example></code> in your main server + configuration:</p> + + <p><code>.htaccess</code> file in <code>/www/htdocs/example</code>:</p> + + <div class="example"><h3>Contents of .htaccess file in + <code>/www/htdocs/example</code></h3><p><code> + AddType text/example .exm + </code></p></div> + + <div class="example"><h3>Section from your <code>httpd.conf</code> + file</h3><p><code> + <Directory /www/htdocs/example><br /> + <span class="indent"> + AddType text/example .exm<br /> + </span> + </Directory> + </code></p></div> + + <p>However, putting this configuration in your server configuration + file will result in less of a performance hit, as the configuration is + loaded once when Apache starts, rather than every time a file is + requested.</p> + + <p>The use of <code>.htaccess</code> files can be disabled completely + by setting the <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> + directive to <code>none</code>:</p> + + <div class="example"><p><code> + AllowOverride None + </code></p></div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how" id="how">How directives are applied</a></h2> + + <p>The configuration directives found in a <code>.htaccess</code> file + are applied to the directory in which the <code>.htaccess</code> file + is found, and to all subdirectories thereof. However, it is important + to also remember that there may have been <code>.htaccess</code> files + in directories higher up. Directives are applied in the order that they + are found. Therefore, a <code>.htaccess</code> file in a particular + directory may override directives found in <code>.htaccess</code> files + found higher up in the directory tree. And those, in turn, may have + overridden directives found yet higher up, or in the main server + configuration file itself.</p> + + <p>Example:</p> + + <p>In the directory <code>/www/htdocs/example1</code> we have a + <code>.htaccess</code> file containing the following:</p> + + <div class="example"><p><code> + Options +ExecCGI + </code></p></div> + + <p>(Note: you must have "<code>AllowOverride Options</code>" in effect + to permit the use of the "<code class="directive"><a href="../mod/core.html#options">Options</a></code>" directive in + <code>.htaccess</code> files.)</p> + + <p>In the directory <code>/www/htdocs/example1/example2</code> we have + a <code>.htaccess</code> file containing:</p> + + <div class="example"><p><code> + Options Includes + </code></p></div> + + <p>Because of this second <code>.htaccess</code> file, in the directory + <code>/www/htdocs/example1/example2</code>, CGI execution is not + permitted, as only <code>Options Includes</code> is in effect, which + completely overrides any earlier setting that may have been in + place.</p> + + <h3><a name="merge" id="merge">Merging of .htaccess with the main + configuration files</a></h3> + + <p>As discussed in the documentation on <a href="../sections.html">Configuration Sections</a>, + <code>.htaccess</code> files can override the <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> sections for + the corresponding directory, but will be overriden by other types + of configuration sections from the main configuration files. This + fact can be used to enforce certain configurations, even in the + presence of a liberal <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> setting. For example, to + prevent script execution while allowing anything else to be set in + <code>.htaccess</code> you can use:</p> + + <div class="example"><p><code> +<Directory /><br /> +<span class="indent"> +Allowoverride All<br /> +</span> +</Directory><br /> +<br /> +<Location /><br /> +<span class="indent"> +Options +IncludesNoExec -ExecCGI<br /> +</span> +</Location> + </code></p></div> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="auth" id="auth">Authentication example</a></h2> + + <p>If you jumped directly to this part of the document to find out how + to do authentication, it is important to note one thing. There is a + common misconception that you are required to use + <code>.htaccess</code> files in order to implement password + authentication. This is not the case. Putting authentication directives + in a <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + section, in your main server configuration file, is the preferred way + to implement this, and <code>.htaccess</code> files should be used only + if you don't have access to the main server configuration file. See <a href="#when">above</a> for a discussion of when you should and should + not use <code>.htaccess</code> files.</p> + + <p>Having said that, if you still think you need to use a + <code>.htaccess</code> file, you may find that a configuration such as + what follows may work for you.</p> + + <p>You must have "<code>AllowOverride AuthConfig</code>" in effect for + these directives to be honored.</p> + + <p><code>.htaccess</code> file contents:</p> + + <div class="example"><p><code> + AuthType Basic<br /> + AuthName "Password Required"<br /> + AuthUserFile /www/passwords/password.file<br /> + AuthGroupFile /www/passwords/group.file<br /> + Require Group admins + </code></p></div> + + <p>Note that <code>AllowOverride AuthConfig</code> must be in effect + for these directives to have any effect.</p> + + <p>Please see the <a href="auth.html">authentication tutorial</a> for a + more complete discussion of authentication and authorization.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ssi" id="ssi">Server Side Includes example</a></h2> + + <p>Another common use of <code>.htaccess</code> files is to enable + Server Side Includes for a particular directory. This may be done with + the following configuration directives, placed in a + <code>.htaccess</code> file in the desired directory:</p> + + <div class="example"><p><code> + Options +Includes<br /> + AddType text/html shtml<br /> + AddHandler server-parsed shtml + </code></p></div> + + <p>Note that <code>AllowOverride Options</code> and <code>AllowOverride + FileInfo</code> must both be in effect for these directives to have any + effect.</p> + + <p>Please see the <a href="ssi.html">SSI tutorial</a> for a more + complete discussion of server-side includes.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cgi" id="cgi">CGI example</a></h2> + + <p>Finally, you may wish to use a <code>.htaccess</code> file to permit + the execution of CGI programs in a particular directory. This may be + implemented with the following configuration:</p> + + <div class="example"><p><code> + Options +ExecCGI<br /> + AddHandler cgi-script cgi pl + </code></p></div> + + <p>Alternately, if you wish to have all files in the given directory be + considered to be CGI programs, this may be done with the following + configuration:</p> + + <div class="example"><p><code> + Options +ExecCGI<br /> + SetHandler cgi-script + </code></p></div> + + <p>Note that <code>AllowOverride Options</code> and <code>AllowOverride + FileInfo</code> must both be in effect for these directives to have any + effect.</p> + + <p>Please see the <a href="cgi.html">CGI tutorial</a> for a more + complete discussion of CGI programming and configuration.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="troubleshoot" id="troubleshoot">Troubleshooting</a></h2> + + <p>When you put configuration directives in a <code>.htaccess</code> + file, and you don't get the desired effect, there are a number of + things that may be going wrong.</p> + + <p>Most commonly, the problem is that <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> is not + set such that your configuration directives are being honored. Make + sure that you don't have a <code>AllowOverride None</code> in effect + for the file scope in question. A good test for this is to put garbage + in your <code>.htaccess</code> file and reload. If a server error is + not generated, then you almost certainly have <code>AllowOverride + None</code> in effect.</p> + + <p>If, on the other hand, you are getting server errors when trying to + access documents, check your Apache error log. It will likely tell you + that the directive used in your <code>.htaccess</code> file is not + permitted. Alternately, it may tell you that you had a syntax error, + which you will then need to fix.</p> + +</div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/howto/htaccess.html" title="English"> en </a> | +<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/htaccess.html.ja.utf8 b/rubbos/app/apache2/manual/howto/htaccess.html.ja.utf8 new file mode 100644 index 00000000..bafb8b7c --- /dev/null +++ b/rubbos/app/apache2/manual/howto/htaccess.html.ja.utf8 @@ -0,0 +1,347 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Apache チュートリアル: .htaccess ファイル - Apache HTTP サーバ</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.0</a> > <a href="./">How-To / チュートリアル</a></div><div id="page-content"><div id="preamble"><h1>Apache チュートリアル: .htaccess ファイル</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/htaccess.html" title="Japanese"> ja </a> | +<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">This translation may be out of date. Check the + English version for recent changes.</div> + +<p><code>.htaccess</code> ファイルはディレクトリ毎に設定を変更する方法を +提供します。</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">.htaccess ファイル</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#what">.htaccess ファイルとは何か/その使い方</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#when">いつ .htaccess ファイルを使う(使わない)か。</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#how">ディレクティブの適用のされ方</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#auth">認証の例</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssi">SSI の例</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgi">CGI の例</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">問題解決</a></li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">.htaccess ファイル</a></h2> + <table class="related"><tr><th>関連モジュール</th><th>関連ディレクティブ</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li><li><code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li></ul></td></tr></table> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="what" id="what">.htaccess ファイルとは何か/その使い方</a></h2> + + + <p><code>.htaccess</code> ファイル (「分散設定ファイル」) は + ディレクトリ毎に設定を変更する方法を提供します。ディレクティブの + 書かれたファイルをディレクトリに置くことで、そのディレクトリとその + サブディレクトリすべてにディレクティブを適用させることができます。</p> + + <div class="note"><h3>注:</h3> + <p><code>.htaccess</code> ファイルを別の名前にしたい場合は、 + <code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code> ディレクティブを + 使って変更することができます。例えば、そのファイルを <code>.config</code> + という名前にしたい場合は、以下の設定をサーバ設定ファイルに入れることが + できます:</p> + + <div class="example"><p><code> + AccessFileName .config + </code></p></div> + </div> + + <p>一般に、<code>.htaccess</code> ファイルの構文は + <a href="../configuring.html#syntax">主設定ファイル</a> + と同じです。これらのファイルに書くことのできるディレクティブは <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> ディレクティブにより決まります。 + このディレクティブは、<code>.htaccess</code> ファイルに + 書かれたディレクティブの中で、、 + どのディレクティブが適用されるかをカテゴリー単位で指定します。 + <code>.htaccess</code> に書くことのできるディレクティブであれば、 + 説明文書には「上書き」という項目があり、.htaccess に書くことができるように + なるための <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> の値が指定されています。</p> + + <p>例えば、<code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code> ディレクティブの説明を + 見ると、<code>.htaccess</code> ファイルでの使用が許可されていることが + わかります。 (ディレクティブの概要の所にある「コンテキスト」と書かれている + 行を見てください。) <a href="../mod/directive-dict.html#Context">上書き</a>と書かれている行には + <code>FileInfo</code> とあります。ですから、<code>.htaccess</code> 中の + このディレクティブが有効になるためには、少なくとも + <code>AllowOverride FileInfo</code> が設定されている必要があります。</p> + + <div class="example"><h3>例:</h3><table> + <tr> + <td><a href="../mod/directive-dict.html#Context">コンテキスト:</a></td> + <td>サーバ設定ファイル,バーチャルホスト,ディレクトリ,.htaccess</td> + </tr> + + <tr> + <td><a href="../mod/directive-dict.html#Override">上書き:</a></td> + <td>FileInfo</td> + </tr> + </table></div> + + <p>あるディレクティブを <code>.htaccess</code> ファイルに書くことができるか + どうかわからないときは、そのディレクティブの説明を探して、".htaccess" + のための「コンテキスト」の行を調べてください。</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="when" id="when">いつ .htaccess ファイルを使う(使わない)か。</a></h2> + + <p>一般的に、サーバの主設定ファイルにアクセスできない場合を除いて、 + <code>.htaccess</code> ファイルの使用は極力避けてください。 + 世の中には、例えば、ユーザ認証は常に <code>.htaccess</code> ファイルで + 行なわなければならない、という誤解が広まっていますが、まったくそんなことは + ありません。ユーザ認証の設定はサーバ主設定ファイルに書くことができ、 + 実際、その方がより良い設定方法です。</p> + + <p><code>.htaccess</code> ファイルはコンテンツ提供者がディレクトリ毎の + 設定を行ないたいけれど、サーバシステムの root アクセス権限を持っていない + という場合にのみ使うべきものです。サーバ管理者が頻繁に設定変更を行ないたくは + ない、というときには個々のユーザが <code>.htaccess</code> ファイルを使って + 自分で設定の変更を行なうことを許可した方が良いときもあるでしょう。 + これは特に、ISP が複数のユーザのサイトを一つのマシンでホストしていて、 + 各ユーザが設定の変更をできるようにしたいようなときにあてはまります。</p> + + <p>しかし、普通は可能であれば <code>.htaccess</code> ファイルの使用は + 避けてください。<code>.htaccess</code> ファイルに書こうと考えるような + すべての設定は、サーバの主設定ファイルの <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> セクションで同じように行なうことが + できます。</p> + + <p><code>.htaccess</code> ファイルの使用を避ける理由は主に二つあります。</p> + + <p>一つ目はサーバの性能の問題です。<code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> ディレクティブが + <code>.htaccess</code> ファイルの設定を許可している場合は、Apache は + 各ディレクトリで <code>.htaccess</code> ファイルを探します。 + ですから、<code>.htaccess</code> ファイルを許可すると、実際に使用しているか + どうかに関わらず、性能の低下を招くことになります! また、<code>.htaccess</code> + ファイルは文書がリクエストされる度に読み込まれます。</p> + + <p>さらに、Apache は適用すべきディレクティブを集めるために、すべての + 上位のディレクトリの <code>.htaccess</code> ファイルを探す必要があることにも + 注意してください。(<a href="#how">ディレクティブが適用される方法</a>を + 参照してください。)ですから、<code>/www/htdocs/example</code> にある + ファイルがリクエストされたときは、Apache は以下のファイルを調べます。</p> + + <div class="example"><p><code> + /.htaccess<br /> + /www/.htaccess<br /> + /www/htdocs/.htaccess<br /> + /www/htdocs/example/.htaccess + </code></p></div> + + <p>ですから、そのディレクトリのそれぞれのファイルへのアクセスに対して、 + 上の例のファイルがまったく存在しないときでも、追加のファイルシステムの + アクセスが行なわれることになります。(これは、<code>.htaccess</code> が + <code>/</code> に対して有効になっているときの場合で、普通はそうなって + いないことに注意してください。)</p> + + <p>二つ目はセキュリティです。ユーザにサーバの設定を変更することを + 許可することになりますので、あなた自身が管理できない変更をされる + 恐れがあります。ユーザにこの特権を与えるのが良いのかどうか、十分 + 検討してください。また、ユーザに与える権限が必要なものよりも少なすぎると、 + 余分な技術サポート報告を受け取るようになる可能性が高いことにも + 注意してください。確実に、ユーザにどの程度の権限を与えたか明確に告げるように + してください。<code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> に + 何を設定したかということと、関連する文書を示すことで、 + 後々の混乱をぐっと減らすことが + できます。</p> + + <p>ところで、ディレクティブの書かれた <code>.htaccess</code> を + <code>/www/htdocs/example</code> に置くことと、同じディレクティブを + 主サーバ設定の Directory セクション + <code><Directory /www/htdocs/example></code> に書くことは + 完全に等価です:</p> + + <p><code>/www/htdocs/example</code> の <code>.htaccess</code> ファイル:</p> + + <div class="example"><h3><code>/www/htdocs/example</code> の .htaccess ファイルの + 内容</h3><p><code> + AddType text/example .exm + </code></p></div> + + <div class="example"><h3><code>httpd.conf のセクション</code> + file</h3><p><code> + <Directory /www/htdocs/example><br /> + <span class="indent"> + AddType text/example .exm<br /> + </span> + </Directory> + </code></p></div> + + <p>しかし、この設定はサーバ設定ファイルに書いた方がパフォーマンスの + 低下が少なくなります。ファイルがリクエストされる度に + 読み込まれる代わりに、Apache の起動時に 1 回だけ読み込めば + よくなるからです。</p> + + <p><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> ディレクティブの + 値を <code>none</code> に設定することで <code>.htaccess</code> ファイル + の使用を完全に無効にすることができます。</p> + + <div class="example"><p><code> + AllowOverride None + </code></p></div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how" id="how">ディレクティブの適用のされ方</a></h2> + + <p><code>.htaccess</code> ファイルの設定ディレクティブは <code>.htaccess</code> + ファイルの存在するディレクトリと、そのサブディレクトリすべてに適用されます。 + しかし、上の階層のディレクトリにも <code>.htaccess</code> ファイルが + 存在するかもしれないことを覚えておくことは大切です。ディレクティブは現れる + 順番に適用されます。ですから、あるディレクトリの <code>.htaccess</code> は + ディレクトリツリーのより上の階層の <code>.htaccess</code> ファイルの + 設定を上書きするかもしれません。そして、その <code>.htaccess</code> も + より上の階層で書かれたディレクティブを上書きしたり、主サーバ設定ファイル + そのものの設定を上書きしたりしているかもしれません。</p> + + <p>例:</p> + + <p>ディレクトリ <code>/www/htdocs/example1</code> に以下の内容の + <code>.htaccess</code> ファイルがあります:</p> + + <div class="example"><p><code> + Options +ExecCGI + </code></p></div> + + <p>(注: <code>.htaccess</code> + ファイルで "<code class="directive"><a href="../mod/core.html#options">Options</a></code>" ディレクティブが有効になるためには、 + "<code>AllowOverride Options</code>" を有効にする必要があります。)</p> + + <p>ディレクトリ <code>/www/htdocs/example1/example2</code> には + 以下のような <code>.htaccess</code> ファイルがあります:</p> + + <div class="example"><p><code> + Options Includes + </code></p></div> + + <p>二つめの <code>.htaccess</code> により、ディレクトリ + <code>/www/htdocs/example1/example2</code> では CGI の実行は + 許可されません。これは、<code>Options Includes</code> のみが + 効力を持ち、それがすべての以前の設定を上書きするからです。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="auth" id="auth">認証の例</a></h2> + + <p>もし認証の方法を知るためにこの部分に直接来たのであれば、次のことを + 知っておくことが重要です。よくある誤解に、パスワード認証を行なうためには + <code>.htaccess</code> ファイルを使う必要がある、というものがあります。 + これは正しくありません。主サーバ設定ファイルの <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> セクションに + 認証用のディレクティブを書く方が推奨される方法で、<code>.htaccess</code> + ファイルは主サーバ設定ファイルを変更できないときにのみ使用すべきです。 + いつ <code>.htaccess</code> ファイルを使うべきで、いつ使うべきではないかに + ついては <a href="#when">上</a>を参照してください。</p> + + <p>以上のことをふまえた上で、もし <code>.htaccess</code> の使用が + まだ必要だと思う場合は、次のようなものが望みのことをしてくれるかも + しれません。</p> + + <p>ディレクティブが適用されるためには、 + "<code>AllowOverride AuthConfig</code>" の設定がなされている + 必要があります。</p> + + <p><code>.htaccess</code> ファイルの内容:</p> + + <div class="example"><p><code> + AuthType Basic<br /> + AuthName "Password Required"<br /> + AuthUserFile /www/passwords/password.file<br /> + AuthGroupFile /www/passwords/group.file<br /> + Require Group admins + </code></p></div> + + <p>これらのディレクティブが有効になるためには、 + <code>AllowOverride AuthConfig</code> が有効でなくてはならないことに + 注意してください。</p> + + <p>認証と承認については <a href="auth.html">認証チュートリアル</a>を + 参照してください。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ssi" id="ssi">SSI の例</a></h2> + + <p>もう一つの <code>.htaccess</code> ファイルのよくある利用法は + 特定のディレクトリで SSI を有効にすることです。これは、望みのディレクトリの + <code>.htaccess</code> ファイルに以下の設定ディレクティブを書くことで + 達成できます:</p> + + <div class="example"><p><code> + Options +Includes<br /> + AddType text/html shtml<br /> + AddHandler server-parsed shtml + </code></p></div> + + <p>これらのディレクティブが有効になるためには、 + <code>AllowOverride Options</code> と <code>AllowOverride + FileInfo</code> が有効になっている必要があることに注意してください。</p> + + <p>よりまとまった SSI の説明は <a href="ssi.html">SSI チュートリアル</a>を + 参照してください。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cgi" id="cgi">CGI の例</a></h2> + + <p>最後に、特定のディレクトリで CGI プログラムの実行を許可したいことが + あるでしょう。これは以下の設定で行なうことができます:</p> + + <div class="example"><p><code> + Options +ExecCGI<br /> + AddHandler cgi-script cgi pl + </code></p></div> + + <p>もしくは、あるディレクトリのすべてのファイルが CGI プログラムと + みなされるようにしたいなら、以下の設定で実現することができます:</p> + + <div class="example"><p><code> + Options +ExecCGI<br /> + SetHandler cgi-script + </code></p></div> + + <p>これらのディレクティブが有効になるためには、 + <code>AllowOverride Options</code> と <code>AllowOverride + FileInfo</code> が有効である必要があることに注意してください。</p> + + <p>CGI プログラムと設定のよりまとまった説明は <a href="cgi.html">CGI チュートリアル</a>を参照してください。</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="troubleshoot" id="troubleshoot">問題解決</a></h2> + + <p>設定ディレクティブを <code>.htaccess</code> ファイルに書いたけれども、 + 期待した効果が得られないときには、いくつかの原因が考えられます。</p> + + <p>一番よくあることは、設定ディレクティブが考慮されるようには + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> が設定されていない + というものです。該当のファイルのスコープに <code>AllowOverride None</code> + が設定されていないことを確認してください。これを調べるための良い方法は、 + <code>.htaccess</code> ファイルにごみを書いて、リロードすることです。 + サーバのエラーが生成されないときは、ほぼ確実に <code>AllowOverride + None</code> が設定されている状態になっています。</p> + + <p>そうではなく、文書をアクセスしようとしたときにエラーが発生している + ときは、Apache のエラーログを調べてください。<code>.htaccess</code> ファイルで + 使用されたディレクティブが許可されていない、ということを知らせている + 可能性が高いです。または、構文の間違いがあることを述べているかもしれません。 + その場合にはまずそれを修正する必要があります。</p> + +</div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/htaccess.html" title="Japanese"> ja </a> | +<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/htaccess.html.ko.euc-kr b/rubbos/app/apache2/manual/howto/htaccess.html.ko.euc-kr new file mode 100644 index 00000000..7fcb2b92 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/htaccess.html.ko.euc-kr @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>ġ 丮: .htaccess - Apache HTTP Server</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.0</a> > <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>ġ 丮: .htaccess </h1> +<div class="toplang"> +<p><span> : </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/htaccess.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> + +<p><code>.htaccess</code> Ͽ 丮 + ִ.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">.htaccess </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#what"≯/ ϴ°</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#when"> .htaccess ϳ + (Ȥ ʳ)</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#how"> þ ϳ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#auth"> </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssi">Server Side Includes </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgi">CGI </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">ذ</a></li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">.htaccess </a></h2> + <table class="related"><tr><th>õ </th><th>õ þ</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li><li><code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li></ul></td></tr></table> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="what" id="what"≯/ ϴ°</a></h2> + + + <p><code>.htaccess</code> (Ȥ "л ") + ϸ 丮 ִ. þ + ִ Ư 丮 θ, 丮 + 丮 þ Ѵ.</p> + + <div class="note"><h3>:</h3> + <p><code>.htaccess</code> ϸ ٸ ϰ ʹٸ, + <code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code> þ + Ͽ ִ. , <code>.config</code> + ϸ Ϸ Ͽ ߰Ѵ.</p> + + <div class="example"><p><code> + AccessFileName .config + </code></p></div> + </div> + + <p>Ϲ <code>.htaccess</code> <a href="../configuring.html#syntax">ּ</a> + . <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> + þ Ͽ ִ Ѵ. þ + <code>.htaccess</code> Ͽ ϴ þ з Ѵ. + þ <code>.htaccess</code> Ͽ ִٸ, + ش þ Override þ ϱ + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> + ˷ش.</p> + + <p> , <code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code> + þ þ <code>.htaccess</code> Ͽ + ִ. (þ .) + <a href="../mod/directive-dict.html#Context">Override</a> + ٿ <code>FileInfo</code> ִ. þ + <code>.htaccess</code> Ͽ ϱؼ ּ + <code>AllowOverride FileInfo</code> ʿϴ.</p> + + <div class="example"><h3>:</h3><table> + <tr> + <td><a href="../mod/directive-dict.html#Context">:</a></td> + <td>ּ, ȣƮ, directory, .htaccess</td> + </tr> + + <tr> + <td><a href="../mod/directive-dict.html#Override">Override:</a></td> + <td>FileInfo</td> + </tr> + </table></div> + + <p>Ư þ <code>.htaccess</code> Ͽ + ִ ñϸ þ ".htaccess" + ִ ȮѴ.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="when" id="when"> .htaccess ϳ + (Ȥ ʳ)</a></h2> + + <p>Ϲ ּϿ 찡 ƴ϶ + <code>.htaccess</code> ϸ ȵȴ. , + <code>.htaccess</code> Ͽ ־ + Ѵٴ ߸ ˷ ش. ̴ ƴϴ. ּ + ְ, ̷ Ѵ.</p> + + <p><code>.htaccess</code> ڰ 丮 + ٸϰ ýۿ root + 쿡 Ѵ. ڰ ϰ + Ϲ ڰ <code>.htaccess</code> + ϵ ϴ ٶϴ. , + ǻͿ Ʈ ϴ ISP ڰ + ڽ ϰ 찡 ϴ.</p> + + <p> Ϲ <code>.htaccess</code> + ؾ Ѵ. <code>.htaccess</code> Ͽ ϴ þ + ּ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ǰ ȿ + ִ.</p> + + <p> ΰ ū <code>.htaccess</code> + ؾ Ѵ.</p> + + <p>ù° ̴. <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> <code>.htaccess</code> + ϵ ϸ, ġ 丮 + <code>.htaccess</code> ã´. + <code>.htaccess</code> ϸ + ʴ 쿡 ! , <code>.htaccess</code> + ûҶ оδ.</p> + + <p>Դٰ ؾ ϴ ü þ ġ + 丮 <code>.htaccess</code> ã´. + (<a href="#how"> þ ϳ</a> .) + <code>/www/htdocs/example</code> 丮 ִ + ûϸ, ġ ϵ ãƾ Ѵ.</p> + + <div class="example"><p><code> + /.htaccess<br /> + /www/.htaccess<br /> + /www/htdocs/.htaccess<br /> + /www/htdocs/example/.htaccess + </code></p></div> + + <p> 丮 ִ + Ͻý 4 ؾ Ѵ. + (<code>/</code> <code>.htaccess</code> + 츦 Ѵ. ʴ´.)</p> + + <p>ι° ̴. ڿ + ָ ȭ Ͼ ִ. ڿ + ̷ ϶. , ڰ ϴ ͺ + ָ û ´. ڿ + Ȯ ˷. ڿ <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> Ͽ + Ȯ ˸ ϸ ȥ + ִ.</p> + + <p>þ <code>/www/htdocs/example</code> 丮 + <code>.htaccess</code> δ Ͱ ּ + <code><Directory /www/htdocs/example></code> Directory + δ .</p> + + <p><code>/www/htdocs/example</code> ִ + <code>.htaccess</code> :</p> + + <div class="example"><h3><code>/www/htdocs/example</code> ִ + .htaccess </h3><p><code> + AddType text/example .exm + </code></p></div> + + <div class="example"><h3><code>httpd.conf</code> Ͽ ִ </h3><p><code> + <Directory /www/htdocs/example><br /> + <span class="indent"> + AddType text/example .exm<br /> + </span> + </Directory> + </code></p></div> + + <p> û ʰ ġ + Ҷ ѹ б Ͽ + ϸ .</p> + + <p><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> þ + <code>none</code> ϸ <code>.htaccess</code> + .</p> + + <div class="example"><p><code> + AllowOverride None + </code></p></div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how" id="how"> þ ϳ</a></h2> + + <p><code>.htaccess</code> ߰ 丮 丮 + 丮 <code>.htaccess</code> Ͽ ִ + þ Ѵ. 丮 <code>.htaccess</code> + ؾ Ѵ. ߰ þ Ѵ. Ư + 丮 ִ <code>.htaccess</code> 丮 + ִ <code>.htaccess</code> þ ȿ + ְ, 丮 ִ þ 丮 Ȥ + ּϿ ִ þ ȿ ִ.</p> + + <p>:</p> + + <p><code>/www/htdocs/example1</code> 丮 + <code>.htaccess</code> ִ.</p> + + <div class="example"><p><code> + Options +ExecCGI + </code></p></div> + + <p>(: <code>.htaccess</code> Ͽ "<code class="directive"><a href="../mod/core.html#options">Options</a></code>" þ Ϸ + "<code>AllowOverride Options</code>" ʿϴ.)</p> + + <p><code>/www/htdocs/example1/example2</code> 丮 + <code>.htaccess</code> ִ.</p> + + <div class="example"><p><code> + Options Includes + </code></p></div> + + <p> ι° <code>.htaccess</code> + <code>Options Includes</code> ȿ + <code>/www/htdocs/example1/example2</code> + 丮 CGI ʴ´.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="auth" id="auth"> </a></h2> + + <p> ˱ ٷ ̰ д´ٸ + ִ. ȣ Ϸ <code>.htaccess</code> + ʿϴٴ ذ θ ִ. ̴ ƴϴ. + ּ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ǿ þ + δ ϴ ̰, ּ + 쿡 <code>.htaccess</code> ؾ + Ѵ. <code>.htaccess</code> ؾ ϴ + ƾ ϴ <a href="#when"></a> + Ͽ.</p> + + <p>տ <code>.htaccess</code> + ʿϴٰ Ǹ Ʒ ̴.</p> + + <p> þ Ϸ "<code>AllowOverride AuthConfig</code>" + ־ Ѵ.</p> + + <p><code>.htaccess</code> .</p> + + <div class="example"><p><code> + AuthType Basic<br /> + AuthName "Password Required"<br /> + AuthUserFile /www/passwords/password.file<br /> + AuthGroupFile /www/passwords/group.file<br /> + Require Group admins + </code></p></div> + + <p> þ ϱؼ + <code>AllowOverride AuthConfig</code> þ ʿ + ϶.</p> + + <p> Ѻο ڼ <a href="auth.html"> + 丮</a> ٶ.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ssi" id="ssi">Server Side Includes </a></h2> + + <p>Ǵٸ Ϲ <code>.htaccess</code> 뵵 + Ư 丮 Server Side Includes ϰ + ̴. ϴ 丮 <code>.htaccess</code> Ͽ + þ ϸ ȴ.</p> + + <div class="example"><p><code> + Options +Includes<br /> + AddType text/html shtml<br /> + AddHandler server-parsed shtml + </code></p></div> + + <p> þ Ϸ <code>AllowOverride Options</code> + <code>AllowOverride FileInfo</code> ʿ ϶.</p> + + <p>server-side includes ڼ <a href="ssi.html">SSI 丮</a> ٶ.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cgi" id="cgi">CGI </a></h2> + + <p> <code>.htaccess</code> Ͽ Ư + 丮 CGI α ϰ ʹٸ, + Ѵ.</p> + + <div class="example"><p><code> + Options +ExecCGI<br /> + AddHandler cgi-script cgi pl + </code></p></div> + + <p>Ȥ 丮 ִ CGI α + óϰ ʹٸ ϴ.</p> + + <div class="example"><p><code> + Options +ExecCGI<br /> + SetHandler cgi-script + </code></p></div> + + <p> þ Ϸ <code>AllowOverride Options</code> + <code>AllowOverride FileInfo</code> ʿ ϶.</p> + + <p>CGI αְ ڼ <a href="cgi.html">CGI 丮</a> ٶ.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="troubleshoot" id="troubleshoot">ذ</a></h2> + + <p><code>.htaccess</code> Ͽ þ ϴ + ʴ ִ.</p> + + <p> Ϲ þ ϰ <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> + . Ǵ <code>AllowOverride None</code> + ȮѴ. <code>.htaccess</code> ƹԳ + ٽ Ͽ ˻غ ִ. + Ȯ + <code>AllowOverride None</code> .</p> + + <p>ݴ Ҷ ϸ ġ α + . Ƹ <code>.htaccess</code> Ͽ ִ þ + ʴ´ٰ ̴. ƴϰ ִٸ + ģ.</p> + +</div></div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/htaccess.html" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/index.html b/rubbos/app/apache2/manual/howto/index.html new file mode 100644 index 00000000..4f3357b3 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/index.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: index.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: index.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/rubbos/app/apache2/manual/howto/index.html.en b/rubbos/app/apache2/manual/howto/index.html.en new file mode 100644 index 00000000..5ef8dc03 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/index.html.en @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>How-To / Tutorials - Apache HTTP Server</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page" class="no-sidebar"><div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="../"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.0</a></div><div id="page-content"><div id="preamble"><h1>How-To / Tutorials</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/howto/" title="English"> en </a> | +<a href="../ja/howto/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="howto" id="howto">How-To / Tutorials</a></h2> + + + + <dl> + <dt>Authentication</dt> + <dd> + <p>Authentication is any process by which you verify that + someone is who they claim they are. Authorization is any + process by which someone is allowed to be where they want to + go, or to have information that they want to have.</p> + + <p>See: <a href="auth.html">Authentication, Authorization, and Access Control</a></p> + </dd> + </dl> + + <dl> + <dt>Dynamic Content with CGI</dt> + <dd> + <p>The CGI (Common Gateway Interface) defines a way for a web + server to interact with external content-generating programs, + which are often referred to as CGI programs or CGI scripts. It + is the simplest, and most common, way to put dynamic content on + your web site. This document will be an introduction to setting + up CGI on your Apache web server, and getting started writing + CGI programs.</p> + + <p>See: <a href="cgi.html">CGI: Dynamic Content</a></p> + </dd> + </dl> + + <dl> + <dt><code>.htaccess</code> files</dt> + <dd> + <p><code>.htaccess</code> files provide a way to make configuration + changes on a per-directory basis. A file, containing one or more + configuration directives, is placed in a particular document directory, + and the directives apply to that directory, and all subdirectories thereof.</p> + + <p>See: <a href="htaccess.html"><code>.htaccess</code> files</a></p> + </dd> + </dl> + + <dl> + <dt>Introduction to Server Side Includes</dt> + <dd> + <p>SSI (Server Side Includes) are directives that are placed in + HTML pages, and evaluated on the server while the pages are + being served. They let you add dynamically generated content to + an existing HTML page, without having to serve the entire page + via a CGI program, or other dynamic technology.</p> + + <p>See: <a href="ssi.html">Server Side Includes (SSI)</a></p> + </dd> + </dl> + + <dl> + <dt>Per-user web directories</dt> + <dd> + <p>On systems with multiple users, each user can be permitted to have a + web site in their home directory using the <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> directive. Visitors + to a URL <code>http://example.com/~username/</code> will get content + out of the home directory of the user "<code>username</code>", out of + the subdirectory specified by the <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> directive.</p> + + <p>See: <a href="public_html.html">User web directories (<code>public_html</code>)</a></p> + </dd> + </dl> + + </div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/howto/" title="English"> en </a> | +<a href="../ja/howto/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/index.html.ja.utf8 b/rubbos/app/apache2/manual/howto/index.html.ja.utf8 new file mode 100644 index 00000000..cd111ec5 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/index.html.ja.utf8 @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>How-To / チュートリアル - Apache HTTP サーバ</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page" class="no-sidebar"><div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="../"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.0</a></div><div id="page-content"><div id="preamble"><h1>How-To / チュートリアル</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/howto/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/" title="Japanese"> ja </a> | +<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="howto" id="howto">How-To / チュートリアル</a></h2> + + + + <dl> + <dt>認証</dt> + <dd> + <p>認証とは、誰かが自分は誰であるかを名乗っているものを検証する + 処理のことです。承認とは、誰かが望みの場所に辿り着けたり、 + 望みの情報を手に入れたりすることを許可する処理のことです。</p> + + <p>参照: <a href="auth.html">認証、承認、アクセス制御</a></p> + </dd> + </dl> + + <dl> + <dt>CGI による動的コンテンツ</dt> + <dd> + <p>CGI (Common Gateway Interface) はウェブサーバが外部のコンテンツ + 生成プログラムとどのように相互動作をするかを定義します。 + その外部プログラムは通常 CGI プログラムや CGI スクリプトと呼ばれます。 + CGI はウェブサイトに動的なコンテンツを追加するための、 + 一番単純でよく使われている方法です。この文書は Apache ウェブサーバに + CGI を設定し、CGI プログラムを書き始めるためのイントロダクションです。</p> + + <p>参照: <a href="cgi.html">CGI: 動的コンテンツ</a></p> + </dd> + </dl> + + <dl> + <dt><code>.htaccess</code> ファイル</dt> + <dd> + <p><code>.htaccess</code> ファイルはディレクトリ毎に設定を変更するための + 方法を提供します。設定ディレクティブが書かれたファイルが、あるドキュメント + ディレクトリに置かれると、ディレクティブはそのディレクトリと + すべてのサブディレクトリに適用されます。</p> + + <p>参照: <a href="htaccess.html"><code>.htaccess</code> ファイル</a></p> + </dd> + </dl> + + <dl> + <dt>Server Side Includes イントロダクション</dt> + <dd> + <p>SSI (Server Side Includes) は HTML ページ中に書かれるディレクティブで、 + ページが送られる時にサーバにより評価されます。これにより、ページ全体を + CGI プログラムで生成したり、他の動的な技術を使うことなく、既存の HTML + ページに動的に生成された内容を付加することができます。</p> + + <p>参照: <a href="ssi.html">Server Side Includes (SSI)</a></p> + </dd> + </dl> + + <dl> + <dt>ユーザ毎のウェブディレクトリ</dt> + <dd> + <p>複数ユーザの存在するシステムでは、それぞれのユーザは <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> ディレクティブを使うことによって + ホームディレクトリ上にウェブサイトを作成することができます。 + URL <code>http://example.com/~username/</code> を訪れた人は + ユーザ "<code>username</code>" のホームディレクトリの、<code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> ディレクティブで指定された + サブディレクトリからコンテンツを得ることになります。</p> + + <p>参照: <a href="public_html.html">ユーザウェブディレクトリ (<code>public_html</code>)</a></p> + </dd> + </dl> + + </div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/howto/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/" title="Japanese"> ja </a> | +<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/index.html.ko.euc-kr b/rubbos/app/apache2/manual/howto/index.html.ko.euc-kr new file mode 100644 index 00000000..14434cc7 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/index.html.ko.euc-kr @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>How-To / 丮 - Apache HTTP Server</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page" class="no-sidebar"><div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="../"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.0</a></div><div id="page-content"><div id="preamble"><h1>How-To / 丮</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/howto/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/" title="Korean"> ko </a></p> +</div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="howto" id="howto">How-To / 丮</a></h2> + + + + <dl> + <dt></dt> + <dd> + <p>(authentication) ڽ ϴ + Ȯϴ ̴. Ѻο(authorization) + Ȥ ϴ ϴ ̴.</p> + + <p>: <a href="auth.html">, Ѻο, </a></p> + </dd> + </dl> + + <dl> + <dt>CGI </dt> + <dd> + <p>CGI (Common Gateway Interface) CGI + α Ȥ CGI ũƮϰ θ, ( + ) ܺ α ȣۿϴ Ѵ. + Ʈ ϰ + ̴. ġ CGI ϴ + Ұϰ, CGI α ۼغ.</p> + + <p>: <a href="cgi.html">CGI: </a></p> + </dd> + </dl> + + <dl> + <dt><code>.htaccess</code> </dt> + <dd> + <p><code>.htaccess</code> Ͽ 丮 + ִ. þ ִ + Ư 丮 θ, 丮 丮 + þ Ѵ.</p> + + <p>: <a href="htaccess.html"><code>.htaccess</code> + </a></p> + </dd> + </dl> + + <dl> + <dt>Server Side Includes Ұ</dt> + <dd> + <p>SSI (Server Side Includes) HTML ϴ + þ, Ҷ óѴ. SSI + ϸ CGI α̳ ٸ + ü ʰ HTML + ߰ ִ.</p> + + <p>: <a href="ssi.html">Server Side Includes (SSI)</a></p> + </dd> + </dl> + + <dl> + <dt>ں 丮</dt> + <dd> + <p> ڰ ִ ýۿ <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> þ ϸ + ڴ ڽ Ȩ丮 ȿ Ʈ + ִ. URL <code>http://example.com/~username/</code> + ϸ "<code>username</code>" Ȩ丮 + <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> + þ 丮 ִ + ȴ.</p> + + <p>: <a href="public_html.html"> 丮 + (<code>public_html</code>)</a></p> + </dd> + </dl> + + </div></div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/howto/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/public_html.html b/rubbos/app/apache2/manual/howto/public_html.html new file mode 100644 index 00000000..f67a8c66 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/public_html.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: public_html.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: public_html.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: public_html.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: public_html.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/rubbos/app/apache2/manual/howto/public_html.html.en b/rubbos/app/apache2/manual/howto/public_html.html.en new file mode 100644 index 00000000..df6751db --- /dev/null +++ b/rubbos/app/apache2/manual/howto/public_html.html.en @@ -0,0 +1,163 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Per-user web directories - Apache HTTP Server</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.0</a> > <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>Per-user web directories</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/howto/public_html.html" title="English"> en </a> | +<a href="../ja/howto/public_html.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/public_html.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/howto/public_html.html" hreflang="tr" rel="alternate" title="Trke"> tr </a></p> +</div> + +<p>On systems with multiple users, each user can be permitted to have a + web site in their home directory using the <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> directive. Visitors + to a URL <code>http://example.com/~username/</code> will get content + out of the home directory of the user "<code>username</code>", out of + the subdirectory specified by the <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> directive.</p> + +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Per-user web directories</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#userdir">Setting the file path with UserDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">Restricting what users are permitted to use this + feature</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgi">Enabling a cgi directory for each user</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#htaccess">Allowing users to alter configuration</a></li> +</ul><h3>See also</h3><ul class="seealso"><li><a href="../urlmapping.html">Mapping URLs to the Filesystem</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">Per-user web directories</a></h2> + + <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code></li><li><code class="directive"><a href="../mod/core.html#directorymatch">DirectoryMatch</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li></ul></td></tr></table> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="userdir" id="userdir">Setting the file path with UserDir</a></h2> + + + <p>The <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> + directive specifies a directory out of which per-user + content is loaded. This directive may take several different forms.</p> + + <p>If a path is given which does not start with a leading slash, it is + assumed to be a directory path relative to the home directory of the + specified user. Given this configuration:</p> + + <div class="example"><p><code> + UserDir public_html + </code></p></div> + + <p>the URL <code>http://example.com/~rbowen/file.html</code> will be + translated to the file path + <code>/home/rbowen/public_html/file.html</code></p> + + <p>If a path is given starting with a slash, a directory path will be + constructed using that path, plus the username specified. Given this + configuration:</p> + + <div class="example"><p><code> + UserDir /var/html + </code></p></div> + + <p>the URL <code>http://example.com/~rbowen/file.html</code> will be + translated to the file path <code>/var/html/rbowen/file.html</code></p> + + <p>If a path is provided which contains an asterisk (*), a path is used + in which the asterisk is replaced with the username. Given this + configuration:</p> + + <div class="example"><p><code> + UserDir /var/www/*/docs + </code></p></div> + + <p>the URL <code>http://example.com/~rbowen/file.html</code> will be + translated to the file path + <code>/var/www/rbowen/docs/file.html</code></p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">Restricting what users are permitted to use this + feature</a></h2> + + + <p>Using the syntax shown in the UserDir documentation, you can restrict + what users are permitted to use this functionality:</p> + + <div class="example"><p><code> + UserDir enabled<br /> + UserDir disabled root jro fish + </code></p></div> + + <p>The configuration above will enable the feature for all users + except for those listed in the <code>disabled</code> statement. + You can, likewise, disable the feature for all but a few users by + using a configuration like the following:</p> + + <div class="example"><p><code> + UserDir disabled<br /> + UserDir enabled rbowen krietz + </code></p></div> + + <p>See <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> + documentation for additional examples.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cgi" id="cgi">Enabling a cgi directory for each user</a></h2> + + + <p>In order to give each user their own cgi-bin directory, you can use + a <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + directive to make a particular subdirectory of a user's home directory + cgi-enabled.</p> + + <div class="example"><p><code> + <Directory /home/*/public_html/cgi-bin/><br /> + Options ExecCGI<br /> + SetHandler cgi-script<br /> + </Directory> + </code></p></div> + + <p>Then, presuming that <code>UserDir</code> is set to + <code>public_html</code>, a cgi program <code>example.cgi</code> + could be loaded from that directory as:</p> + + <div class="example"><p><code> + http://example.com/~rbowen/cgi-bin/example.cgi + </code></p></div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="htaccess" id="htaccess">Allowing users to alter configuration</a></h2> + + + <p>If you want to allows users to modify the server configuration in + their web space, they will need to use <code>.htaccess</code> files to + make these changed. Ensure that you have set <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> to a + value sufficient for the directives that you want to permit the users + to modify. See the <a href="htaccess.html">.htaccess tutorial</a> for + additional details on how this works.</p> + + </div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/howto/public_html.html" title="English"> en </a> | +<a href="../ja/howto/public_html.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/public_html.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/howto/public_html.html" hreflang="tr" rel="alternate" title="Trke"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/public_html.html.ja.utf8 b/rubbos/app/apache2/manual/howto/public_html.html.ja.utf8 new file mode 100644 index 00000000..1fc52c9f --- /dev/null +++ b/rubbos/app/apache2/manual/howto/public_html.html.ja.utf8 @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>ユーザ毎のウェブディレクトリ - Apache HTTP サーバ</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.0</a> > <a href="./">How-To / チュートリアル</a></div><div id="page-content"><div id="preamble"><h1>ユーザ毎のウェブディレクトリ</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/howto/public_html.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/public_html.html" title="Japanese"> ja </a> | +<a href="../ko/howto/public_html.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/howto/public_html.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> + +<p>複数のユーザのいるシステムでは、<code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> ディレクティブを使って + 各ユーザがホームディレクトリにウェブサイトを構築できるように設定することが + 可能です。URL <code>http://example.com/~username/</code> を訪れた人は + "<code>username</code>" というユーザの <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> ディレクティブで指定された + サブディレクトリからコンテンツを得ることになります。</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">ユーザ毎のウェブディレクトリ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#userdir">UserDir を使ってファイルのパスを設定する</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">この機能を使用できるユーザを制限する</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgi">ユーザ毎の CGI ディレクトリ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#htaccess">ユーザによる設定変更を許可</a></li> +</ul><h3>参照</h3><ul class="seealso"><li><a href="../urlmapping.html">URL からファイルシステムへのマッピング</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">ユーザ毎のウェブディレクトリ</a></h2> + + <table class="related"><tr><th>関連モジュール</th><th>関連ディレクティブ</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code></li><li><code class="directive"><a href="../mod/core.html#directorymatch">DirectoryMatch</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li></ul></td></tr></table> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="userdir" id="userdir">UserDir を使ってファイルのパスを設定する</a></h2> + + + <p><code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> ディレクティブは + ユーザ毎のコンテンツが読み込まれるディレクトリを指定します。 + このディレクティブはいろいろ違った形式を取ることができます。</p> + + <p>スラッシュで始まらないパスが与えられたときは、ユーザのホームディレクトリ + からの相対パスとみなされます。次の設定があったときに:</p> + + <div class="example"><p><code> + UserDir public_html + </code></p></div> + + <p>URL <code>http://example.com/~rbowen/file.html</code> は + パス <code>/home/rbowen/public_html/file.html</code> へ + 変換されます。</p> + + <p>パスがスラッシュで始まるときは、ディレクトリパスはそのパスに + ユーザ名を加えたものからなります。次の設定のとき:</p> + + <div class="example"><p><code> + UserDir /var/html + </code></p></div> + + <p>URL <code>http://example.com/~rbowen/file.html</code> は + パス <code>/var/html/rbowen/file.html</code> へ変換されます。</p> + + <p>アスタリスク (*) を含むパスが指定されたときは、アスタリスクを + ユーザ名で置換したものが使用されます。このような設定だと:</p> + + <div class="example"><p><code> + UserDir /var/www/*/docs + </code></p></div> + + <p>URL <code>http://example.com/~rbowen/file.html</code> は + パス <code>/var/www/rbowen/docs/file.html</code> へ変換されます。</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">この機能を使用できるユーザを制限する</a></h2> + + + <p>UserDir のドキュメントに示されている構文を使うことで、 + どのユーザがこの機能を使うことができるかを制限することができます:</p> + + <div class="example"><p><code> + UserDir enabled<br /> + UserDir disabled root jro fish + </code></p></div> + + <p>上の設定は <code>dissabled</code> 文のユーザ以外のすべてのユーザに + 対して UserDir の機能を有効にします。同様にして、以下のように + 数名のユーザ以外に対してこの機能を無効にすることもできます:</p> + + <div class="example"><p><code> + UserDir disabled<br /> + UserDir enabled rbowen krietz + </code></p></div> + + <p>他の例は <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> + の説明を参照してください。</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cgi" id="cgi">ユーザ毎の CGI ディレクトリ</a></h2> + + + <p>それぞれのユーザに専用の cgi-bin ディレクトリを与えるために、 + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + を使ってユーザのホームディレクトリの指定された領域に対して CGI を有効に + することができます。</p> + + <div class="example"><p><code> + <Directory /home/*/public_html/cgi-bin/><br /> + Options ExecCGI<br /> + SetHandler cgi-script<br /> + </Directory> + </code></p></div> + + <p>そして、<code>UserDir</code> が + <code>public_html</code> に設定されていると仮定すると、 + そのディレクトリの CGI プログラム <code>example.cgi</code> + は以下の様に呼び出されることができます:</p> + + <div class="example"><p><code> + http://example.com/~rbowen/cgi-bin/example.cgi + </code></p></div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="htaccess" id="htaccess">ユーザによる設定変更を許可</a></h2> + + + <p>ユーザに彼らのウェブ空間でのサーバの設定の変更を許可する場合、 + ユーザは <code>.htaccess</code> ファイルを使って設定を変更する必要があります。 + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> の値を + ユーザが変更することを許可したいディレクティブに対して十分なものに + 設定していることを確認してください。この機能がどのようにして動作しているか + の詳細は <a href="htaccess.html">.htaccess チュートリアル</a> を読んで + ください。</p> + + </div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/howto/public_html.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/public_html.html" title="Japanese"> ja </a> | +<a href="../ko/howto/public_html.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/howto/public_html.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/public_html.html.ko.euc-kr b/rubbos/app/apache2/manual/howto/public_html.html.ko.euc-kr new file mode 100644 index 00000000..782bd448 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/public_html.html.ko.euc-kr @@ -0,0 +1,158 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>ں 丮 - Apache HTTP Server</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.0</a> > <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>ں 丮</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/howto/public_html.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/public_html.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/public_html.html" title="Korean"> ko </a> | +<a href="../tr/howto/public_html.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> + +<p> ڰ ִ ýۿ <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> þ ϸ + ڴ ڽ Ȩ丮 ȿ Ʈ ִ. + URL <code>http://example.com/~username/</code> ϸ + "<code>username</code>" Ȩ丮 <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> þ + 丮 ִ ȴ.</p> + +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">ں 丮</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#userdir">UserDir ϰ ϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enable"> ̿ ϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgi"> ں cgi 丮 ϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#htaccess">ڰ ֵ </a></li> +</ul><h3></h3><ul class="seealso"><li><a href="../urlmapping.html">URL Ͻýۿ </a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">ں 丮</a></h2> + + <table class="related"><tr><th>õ </th><th>õ þ</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code></li><li><code class="directive"><a href="../mod/core.html#directorymatch">DirectoryMatch</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li></ul></td></tr></table> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="userdir" id="userdir">UserDir ϰ ϱ</a></h2> + + + <p><code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> + þ ں 丮 Ѵ. + þ .</p> + + <p> ʴ θ ϸ + Ȩ丮 丮 η óѴ. , + Ʒ :</p> + + <div class="example"><p><code> + UserDir public_html + </code></p></div> + + <p>URL <code>http://example.com/~rbowen/file.html</code> + <code>/home/rbowen/public_html/file.html</code> + Ѵ.</p> + + <p> ϴ θ ϸ 丮 + ڸ 丮 θ Ѵ. , Ʒ + :</p> + + <div class="example"><p><code> + UserDir /var/html + </code></p></div> + + <p>URL <code>http://example.com/~rbowen/file.html</code> + <code>/var/html/rbowen/file.html</code> Ѵ.</p> + + <p>ǥ (*) θ ϸ ǥ ڸ + ü θ Ѵ. , Ʒ :</p> + + <div class="example"><p><code> + UserDir /var/www/*/docs + </code></p></div> + + <p>URL <code>http://example.com/~rbowen/file.html</code> + <code>/var/www/rbowen/docs/file.html</code> + Ѵ.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable"> ̿ ϱ</a></h2> + + + <p>UserDir ִ Ͽ ں 丮 + ̿ ִ ڸ ִ:</p> + + <div class="example"><p><code> + UserDir enabled<br /> + UserDir disabled root jro fish + </code></p></div> + + <p> <code>disabled</code> 忡 + ϰ ڿ 丮 Ѵ. , + ڸ ϰ + ִ:</p> + + <div class="example"><p><code> + UserDir disabled<br /> + UserDir enabled rbowen krietz + </code></p></div> + + <p><code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> + ִ ٸ 鵵 ϶.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cgi" id="cgi"> ں cgi 丮 ϱ</a></h2> + + + <p>ڸ cgi-bin 丮 οϷ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> þ + Ͽ Ȩ丮 Ư 丮 cgi ϰ + .</p> + + <div class="example"><p><code> + <Directory /home/*/public_html/cgi-bin/><br /> + Options ExecCGI<br /> + SetHandler cgi-script<br /> + </Directory> + </code></p></div> + + <p><code>UserDir</code> <code>public_html</code>̶ + ϸ, ȿ ִ cgi α + <code>example.cgi</code> ִ.</p> + + <div class="example"><p><code> + http://example.com/~rbowen/cgi-bin/example.cgi + </code></p></div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="htaccess" id="htaccess">ڰ ֵ </a></h2> + + + <p>ڰ ڽ Ϸ, + <code>.htaccess</code> ־ Ѵ. <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> ڰ + ִ þ ϶. ϴ + ڼ <a href="htaccess.html">.htaccess + 丮</a> ϶.</p> + + </div></div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/howto/public_html.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/public_html.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/public_html.html" title="Korean"> ko </a> | +<a href="../tr/howto/public_html.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/public_html.html.tr.utf8 b/rubbos/app/apache2/manual/howto/public_html.html.tr.utf8 new file mode 100644 index 00000000..0788ed25 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/public_html.html.tr.utf8 @@ -0,0 +1,167 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Kullanıcı Dizinleri (public_html) - Apache HTTP Sunucusu</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.0</a> > <a href="./">Nasıllar ve Öğreticiler</a></div><div id="page-content"><div id="preamble"><h1>Kullanıcı Dizinleri (public_html)</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/howto/public_html.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/public_html.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/public_html.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/howto/public_html.html" title="Türkçe"> tr </a></p> +</div> + + <p>Çok kullanıcılı sistemlerde, <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> yönergesi ile her kullanıcının kendi ev dizininde + bir sitesi olması sağlanabilir. + <code>http://example.com/~kullanıcı/</code> adresinin ziyaretçileri + "kullanıcı" isimli kullanıcının ev dizininin içeriğini değil, <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> yönergesinde belirtilen alt + dizinin içeriğini görürler.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Kullanıcı sayfaları dizinleri</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#userdir"><code>UserDir</code> ile dosya yolunun belirtilmesi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">Bu özelliği kullanacak kullanıcıların sınırlandırılması</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgi">Her kullanıcıya bir CGI dizini tahsis etmek</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#htaccess">Kullanıcıların yapılandırmayı değiştirmesine izin vermek</a></li> +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="../urlmapping.html">URL’lerin Dosya Sistemi ile + Eşleştirilmesi</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">Kullanıcı sayfaları dizinleri</a></h2> + + <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code></li><li><code class="directive"><a href="../mod/core.html#directorymatch">DirectoryMatch</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li></ul></td></tr></table> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="userdir" id="userdir"><code>UserDir</code> ile dosya yolunun belirtilmesi</a></h2> + + + <p><code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> yönergesinde + kullanıcı sayfalarının yükleneceği dizin belirtilir. Bu yönergeye değeri + çeşitli biçimlerde atanabilir.</p> + + <p>Başında bölü çizgisi bulunmayan bir dosya yolu belirtilmişse, + kullanıcının ev dizinine göreli bir dizin belirtildiği varsayılır. + Yapılandırmada şöyle bir satır varsa:</p> + + <div class="example"><p><code> + UserDir public_html + </code></p></div> + + <p><code>http://example.com/~orhan/dosya.html</code> adresine karşılık + gelen dosya yolu <code>/home/orhan/public_html/dosya.html</code> olarak + çözümlenir.</p> + + <p>Eğer başında bölü çizgisi bulunan bir dosya yolu belirtilirse, + kullanıcı sayfalarının bu dizinin altında kullanıcı ismini taşıyan + dizinlerde bulunacağı varsayılır. Yapılandırmada şöyle bir satır + varsa:</p> + + <div class="example"><p><code> + UserDir /var/html + </code></p></div> + + <p><code>http://example.com/~orhan/dosya.html</code> adresine karşılık + gelen dosya yolu <code>/var/html/orhan/dosya.html</code> olarak + çözümlenir.</p> + + <p>Eğer belirtilen dosya yolu bir yıldız imi (*) içeriyorsa yıldız iminin + yerine kullanıcı ismi yerleştirilerek elde edilen dosya yolu + kullanılır. Yapılandırmada şöyle bir satır varsa:</p> + + <div class="example"><p><code> + UserDir /var/siteler/*/sayfam + </code></p></div> + + <p><code>http://example.com/~orhan/dosya.html</code> adresine karşılık + gelen dosya yolu <code>/var/siteler/orhan/sayfam/dosya.html</code> + olarak çözümlenir.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">Bu özelliği kullanacak kullanıcıların sınırlandırılması</a></h2> + + + <p><code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> yönergesinin + açıklamasında belirtilen sözdizimini kullanarak bu işlevselliği bazı + kullanıcılara yasaklayabilirsiniz:</p> + + <div class="example"><p><code> + UserDir enabled<br /> + UserDir disabled root ahmet mustafa + </code></p></div> + + <p>Bu yapılandırma ile <code>disabled</code> deyiminin bulunduğu + satırdaki kullanıcılar dışında kalan bütün kullanıcılar için bu özellik + etkin olacaktır. Benzer şekilde, aşağıdaki yapılandırma ile + işlevselliğin belli kullanıcılar dışında kullanılmamasını da + sağlayabilirsiniz:</p> + + <div class="example"><p><code> + UserDir disabled<br /> + UserDir enabled orhan yasar + </code></p></div> + + <p>Daha fazla örnek için <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> yönergesinin açıklamasına bakabilirsiniz.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cgi" id="cgi">Her kullanıcıya bir CGI dizini tahsis etmek</a></h2> + + + <p>Her kullanıcıya kendine ait bir CGI dizini vermek isterseniz, bir + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> yönergesi + ile kullanıcının ev dizinindeki belli bir dizini CGI-etkin duruma + getirebilirsiniz.</p> + + <div class="example"><p><code> + <Directory /home/*/public_html/cgi-bin/><br /> + Options ExecCGI<br /> + SetHandler cgi-script<br /> + </Directory> + </code></p></div> + + <p> <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> yönergesinde + <code>public_html</code> belirtildiği varsayımıyla + <code>mesela.cgi</code> betiği bu dizinden şöyle bir adresle + yüklenebilir:</p> + + <div class="example"><p><code> + http://example.com/~orhan/cgi-bin/mesela.cgi + </code></p></div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="htaccess" id="htaccess">Kullanıcıların yapılandırmayı değiştirmesine izin vermek</a></h2> + + + <p>Kullanıcıların kendilerine ayrılan bölge içinde sunucu + yapılandırmasını değiştirebilmelerine izin vermek isterseniz, + <code>.htaccess</code> dosyalarını kullanmalarına izin vermeniz + gerekir. Kullanıcının değiştirmesine izin vereceğiniz yönerge türlerini + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesinde + belirtmeyi ihmal etmeyin. <code>.htaccess</code> dosyalarının kullanımı + ile ilgili daha ayrıntılı bilgi için <a href="htaccess.html">.htaccess + öğreticisi</a>ne bakınız.</p> + + </div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/howto/public_html.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/public_html.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/public_html.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/howto/public_html.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/ssi.html b/rubbos/app/apache2/manual/howto/ssi.html new file mode 100644 index 00000000..477d79ca --- /dev/null +++ b/rubbos/app/apache2/manual/howto/ssi.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: ssi.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: ssi.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: ssi.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/rubbos/app/apache2/manual/howto/ssi.html.en b/rubbos/app/apache2/manual/howto/ssi.html.en new file mode 100644 index 00000000..f03a467d --- /dev/null +++ b/rubbos/app/apache2/manual/howto/ssi.html.en @@ -0,0 +1,486 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Apache Tutorial: Introduction to Server Side Includes - Apache HTTP Server</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.0</a> > <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>Apache Tutorial: Introduction to Server Side Includes</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/howto/ssi.html" title="English"> en </a> | +<a href="../ja/howto/ssi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/ssi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> + +<p>Server-side includes provide a means to add dynamic content to +existing HTML documents.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Introduction</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#what">What are SSI?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#configuring">Configuring your server to permit SSI</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#basic">Basic SSI directives</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#additionalexamples">Additional examples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#config">What else can I config?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#exec">Executing commands</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#advanced">Advanced SSI techniques</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#conclusion">Conclusion</a></li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">Introduction</a></h2> + <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code></li><li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code></li><li><code class="directive"><a href="../mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li></ul></td></tr></table> + + <p>This article deals with Server Side Includes, usually called + simply SSI. In this article, I'll talk about configuring your + server to permit SSI, and introduce some basic SSI techniques + for adding dynamic content to your existing HTML pages.</p> + + <p>In the latter part of the article, we'll talk about some of + the somewhat more advanced things that can be done with SSI, + such as conditional statements in your SSI directives.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="what" id="what">What are SSI?</a></h2> + + <p>SSI (Server Side Includes) are directives that are placed in + HTML pages, and evaluated on the server while the pages are + being served. They let you add dynamically generated content to + an existing HTML page, without having to serve the entire page + via a CGI program, or other dynamic technology.</p> + + <p>The decision of when to use SSI, and when to have your page + entirely generated by some program, is usually a matter of how + much of the page is static, and how much needs to be + recalculated every time the page is served. SSI is a great way + to add small pieces of information, such as the current time. + But if a majority of your page is being generated at the time + that it is served, you need to look for some other + solution.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="configuring" id="configuring">Configuring your server to permit SSI</a></h2> + + + <p>To permit SSI on your server, you must have the following + directive either in your <code>httpd.conf</code> file, or in a + <code>.htaccess</code> file:</p> +<div class="example"><p><code> + Options +Includes +</code></p></div> + + <p>This tells Apache that you want to permit files to be parsed + for SSI directives. Note that most configurations contain + multiple <code class="directive"><a href="../mod/core.html#options">Options</a></code> directives + that can override each other. You will probably need to apply the + <code>Options</code> to the specific directory where you want SSI + enabled in order to assure that it gets evaluated last.</p> + + <p>Not just any file is parsed for SSI directives. You have to + tell Apache which files should be parsed. There are two ways to + do this. You can tell Apache to parse any file with a + particular file extension, such as <code>.shtml</code>, with + the following directives:</p> +<div class="example"><p><code> + AddType text/html .shtml<br /> + AddOutputFilter INCLUDES .shtml +</code></p></div> + + <p>One disadvantage to this approach is that if you wanted to + add SSI directives to an existing page, you would have to + change the name of that page, and all links to that page, in + order to give it a <code>.shtml</code> extension, so that those + directives would be executed.</p> + + <p>The other method is to use the <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code> directive:</p> +<div class="example"><p><code> + XBitHack on +</code></p></div> + + <p><code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code> + tells Apache to parse files for SSI + directives if they have the execute bit set. So, to add SSI + directives to an existing page, rather than having to change + the file name, you would just need to make the file executable + using <code>chmod</code>.</p> +<div class="example"><p><code> + chmod +x pagename.html +</code></p></div> + + <p>A brief comment about what not to do. You'll occasionally + see people recommending that you just tell Apache to parse all + <code>.html</code> files for SSI, so that you don't have to + mess with <code>.shtml</code> file names. These folks have + perhaps not heard about <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>. The thing to + keep in mind is that, by doing this, you're requiring that + Apache read through every single file that it sends out to + clients, even if they don't contain any SSI directives. This + can slow things down quite a bit, and is not a good idea.</p> + + <p>Of course, on Windows, there is no such thing as an execute + bit to set, so that limits your options a little.</p> + + <p>In its default configuration, Apache does not send the last + modified date or content length HTTP headers on SSI pages, + because these values are difficult to calculate for dynamic + content. This can prevent your document from being cached, and + result in slower perceived client performance. There are two + ways to solve this:</p> + + <ol> + <li>Use the <code>XBitHack Full</code> configuration. This + tells Apache to determine the last modified date by looking + only at the date of the originally requested file, ignoring + the modification date of any included files.</li> + + <li>Use the directives provided by + <code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code> to set an explicit expiration + time on your files, thereby letting browsers and proxies + know that it is acceptable to cache them.</li> + </ol> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basic" id="basic">Basic SSI directives</a></h2> + + <p>SSI directives have the following syntax:</p> +<div class="example"><p><code> + <!--#element attribute=value attribute=value ... --> +</code></p></div> + + <p>It is formatted like an HTML comment, so if you don't have + SSI correctly enabled, the browser will ignore it, but it will + still be visible in the HTML source. If you have SSI correctly + configured, the directive will be replaced with its + results.</p> + + <p>The element can be one of a number of things, and we'll talk + some more about most of these in the next installment of this + series. For now, here are some examples of what you can do with + SSI</p> + +<h3><a name="todaysdate" id="todaysdate">Today's date</a></h3> + +<div class="example"><p><code> + <!--#echo var="DATE_LOCAL" --> +</code></p></div> + + <p>The <code>echo</code> element just spits out the value of a + variable. There are a number of standard variables, which + include the whole set of environment variables that are + available to CGI programs. Also, you can define your own + variables with the <code>set</code> element.</p> + + <p>If you don't like the format in which the date gets printed, + you can use the <code>config</code> element, with a + <code>timefmt</code> attribute, to modify that formatting.</p> + +<div class="example"><p><code> + <!--#config timefmt="%A %B %d, %Y" --><br /> + Today is <!--#echo var="DATE_LOCAL" --> +</code></p></div> + + +<h3><a name="lastmodified" id="lastmodified">Modification date of the file</a></h3> + +<div class="example"><p><code> + This document last modified <!--#flastmod file="index.html" --> +</code></p></div> + + <p>This element is also subject to <code>timefmt</code> format + configurations.</p> + + +<h3><a name="cgi" id="cgi">Including the results of a CGI program</a></h3> + + <p>This is one of the more common uses of SSI - to output the + results of a CGI program, such as everybody's favorite, a ``hit + counter.''</p> + +<div class="example"><p><code> + <!--#include virtual="/cgi-bin/counter.pl" --> +</code></p></div> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="additionalexamples" id="additionalexamples">Additional examples</a></h2> + + + <p>Following are some specific examples of things you can do in + your HTML documents with SSI.</p> + +<h3><a name="docmodified" id="docmodified">When was this document +modified?</a></h3> + + <p>Earlier, we mentioned that you could use SSI to inform the + user when the document was most recently modified. However, the + actual method for doing that was left somewhat in question. The + following code, placed in your HTML document, will put such a + time stamp on your page. Of course, you will have to have SSI + correctly enabled, as discussed above.</p> +<div class="example"><p><code> + <!--#config timefmt="%A %B %d, %Y" --><br /> + This file last modified <!--#flastmod file="ssi.shtml" --> +</code></p></div> + + <p>Of course, you will need to replace the + <code>ssi.shtml</code> with the actual name of the file that + you're referring to. This can be inconvenient if you're just + looking for a generic piece of code that you can paste into any + file, so you probably want to use the + <code>LAST_MODIFIED</code> variable instead:</p> +<div class="example"><p><code> + <!--#config timefmt="%D" --><br /> + This file last modified <!--#echo var="LAST_MODIFIED" --> +</code></p></div> + + <p>For more details on the <code>timefmt</code> format, go to + your favorite search site and look for <code>strftime</code>. The + syntax is the same.</p> + + +<h3><a name="standard-footer" id="standard-footer">Including a standard footer</a></h3> + + + <p>If you are managing any site that is more than a few pages, + you may find that making changes to all those pages can be a + real pain, particularly if you are trying to maintain some kind + of standard look across all those pages.</p> + + <p>Using an include file for a header and/or a footer can + reduce the burden of these updates. You just have to make one + footer file, and then include it into each page with the + <code>include</code> SSI command. The <code>include</code> + element can determine what file to include with either the + <code>file</code> attribute, or the <code>virtual</code> + attribute. The <code>file</code> attribute is a file path, + <em>relative to the current directory</em>. That means that it + cannot be an absolute file path (starting with /), nor can it + contain ../ as part of that path. The <code>virtual</code> + attribute is probably more useful, and should specify a URL + relative to the document being served. It can start with a /, + but must be on the same server as the file being served.</p> +<div class="example"><p><code> + <!--#include virtual="/footer.html" --> +</code></p></div> + + <p>I'll frequently combine the last two things, putting a + <code>LAST_MODIFIED</code> directive inside a footer file to be + included. SSI directives can be contained in the included file, + and includes can be nested - that is, the included file can + include another file, and so on.</p> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="config" id="config">What else can I config?</a></h2> + + + <p>In addition to being able to <code>config</code> the time + format, you can also <code>config</code> two other things.</p> + + <p>Usually, when something goes wrong with your SSI directive, + you get the message</p> +<div class="example"><p><code> + [an error occurred while processing this directive] +</code></p></div> + + <p>If you want to change that message to something else, you + can do so with the <code>errmsg</code> attribute to the + <code>config</code> element:</p> +<div class="example"><p><code> + <!--#config errmsg="[It appears that you don't know how to use SSI]" --> +</code></p></div> + + <p>Hopefully, end users will never see this message, because + you will have resolved all the problems with your SSI + directives before your site goes live. (Right?)</p> + + <p>And you can <code>config</code> the format in which file + sizes are returned with the <code>sizefmt</code> attribute. You + can specify <code>bytes</code> for a full count in bytes, or + <code>abbrev</code> for an abbreviated number in Kb or Mb, as + appropriate.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="exec" id="exec">Executing commands</a></h2> + + + <p>I expect that I'll have an article some time in the coming + months about using SSI with small CGI programs. For now, here's + something else that you can do with the <code>exec</code> + element. You can actually have SSI execute a command using the + shell (<code>/bin/sh</code>, to be precise - or the DOS shell, + if you're on Win32). The following, for example, will give you + a directory listing.</p> +<div class="example"><p><code> + <pre><br /> + <!--#exec cmd="ls" --><br /> + </pre> +</code></p></div> + + <p>or, on Windows</p> +<div class="example"><p><code> + <pre><br /> + <!--#exec cmd="dir" --><br /> + </pre> +</code></p></div> + + <p>You might notice some strange formatting with this directive + on Windows, because the output from <code>dir</code> contains + the string ``<<code>dir</code>>'' in it, which confuses + browsers.</p> + + <p>Note that this feature is exceedingly dangerous, as it will + execute whatever code happens to be embedded in the + <code>exec</code> tag. If you have any situation where users + can edit content on your web pages, such as with a + ``guestbook'', for example, make sure that you have this + feature disabled. You can allow SSI, but not the + <code>exec</code> feature, with the <code>IncludesNOEXEC</code> + argument to the <code>Options</code> directive.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="advanced" id="advanced">Advanced SSI techniques</a></h2> + + + <p>In addition to spitting out content, Apache SSI gives you + the option of setting variables, and using those variables in + comparisons and conditionals.</p> + +<h3><a name="caveat" id="caveat">Caveat</a></h3> + + <p>Most of the features discussed in this article are only + available to you if you are running Apache 1.2 or later. Of + course, if you are not running Apache 1.2 or later, you need to + upgrade immediately, if not sooner. Go on. Do it now. We'll + wait.</p> + + +<h3><a name="variables" id="variables">Setting variables</a></h3> + + <p>Using the <code>set</code> directive, you can set variables + for later use. We'll need this later in the discussion, so + we'll talk about it here. The syntax of this is as follows:</p> +<div class="example"><p><code> + <!--#set var="name" value="Rich" --> +</code></p></div> + + <p>In addition to merely setting values literally like that, you + can use any other variable, including <a href="../env.html">environment variables</a> or the variables + discussed above (like <code>LAST_MODIFIED</code>, for example) to + give values to your variables. You will specify that something is + a variable, rather than a literal string, by using the dollar sign + ($) before the name of the variable.</p> + + <div class="example"><p><code> <!--#set var="modified" value="$LAST_MODIFIED" --> + </code></p></div> + + <p>To put a literal dollar sign into the value of your + variable, you need to escape the dollar sign with a + backslash.</p> +<div class="example"><p><code> + <!--#set var="cost" value="\$100" --> +</code></p></div> + + <p>Finally, if you want to put a variable in the midst of a + longer string, and there's a chance that the name of the + variable will run up against some other characters, and thus be + confused with those characters, you can place the name of the + variable in braces, to remove this confusion. (It's hard to + come up with a really good example of this, but hopefully + you'll get the point.)</p> +<div class="example"><p><code> + <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --> +</code></p></div> + + +<h3><a name="conditional" id="conditional">Conditional expressions</a></h3> + + + <p>Now that we have variables, and are able to set and compare + their values, we can use them to express conditionals. This + lets SSI be a tiny programming language of sorts. + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> provides an <code>if</code>, + <code>elif</code>, <code>else</code>, <code>endif</code> + structure for building conditional statements. This allows you + to effectively generate multiple logical pages out of one + actual page.</p> + + <p>The structure of this conditional construct is:</p> +<div class="example"><p><code> + <!--#if expr="test_condition" --><br /> + <!--#elif expr="test_condition" --><br /> + <!--#else --><br /> + <!--#endif --> +</code></p></div> + + <p>A <em>test_condition</em> can be any sort of logical + comparison - either comparing values to one another, or testing + the ``truth'' of a particular value. (A given string is true if + it is nonempty.) For a full list of the comparison operators + available to you, see the <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + documentation. Here are some examples of how one might use this + construct.</p> + + <p>In your configuration file, you could put the following + line:</p> +<div class="example"><p><code> + BrowserMatchNoCase macintosh Mac<br /> + BrowserMatchNoCase MSIE InternetExplorer +</code></p></div> + + <p>This will set environment variables ``Mac'' and + ``InternetExplorer'' to true, if the client is running Internet + Explorer on a Macintosh.</p> + + <p>Then, in your SSI-enabled document, you might do the + following:</p> +<div class="example"><p><code> + <!--#if expr="${Mac} && ${InternetExplorer}" --><br /> + Apologetic text goes here<br /> + <!--#else --><br /> + Cool JavaScript code goes here<br /> + <!--#endif --> +</code></p></div> + + <p>Not that I have anything against IE on Macs - I just + struggled for a few hours last week trying to get some + JavaScript working on IE on a Mac, when it was working + everywhere else. The above was the interim workaround.</p> + + <p>Any other variable (either ones that you define, or normal + environment variables) can be used in conditional statements. + With Apache's ability to set environment variables with the + <code>SetEnvIf</code> directives, and other related directives, + this functionality can let you do some pretty involved dynamic + stuff without ever resorting to CGI.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="conclusion" id="conclusion">Conclusion</a></h2> + + <p>SSI is certainly not a replacement for CGI, or other + technologies used for generating dynamic web pages. But it is a + great way to add small amounts of dynamic content to pages, + without doing a lot of extra work.</p> +</div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/howto/ssi.html" title="English"> en </a> | +<a href="../ja/howto/ssi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/ssi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/ssi.html.ja.utf8 b/rubbos/app/apache2/manual/howto/ssi.html.ja.utf8 new file mode 100644 index 00000000..4e83b0fd --- /dev/null +++ b/rubbos/app/apache2/manual/howto/ssi.html.ja.utf8 @@ -0,0 +1,481 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Apache チュートリアル: Server Side Includes 入門 - Apache HTTP サーバ</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.0</a> > <a href="./">How-To / チュートリアル</a></div><div id="page-content"><div id="preamble"><h1>Apache チュートリアル: Server Side Includes 入門</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/howto/ssi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/ssi.html" title="Japanese"> ja </a> | +<a href="../ko/howto/ssi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> + +<p>サーバサイドインクルードによって、既存の HTML +ドキュメントに動的なコンテンツを追加することができます。</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">はじめに</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#what">SSI とは ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#configuring">SSI を許可するためのサーバの設定</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#basic">基本的な SSI ディレクティブ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#additionalexamples">追加の例</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#config">他に何が設定できるのか ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#exec">コマンドの実行</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#advanced">高度な SSI テクニック</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#conclusion">終わりに</a></li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">はじめに</a></h2> + <table class="related"><tr><th>関連モジュール</th><th>関連ディレクティブ</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code></li><li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code></li><li><code class="directive"><a href="../mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li></ul></td></tr></table> + + <p>この記事は、通常は単に SSI と呼ばれる Server Side Includes + を扱います。この記事においては、サーバでの SSI を許可するための設定と、 + 現在の HTML ページに動的なコンテンツを加えるためのいくつかの基本的な + SSI 技術を紹介します。</p> + + <p>記事の後半では、SSI ディレクティブで SSI + と共に実行することができる条件文のような + 幾分高度な事柄について述べています。</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="what" id="what">SSI とは ?</a></h2> + + <p>SSI (Server Side Includes) は、HTML + ページ中に配置されるディレクティブであり、 + サーバでページを提供する時に評価されます。SSI は、CGI + プログラムやその他の動的な技術で全てのページを提供せずに、 + 動的に生成されたコンテンツを現在の HTML ページに加えます。</p> + + <p>どういう場合に SSI を使い、どういう場合にプログラムで + ページを完全に生成するかは、ページのうちどの程度が静的であり、 + ページが提供されるたびに再計算する必要がどの程度あるかで通常は決定します。 + SSI は現在時刻のような小さい情報を加えるにはうってつけの方法です。 + しかし、そのページのほとんどの部分が提供時に生成される場合は、 + 他の方法を探す必要があります。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="configuring" id="configuring">SSI を許可するためのサーバの設定</a></h2> + + + <p>サーバで SSI を許可するには、<code>httpd.conf</code> + ファイルまたは <code>.htaccess</code> + ファイルに次のディレクティブを指定する必要があります:</p> +<div class="example"><p><code> + Options +Includes +</code></p></div> + + <p>この指定は、ファイルを SSI + ディレクティブで解析させることを許可するということを Apache + に伝えます。ほとんどの設定ではお互いを上書きできる、複数の + <code class="directive"><a href="../mod/core.html#options">Options</a></code> があることに + 注意してください。おそらく、設定が最後に評価されることを + 保証されるために、SSI を使用したいディレクトリに <code>Options</code> + ディレクティブを適用する必要があるでしょう。</p> + + <p>全てのファイルが SSI + ディレクティブで解析されるというわけではありません。 + どのファイルが解析されるかを Apache に伝える必要があります。 + これを行なうには二つ方法があります。 + 次のディレクティブを使うことで、例えば <code>.shtml</code> + のような特別なファイル拡張子を持つファイルを解析するよう + Apache に伝えることができます:</p> +<div class="example"><p><code> + AddType text/html .shtml<br /> + AddOutputFilter INCLUDES .shtml +</code></p></div> + + <p>この方法の欠点は、もし現在のページに SSI ディレクティブを加えたい場合、 + それらのディレクティブが実行されるように + <code>.shtml</code> 拡張子にするため、そのページの名前と、 + そのページへの全てのリンクを変更しなければならないことです。</p> + + <p>もう一つの方法は、<code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code> + ディレクティブを使用することです:</p> +<div class="example"><p><code> + XBitHack on +</code></p></div> + + <p><code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code> + は、ファイルの実行ビットが立っている場合、 + SSI ディレクティブにより解析することを Apache に伝えます。 + 従って、SSI ディレクティブを現在のページに加えるためには、 + ファイル名を変更しなくてもよく、単に <code>chmod</code> + を使用してファイルを実行可能にするだけで済みます。</p> +<div class="example"><p><code> + chmod +x pagename.html +</code></p></div> + + <p>行なうべきではないことに関する短いコメント。時々誰かが、全ての + <code>.html</code> ファイルを SSI で解析するよう Apache に伝えれば、 + わざわざ <code>.shtml</code> というファイル名にする必要がないといって + 薦めるのを見ることでしょう。こういう人たちは、おそらく + <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code> + について聞いたことがないのでしょう。 + この方法について注意することは、たとえ SSI + ディレクティブを全く含まない場合でも、Apache がクライアントに + 送る全てのファイルを最後まで読み込ませることになります。 + この方法はかなり処理を遅くするものであり、良くないアイデアです。</p> + + <p>もちろん、Windows ではそのような実行ビットをセット + するようなものはありませんのでオプションが少し制限されています。</p> + + <p>デフォルトの設定では、Apache は SSI ページについて最終変更時刻や + コンテンツの長さを HTTP ヘッダに送りません。 + 動的なコンテンツであるため、それらの値を計算するのが難しいからです。 + このためドキュメントがキャッシュされなくなり、 + 結果としてクライアントの性能が遅くなったように感じさせることになります。 + これを解決する方法が二つあります:</p> + + <ol> + <li><code>XBitHack Full</code> 設定を使用する。 + この設定により、もともと要求されたファイルの時刻を参照し、 + 読み込まれるファイルの変更時刻を無視して最終変更時刻を決定するよう + Apache に伝えます。</li> + + <li><a href="../mod/mod_expires.html">mod_expires</a> + で提供されているディレクティブを使用して、 + ファイルが無効になる時刻を明示します。これにより、 + ブラウザとプロキシにキャッシュが有効であることを通知します。</li> + </ol> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basic" id="basic">基本的な SSI ディレクティブ</a></h2> + + <p>SSI ディレクティブは以下の文法で記述します:</p> +<div class="example"><p><code> + <!--#element attribute=value attribute=value ... --> +</code></p></div> + + <p>HTML のコメントのような書式をしているので、もし SSI + を正しく動作可能にしなければ、ブラウザはそれを無視するでしょう。 + しかし、HTML ソース中では見えます。もし SSI を正しく設定したなら、 + ディレクティブはその結果と置き換えられます。</p> + + <p>element はたくさんあるものから一つ指定することができます。 + 指定できるものの大多数については、次回もう少し詳しく説明します。 + ここでは、SSI で行なうことができる例をいくつか示します。</p> + +<h3><a name="todaysdate" id="todaysdate">今日の日付</a></h3> + +<div class="example"><p><code> + <!--#echo var="DATE_LOCAL" --> +</code></p></div> + + <p><code>echo</code> 要素は単に変数の値を出力します。 + CGI プログラムに利用可能な環境変数の全ての + セットを含む多くの標準変数があります。また、<code>set</code> + 要素を用いることで、独自の変数を定義することができます。 + </p> + + <p>出力される日付の書式が好きではない場合、その書式を修正するために、 + <code>config</code> 要素に <code>timefmt</code> + 属性を使用することができます。</p> + +<div class="example"><p><code> + <!--#config timefmt="%A %B %d, %Y" --><br /> + Today is <!--#echo var="DATE_LOCAL" --> +</code></p></div> + + +<h3><a name="lastmodified" id="lastmodified">ファイルの変更日</a></h3> + +<div class="example"><p><code> + This document last modified <!--#flastmod file="index.html" --> +</code></p></div> + + <p>この要素も <code>timefmt</code> + フォーマットの設定に従います。</p> + + +<h3><a name="cgi" id="cgi">CGI プログラムの結果を取り込む</a></h3> + + <p>これは、全ての人のお気に入りである ``ヒットカウンタ'' のような + CGI プログラムの結果を出力する SSI + のより一般的な使用のうちの一つです。</p> + +<div class="example"><p><code> + <!--#include virtual="/cgi-bin/counter.pl" --> +</code></p></div> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="additionalexamples" id="additionalexamples">追加の例</a></h2> + + + <p>以下は、SSI を使用して HTML + ドキュメントにおいてできることのいくつかの特別な例です。</p> + +<h3><a name="docmodified" id="docmodified">いつこのドキュメントは修正されたのか +?</a></h3> + + <p>先に、ドキュメントが最後に変更されたのはいつかを + ユーザに通知するために SSI を使用することができることを述べました。 + しかしながら、実際の方法は、いくぶん問題のままにしておきました。 + HTML ドキュメントに配置された次のコードは、ページにそのような + タイムスタンプを入れるでしょう。もちろん、上述のように、 + SSI を正しく動作可能にしておく必要があります。</p> +<div class="example"><p><code> + <!--#config timefmt="%A %B %d, %Y" --><br /> + This file last modified <!--#flastmod file="ssi.shtml" --> +</code></p></div> + + <p>もちろん、<code>ssi.shtml</code> + の部分を実際の当該ファイル名と置き換える必要があります。 + もし、あらゆるファイルに張ることができる一般的なコードを探しているなら、 + これは不便であるかもしれません。おそらくその場合は、 + そうする代わりに変数 <code>LAST_MODIFIED</code> + を使用したいと考えるでしょう:</p> +<div class="example"><p><code> + <!--#config timefmt="%D" --><br /> + This file last modified <!--#echo var="LAST_MODIFIED" --> +</code></p></div> + + <p><code>timefmt</code> + 書式についてのより詳細については、お好みの検索サイトに行き、 + <code>strftime</code> で検索してみてください。文法は同じです。</p> + + +<h3><a name="standard-footer" id="standard-footer">標準のフッタを挿入する</a></h3> + + + <p>もし数ページを超えるページを持つサイトを管理しているならば、 + 全ページに対して変項を行なうことが本当に苦痛となり得ることが + 分かるでしょう。全てのページに渡ってある種の標準的な外観を + 維持しようとしているならば特にそうでしょう。</p> + + <p>ヘッダやフッタ用の挿入用ファイルを使用することで、 + このような更新にかかる負担を減らすことができます。 + 一つのフッタファイルを作成し、それを <code>include</code> + SSI コマンドで各ページに入れるだけで済みます。<code>include</code> + 要素は、<code>file</code> 属性または <code>virtual</code> + 属性のいずれかを使用してどのファイルを挿入するかを決めることができます。 + <code>file</code> 属性は、<em>カレントディレクトリからの相対パスで示された + </em>ファイルパスです。 + それは / で始まる絶対ファイルパスにはできず、また、そのパスの一部に ../ + を含むことができないことを意味します。<code>virtual</code> + 属性は、おそらくより便利だと思いますが、提供するドキュメントからの相対 + URL で指定すべきです。それは / で始めることができますが、 + 提供するファイルと同じサーバ上に存在しなくてはなりません。</p> +<div class="example"><p><code> + <!--#include virtual="/footer.html" --> +</code></p></div> + + <p>私は最後の二つを組み合わせて、<code>LAST_MODIFIED</code> + ディレクティブをフッタファイルの中に置くことがよくあります。 + SSI ディレクティブは、挿入用のファイルに含ませたり、 + 挿入ファイルのネストをしたりすることができます。すなわち、 + 挿入用のファイルは他のファイルを再帰的に挿入することができます。</p> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="config" id="config">他に何が設定できるのか ?</a></h2> + + + <p>時刻書式を <code>config</code> で設定できることに加えて、 + 更に二つ <code>config</code> で設定することができます。</p> + + <p>通常、SSI ディレクティブで何かがうまくいかないときは、 + 次のメッセージが出力されます。</p> +<div class="example"><p><code> + [an error occurred while processing this directive] +</code></p></div> + + <p>このメッセージを他のものにしたい場合、<code>config</code> + 要素の <code>errmsg</code> 属性で変更することができます:</p> +<div class="example"><p><code> + <!--#config errmsg="[It appears that you don't know how to use SSI]" --> +</code></p></div> + + <p>おそらく、エンドユーザはこのメッセージを決して見ることはありません。 + なぜなら、そのサイトが生きた状態になる前に SSI ディレクティブに関する + 全ての問題を解決しているはずだからです。(そうですよね?)</p> + + <p>そして、<code>config</code> において <code>sizefmt</code> + 属性を使用することで、 + 返されるファイルサイズの書式を設定することができます。 + バイト数には <code>bytes</code> を、適当に Kb や Mb + に短縮させるには <code>abbrev</code> を指定することができます。</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="exec" id="exec">コマンドの実行</a></h2> + + + <p>今後数ヶ月のうちに、小さな CGI プログラムと SSI + を使用する記事を出したいと考えています。ここではそれとは別に、 + <code>exec</code> 要素によって行なうことができることを示します。 + SSI にシェル (正確には <code>/bin/sh</code>。Win32 ならば DOS シェル) + を使用してコマンドを実行させることができます。 + 下記の例では、ディレクトリリスト出力を行ないます。</p> +<div class="example"><p><code> + <pre><br /> + <!--#exec cmd="ls" --><br /> + </pre> +</code></p></div> + + <p>Windows 上では、</p> +<div class="example"><p><code> + <pre><br /> + <!--#exec cmd="dir" --><br /> + </pre> +</code></p></div> + + <p>Windows 上では、このディレクティブによっていくつかの奇妙な + 書式に気づくでしょう。なぜなら <code>dir</code> の出力が文字列 + ``<<code>dir</code>>'' を含み、ブラウザを混乱させるからです。</p> + + <p>この機能は非常に危険であり、どんなコードでも <code>exec</code> + タグに埋め込まれてしまえば実行することに注意してください。例えば + `` ゲストブック '' のように、もし、 + ユーザがページの内容を編集できる状況にあるならば、 + この機能を確実に抑制してください。<code>Options</code> + ディレクティブの <code>IncludesNOEXEC</code> 引数を指定することで、 + SSI は許可するけれど <code>exec</code> + 機能は許可しないようにすることができます。</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="advanced" id="advanced">高度な SSI テクニック</a></h2> + + + <p>コンテンツを出力することに加え、Apache SSI は変数を設定し、 + そして比較と条件分岐にその変数を使用できる機能を提供しています。 + </p> + +<h3><a name="caveat" id="caveat">警告</a></h3> + + <p>この記事で述べた大部分の機能は、Apache 1.2 + 以降を使用している場合のみ利用可能です。もちろん、もし Apache 1.2 + 以降を使用してない場合、直ちにアップグレードする必要があります。 + さぁ、今それを行ないなさい。それまで待っています。</p> + + +<h3><a name="variables" id="variables">変数を設定する</a></h3> + + <p><code>set</code> ディレクティブを使用して、 + 後で使用するために変数を設定することができます。 + これは後の説明で必要になるので、ここでそれについて述べています。 + 文法は以下のとおりです:</p> +<div class="example"><p><code> + <!--#set var="name" value="Rich" --> +</code></p></div> + + <p>このように単純に文字どおりに設定することに加え、 + <a href="../env.html">環境変数</a>や上記の変数 + (例えば <code>LAST_MODIFIED</code> のような) + を含む他のあらゆる変数を値を設定するのに使用することができます。 + 変数名の前にドル記号 ($) を使用することで、 + それがリテラル文字列ではなくて変数であることを示します。</p> +<div class="example"><p><code> + <!--#set var="modified" value="$LAST_MODIFIED" --> +</code></p></div> + + <p>ドル記号 ($) を文字として変数の値に入れるには、 + バックスラッシュによってドル記号をエスケープする必要があります。</p> +<div class="example"><p><code> + <!--#set var="cost" value="\$100" --> +</code></p></div> + + <p>最後になりますが、長い文字列の中に変数を置きたい場合で、 + 変数名が他の文字とぶつかる可能性があり、 + それらの文字について混乱してしまう場合、この混乱を取り除くため、 + 変数名を中括弧で囲むことができます + (これについての良い例を示すのは難しいのですが、 + おそらく分かっていただけるでしょう)。 + </p> +<div class="example"><p><code> + <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --> +</code></p></div> + + +<h3><a name="conditional" id="conditional">条件式</a></h3> + + + <p>さて、変数を持っていて、 + それらの値を設定して比較することができるのですから、 + 条件を表すためにそれらを使用することができます。これにより + SSI はある種の小さなプログラミング言語になっています。 + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> は条件を表現するために <code>if</code>, + <code>elif</code>, <code>else</code>, <code>endif</code> + 構造を提供しています。これによって、 + 一つの実際のページから複数の論理ページを効果的に生成することができます。</p> + + <p>条件構造は以下のとおりです:</p> +<div class="example"><p><code> + <!--#if expr="test_condition" --><br /> + <!--#elif expr="test_condition" --><br /> + <!--#else --><br /> + <!--#endif --> +</code></p></div> + + <p><em>test_condition</em> + はあらゆる種類の論理的比較をすることができます。 + 値を比較したり、その値が ``真'' かどうかを評価します + (空でないなら与えられた文字列は真です)。 + 利用可能な比較演算子の全てのリストについては、 + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> ドキュメンテーションを参照してください。 + ここでは、この構造をどう使用するかの例をいくつか示します。</p> + + <p>設定ファイルで次の行を記述します:</p> +<div class="example"><p><code> + BrowserMatchNoCase macintosh Mac<br /> + BrowserMatchNoCase MSIE InternetExplorer +</code></p></div> + + <p>これはクライアントが Macintosh + 上でインターネットエクスプローラが動いている場合、環境変数 + ``Mac'' と ``InternetExplorer'' を真と設定します。</p> + + <p>次に、SSI が可能になったドキュメントで以下を行ないます: + </p> +<div class="example"><p><code> + <!--#if expr="${Mac} && ${InternetExplorer}" --><br /> + Apologetic text goes here<br /> + <!--#else --><br /> + Cool JavaScript code goes here<br /> + <!--#endif --> +</code></p></div> + + <p>Mac 上の IE に対して何か思うところがあるわけでありません。 + 他では実行できているいくつかの JavaScript を Mac 上の IE + で実行させるのに、先週数時間苦労したというだけのことです。 + 上の例はその暫定的な対処方法です。</p> + + <p>他のどんな変数 (あなたが定義するもの、 + または普通の環境変数のいずれか) も、条件文に使用することができます。 + Apache は <code>SetEnvIf</code> ディレクティブや他の関連 + ディレクティブを使用して環境変数を設定することができます。 + この機能により、CGI + に頼ることなくかなり複雑な動的なことをさせることができます。</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="conclusion" id="conclusion">終わりに</a></h2> + + <p>SSI は確かに CGI + や動的なウェブページを生成する他の技術に代わるものではありません。 + しかし、たくさんの余分な作業をせずに、 + 少量の動的なコンテンツを加えるにはすぐれた方法です。</p> +</div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/howto/ssi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/ssi.html" title="Japanese"> ja </a> | +<a href="../ko/howto/ssi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div> +</body></html>
\ No newline at end of file diff --git a/rubbos/app/apache2/manual/howto/ssi.html.ko.euc-kr b/rubbos/app/apache2/manual/howto/ssi.html.ko.euc-kr new file mode 100644 index 00000000..f849bd67 --- /dev/null +++ b/rubbos/app/apache2/manual/howto/ssi.html.ko.euc-kr @@ -0,0 +1,426 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>ġ 丮: Server Side Includes Ұ - Apache HTTP Server</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.0</a> > <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>ġ 丮: Server Side Includes Ұ</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/howto/ssi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/ssi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/ssi.html" title="Korean"> ko </a></p> +</div> + +<p>Server-side includes Ͽ HTML +߰ ִ.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Ұ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#what">SSI ΰ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#configuring">SSI ϵ ϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#basic">⺻ SSI þ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#additionalexamples">߰ </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#config">̿ܿ ִ ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#exec">ɾ ϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#advanced"> SSI </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#conclusion"></a></li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">Ұ</a></h2> + <table class="related"><tr><th>õ </th><th>õ þ</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code></li><li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code></li><li><code class="directive"><a href="../mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li></ul></td></tr></table> + + <p> SSI θ Server Side Includes Ѵ. + SSI ϵ ϴ HTML + ߰ϴ ⺻ SSI ҰѴ.</p> + + <p> κ SSI þ ǹ ޱ + Ѵ.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="what" id="what">SSI ΰ?</a></h2> + + <p>SSI (Server Side Includes) HTML ϴ þ, + Ҷ óѴ. SSI ϸ CGI + α̳ ٸ ü + ʰ HTML ߰ + ִ.</p> + + <p>SSI ƴϸ α ü + κ + ٽ ؾ ȴ. SSI + ð ߰ϴµ . + Ҷ κ ؾ Ѵٸ ٸ + ãƺ Ѵ.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="configuring" id="configuring">SSI ϵ ϱ</a></h2> + + + <p> SSI óϷ <code>httpd.conf</code> ̳ + <code>.htaccess</code> Ͽ þ ؾ Ѵ.</p> +<div class="example"><p><code> + Options +Includes +</code></p></div> + + <p> ġ Ͽ SSI þ óѴ. + <code class="directive"><a href="../mod/core.html#options">Options</a></code> þ + ְ, þ Ἥ ȿ . + þ Ǹ óϱ SSI ϴ Ư + 丮 <code>Options</code> Ѵ.</p> + + <p> Ͽ SSI þ óϴ ƴϴ. ġ + ó ˷ Ѵ. ΰ ִ. + ϳ þ <code>.shtml</code> Ư + Ȯڸ óϴ ̴.</p> +<div class="example"><p><code> + AddType text/html .shtml<br /> + AddOutputFilter INCLUDES .shtml +</code></p></div> + + <p> ̹ ִ SSI þ ߰ϴ + SSI þ óϱ <code>.shtml</code> Ȯڸ + οϱ ϸ ũ ؾ + ϴ ̴.</p> + + <p>ٸ <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code> + þ ϴ ̴.</p> +<div class="example"><p><code> + XBitHack on +</code></p></div> + + <p><code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code> + ִ Ͽ SSI þ óѴ. ̹ + ִ SSI þ ߰Ѵٸ ϸ + ʰ <code>chmod</code> Ͽ ָ ȴ.</p> +<div class="example"><p><code> + chmod +x pagename.html +</code></p></div> + + <p> ƾ ϳ. <code>.shtml</code> ϸ + ġ <code>.html</code> SSI ó϶ + ϴ ִ. Ƹ <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code> + . ̷ ϸ ġ Ͽ SSI þ + Ŭ̾Ʈ Ѵٴ + ̴. ſ , ƴϴ.</p> + + <p> ̶ ڸ + .</p> + + <p> ̿ ϱ Ʊ ġ ⺻ + SSI ֱټϰ content length HTTP + ʴ´. ij ϰ Ŭ̾Ʈ + . ΰ ذ ִ.</p> + + <ol> + <li><code>XBitHack Full</code> Ѵ. + ġ ϴ(include) ϵ ü + û ¥ ֱټ ˾Ƴ.</li> + + <li><code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code> ִ þ Ͽ + Ͽ ϸ Ͻð + ij ִ.</li> + </ol> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basic" id="basic">⺻ SSI þ</a></h2> + + <p>SSI þ .</p> +<div class="example"><p><code> + <!--#element attribute=value attribute=value ... --> +</code></p></div> + + <p>HTML ּ SSI ʾƵ + HTML ҽ Ѵ. SSI ùٷ + ϸ þ ٲ۴.</p> + + <p>element ϳ. ȸ ڼ ̴. + SSI ִ δ</p> + +<h3><a name="todaysdate" id="todaysdate"> ¥</a></h3> + +<div class="example"><p><code> + <!--#echo var="DATE_LOCAL" --> +</code></p></div> + + <p><code>echo</code> element ״ Ѵ. + CGI α ϴ ȯ溯 ܿ ǥ + ִ. , <code>set</code> element Ͽ + ִ.</p> + + <p>¥ ʴ´ٸ, + <code>config</code> element <code>timefmt</code> attribute + Ѵ.</p> + +<div class="example"><p><code> + <!--#config timefmt="%A %B %d, %Y" --><br /> + Today is <!--#echo var="DATE_LOCAL" --> +</code></p></div> + + +<h3><a name="lastmodified" id="lastmodified"> </a></h3> + +<div class="example"><p><code> + <!--#flastmod file="index.html" --> Ǿ +</code></p></div> + + <p> element <code>timefmt</code> ȴ.</p> + + +<h3><a name="cgi" id="cgi">CGI α ϱ</a></h3> + + <p>Ϲ SSI ϳ, ̵ ֿϴ ``湮 + ī'' CGI α Ѵ.</p> + +<div class="example"><p><code> + <!--#include virtual="/cgi-bin/counter.pl" --> +</code></p></div> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="additionalexamples" id="additionalexamples">߰ </a></h2> + + + <p> HTML ִ SSI .</p> + +<h3><a name="docmodified" id="docmodified"> +Ǿ?</a></h3> + + <p>տ SSI Ͽ ڿ ֱټ + ˸ ִٰ ߴ. ˷ ʾҴ. + ڵ带 HTML ϸ ð . + Ѵ SSI ùٷ ۵ؾ Ѵ.</p> +<div class="example"><p><code> + <!--#config timefmt="%A %B %d, %Y" --><br /> + <!--#flastmod file="ssi.shtml" --> Ǿ; +</code></p></div> + + <p> <code>ssi.shtml</code> ϴ ϸ + Ѵ. ƹ ٿ ִ ڵ带 + Ѵٸ, ϸ <code>LAST_MODIFIED</code> + Ѵ.</p> +<div class="example"><p><code> + <!--#config timefmt="%D" --><br /> + This file last modified <!--#echo var="LAST_MODIFIED" --> +</code></p></div> + + <p><code>timefmt</code> Ŀ ڼ ˻ + <code>strftime</code> ãƺ. .</p> + + +<h3><a name="standard-footer" id="standard-footer">ǥ ϴ ϱ</a></h3> + + + <p> ִ Ʈ Ѵٸ ü + ϴ , Ư ǥ ܰ ϴ + Ӵ.</p> + + <p> (header) ϴ(footer) Ϸ Ͽ + ̷ δ ִ. + <code>include</code> SSI ɾ Ͽ ϴ + ϳ ϸ ȴ. <code>include</code> element + <code>file</code> attribute <code>virtual</code> attribute + Ѵ. <code>file</code> attribute <em> + 丮 </em> ϰδ. , (/ ϴ) + ϰγ ȿ ../ . Ƹ ϴ + URL ִ <code>virtual</code> attribute + ̴. θ / , Ϸ + ϴ ϰ ־ Ѵ.</p> +<div class="example"><p><code> + <!--#include virtual="/footer.html" --> +</code></p></div> + + <p> ΰ ļ ϴ Ͽ + <code>LAST_MODIFIED</code> þ ִ´. Ϸ Ͽ + SSI þ , ̷ ٸ + ϴ ִ.</p> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="config" id="config">̿ܿ ִ ?</a></h2> + + + <p>ð <code>config</code>() ܿ ΰ + <code>config</code>() ִ.</p> + + <p> SSI þ ߸Ǹ ´</p> +<div class="example"><p><code> + [an error occurred while processing this directive] +</code></p></div> + + <p> ϰ ʹٸ <code>config</code> element + <code>errmsg</code> attribute Ͽ Ѵ.</p> +<div class="example"><p><code> + <!--#config errmsg="[It appears that you don't know how to use SSI]" --> +</code></p></div> + + <p>Ʈ ϱ SSI þ ذϿ + ڰ ̷ ʱ ٶ. (?)</p> + + <p> <code>sizefmt</code> attribute ȯϴ ũ + <code>config</code>() ִ. Ʈ ũ⸦ + ַ <code>bytes</code>, Kb Mb ũ⸦ + ַ <code>abbrev</code> Ѵ.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="exec" id="exec">ɾ ϱ</a></h2> + + + <p> CGI α SSI ϴ + ̴. <code>exec</code> element + ִ ٸ ͵ ̴. SSI (Ȯ + <code>/bin/sh</code> Win32 Ѵٸ DOS ) Ͽ + ɾ Ѵ. , 丮 ش.</p> +<div class="example"><p><code> + <pre><br /> + <!--#exec cmd="ls" --><br /> + </pre> +</code></p></div> + + <p>or, on Windows</p> +<div class="example"><p><code> + <pre><br /> + <!--#exec cmd="dir" --><br /> + </pre> +</code></p></div> + + <p><code>dir</code> ¿ ȥ + ``<<code>dir</code>>'' ڿ Եֱ, + þ ϸ ̻ ̴.</p> + + <p> <code>exec</code> ± ɾ + ֱ ſ ϴ. ``'' ڰ + ִ ȯ̶, + ؼ ȵȴ. <code>Options</code> þ + <code>IncludesNOEXEC</code> ƱԸƮ Ͽ SSI + <code>exec</code> ִ.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="advanced" id="advanced"> SSI </a></h2> + + + <p> ϴ ܿ ġ SSI ϰ, + ǹ ִ.</p> + +<h3><a name="caveat" id="caveat"></a></h3> + + <p> ۿ ϴ κ ġ 1.2 ĺ + ִ. , ġ 1.2 ̻ ʴ´ٸ + Ƹ ̵ؾ Ѵ. ض. ض. ٸ + ̴.</p> + + +<h3><a name="variables" id="variables"> </a></h3> + + <p><code>set</code> þ Ͽ ߿ + ִ. ʿϱ Ѵ. + .</p> +<div class="example"><p><code> + <!--#set var="name" value="Rich" --> +</code></p></div> + + <p> ڱ״ ʰ <a href="../env.html">ȯ溯</a> ( + , <code>LAST_MODIFIED</code>) ٸ Ͽ + ִ. ̶ տ ǥ($) + ٿ ڿ ƴ ǥѴ.</p> + + <div class="example"><p><code> <!--#set var="modified" value="$LAST_MODIFIED" --> + </code></p></div> + + <p> ڸ ״ ԷϷ ǥ տ + 齽 Ѵ.</p> +<div class="example"><p><code> + <!--#set var="cost" value="\$100" --> +</code></p></div> + + <p> ڿ ߰ ϴµ ڿ ִ + ڵ Ͽ ȥǴ , ȣ + Ȯ Ѵ. ( ã , + ϱ ٶ.)</p> +<div class="example"><p><code> + <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --> +</code></p></div> + + +<h3><a name="conditional" id="conditional"> ǥ</a></h3> + + + <p> ϰ ǹ ϴ. + SSI α־ ȴ. + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> ǹ <code>if</code>, + <code>elif</code>, <code>else</code>, <code>endif</code> + Ѵ. + ִ.</p> + + <p>ǹ .</p> +<div class="example"><p><code> + <!--#if expr="test_condition" --><br /> + <!--#elif expr="test_condition" --><br /> + <!--#else --><br /> + <!--#endif --> +</code></p></div> + + <p><em>test_condition</em> + ִ. ٸ ϰų, Ư ``'' + ˻Ѵ. (ڿ ̴.) 밡 + ڸ , <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + ϶. ǹ .</p> + + <p>Ͽ ߰Ѵ.</p> +<div class="example"><p><code> + BrowserMatchNoCase macintosh Mac<br /> + BrowserMatchNoCase MSIE InternetExplorer +</code></p></div> + + <p>Ŭ̾Ʈ Ųÿ ϴ Internet Explorer + ȯ溯 ``Mac'' ``InternetExplorer'' Ѵ.</p> + + <p> SSI ´.</p> +<div class="example"><p><code> + <!--#if expr="${Mac} && ${InternetExplorer}" --><br /> + ´<br /> + <!--#else --><br /> + JavaScript ڵ尡 ´<br /> + <!--#endif --> +</code></p></div> + + <p> Ų IE ݰ ִ ƴϴ. + ֿ ٸ JavaScript ڵ尡 Ų + IE ʾƼ ð ߴ. ӽ + ذå̴.</p> + + <p>( Ͽ Ϲ ȯ溯̰) ǹ + ִ. ƶġ <code>SetEnvIf</code> ٸ + þ ȯ溯 ֱ CGI ̵ + ִ.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="conclusion" id="conclusion"></a></h2> + + <p>SSI Ȯ CGI ϴ ٸ + ü . ߰ ۾ + ߰ϱ Ǹ ̴.</p> +</div></div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/howto/ssi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/howto/ssi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/howto/ssi.html" title="Korean"> ko </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div> +</body></html>
\ No newline at end of file |