diff options
Diffstat (limited to 'docs/manual/howto')
27 files changed, 6640 insertions, 0 deletions
diff --git a/docs/manual/howto/access.html b/docs/manual/howto/access.html new file mode 100644 index 00000000..e4762a1e --- /dev/null +++ b/docs/manual/howto/access.html @@ -0,0 +1,3 @@ +URI: access.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/howto/access.html.en b/docs/manual/howto/access.html.en new file mode 100644 index 00000000..8b94ac9b --- /dev/null +++ b/docs/manual/howto/access.html.en @@ -0,0 +1,189 @@ +<?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>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.2</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.2</a> > <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>Access Control</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/howto/access.html" title="English"> en </a></p> +</div> + + <p>Access control refers to any means of controlling access to any + resource. This is separate from <a href="auth.html">authentication and authorization</a>.</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="#host">Access control by host</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#env">Access control by environment variable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rewrite">Access control with mod_rewrite</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> + +<p>Access control can be done by several different modules. The most +important of these is <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>. Other modules +discussed in this document include <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> and +<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</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="host" id="host">Access control by host</a></h2> + <p> + If you wish to restrict access to portions of your site based on the + host address of your visitors, this is most easily done using + <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>. + </p> + + <p>The <code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> and + <code class="directive"><a href="../mod/mod_authz_host.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_authz_host.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_authz_host.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_authz_host.html#deny">Deny</a></code> and an <code class="directive"><a href="../mod/mod_authz_host.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_authz_host.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="env" id="env">Access control by environment variable</a></h2> + + <p> + <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>, in conjunction with + <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>, can be used to restrict access to + your website based on the value of arbitrary environment variables. + This is done with the <code>Allow from env=</code> and <code>Deny + from env=</code> syntax. + </p> + + <div class="example"><p><code> + SetEnvIf User-Agent BadBot GoAway=1<br /> + Order allow,deny<br /> + Allow from all<br /> + Deny from env=GoAway + </code></p></div> + + <div class="note"><h3>Warning:</h3> + <p>Access control by <code>User-Agent</code> is an unreliable technique, + since the <code>User-Agent</code> header can be set to anything at all, + at the whim of the end user.</p> + </div> + + <p> + In the above example, the environment variable <code>GoAway</code> + is set to <code>1</code> if the <code>User-Agent</code> matches the + string <code>BadBot</code>. Then we deny access for any request when + this variable is set. This blocks that particular user agent from + the site. + </p> + + <p>An environment variable test can be negated using the <code>=!</code> + syntax:</p> + + <div class="example"><p> + Allow from env=!GoAway + </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="rewrite" id="rewrite">Access control with mod_rewrite</a></h2> + +<p>The <code>[F]</code> <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> flag causes a 403 Forbidden +response to be sent. Using this, you can deny access to a resource based +on arbitrary criteria.</p> + +<p>For example, if you wish to block access to a resource between 8pm +and 6am, you can do this using <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p> + +<div class="example"><p><code> +RewriteEngine On<br /> +RewriteCond %{TIME_HOUR} > 20 [OR]<br /> +RewriteCond %{TIME_HOUR} < 07<br /> +RewriteRule ^/fridge - [F] +</code></p></div> + +<p>This will return a 403 Forbidden response for any request after 8pm +or before 7am. This technique can be used for any criteria that you wish +to check. You can also redirect, or otherwise rewrite these requests, if +that approach is preferred.</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_basic.html">mod_auth_basic</a></code> and <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> which + contain some more information about how this all works. + <code class="module"><a href="../mod/mod_authn_alias.html">mod_authn_alias</a></code> can also help in simplifying certain + authentication configurations.</p> + + <p>See the <a href="auth.html">Authentication and Authorization</a> + howto.</p> +</div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/howto/access.html" title="English"> en </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2006 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/docs/manual/howto/auth.html b/docs/manual/howto/auth.html new file mode 100644 index 00000000..fddd9973 --- /dev/null +++ b/docs/manual/howto/auth.html @@ -0,0 +1,11 @@ +URI: auth.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: auth.html.ja.euc-jp +Content-Language: ja +Content-type: text/html; charset=EUC-JP + +URI: auth.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/howto/auth.html.en b/docs/manual/howto/auth.html.en new file mode 100644 index 00000000..491abd15 --- /dev/null +++ b/docs/manual/howto/auth.html.en @@ -0,0 +1,391 @@ +<?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.2</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.2</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="../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="#dbmdbd">Alternate password storage</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> + +<p>There are three types of modules involved in the authentication and +authorization process. You will usually need to choose at least one +module from each group.</p> + +<ul> + <li>Authentication type (see the + <code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code> directive) + <ul> + <li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li> + <li><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></li> + </ul> + </li> + <li>Authentication provider + <ul> + <li><code class="module"><a href="../mod/mod_authn_alias.html">mod_authn_alias</a></code></li> + <li><code class="module"><a href="../mod/mod_authn_anon.html">mod_authn_anon</a></code></li> + <li><code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code></li> + <li><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code></li> + <li><code class="module"><a href="../mod/mod_authn_default.html">mod_authn_default</a></code></li> + <li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li> + <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li> + </ul> + </li> + <li>Authorization (see the + <code class="directive"><a href="../mod/core.html#require">Require</a></code> directive) + <ul> + <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li> + <li><code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code></li> + <li><code class="module"><a href="../mod/mod_authz_default.html">mod_authz_default</a></code></li> + <li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li> + <li><code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code></li> + <li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li> + </ul> + </li> +</ul> + + <p>The module <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> is both an + authentication and authorization provider. The module + <code class="module"><a href="../mod/mod_authn_alias.html">mod_authn_alias</a></code> is not an authentication provider + in itself, but allows other authentication providers to be + configured in a flexible manner.</p> + + <p>The module <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> provides authorization + and access control based on hostname, IP address or characteristics + of the request, but is not part of the authentication provider + system.</p> + + <p>You probably also want to take a look at the <a href="access.html">Access Control</a> howto, which discusses the + various ways to control access to your server.</p> + +</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 class="note"><h3>Note:</h3> + <p>If your data really needs to be secure, consider using + <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> in addition to any authentication.</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="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>First, you need to create a password file. Exactly how you do + this will vary depending on what authentication provider you have + chosen. More on that later. To start with, we'll use a text password + file.</p> + + <p>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. If you have installed Apache from + a third-party package, it may be in your execution path.</p> + + <p>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. + With a default installation, it's located at + <code>/usr/local/apache2/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 /> + # (Following line optional)<br /> + AuthBasicProvider file<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_basic.html">mod_auth_basic</a></code>. It is important to be aware, + however, that Basic authentication sends the password from the client to + the server unencrypted. This method should therefore not be used for + highly sensitive data, unless accompanied by <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. + 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. Most recent + browsers 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_basic.html#authbasicprovider">AuthBasicProvider</a></code> is, + in this case, optional, since <code>file</code> is the default value + for this directive. You'll need to use this directive if you are + choosing a different source for authentication, such as + <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> or <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p> + + <p>The <code class="directive"><a href="../mod/mod_authn_file.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_authn_dbm.html">mod_authn_dbm</a></code> module provides the <code class="directive"><a href="../mod/mod_authn_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_authz_groupfile.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 /> + # Optional line: + AuthBasicProvider file + 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_authn_file.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="dbmdbd" id="dbmdbd">Alternate password storage</a></h2> + + <p>Because storing passwords in plain text files has the above + problems, you may wish to store your passwords somewhere else, such + as in a database.</p> + + <p><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> and <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> + are two modules which make this possible. Rather than selecting + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicsource">AuthBasicSource</a></code> file, + instead you can choose <code>dbm</code> or <code>dbd</code> as your + storage format.</p> + + <p>To select a dbd file rather than a text file, for example:</p> + + <div class="example"><p><code> + <Directory /www/docs/private><br /> + AuthName "Private"<br /> + AuthType Basic<br /> + AuthBasicProvider dbm<br /> + AuthDBMUserFile /www/passwords/passwd.dbm<br /> + Require valid-user + </code></p></div> + + <p>Other options are available. Consult the + <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> documentation for more details.</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_basic.html">mod_auth_basic</a></code> and <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> which + contain some more information about how this all works. + <code class="module"><a href="../mod/mod_authn_alias.html">mod_authn_alias</a></code> can also help in simplifying certain + authentication configurations.</p> + + <p>And you may want to look at the <a href="access.html">Access + Control</a> howto, which discusses a number of related topics.</p> + +</div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/howto/auth.html" title="English"> en </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 2006 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/docs/manual/howto/auth.html.ja.euc-jp b/docs/manual/howto/auth.html.ja.euc-jp new file mode 100644 index 00000000..73e85d12 --- /dev/null +++ b/docs/manual/howto/auth.html.ja.euc-jp @@ -0,0 +1,386 @@ +<?xml version="1.0" encoding="EUC-JP"?> +<!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.2</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.2</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="../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_basic.html">mod_auth_basic</a></code></li><li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li><li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.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_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_host.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 付属の <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> + を使います。このコマンドは Apache をどこにインストールしようとも、 + インストールディレクトリの <code>bin</code> + ディレクトリ以下に置かれます。ファイルを作るには、次のように + タイプしてください。</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> は、パスワードを要求し、その後 + 確認のためにもう一度入力するように要求してきます。</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 class="program"><a href="../programs/htpasswd.html">htpasswd</a></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_basic.html">mod_auth_basic</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_authn_file.html#authuserfile">AuthUserFile</a></code> + ディレクティブは <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> で作った + パスワードファイルへのパスを設定します。 + ユーザ数が多い場合は、リクエスト毎のユーザの認証のための + プレーンテキストの探索が非常に遅くなることがあります。 + Apache ではユーザ情報を高速なデータベースファイルに + 保管することもできます。 + <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> モジュールが + <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code> + ディレクティブを提供します。これらのファイルは <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> + プログラムで作成したり操作したりできます。 + <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_authz_groupfile.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_authn_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_authz_host.html#allow">Allow</a></code> と + <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> + ディレクティブを使って、ドキュメントを要求してきたマシンの + ホスト名やホストアドレスに基づいて許可不許可を制御できます。 + <code class="directive"><a href="../mod/mod_authz_host.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_authz_host.html#order">Order</a></code> を使うことで、 + <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> と + <code class="directive"><a href="../mod/mod_authz_host.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_authz_host.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_basic.html">mod_auth_basic</a></code> と + <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</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="../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 2006 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/docs/manual/howto/auth.html.ko.euc-kr b/docs/manual/howto/auth.html.ko.euc-kr new file mode 100644 index 00000000..b76e5262 --- /dev/null +++ b/docs/manual/howto/auth.html.ko.euc-kr @@ -0,0 +1,323 @@ +<?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.2</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.2</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="../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_basic.html">mod_auth_basic</a></code></li><li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li><li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.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_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_host.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_basic.html">mod_auth_basic</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_authn_file.html#authuserfile">AuthUserFile</a></code> + 走獣嬢澗 酔軒亜 号榎 <code>htpasswd</code>稽 幻窮 章硲督析税 + 井稽研 竺舛廃陥. 紫遂切亜 弦陥檎 推短原陥 古腰 紫遂切研 + 昔装馬奄是背 析鋼 庚辞督析聖 伊事馬澗汽 獣娃戚 雌雁備 弦戚 + 杏険 呪 赤陥. 焼督帖澗 匙献 汽戚展今戚什 督析拭 紫遂切 舛左研 + 煽舌拝 呪 赤陥. <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> 乞汲精 <code class="directive"><a href="../mod/mod_authn_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_authz_groupfile.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_authn_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_authz_host.html#allow">Allow</a></code>人 + <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> 走獣嬢澗 + 庚辞研 推短廃 陳濃斗税 硲什闘誤 箸精 硲什闘 爽社研 亜走壱 + 羨悦聖 買遂馬暗蟹 暗採廃陥. <code class="directive"><a href="../mod/mod_authz_host.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_authz_host.html#order">Order</a></code>研 + <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code>人 <code class="directive"><a href="../mod/mod_authz_host.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_authz_host.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_basic.html">mod_auth_basic</a></code>引 + <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</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="../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 2006 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/docs/manual/howto/cgi.html b/docs/manual/howto/cgi.html new file mode 100644 index 00000000..8d3dbcba --- /dev/null +++ b/docs/manual/howto/cgi.html @@ -0,0 +1,11 @@ +URI: cgi.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: cgi.html.ja.euc-jp +Content-Language: ja +Content-type: text/html; charset=EUC-JP + +URI: cgi.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/howto/cgi.html.en b/docs/manual/howto/cgi.html.en new file mode 100644 index 00000000..42893e6c --- /dev/null +++ b/docs/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.2</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.2</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 <a class="glossarylink" href="../glossary.html#mime-type" title="see glossary">MIME-type</a> 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 2006 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/docs/manual/howto/cgi.html.ja.euc-jp b/docs/manual/howto/cgi.html.ja.euc-jp new file mode 100644 index 00000000..6740c653 --- /dev/null +++ b/docs/manual/howto/cgi.html.ja.euc-jp @@ -0,0 +1,549 @@ +<?xml version="1.0" encoding="EUC-JP"?> +<!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.2</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.2</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://www.example.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 ファイル</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="#permissions">「ファイルのパーミッション」</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> + + + <p>また、CGI プログラムが他の<a href="#env">環境変数</a>に依存している場合は、その環境変数が + Apache から渡されるようにする必要があります。</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 がそこに <code class="program"><a href="../programs/suexec.html">suexec</a></code> のバイナリを発見した場合は、suexec が + 使用されます。</p> + + <p>suexec を完全に理解していない限り、使うべきではありません。 + suexec を無効にするには、<code>SUEXEC_BIN</code> から指されている + <code class="program"><a href="../programs/suexec.html">suexec</a></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 2006 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/docs/manual/howto/cgi.html.ko.euc-kr b/docs/manual/howto/cgi.html.ko.euc-kr new file mode 100644 index 00000000..da8c9bad --- /dev/null +++ b/docs/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.2</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.2</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 2006 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/docs/manual/howto/htaccess.html b/docs/manual/howto/htaccess.html new file mode 100644 index 00000000..9c6579d8 --- /dev/null +++ b/docs/manual/howto/htaccess.html @@ -0,0 +1,15 @@ +URI: htaccess.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: htaccess.html.ja.euc-jp +Content-Language: ja +Content-type: text/html; charset=EUC-JP + +URI: htaccess.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: htaccess.html.pt-br +Content-Language: pt-br +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/howto/htaccess.html.en b/docs/manual/howto/htaccess.html.en new file mode 100644 index 00000000..0ab4f5e9 --- /dev/null +++ b/docs/manual/howto/htaccess.html.en @@ -0,0 +1,385 @@ +<?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.2</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.2</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> | +<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Portugus (Brasil)"> pt-br </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_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</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_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.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><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> | +<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Portugus (Brasil)"> pt-br </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2006 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/docs/manual/howto/htaccess.html.ja.euc-jp b/docs/manual/howto/htaccess.html.ja.euc-jp new file mode 100644 index 00000000..5a93ad8d --- /dev/null +++ b/docs/manual/howto/htaccess.html.ja.euc-jp @@ -0,0 +1,383 @@ +<?xml version="1.0" encoding="EUC-JP"?> +<!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.2</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.2</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> | +<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p> +</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_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</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_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.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> + + <h3><a name="merge" id="merge">メイン設定ファイルに対する + .htaccess のマージ</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> + <p><a href="../sections.html">セクションの設定</a> + に記載されているように、<code>.htaccess</code> ファイルを使って + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + セクションの設定をディレクトリ毎に上書きできますが、 + メイン設定ファイル中にある、他の種類の設定セクションによって + さらに上書きされることもあります。 + この特徴を使って、 + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> + で自由度の高い設定があったとしても、ある特定の設定が確実に + 反映されるようにできます。例えば、CGI スクリプトの実行は + 不許可に、かつ、<code>.htaccess</code> でその他の項目は + 設定できるように、という場合は次のようにできます :</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">認証の例</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>.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> | +<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2006 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/docs/manual/howto/htaccess.html.ko.euc-kr b/docs/manual/howto/htaccess.html.ko.euc-kr new file mode 100644 index 00000000..68f4172a --- /dev/null +++ b/docs/manual/howto/htaccess.html.ko.euc-kr @@ -0,0 +1,333 @@ +<?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.2</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.2</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> | +<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </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_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</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_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.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>.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> | +<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2006 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/docs/manual/howto/htaccess.html.pt-br b/docs/manual/howto/htaccess.html.pt-br new file mode 100644 index 00000000..f48691a6 --- /dev/null +++ b/docs/manual/howto/htaccess.html.pt-br @@ -0,0 +1,375 @@ +<?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="pt-br" xml:lang="pt-br"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Tutorial do Apache: arquivos .htaccess - 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">Diretrizes</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossrio</a> | <a href="../sitemap.html">Mapa do site</a></p> +<p class="apache">Servidor HTTP Apache Verso 2.2</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/">Documenta艫o</a> > <a href="../">Verso 2.2</a> > <a href="./">How-To / Tutoriais</a></div><div id="page-content"><div id="preamble"><h1>Tutorial do Apache: arquivos .htaccess</h1> +<div class="toplang"> +<p><span>Lnguas Disponveis: </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" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../pt-br/howto/htaccess.html" title="Portugus (Brasil)"> pt-br </a></p> +</div> + +<p>Arquivos <code>.htaccess</code> oferecem um meio de fazer mudanas + nas configura苺es por-diretrio.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Arquivos .htaccess </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#what">O que eles so/Como us-los</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#when">Quando (no) usar arquivos .htaccess</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#how">Como as diretrizes so aplicadas</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#auth">Exemplo de Autentica艫o</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssi">Exemplo de Server Side Includes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgi">Exemplo de CGI</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Resolvendo Problemas</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">Arquivos .htaccess </a></h2> + <table class="related"><tr><th>Mdulos Relacionados</th><th>Diretrizes Relacionadas</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_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</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_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.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">O que eles so/Como us-los</a></h2> + + + <p>Os arquivos <code>.htaccess</code> (ou "arquivos de + configura艫o distribuda") oferecem um meio de fazer mudanas nas + configura苺es por-diretrio. Um arquivo, contendo uma ou mais + diretrizes de configura苺es, colocado em um diretrio + em particular, e as diretrizes se aplicam para aquele diretrio e todos + os seu subdiretrios subseqentes.</p> + + <div class="note"><h3>Nota:</h3> + <p>Se voc quiser renomear o seu arquivo <code>.htaccess</code> + para outro nome, voc deve usar a diretriz <code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code>. Por exemplo, se voc + prefere que o arquivo se chame <code>.config</code>, ento voc + pode adicionar a seguinte linha ao seu arquivo de configura艫o + do servidor:</p> + + <div class="example"><p><code> + AccessFileName .config + </code></p></div> + </div> + + <p>No geral, arquivos <code>.htaccess</code> usam a mesma sintaxe + que os <a href="../configuring.html#syntax">arquivos de + configura艫o principal</a>. O que voc pode colocar nesses + arquivos determinado pele diretriz <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Essa diretriz especifica, + em categorias, quais diretrizes sero aceitas caso sejam + encontradas em um arquivo <code>.htaccess</code>. Se uma diretriz + for permitida em um arquivo <code>.htaccess</code>, a documenta艫o + para essa diretriz ir conter uma se艫o <em>Override</em>, + especificando que valor precisa estar em <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> para que esta diretriz + seja permitida.</p> + + <p>Por exemplo, se voc procurar na documenta艫o pela diretriz + <code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code>, voc + achar que ela permitida nos arquivos <code>.htaccess</code>. + (Veja a linha Contexto no sumrio das diretivas.) A + linha <a href="../mod/directive-dict.html#Context">Override</a> l + <code>FileInfo</code>. Ento, voc deve ao menos ter + <code>AllowOverride FileInfo</code> para que essa diretriz seja + aceita nos arquivos <code>.htaccess</code>.</p> + + <div class="example"><h3>Exemplo:</h3><table> + <tr> + <td><a href="../mod/directive-dict.html#Context">Contexto:</a></td> + <td>configura艫o do servidor, hospedeiros virtuais, diretrio, .htaccess</td> + </tr> + + <tr> + <td><a href="../mod/directive-dict.html#Override">Override:</a></td> + <td>FileInfo</td> + </tr> + </table></div> + + <p>Se voc estiver incerto se uma diretriz em particular + aceita em um arquivo <code>.htaccess</code>, procure na + documenta艫o por essa diretriz, e verifique a linha de + Contexto por ".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">Quando (no) usar arquivos .htaccess</a></h2> + + <p>No geral, voc nunca deve usar arquivos <code>.htaccess</code> + a no ser que voc no tenha acesso ao arquivo de configura艫o + principal do servidor. Existe, por exemplo, um erro de concep艫o + que dita que a autentica艫o de usurios sempre deve + ser feita usando os arquivos <code>.htaccess</code>. Esse + simplesmente no o caso. Voc pode usar as configura苺es de + autentica艫o de usurio no arquivo de configura艫o principal do + servidor, e isso , de fato, a maneira mais adequada de se fazer + as coisas.</p> + + <p>Arquivos <code>.htaccess</code> devem ser usados em casos onde + os provedores de contedo do site precisem fazer mudanas na + configura艫o do servidor por-diretrio, mas no tem + acesso <em>root</em> ao sistema do servidor. Caso o administrador do + servidor no esteja disposto a fazer mudanas freqentes nas + configura苺es do servidor, desejvel permitir que os + usurios possam fazer essas mudanas atravs de arquivos + <code>.htaccess</code> eles mesmos. Isso particularmente + verdade, por exemplo, em casos onde provedores esto fornecendo + mltiplos sites para usurios em apenas uma mquina, e querem que + seus usurios possam alterar suas configura苺es.</p> + + <p>No entanto, de modo geral, o uso de arquivos <code>.htaccess</code> + deve ser evitado quando possvel. Quaisquer configura苺es + que voc considerar acrescentar em um arquivo <code>.htaccess</code>, podem + ser efetivamente colocadas em uma se艫o <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> no arquivo principal de + configura艫o de seu servidor.</p> + + <p>Existem duas razes principais para evitar o uso de arquivos + <code>.htaccess</code>.</p> + + <p>A primeira delas a performance. Quando <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> configurado para + permitir o uso de arquivos <code>.htaccess</code>, o Apache procura + em todos diretrios por arquivos <code>.htaccess</code>. + Logo, permitir arquivos <code>.htaccess</code> causa um impacto na + performance, mesmo sem voc us-los de fato! Alm disso, + o arquivo <code>.htaccess</code> carregado toda vez que um documento + requerido.</p> + + <p>Alm disso, note que o Apache precisa procurar pelos arquivos + <code>.htaccess</code> em todos os diretrios superiores, para ter + o complemento total de todas as diretivas que devem ser + aplicadas. (Veja a se艫o <a href="#how">como as diretrizes so + aplicadas</a>.) Ento, se um arquivo de um diretrio + <code>/www/htdocs/example</code> requerido, o Apache precisa + procurar pelos seguintes arquivos:</p> + + <div class="example"><p><code> + /.htaccess<br /> + /www/.htaccess<br /> + /www/htdocs/.htaccess<br /> + /www/htdocs/example/.htaccess + </code></p></div> + + <p>Assim, para cada acesso de arquivo fora desse diretrio, + existem 4 acessos ao sistema de arquivos adicionais, mesmo + que nenhum desses arquivos estejam presentes. (Note que esse + s ser o caso se os arquivos <code>.htaccess</code> + estiverem habilitados para <code>/</code>, o que + normalmente no o verdade.)</p> + + <p>A segunda considera艫o relativa segurana. + Voc est permitindo que os usurios modifiquem as + configura苺es do servidor, o que pode resultar em mudanas + que podem fugir ao seu controle. Considere com cuidado se voc quer + ou no dar aos seus usurios esses privilgios. Note tambm + que dar aos usurios menos privilgios que eles precisam, acarreta em + pedidos de suporte tcnico adicionais. Tenha certeza que voc comunicou + aos usurios que nvel de privilgios voc os deu. + Especificar exatamente o que voc configurou na diretriz <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>, e direcion-los para a + documenta艫o relevante, ir poup-lo de muita confuso + depois.</p> + + <p>Perceba que exatamente equivalente colocar o arquivo + <code>.htaccess</code> em um diretrio + <code>/www/htdocs/example</code> contendo uma diretriz, e + adicionar a mesma diretriz em uma se艫o <em>Directory</em> + <code><Directory /www/htdocs/example></code> na configura艫o + principal do seu servidor:</p> + + <p>Arquivo <code>.htaccess</code> em <code>/www/htdocs/example</code>:</p> + + <div class="example"><h3>Contedo de um arquivo .htaccess em + <code>/www/htdocs/example</code></h3><p><code> + AddType text/example .exm + </code></p></div> + + <div class="example"><h3>Se艫o do seu arquivo <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>No entanto, adicionando isso ao seu arquivo de configura艫o do + servidor resultar em uma menor perda de performance, na medida que + a configura艫o carregada no momento da inicializa艫o do + servidor, ao invs de toda que que um arquivo requerido.</p> + + <p>O uso de arquivos <code>.htaccess</code> pode ser totalmente + desabilitado, ajustando a diretriz <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> para <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">Como as diretrizes so aplicadas</a></h2> + + <p>As diretrizes de configura艫o que se encontram em um arquivo + <code>.htaccess</code> so aplicadas para o diretrio no qual o + arquivo <code>.htaccess</code> se encontra, e para todos os + subdiretrios ali presentes. Mas, importante lembrar tambm que + podem existir arquivos <code>.htaccess</code> no diretrios + superiores. As diretrizes so aplicadas na ordem que so + achadas. Logo, um arquivo <code>.htaccess</code> em um diretrio + em particular, pode sobrescrever as diretrizes encontradas em um + diretrio acima deste em sua respectiva rvore. Estes, por sua vez, + podem ter suas diretrizes sobrescritas por diretrizes ainda mais + acima, ou no prprio arquivo de configura艫o principal do + servidor.</p> + + <p>Exemplo:</p> + + <p>No diretrio <code>/www/htdocs/example1</code> ns temos + um arquivo <code>.htaccess</code> contendo o seguinte:</p> + + <div class="example"><p><code> + Options +ExecCGI + </code></p></div> + + <p>(Nota: voc deve ter "<code>AllowOverride Options</code>" para + permitir o uso da diretriz "<code class="directive"><a href="../mod/core.html#options">Options</a></code>" nos arquivos + <code>.htaccess</code> .)</p> + + <p>No diretrio <code>/www/htdocs/example1/example2</code> ns temos + um arquivo <code>.htaccess</code> contendo:</p> + + <div class="example"><p><code> + Options Includes + </code></p></div> + + <p>Devido a esse segundo arquivo <code>.htaccess</code>, no + diretrio <code>/www/htdocs/example1/example2</code>, a execu艫o + de scripts CGI no permitida, pois somente <code>Options + Includes</code> est em efeito, o que sobrescreve completamente + quaisquer outros ajustes previamente configurados.</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">Exemplo de Autentica艫o</a></h2> + + <p>Se voc veio diretamente esta parte do documento para + aprender como fazer autentica艫o, importante notar uma + coisa. Existe uma concep艫o errada, mas muito comum, de que + necessrio o uso de arquivos <code>.htaccess</code> para implementar + a autentica艫o por senha. Este no o caso. Colocar + diretrizes de senha em uma se艫o <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, no seu arquivo principal de + configura艫o do servidor, a melhor maneira de se implementar + isto, e os arquivos <code>.htaccess</code> devem ser usados apenas + se voc no tem acesso ao arquivo principal de configura艫o do + servidor. Veja <a href="#when">acima</a> a discusso sobre quando + voc deve e quando no deve usar os arquivos + <code>.htaccess</code>.</p> + + <p>Dito isso, se voc ainda acredita que precisa usar um arquivo + <code>.htaccess</code>, a configura艫o a seguir provavelmente + funcionar para voc.</p> + + <p>Contedo de um arquivo <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>Note que <code>AllowOverride AuthConfig</code> precisa estar + habilitado para que estas diretrizes tenham efeito.</p> + + <p>Por favor veja o <a href="auth.html">tutorial de + autentica艫o</a> para uma discusso mais completa sobre + autentica艫o e autoriza艫o.</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">Exemplo de Server Side Includes</a></h2> + + <p>Outro uso comum de arquivos <code>.htaccess</code> ativar o + Server Side Includes para um diretrio em particular. Isto pode + ser feito com as seguintes diretrizes de configura艫o, colocadas em + um arquivo <code>.htaccess</code> no diretrio desejado:</p> + + <div class="example"><p><code> + Options +Includes<br /> + AddType text/html shtml<br /> + AddHandler server-parsed shtml + </code></p></div> + + <p>Note que ambos <code>AllowOverride Options</code> e + <code>AllowOverride FileInfo</code> precisam estar habilitados + para essas diretrizes terem efeito.</p> + + <p>Por favor veja o <a href="ssi.html">tutorial de SSI</a> para + uma discusso mais completa sobre 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">Exemplo de CGI</a></h2> + + <p>Finalmente, voc pode querer que um arquivo + <code>.htaccess</code> permita a execu艫o de programas CGI em um + diretrio em particular. Isto pode ser implementado com as + seguintes configura苺es:</p> + + <div class="example"><p><code> + Options +ExecCGI<br /> + AddHandler cgi-script cgi pl + </code></p></div> + + <p>Alternativamente, se voc desejar que todos os arquivos de um + dado diretrio, sejam considerados programas CGI, isso pode ser + feito com a seguinte configura艫o:</p> + + <div class="example"><p><code> + Options +ExecCGI<br /> + SetHandler cgi-script + </code></p></div> + + <p>Note que ambos <code>AllowOverride Options</code> e + <code>AllowOverride FileInfo</code> precisam estar habilitados + para que essas diretrizes tenham quaisquer efeito.</p> + + <p>Por favor veja o <a href="cgi.html">tutorial de CGI + tutorial</a> para uma discusso mais completa sobre programa艫o + e configura艫o 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="troubleshoot" id="troubleshoot">Resolvendo Problemas</a></h2> + + <p>Quando voc adiciona diretrizes de configura艫o em um arquivo + <code>.htaccess</code>, e no obtm o efeito desejado, existe uma + srie de pontos que podem estar errados.</p> + + <p>Mais comumente, o problema que a diretriz <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> no est habilitada + corretamente para que as suas diretrizes de configura苺es sejam + honradas. Verifique se voc no possui <code>AllowOverride + None</code> ajustado para o escopo do arquivo em questo. Um bom + meio de testar isso colocar "lixo" em seu arquivo + <code>.htaccess</code> e recarreg-lo. Se no for gerado nenhum + erro do servidor, certamente voc tem <code>AllowOverride + None</code> habilitado.</p> + + <p>Se, por outro lado, voc est obtendo erros do servidor ao + tentar acessar documentos, verifique o registro de erros do + Apache. Ele provavelmente ir indicar que a diretriz usada em + seu arquivo <code>.htaccess</code> no permitida. + Alternativamente, ele pode acusar erros de sintaxe que voc ter + que corrigir.</p> + +</div></div> +<div class="bottomlang"> +<p><span>Lnguas Disponveis: </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" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../pt-br/howto/htaccess.html" title="Portugus (Brasil)"> pt-br </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2006 The Apache Software Foundation.<br />Licenciado sob a <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">Diretrizes</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossrio</a> | <a href="../sitemap.html">Mapa do site</a></p></div> +</body></html>
\ No newline at end of file diff --git a/docs/manual/howto/index.html b/docs/manual/howto/index.html new file mode 100644 index 00000000..9ee33086 --- /dev/null +++ b/docs/manual/howto/index.html @@ -0,0 +1,11 @@ +URI: index.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.ja.euc-jp +Content-Language: ja +Content-type: text/html; charset=EUC-JP + +URI: index.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/howto/index.html.en b/docs/manual/howto/index.html.en new file mode 100644 index 00000000..5e918118 --- /dev/null +++ b/docs/manual/howto/index.html.en @@ -0,0 +1,117 @@ +<?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.2</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.2</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 and Authorization</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</a></p> + </dd> + </dl> + + <dl> + <dt>Access Control</dt> + <dd> + <p>Access control refers to the process of restricting, or + granting access to a resource based on arbitrary criteria. There + are a variety of different ways that this can be + accomplished.</p> + + <p>See: <a href="access.html">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 2006 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/docs/manual/howto/index.html.ja.euc-jp b/docs/manual/howto/index.html.ja.euc-jp new file mode 100644 index 00000000..ef8cf41f --- /dev/null +++ b/docs/manual/howto/index.html.ja.euc-jp @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="EUC-JP"?> +<!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.2</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.2</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 class="outofdate">This translation may be out of date. Check the + English version for recent changes.</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 2006 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/docs/manual/howto/index.html.ko.euc-kr b/docs/manual/howto/index.html.ko.euc-kr new file mode 100644 index 00000000..53410a64 --- /dev/null +++ b/docs/manual/howto/index.html.ko.euc-kr @@ -0,0 +1,109 @@ +<?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.2</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.2</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 class="outofdate">戚 庚辞澗 置重毒 腰蝕戚 焼鑑艦陥. + 置悦拭 痕井吉 鎧遂精 慎嬢 庚辞研 凧壱馬室推.</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 2006 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/docs/manual/howto/public_html.html b/docs/manual/howto/public_html.html new file mode 100644 index 00000000..690c35b2 --- /dev/null +++ b/docs/manual/howto/public_html.html @@ -0,0 +1,11 @@ +URI: public_html.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: public_html.html.ja.euc-jp +Content-Language: ja +Content-type: text/html; charset=EUC-JP + +URI: public_html.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/howto/public_html.html.en b/docs/manual/howto/public_html.html.en new file mode 100644 index 00000000..b227be48 --- /dev/null +++ b/docs/manual/howto/public_html.html.en @@ -0,0 +1,161 @@ +<?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.2</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.2</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></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></p> +</div><div id="footer"> +<p class="apache">Copyright 2006 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/docs/manual/howto/public_html.html.ja.euc-jp b/docs/manual/howto/public_html.html.ja.euc-jp new file mode 100644 index 00000000..ea621c6a --- /dev/null +++ b/docs/manual/howto/public_html.html.ja.euc-jp @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="EUC-JP"?> +<!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.2</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.2</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></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></p> +</div><div id="footer"> +<p class="apache">Copyright 2006 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/docs/manual/howto/public_html.html.ko.euc-kr b/docs/manual/howto/public_html.html.ko.euc-kr new file mode 100644 index 00000000..359e5d74 --- /dev/null +++ b/docs/manual/howto/public_html.html.ko.euc-kr @@ -0,0 +1,156 @@ +<?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.2</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.2</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></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></p> +</div><div id="footer"> +<p class="apache">Copyright 2006 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/docs/manual/howto/ssi.html b/docs/manual/howto/ssi.html new file mode 100644 index 00000000..6142aec8 --- /dev/null +++ b/docs/manual/howto/ssi.html @@ -0,0 +1,11 @@ +URI: ssi.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: ssi.html.ja.euc-jp +Content-Language: ja +Content-type: text/html; charset=EUC-JP + +URI: ssi.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/howto/ssi.html.en b/docs/manual/howto/ssi.html.en new file mode 100644 index 00000000..4401f26c --- /dev/null +++ b/docs/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.2</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.2</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 2006 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/docs/manual/howto/ssi.html.ja.euc-jp b/docs/manual/howto/ssi.html.ja.euc-jp new file mode 100644 index 00000000..e1d56b97 --- /dev/null +++ b/docs/manual/howto/ssi.html.ja.euc-jp @@ -0,0 +1,481 @@ +<?xml version="1.0" encoding="EUC-JP"?> +<!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.2</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.2</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 2006 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/docs/manual/howto/ssi.html.ko.euc-kr b/docs/manual/howto/ssi.html.ko.euc-kr new file mode 100644 index 00000000..27696bd2 --- /dev/null +++ b/docs/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.2</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.2</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 伯希研 左鎧走 + 省澗陥. 益掘辞 庚辞研 蝶習馬走 公馬壱 適虞戚情闘亜 汗晦澗 + 失管戚 恭嬢遭陥. 砧亜走 背衣号狛戚 赤陥.</p> + + <ol> + <li><code>XBitHack Full</code> 竺舛精 紫遂廃陥. 益君檎 + 焼督帖澗 匂敗馬澗(include) 督析級税 呪舛析精 巷獣廃端 + 据掘 推短廃 督析税 劾促幻 左壱 置悦呪舛析聖 硝焼浬陥.</li> + + <li><code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code>拭 赤澗 走獣嬢研 紫遂馬食 + 督析拭 送羨 幻奄析聖 竺舛馬檎 崎虞酔煽人 覗系獣亜 庚辞研 + 蝶習拝 呪 赤陥.</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 2006 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 |