diff ja/collab.tex @ 373:250ae1785828

finished collab.tex
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Wed, 17 Dec 2008 20:17:55 +0900
parents bc32663d557e
children de4142983445
line wrap: on
line diff
--- a/ja/collab.tex	Mon Dec 08 18:19:04 2008 +0900
+++ b/ja/collab.tex	Wed Dec 17 20:17:55 2008 +0900
@@ -1486,105 +1486,167 @@
 %\subsubsection{Configuring lighttpd}
 \subsubsection{lighttpd$B$N@_Dj(B}
 
-To be exhaustive in my experiments, I tried configuring the
-increasingly popular \texttt{lighttpd} web server to serve the same
-repository as I described with Apache above.  I had already overcome
-all of the problems I outlined with Apache, many of which are not
-server-specific.  As a result, I was fairly sure that my file and
-directory permissions were good, and that my \sfilename{hgweb.cgi}
-script was properly edited.
+%To be exhaustive in my experiments, I tried configuring the
+%increasingly popular \texttt{lighttpd} web server to serve the same
+%repository as I described with Apache above.  I had already overcome
+%all of the problems I outlined with Apache, many of which are not
+%server-specific.  As a result, I was fairly sure that my file and
+%directory permissions were good, and that my \sfilename{hgweb.cgi}
+%script was properly edited.
+
+$BI.<T$N<B83$NCf$G$O!$(BApache$B$r;H$C$F%5!<%S%9$7$?$N$HF1$8%j%]%8%H%j$r?M5$$r(B
+$B3MF@$7$D$D$"$k%&%'%V%5!<%P$G$"$k(B\texttt{lighttpd}$B$rMQ$$$F%5!<%S%9$9$k$3$H(B
+$B$b;n$_$?!%(B Apache$B$K4X$9$kA4$F$NLdBjE@$r4{$K2r7h$7$F$$$?$,!$$=$NCf$NB?$/$O(B
+$B%5!<%PFCM-$H$$$&$o$1$G$O$J$+$C$?!%7k2L$H$7$F!$%U%!%$%k$H%G%#%l%/%H%j$N%Q!<(B
+$B%_%C%7%g%s@_Dj$,@5$7$$$3$H!$(B \sfilename{hgweb.cgi}$B%9%/%j%W%H$,@5$7$/@_Dj(B
+$B$5$l$F$$$k$3$H$r3N?.$7$?!%(B
 
-Once I had Apache running, getting \texttt{lighttpd} to serve the
-repository was a snap (in other words, even if you're trying to use
-\texttt{lighttpd}, you should read the Apache section).  I first had
-to edit the \texttt{mod\_access} section of its config file to enable
-\texttt{mod\_cgi} and \texttt{mod\_userdir}, both of which were
-disabled by default on my system.  I then added a few lines to the end
-of the config file, to configure these modules.
+%Once I had Apache running, getting \texttt{lighttpd} to serve the
+%repository was a snap (in other words, even if you're trying to use
+%\texttt{lighttpd}, you should read the Apache section).  I first had
+%to edit the \texttt{mod\_access} section of its config file to enable
+%\texttt{mod\_cgi} and \texttt{mod\_userdir}, both of which were
+%disabled by default on my system.  I then added a few lines to the end
+%of the config file, to configure these modules.
+$B$9$G$K(BApache$B$r;H$C$F$$$?$N$G!$(B\texttt{lighttpd}$B$G%j%]%8%H%j$N%5!<%S%9$r9T(B
+$B$&$3$H$O$?$d$9$+$C$?!%!J$3$l$O(B\texttt{lighttpd}$B$r;H$C$F%5!<%S%9$r;n$_$k>l(B
+$B9g$b(BApache$B$N%;%/%7%g%s$rFI$`I,MW$,$"$k$H$$$&$3$H$G$b$"$k!%!KI.<T$N%7%9%F(B
+$B%`$G$O(B\texttt{mod\_cgi}$B$H(B\texttt{mod\_userdir}$B$,6&$KL58z$K@_Dj$5$l$F$$$?(B
+$B$N$G!$$3$l$i$rM-8z$K$9$k$?$a$K!$$^$:@_Dj%U%!%$%k$N(B\texttt{mod\_access}$B%;(B
+$B%/%7%g%s$rJT=8$9$kI,MW$,$"$C$?!%$=$N8e$G!$2<5-$N%b%8%e!<%k$rM-8z$K$9$k$?(B
+$B$a$K!$@_Dj%U%!%$%k$NKvHx$K?t9T$rDI2C$7$?!%(B
 \begin{codesample2}
   userdir.path = "public_html"
   cgi.assign = ( ".cgi" => "" )
 \end{codesample2}
-With this done, \texttt{lighttpd} ran immediately for me.  If I had
-configured \texttt{lighttpd} before Apache, I'd almost certainly have
-run into many of the same system-level configuration problems as I did
-with Apache.  However, I found \texttt{lighttpd} to be noticeably
-easier to configure than Apache, even though I've used Apache for over
-a decade, and this was my first exposure to \texttt{lighttpd}.
+%With this done, \texttt{lighttpd} ran immediately for me.  If I had
+%configured \texttt{lighttpd} before Apache, I'd almost certainly have
+%run into many of the same system-level configuration problems as I did
+%with Apache.  However, I found \texttt{lighttpd} to be noticeably
+%easier to configure than Apache, even though I've used Apache for over
+%a decade, and this was my first exposure to \texttt{lighttpd}.
+$B$3$l$i$N@_Dj$r$9$k$@$1$G(B\texttt{lighttpd}$B$O$9$0$KF0:n$7$?!%(B Apache$B$h$jA0(B
+$B$K(B\texttt{lighttpd}$B$r;n$7$F$$$?$i!$(BApache$B$GD>LL$7$?$h$&$JMM!9$J%7%9%F%`%l(B
+$B%Y%k$N@_DjLdBj$KAx6x$7$F$$$?$K0c$$$J$$$,!$=i$a$F;H$&(B\texttt{lighttpd}$B$N@_(B
+$BDj$NJ}$,!$$3$l$^$G(B10$BG/0J>e$K$o$?$C$F;H$C$F$-$?(BApache$B$N$=$l$h$j$bL@$i$+$K(B
+$B4JC1$G$"$k$3$H$,J,$+$C$?!%(B
 
 %\subsection{Sharing multiple repositories with one CGI script}
 \subsection{1$B$D$N(BCGI$B%9%/%j%W%H$GJ#?t$N%j%]%8%H%j$r6&M-$9$k(B}
 
-The \sfilename{hgweb.cgi} script only lets you publish a single
-repository, which is an annoying restriction.  If you want to publish
-more than one without wracking yourself with multiple copies of the
-same script, each with different names, a better choice is to use the
-\sfilename{hgwebdir.cgi} script.
+%The \sfilename{hgweb.cgi} script only lets you publish a single
+%repository, which is an annoying restriction.  If you want to publish
+%more than one without wracking yourself with multiple copies of the
+%same script, each with different names, a better choice is to use the
+%\sfilename{hgwebdir.cgi} script.
+\sfilename{hgweb.cgi}$B%9%/%j%W%H$K$O!$(B1$B$D$N%j%]%8%H%j$7$+8x3+$G$-$J$$$H$$(B
+$B$&Lq2p$J@)8B$,$"$k!%(B 2$B$D0J>e$N%j%]%8%H%j$r8x3+$7$?$$>l9g$O!$F1$8%9%/%j%W(B
+$B%H$rJL$NL>A0$G$$$/$D$bF0$+$9$N$G$O$J$/!$(B \sfilename{hgwebdir.cgi}$B%9%/%j%W(B
+$B%H$r;H$&$N$,NI$$$@$m$&!%(B
 
-The procedure to configure \sfilename{hgwebdir.cgi} is only a little
-more involved than for \sfilename{hgweb.cgi}.  First, you must obtain
-a copy of the script.  If you don't have one handy, you can download a
-copy from the master Mercurial repository at
-\url{http://www.selenic.com/repo/hg/raw-file/tip/hgwebdir.cgi}.
+%The procedure to configure \sfilename{hgwebdir.cgi} is only a little
+%more involved than for \sfilename{hgweb.cgi}.  First, you must obtain
+%a copy of the script.  If you don't have one handy, you can download a
+%copy from the master Mercurial repository at
+%\url{http://www.selenic.com/repo/hg/raw-file/tip/hgwebdir.cgi}.
+\sfilename{hgwebdir.cgi}$B$N@_Dj$N<j=g$O(B\sfilename{hgweb.cgi}$B$h$j$b$o$:$+$K(B
+$B9~$_F~$C$F$$$k$@$1$@!%<j6a$J$H$3$m$K%9%/%j%W%H$,$J$1$l$P!$(BMercurial$B$N%^%9(B
+$B%?!<%j%]%8%H%j(B
+\url{http://www.selenic.com/repo/hg/raw-file/tip/hgwebdir.cgi}$B$+$i%9%/%j(B
+$B%W%H$rF~<j$G$-$k!%(B
 
-You'll need to copy this script into your \dirname{public\_html}
-directory, and ensure that it's executable.
+%You'll need to copy this script into your \dirname{public\_html}
+%directory, and ensure that it's executable.
+$B$3$N%9%/%j%W%H$r(B\dirname{public\_html}$B%G%#%l%/%H%j$K%3%T!<$7!$<B9T%Q!<%_%C(B
+$B%7%g%s$rM?$($k!%(B
 \begin{codesample2}
   cp .../hgwebdir.cgi ~/public_html
   chmod 755 ~/public_html ~/public_html/hgwebdir.cgi
 \end{codesample2}
-With basic configuration out of the way, try to visit
-\url{http://myhostname/~myuser/hgwebdir.cgi} in your browser.  It
-should display an empty list of repositories.  If you get a blank
-window or error message, try walking through the list of potential
-problems in section~\ref{sec:collab:wtf}.
+%With basic configuration out of the way, try to visit
+%\url{http://myhostname/~myuser/hgwebdir.cgi} in your browser.  It
+%should display an empty list of repositories.  If you get a blank
+%window or error message, try walking through the list of potential
+%problems in section~\ref{sec:collab:wtf}.
+$BDL>o$N@_Dj$N>l9g!$%V%i%&%6$G(B\url{http://myhostname/~myuser/hgwebdir.cgi}
+$B$r3+$/$H!$Cf?H$,6u$N%j%]%8%H%j$rI=<($9$k$O$:$@!%%&%#%s%I%&<+BN$,6u$@$C$?(B
+$B$j!$%(%i!<%a%C%;!<%8$,I=<($5$l$k>l9g$O!$%;%/%7%g%s(B~\ref{sec:collab:wtf}
+$B$NLdBj%j%9%H$r;2>H$7$F$[$7$$!%(B
 
-The \sfilename{hgwebdir.cgi} script relies on an external
-configuration file.  By default, it searches for a file named
-\sfilename{hgweb.config} in the same directory as itself.  You'll need
-to create this file, and make it world-readable.  The format of the
-file is similar to a Windows ``ini'' file, as understood by Python's
-\texttt{ConfigParser}~\cite{web:configparser} module.
+%The \sfilename{hgwebdir.cgi} script relies on an external
+%configuration file.  By default, it searches for a file named
+%\sfilename{hgweb.config} in the same directory as itself.  You'll need
+%to create this file, and make it world-readable.  The format of the
+%file is similar to a Windows ``ini'' file, as understood by Python's
+%\texttt{ConfigParser}~\cite{web:configparser} module.
+\sfilename{hgwebdir.cgi}$B$O30It$N@_Dj%U%!%$%k$r;HMQ$7$F$$$k!%%G%U%)%k%H$G(B
+$B$OF1$8%G%#%l%/%H%jFb$N(B\sfilename{hgweb.config}$B$H$$$&%U%!%$%k$r;2>H$9$k!%(B
+$B$3$N%U%!%$%k$r:n@.$7!$A4$F$N%f!<%6$+$iFI$a$k$h$&$K@_Dj$9$k!%(B
+$B$3$N%U%!%$%k$O(BPython$B$N(B\texttt{ConfigParser}~\cite{web:configparser}$B$G=h(B
+$BM}$G$-$k$h$&(BWindows$B$N(B``ini''$B%U%!%$%k$H;w$?7A<0$K$J$C$F$$$k!%(B
 
-The easiest way to configure \sfilename{hgwebdir.cgi} is with a
-section named \texttt{collections}.  This will automatically publish
-\emph{every} repository under the directories you name.  The section
-should look like this:
+%The easiest way to configure \sfilename{hgwebdir.cgi} is with a
+%section named \texttt{collections}.  This will automatically publish
+%\emph{every} repository under the directories you name.  The section
+%should look like this:
+\sfilename{hgwebdir.cgi}$B$N:G$b4JC1$J@_DjJ}K!$O!$(B\texttt{collections}$B%;%/(B
+$B%7%g%s$rJT=8$9$k$3$H$G$"$k!%$3$l$O<+F0E*$K;XDj$7$?%G%#%l%/%H%j0J2<$N(B
+\emph{$BA4$F$N(B}$B%j%]%8%H%j$r8x3+$9$k!%$3$N%;%/%7%g%s$O<!$N$h$&$K$J$C$F$$$k!'(B
 \begin{codesample2}
   [collections]
   /my/root = /my/root
 \end{codesample2}
-Mercurial interprets this by looking at the directory name on the
-\emph{right} hand side of the ``\texttt{=}'' sign; finding
-repositories in that directory hierarchy; and using the text on the
-\emph{left} to strip off matching text from the names it will actually
-list in the web interface.  The remaining component of a path after
-this stripping has occurred is called a ``virtual path''.
+%Mercurial interprets this by looking at the directory name on the
+%\emph{right} hand side of the ``\texttt{=}'' sign; finding
+%repositories in that directory hierarchy; and using the text on the
+%\emph{left} to strip off matching text from the names it will actually
+%list in the web interface.  The remaining component of a path after
+%this stripping has occurred is called a ``virtual path''.
+Mercurial$B$O(B``\texttt{=}''$B5-9f$N(B\emph{$B1&B&(B}$B$N%G%#%l%/%H%jL>$r;2>H$7$F!$%G%#(B
+$B%l%/%H%j3,AXFb$N%j%]%8%H%j$rC5$9!%8+$D$+$C$?;~$O!$%j%]%8%H%j$N%Q%9$+$i(B
+\emph{$B:8B&(B}$B$NJ8;zNs$H%^%C%A$9$kItJ,$r:o$j!$<B:]$K%&%'%V%$%s%?%U%'!<%9$KI=(B
+$B<($5$l$k%Q%9J8;zNs$r:n$k!%:o=|8e$N%Q%9$r(B``$B2>A[%Q%9(B''$B$H8F$V!%(B
 
-Given the example above, if we have a repository whose local path is
-\dirname{/my/root/this/repo}, the CGI script will strip the leading
-\dirname{/my/root} from the name, and publish the repository with a
-virtual path of \dirname{this/repo}.  If the base URL for our CGI
-script is \url{http://myhostname/~myuser/hgwebdir.cgi}, the complete
-URL for that repository will be
-\url{http://myhostname/~myuser/hgwebdir.cgi/this/repo}.
+%Given the example above, if we have a repository whose local path is
+%\dirname{/my/root/this/repo}, the CGI script will strip the leading
+%\dirname{/my/root} from the name, and publish the repository with a
+%virtual path of \dirname{this/repo}.  If the base URL for our CGI
+%script is \url{http://myhostname/~myuser/hgwebdir.cgi}, the complete
+%URL for that repository will be
+%\url{http://myhostname/~myuser/hgwebdir.cgi/this/repo}.
+$B>e$NNc$G!$(BCGI$B%9%/%j%W%H$O!$%m!<%+%k%Q%9$,(B\dirname{/my/root/this/repo}$B$G$"(B
+$B$k%j%]%8%H%j$KBP$7$F(B\dirname{/my/root}$B$r<h$j=|$-!$(B\dirname{this/repo}$B$H$$(B
+$B$&2>A[%Q%9$r:n@.$7!$8x3+$9$k!%$b$7(BCGI$B%9%/%j%W%H$N%Y!<%9(BURL$B$,(B
+\url{http://myhostname/~myuser/hgwebdir.cgi}$B$@$H$9$k$H!$%j%]%8%H%j$N40A4(B
+$B$J(BURL$B$O(B\url{http://myhostname/~myuser/hgwebdir.cgi/this/repo}$B$H$J$k!%(B
 
-If we replace \dirname{/my/root} on the left hand side of this example
-with \dirname{/my}, then \sfilename{hgwebdir.cgi} will only strip off
-\dirname{/my} from the repository name, and will give us a virtual
-path of \dirname{root/this/repo} instead of \dirname{this/repo}.
+%If we replace \dirname{/my/root} on the left hand side of this example
+%with \dirname{/my}, then \sfilename{hgwebdir.cgi} will only strip off
+%\dirname{/my} from the repository name, and will give us a virtual
+%path of \dirname{root/this/repo} instead of \dirname{this/repo}.
+$B$3$NNc$N:8JU$N(B\dirname{/my/root}$B$r(B\dirname{/my}$B$GCV$-49$($k$H(B
+\sfilename{hgwebdir.cgi}$B$O(B\dirname{/my}$B$@$1$r%j%]%8%H%jL>$+$i<h$j=|$-!$2>(B
+$BA[%Q%9$H$7$F(B\dirname{this/repo}$B$G$O$J$/(B\dirname{root/this/repo}$B$r:n$k!%(B
 
-The \sfilename{hgwebdir.cgi} script will recursively search each
-directory listed in the \texttt{collections} section of its
-configuration file, but it will \texttt{not} recurse into the
-repositories it finds.
+%The \sfilename{hgwebdir.cgi} script will recursively search each
+%directory listed in the \texttt{collections} section of its
+%configuration file, but it will \texttt{not} recurse into the
+%repositories it finds.
+\sfilename{hgwebdir.cgi}$B%9%/%j%W%H$O!$@_Dj%U%!%$%k$N(B\texttt{collections}
+$B%;%/%7%g%s$K=q$+$l$?%G%#%l%/%H%j$r:F5"E*$K%5!<%A$9$k!%$3$N%9%/%j%W%H$O8+(B
+$B$D$1$?%j%]%8%H%j$NCf$O%5!<%A(B\texttt{$B$7$J$$(B}$B!%(B
 
-The \texttt{collections} mechanism makes it easy to publish many
-repositories in a ``fire and forget'' manner.  You only need to set up
-the CGI script and configuration file one time.  Afterwards, you can
-publish or unpublish a repository at any time by simply moving it
-into, or out of, the directory hierarchy in which you've configured
-\sfilename{hgwebdir.cgi} to look.
+%The \texttt{collections} mechanism makes it easy to publish many
+%repositories in a ``fire and forget'' manner.  You only need to set up
+%the CGI script and configuration file one time.  Afterwards, you can
+%publish or unpublish a repository at any time by simply moving it
+%into, or out of, the directory hierarchy in which you've configured
+%\sfilename{hgwebdir.cgi} to look.
+\texttt{collections}$B%a%+%K%:%`$K$h$C$FJ#?t$N%j%]%8%H%j$r4JC1$K8x3+$9$k$3(B
+$B$H$,$G$-$k!%(BCGI$B%9%/%j%W%H$H@_Dj%U%!%$%k$rJT=8$9$k$N$O:G=i$N0l2s$@$1$G$h(B
+$B$/!$%j%]%8%H%j$r(B\sfilename{hgwebdir.cgi}$B$NC5:w$9$k%G%#%l%/%H%j3,AXFb$K0\(B
+$BF0$9$l$P8x3+$K!$3,AXFb$+$i30$;$PHs8x3+$K@_Dj$G$-$k!%(B
+
 
 %\subsubsection{Explicitly specifying which repositories to publish}
 \subsubsection{$B$I$N%j%]%8%H%j$rI=<($9$k$+L@<(E*$K;XDj$9$k(B}
@@ -1799,7 +1861,6 @@
 
 %Some of the items in the \rcsection{web} section of a \hgrc\ file are
 %only for use with the \hgcmd{serve} command.
-
 \hgrc\ $B%U%!%$%k$N(B\rcsection{web}$B%;%/%7%g%s$N9`L\$O(B\hgcmd{serve}$B%3%^%s%I(B
 $B$G$N$_MQ$$$i$l$k!%(B