Mercurial > hgbook
changeset 372:bc32663d557e
more collab.tex
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Mon, 08 Dec 2008 18:19:04 +0900 |
parents | 3f9f9b087109 |
children | 250ae1785828 |
files | ja/collab.tex ja/todo.txt |
diffstat | 2 files changed, 205 insertions(+), 105 deletions(-) [+] |
line wrap: on
line diff
--- a/ja/collab.tex Mon Dec 08 12:30:31 2008 +0900 +++ b/ja/collab.tex Mon Dec 08 18:19:04 2008 +0900 @@ -1218,78 +1218,127 @@ \section{CGI$B$r;HMQ$7$?(BHTTP$B$K$h$k%5!<%S%9(B} \label{sec:collab:cgi} -Depending on how ambitious you are, configuring Mercurial's CGI -interface can take anything from a few moments to several hours. +%Depending on how ambitious you are, configuring Mercurial's CGI +%interface can take anything from a few moments to several hours. + +$B$I$NDxEY$N$3$H$rA@$&$+$K$h$C$F!$(BMercurial$B$N(BCGI$B%$%s%?%U%'!<%9$N@_Dj$K$O?t(B +$BJ,$+$i?t;~4VDxEY$N;~4V$,$+$+$k!%(B -We'll begin with the simplest of examples, and work our way towards a -more complex configuration. Even for the most basic case, you're -almost certainly going to need to read and modify your web server's -configuration. +%We'll begin with the simplest of examples, and work our way towards a +%more complex configuration. Even for the most basic case, you're +%almost certainly going to need to read and modify your web server's +%configuration. + +$B$3$3$G$O:G$bC1=c$JNc$+$i;O$a$F!$$h$jJ#;($J@_Dj$X?J$s$G$$$/$3$H$K$7$h$&!%(B +$B:G$bC1=c$J%1!<%9$G$b$*$=$i$/%&%'%V%5!<%P$N@_Dj$rD4$Y$FJQ99$9$kI,MW$,$"$k(B +$B$@$m$&!%(B \begin{note} - Configuring a web server is a complex, fiddly, and highly - system-dependent activity. I can't possibly give you instructions - that will cover anything like all of the cases you will encounter. - Please use your discretion and judgment in following the sections - below. Be prepared to make plenty of mistakes, and to spend a lot - of time reading your server's error logs. +% Configuring a web server is a complex, fiddly, and highly +% system-dependent activity. I can't possibly give you instructions +% that will cover anything like all of the cases you will encounter. +% Please use your discretion and judgment in following the sections +% below. Be prepared to make plenty of mistakes, and to spend a lot +% of time reading your server's error logs. +$B%&%'%V%5!<%P$N@_Dj$OJ#;($+$DLq2p$G%7%9%F%`0MB8$N:n6H$G$"$k!%(B +$BFI<T$,Ax6x$9$k$9$Y$F$N%1!<%9$K$D$$$F<j0z$-$r$9$k$3$H$O$G$-$J$$$@$m$&!%(B +$B0J2<$N%;%/%7%g%s$G$O!$FI$_$J$,$iFI<T<+?H$N;WN8$HH=CG$rF/$+$;$FM_$7$$!%(B +$B$?$/$5$s$N%_%9$rHH$7!$%5!<%P$N%(%i!<%m%0$N2rFI$KB?$/$N;~4V$r3d$/$3$H$K$J(B +$B$k$N$r4N$KLC$8$F$*$$$FM_$7$$!%(B \end{note} %\subsection{Web server configuration checklist} \subsection{Web$B%5!<%P@_Dj$N%A%'%C%/%j%9%H(B} -Before you continue, do take a few moments to check a few aspects of -your system's setup. +%Before you continue, do take a few moments to check a few aspects of +%your system's setup. +$B$3$3$+$i@h$X?J$`A0$K!$FI<T$N%7%9%F%`$K$D$$$F3NG'$r$7$F$*$3$&!%(B \begin{enumerate} -\item Do you have a web server installed at all? Mac OS X ships with - Apache, but many other systems may not have a web server installed. -\item If you have a web server installed, is it actually running? On - most systems, even if one is present, it will be disabled by - default. -\item Is your server configured to allow you to run CGI programs in - the directory where you plan to do so? Most servers default to - explicitly disabling the ability to run CGI programs. +%\item Do you have a web server installed at all? Mac OS X ships with +% Apache, but many other systems may not have a web server installed. + \item $B%&%'%V%5!<%P$O$9$G$K%$%s%9%H!<%k$5$l$F$$$k$+!)(B Mac OS X$B$K$OI8=`$G(B + Apache$B$,%$%s%9%H!<%k$5$l$F$$$k$,!$B>$N%7%9%F%`$G$O%&%'%V%5!<%P$,(B + $B%$%s%9%H!<%k$5$l$F$$$J$$$3$H$b$"$k!%(B +%\item If you have a web server installed, is it actually running? On +% most systems, even if one is present, it will be disabled by +% default. + \item $B%&%'%V%5!<%P$,%$%s%9%H!<%k$5$l$F$$$k>l9g!$$9$G$KF0:n$7$F$$$k$+!)(B + $BB?$/$N%7%9%F%`$G$O!$%G%U%)%k%H$GDd;_$5$l$F$$$k!%(B +%\item Is your server configured to allow you to run CGI programs in +% the directory where you plan to do so? Most servers default to +% explicitly disabling the ability to run CGI programs. + \item $B%&%'%V%5!<%P$O(BCGI$B%W%m%0%i%`$rL\E*$N%G%#%l%/%H%j$GF0:n$G$-$k$h$&$K(B + $B@_Dj$5$l$F$$$k$+!)(B $BBgH>$N%5!<%P$G$O%G%U%)%k%H$G(BCGI$B%W%m%0%i%`$NF0(B + $B:n$rL@<(E*$K6X$8$F$$$k!%(B \end{enumerate} -If you don't have a web server installed, and don't have substantial -experience configuring Apache, you should consider using the -\texttt{lighttpd} web server instead of Apache. Apache has a -well-deserved reputation for baroque and confusing configuration. -While \texttt{lighttpd} is less capable in some ways than Apache, most -of these capabilities are not relevant to serving Mercurial -repositories. And \texttt{lighttpd} is undeniably \emph{much} easier -to get started with than Apache. +%If you don't have a web server installed, and don't have substantial +%experience configuring Apache, you should consider using the +%\texttt{lighttpd} web server instead of Apache. Apache has a +%well-deserved reputation for baroque and confusing configuration. +%While \texttt{lighttpd} is less capable in some ways than Apache, most +%of these capabilities are not relevant to serving Mercurial +%repositories. And \texttt{lighttpd} is undeniably \emph{much} easier +%to get started with than Apache. + +$B%&%'%V%5!<%P$,%$%s%9%H!<%k$5$l$F$$$J$$>l9g$d!$(BApach$B$N@_Dj$K==J,$J7P83$,$J(B +$B$$>l9g$O!$(BApache$B$G$O$J$/(B\texttt{lighttpd}$B%&%'%V%5!<%P$r8!F$$7$?J}$,$h$$$@(B +$B$m$&!%(BApache$B$O4q0[$G:.Mp$9$k@_Dj$G0-L>$,9b$$!%(B \texttt{lighttpd}$B$O(BApache +$B$h$j$b$G$-$k$3$H$,>/$J$$$,!$$=$l$i$O(BMercurial$B%j%]%8%H%j$N%5!<%S%9$H$O4X78(B +$B$,$J$$!%(B \texttt{lighttpd}$B$O(BApache$B$h$j$bL@$i$+$K4JC1$K;H$&$3$H$,$G$-$k!%(B %\subsection{Basic CGI configuration} \subsection{CGI$B$N4pK\E*$J@_Dj(B} -On Unix-like systems, it's common for users to have a subdirectory -named something like \dirname{public\_html} in their home directory, -from which they can serve up web pages. A file named \filename{foo} -in this directory will be accessible at a URL of the form -\texttt{http://www.example.com/\~username/foo}. +%On Unix-like systems, it's common for users to have a subdirectory +%named something like \dirname{public\_html} in their home directory, +%from which they can serve up web pages. A file named \filename{foo} +%in this directory will be accessible at a URL of the form +%\texttt{http://www.example.com/\~username/foo}. + +Unix$B7O%7%9%F%`$G$O!$%f!<%6$N%[!<%`%G%#%l%/%H%j$K%&%'%V%Z!<%8$r%5!<%S%9$9(B +$B$k$?$a$N(B\dirname{public\_html}$B$H$$$&%5%V%G%#%l%/%H%j$,$"$k$3$H$,IaDL$G$"(B +$B$k!%$3$N%G%#%l%/%H%jFb$N(B\filename{foo}$B$H$$$&%U%!%$%k$O(B +\texttt{http://www.example.com/\~username/foo}$B$H$$$&(BURL$B$G%"%/%;%9$G$-$k!%(B -To get started, find the \sfilename{hgweb.cgi} script that should be -present in your Mercurial installation. If you can't quickly find a -local copy on your system, simply download one from the master -Mercurial repository at -\url{http://www.selenic.com/repo/hg/raw-file/tip/hgweb.cgi}. +%To get started, find the \sfilename{hgweb.cgi} script that should be +%present in your Mercurial installation. If you can't quickly find a +%local copy on your system, simply download one from the master +%Mercurial repository at +%\url{http://www.selenic.com/repo/hg/raw-file/tip/hgweb.cgi}. -You'll need to copy this script into your \dirname{public\_html} -directory, and ensure that it's executable. +$B$^$:%$%s%9%H!<%k$5$l$F$$$k(BMercurial$B$+$i(B\sfilename{hgweb.cgi}$B%9%/%j%W%H$r(B +$B8+$D$1$k!%$9$0$K%m!<%+%k%3%T!<$,8+$D$+$i$J$1$l$P!$(BMercurial$B$N%^%9%?!<%j(B +$B%]%8%H%j(B \url{http://www.selenic.com/repo/hg/raw-file/tip/hgweb.cgi} $B$+(B +$B$i%@%&%s%m!<%I$9$k!%(B + +%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!$%U%!%$%k$,(B +$B<B9T2DG=$G$"$k$+$r%A%'%C%/$9$k!%(B \begin{codesample2} cp .../hgweb.cgi ~/public_html chmod 755 ~/public_html/hgweb.cgi \end{codesample2} -The \texttt{755} argument to \command{chmod} is a little more general -than just making the script executable: it ensures that the script is -executable by anyone, and that ``group'' and ``other'' write -permissions are \emph{not} set. If you were to leave those write -permissions enabled, Apache's \texttt{suexec} subsystem would likely -refuse to execute the script. In fact, \texttt{suexec} also insists -that the \emph{directory} in which the script resides must not be -writable by others. +%The \texttt{755} argument to \command{chmod} is a little more general +%than just making the script executable: it ensures that the script is +%executable by anyone, and that ``group'' and ``other'' write +%permissions are \emph{not} set. If you were to leave those write +%permissions enabled, Apache's \texttt{suexec} subsystem would likely +%refuse to execute the script. In fact, \texttt{suexec} also insists +%that the \emph{directory} in which the script resides must not be +%writable by others. + +\command{chmod}$B%3%^%s%I$X(B\texttt{755}$B$rEO$9$H!$%9%/%j%W%H$O<B9T2DG=$h$j$b(B +$B<c430lHLE*$K$J$k!%%9%/%j%W%H$OC/$+$i$b<B9T2DG=$@$,!$(B``group''$B$H(B``other'' +$B$N%f!<%6$+$i$O=q$-9~$a$J$/$J$k!%=q$-9~$_%Q!<%_%C%7%g%s$,M-8z$G$"$k(B +$B$H!$(BApache$B$N(B\texttt{suexec}$B%5%V%7%9%F%`$O%9%/%j%W%H$N<B9T$r5qH]$9$k2DG=@-(B +$B$,9b$$!%<B:]$N$H$3$m!$(B\texttt{suexec}$B$O$5$i$K%9%/%j%W%H$NCV$+$l$F$$$k(B +\emph{$B%G%#%l%/%H%j(B}$B$,B>$N%f!<%6$N=q$-9~$_$r5qH]$9$k@_Dj$G$"$k$3$H$rMW5a$9(B +$B$k!%(B + \begin{codesample2} chmod 755 ~/public_html \end{codesample2} @@ -1298,44 +1347,71 @@ \subsubsection{$B$I$3$,LdBj$H@.$jF@$k$+(B?} \label{sec:collab:wtf} -Once you've copied the CGI script into place, go into a web browser, -and try to open the URL \url{http://myhostname/~myuser/hgweb.cgi}, -\emph{but} brace yourself for instant failure. There's a high -probability that trying to visit this URL will fail, and there are -many possible reasons for this. In fact, you're likely to stumble -over almost every one of the possible errors below, so please read -carefully. The following are all of the problems I ran into on a -system running Fedora~7, with a fresh installation of Apache, and a -user account that I created specially to perform this exercise. +%Once you've copied the CGI script into place, go into a web browser, +%and try to open the URL \url{http://myhostname/~myuser/hgweb.cgi}, +%\emph{but} brace yourself for instant failure. There's a high +%probability that trying to visit this URL will fail, and there are +%many possible reasons for this. In fact, you're likely to stumble +%over almost every one of the possible errors below, so please read +%carefully. The following are all of the problems I ran into on a +%system running Fedora~7, with a fresh installation of Apache, and a +%user account that I created specially to perform this exercise. + +CGI$B%9%/%j%W%H$r=jDj$N>l=j$K%3%T!<$7$?$i!$%&%'%V%V%i%&%6$r5/F0$7$F(B +\url{http://myhostname/~myuser/hgweb.cgi} $B$r3+$/!%$7$+$7$3$N(BURL$B$K%"%/%;%9(B +$B$7$F$b%(%i!<$,$G$k2DG=@-$,9b$$$N$G!$Mn$ACe$$$FM_$7$$!%%(%i!<$K$OB?$/$NM}(B +$BM3$,9M$($i$l!$<B:]!$$=$N$9$Y$F$K0z$C3]$+$C$F$$$k2DG=@-$,9b$$$N$G!$0J2<$N(B +$B5-=R$rCm0U?<$/FI$s$GM_$7$$!%$3$3$K5s$2$?$N$O!$(BFedora~7$B$G!$?75,$K%$%s%9%H!<(B +$B%k$5$l$?(BApache$B$H!$$3$NNcBj$N$?$a$K?75,$K:n@.$7$?%f!<%6%"%+%&%s%H$GI.<T$,(B +$B<B:]$K$GAx6x$7$?LdBj$G$"$k!%(B -Your web server may have per-user directories disabled. If you're -using Apache, search your config file for a \texttt{UserDir} -directive. If there's none present, per-user directories will be -disabled. If one exists, but its value is \texttt{disabled}, then -per-user directories will be disabled. Otherwise, the string after -\texttt{UserDir} gives the name of the subdirectory that Apache will -look in under your home directory, for example \dirname{public\_html}. +%Your web server may have per-user directories disabled. If you're +%using Apache, search your config file for a \texttt{UserDir} +%directive. If there's none present, per-user directories will be +%disabled. If one exists, but its value is \texttt{disabled}, then +%per-user directories will be disabled. Otherwise, the string after +%\texttt{UserDir} gives the name of the subdirectory that Apache will +%look in under your home directory, for example \dirname{public\_html}. -Your file access permissions may be too restrictive. The web server -must be able to traverse your home directory and directories under -your \dirname{public\_html} directory, and read files under the latter -too. Here's a quick recipe to help you to make your permissions more -appropriate. +$B%&%'%V%5!<%P$O%f!<%6Kh$N%G%#%l%/%H%j%5!<%S%9$r6X;_$5$l$F$$$k$+$b$7$l$J$$!%(B +Apache$B$r;H$C$F$$$k>l9g!$@_Dj%U%!%$%k$N(B\texttt{UserDir}$B%G%#%l%/%F%#%V$r(B +$B%A%'%C%/$9$k!%$b$7B8:_$7$J$1$l$P!$%f!<%6Kh$N%G%#%l%/%H%j%5!<%S%9$O6X;_$5(B +$B$l$F$$$k!%B8:_$7$F$b!$CM$,(B\texttt{disabled}$B$K@_Dj$5$l$F$$$l$P!$%f!<%6Kh$N(B +$B%G%#%l%/%H%j%5!<%S%9$O6X;_$G$"$k!%$^$?!$(B\texttt{UserDir}$B%G%#%l%/%F%#%V$O(B +Apache$B$,%5!<%S%9MQ$KC5$9%[!<%`%G%#%l%/%H%jFb$N%5%V%G%#%l%/%H%j$r;XDj$9(B +$B$k!%E57?E*$JNc$O(B\dirname{public\_html}$B$G$"$k!%(B + +%Your file access permissions may be too restrictive. The web server +%must be able to traverse your home directory and directories under +%your \dirname{public\_html} directory, and read files under the latter +%too. Here's a quick recipe to help you to make your permissions more +%appropriate. +$B%U%!%$%k%"%/%;%9%Q!<%_%C%7%g%s$,$-$D$9$.$k!%%&%'%V%5!<%P$O%[!<%`%G%#%l%/(B +$B%H%j$H(B\dirname{public\_html}$BFb$N%G%#%l%/%H%j$rEO$C$F%U%!%$%k$rFI$a$J$1$l(B +$B$P$J$i$J$$!%%Q!<%_%C%7%g%s$rE,@Z$K@_Dj$9$k$K$ONc$($P<!$N$h$&$K$9$l$P$h$$!%(B \begin{codesample2} chmod 755 ~ find ~/public_html -type d -print0 | xargs -0r chmod 755 find ~/public_html -type f -print0 | xargs -0r chmod 644 \end{codesample2} -The other possibility with permissions is that you might get a -completely empty window when you try to load the script. In this -case, it's likely that your access permissions are \emph{too - permissive}. Apache's \texttt{suexec} subsystem won't execute a -script that's group-~or world-writable, for example. +%The other possibility with permissions is that you might get a +%completely empty window when you try to load the script. In this +%case, it's likely that your access permissions are \emph{too +% permissive}. Apache's \texttt{suexec} subsystem won't execute a +%script that's group-~or world-writable, for example. -Your web server may be configured to disallow execution of CGI -programs in your per-user web directory. Here's Apache's -default per-user configuration from my Fedora system. +$B%Q!<%_%C%7%g%s$K4X$9$k$=$NB>$N2DG=@-$H$7$F!$%9%/%j%W%H$r%m!<%I$7$h$&$H$9(B +$B$k$H6u$N%&%#%s%I%&$,I=<($5$l$kLdBj$,$"$k!%$3$N>l9g$O!$%Q!<%_%C%7%g%s@_Dj(B +$B$,(B\emph{$B4K$9$.$k(B}$B2DG=@-$,9b$$!%Nc$($P(BApache$B$N(B\texttt{suexec}$B%5%V%7%9%F%`(B +$B$O!$%0%k!<%W$dA4@$3&$+$i=q$-9~$_$N$G$-$k%9%/%j%W%H$r<B9T$7$J$$!%(B + +%Your web server may be configured to disallow execution of CGI +%programs in your per-user web directory. Here's Apache's +%default per-user configuration from my Fedora system. +$B%&%'%V%5!<%P$O(BCGI$B%W%m%0%i%`$N<B9T$r6X;_$9$k$h$&$K@_Dj$5$l$F$$$k$+$b$7$l(B +$B$J$$!%Cx<T$N(BFedora$B%7%9%F%`$+$i!$(BApache$B$N%f!<%6Kh$N%G%U%)%k%H@_Dj$rNc$H$7(B +$B$F<($9!%(B \begin{codesample2} <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit @@ -1350,38 +1426,62 @@ </LimitExcept> </Directory> \end{codesample2} -If you find a similar-looking \texttt{Directory} group in your Apache -configuration, the directive to look at inside it is \texttt{Options}. -Add \texttt{ExecCGI} to the end of this list if it's missing, and -restart the web server. +%If you find a similar-looking \texttt{Directory} group in your Apache +%configuration, the directive to look at inside it is \texttt{Options}. +%Add \texttt{ExecCGI} to the end of this list if it's missing, and +%restart the web server. -If you find that Apache serves you the text of the CGI script instead -of executing it, you may need to either uncomment (if already present) -or add a directive like this. +Apache$B@_Dj$NCf$KF1MM$N(B\texttt{Directory}$B%0%k!<%W$,$"$k>l9g!$$=$NCf$GCmL\(B +$B$9$Y$-%G%#%l%/%F%#%V$O(B\texttt{Options}$B$G$"$k!%(B \texttt{ExecCGI}$B$,%j%9%H$K(B +$BL5$1$l$P:G8e$KDI2C$7!$%&%'%V%5!<%P$r:F5/F0$9$k!%(B + +%If you find that Apache serves you the text of the CGI script instead +%of executing it, you may need to either uncomment (if already present) +%or add a directive like this. +Apache$B$,(BCGI$B%9%/%j%W%H$r<B9T$9$k$N$G$O$J$/!$%9%/%j%W%H<+BN$N%F%-%9%H$rAw$C(B +$B$F$/$k>l9g$O!$0J2<$N%G%#%l%/%F%#%V$rDI2C$9$k$+!$$9$G$KB8:_$7$F%3%a%s%H%"(B +$B%&%H$5$l$F$$$l$P!$%"%s%3%a%s%H$9$k!%(B \begin{codesample2} AddHandler cgi-script .cgi \end{codesample2} -The next possibility is that you might be served with a colourful -Python backtrace claiming that it can't import a -\texttt{mercurial}-related module. This is actually progress! The -server is now capable of executing your CGI script. This error is -only likely to occur if you're running a private installation of -Mercurial, instead of a system-wide version. Remember that the web -server runs the CGI program without any of the environment variables -that you take for granted in an interactive session. If this error -happens to you, edit your copy of \sfilename{hgweb.cgi} and follow the -directions inside it to correctly set your \envar{PYTHONPATH} -environment variable. +%The next possibility is that you might be served with a colourful +%Python backtrace claiming that it can't import a +%\texttt{mercurial}-related module. This is actually progress! The +%server is now capable of executing your CGI script. This error is +%only likely to occur if you're running a private installation of +%Mercurial, instead of a system-wide version. Remember that the web +%server runs the CGI program without any of the environment variables +%that you take for granted in an interactive session. If this error +%happens to you, edit your copy of \sfilename{hgweb.cgi} and follow the +%directions inside it to correctly set your \envar{PYTHONPATH} +%environment variable. -Finally, you are \emph{certain} to by served with another colourful -Python backtrace: this one will complain that it can't find -\dirname{/path/to/repository}. Edit your \sfilename{hgweb.cgi} script -and replace the \dirname{/path/to/repository} string with the complete -path to the repository you want to serve up. +$B<!$N2DG=@-$O(B\texttt{mercurial}$B$K4XO"$7$?(Bmodule$B$,%$%s%]!<%H$G$-$J$$$3$H$r(B +$B7Y9p$9$k%+%i%U%k$J(BPython$B%P%C%/%H%l!<%9$,8+$($k$3$H$@!%$3$l$OA0?J$H8@$((B +$B$k!%%5!<%P$O(BCGI$B%9%/%j%W%H$r<B9T$G$-$k$h$&$K$J$C$?!%$3$N%(%i!<$O(BMercurial +$B$r%7%9%F%`%o%$%I$K%$%s%9%H!<%k$9$k$N$G$O$J$/!$%W%i%$%Y!<%H%$%s%9%H!<%k$7(B +$B$?>l9g$K$N$_5/$-$k!%BPOCE*$J%;%C%7%g%s$H$O0[$J$j!$%&%'%V%5!<%P$O(BCGI$B%W%m%0(B +$B%i%`$r4D6-JQ?t$J$7$G5/F0$9$k!%$3$N%(%i!<$,5/$-$?>l9g$O(B +\sfilename{hgweb.cgi}$B$rJT=8$7!$4D6-JQ?t(B\envar{PYTHONPATH}$B$,%;%C%H$5$l$k$h(B +$B$&$K$9$k!%(B -At this point, when you try to reload the page, you should be -presented with a nice HTML view of your repository's history. Whew! +%Finally, you are \emph{certain} to by served with another colourful +%Python backtrace: this one will complain that it can't find +%\dirname{/path/to/repository}. Edit your \sfilename{hgweb.cgi} script +%and replace the \dirname{/path/to/repository} string with the complete +%path to the repository you want to serve up. + +$B:#EY$O(B\emph{$B$*$=$i$/(B}$B%+%i%U%k$J(BPython$B$N%P%C%/%H%l!<%9$,8+$($k$O$:$@!%$3$l(B +$B$O(B\dirname{/path/to/repository}$B$,8+$D$+$i$J$$$3$H$r7Y9p$7$F$$$k!%(B +\sfilename{hgweb.cgi}$B%9%/%j%W%H$rJT=8$7!$(B\dirname{/path/to/repository}$B$H(B +$B$$$&J8;zNs$r!$%5!<%S%9$7$?$$%j%]%8%H%j$X$N40A4$J%Q%9$KCV$-49$($k!%(B + +%At this point, when you try to reload the page, you should be +%presented with a nice HTML view of your repository's history. Whew! + +$B$3$3$G%Z!<%8$r%j%m!<%I$9$k$H!$%j%]%8%H%j$NMzNr$rI=$9H~$7$$(BHTML$B$,8+$($k$O(B +$B$:$@!%$d$C$?!*(B %\subsubsection{Configuring lighttpd} \subsubsection{lighttpd$B$N@_Dj(B}