ruby-web 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. data/ChangeLog +474 -0
  2. data/INSTALL.txt +9 -0
  3. data/InstalledFiles +180 -0
  4. data/LICENSE.txt +74 -0
  5. data/Rakefile +529 -0
  6. data/TODO +65 -0
  7. data/doc/additional.xml +149 -0
  8. data/doc/core.xml +652 -0
  9. data/doc/credits/index.xml +52 -0
  10. data/doc/credits/php.contributors.xml +118 -0
  11. data/doc/credits/php.language-snippets.ent +622 -0
  12. data/doc/install/index.xml +136 -0
  13. data/doc/install/mac/index.xml +21 -0
  14. data/doc/install/ruby-web.install.rb.instructions.xml +7 -0
  15. data/doc/install/unix/index.xml +46 -0
  16. data/doc/install/win/apache1.xml +166 -0
  17. data/doc/install/win/apache2.xml +141 -0
  18. data/doc/install/win/iis.xml +162 -0
  19. data/doc/install/win/index.xml +24 -0
  20. data/doc/install/win/installer.xml +31 -0
  21. data/doc/install/win/manual.xml +43 -0
  22. data/doc/manual.xml +69 -0
  23. data/doc/old/apache_cgi.txt +23 -0
  24. data/doc/old/fastcgi.txt +23 -0
  25. data/doc/old/mod_ruby.txt +21 -0
  26. data/doc/old/snippets.rdoc +183 -0
  27. data/doc/old/webrick.txt +23 -0
  28. data/doc/old/windows_cgi.txt +9 -0
  29. data/doc/tutorial.xml +14 -0
  30. data/doc/xsl/manual-multi.xsl +10 -0
  31. data/doc/xsl/manual-pdf.xsl +6 -0
  32. data/doc/xsl/manual-single.xsl +6 -0
  33. data/doc/xsl/manual.css +22 -0
  34. data/install.rb +1022 -0
  35. data/lib/formatter.rb +314 -0
  36. data/lib/html-parser.rb +429 -0
  37. data/lib/htmlrepair.rb +113 -0
  38. data/lib/htmlsplit.rb +842 -0
  39. data/lib/sgml-parser.rb +332 -0
  40. data/lib/web.rb +68 -0
  41. data/lib/web/assertinclude.rb +129 -0
  42. data/lib/web/config.rb +50 -0
  43. data/lib/web/connection.rb +1070 -0
  44. data/lib/web/convenience.rb +154 -0
  45. data/lib/web/formreader.rb +318 -0
  46. data/lib/web/htmlparser/html-parser.rb +429 -0
  47. data/lib/web/htmlparser/sgml-parser.rb +332 -0
  48. data/lib/web/htmltools/element.rb +296 -0
  49. data/lib/web/htmltools/stparser.rb +276 -0
  50. data/lib/web/htmltools/tags.rb +286 -0
  51. data/lib/web/htmltools/tree.rb +139 -0
  52. data/lib/web/htmltools/xmltree.rb +160 -0
  53. data/lib/web/htmltools/xpath.rb +71 -0
  54. data/lib/web/info.rb +63 -0
  55. data/lib/web/load.rb +210 -0
  56. data/lib/web/mime.rb +87 -0
  57. data/lib/web/phprb.rb +340 -0
  58. data/lib/web/resources/test/cookie.rb +33 -0
  59. data/lib/web/resources/test/counter.rb +20 -0
  60. data/lib/web/resources/test/multipart.rb +14 -0
  61. data/lib/web/resources/test/redirect.rb +8 -0
  62. data/lib/web/resources/test/stock.rb +33 -0
  63. data/lib/web/sapi/apache.rb +129 -0
  64. data/lib/web/sapi/fastcgi.rb +22 -0
  65. data/lib/web/sapi/install/apache.rb +180 -0
  66. data/lib/web/sapi/install/iis.rb +93 -0
  67. data/lib/web/sapi/install/macosx.rb +90 -0
  68. data/lib/web/sapi/webrick.rb +86 -0
  69. data/lib/web/session.rb +83 -0
  70. data/lib/web/shim/cgi.rb +129 -0
  71. data/lib/web/shim/rails.rb +175 -0
  72. data/lib/web/stringio.rb +78 -0
  73. data/lib/web/strscanparser.rb +24 -0
  74. data/lib/web/tagparser.rb +96 -0
  75. data/lib/web/testing.rb +666 -0
  76. data/lib/web/traceoutput.rb +75 -0
  77. data/lib/web/unit.rb +56 -0
  78. data/lib/web/upload.rb +59 -0
  79. data/lib/web/validate.rb +52 -0
  80. data/lib/web/wiki.rb +557 -0
  81. data/lib/web/wiki/linker.rb +72 -0
  82. data/lib/web/wiki/page.rb +201 -0
  83. data/lib/webunit.rb +27 -0
  84. data/lib/webunit/assert.rb +152 -0
  85. data/lib/webunit/converter.rb +154 -0
  86. data/lib/webunit/cookie.rb +118 -0
  87. data/lib/webunit/domwalker.rb +185 -0
  88. data/lib/webunit/exception.rb +14 -0
  89. data/lib/webunit/form.rb +116 -0
  90. data/lib/webunit/frame.rb +37 -0
  91. data/lib/webunit/htmlelem.rb +122 -0
  92. data/lib/webunit/image.rb +26 -0
  93. data/lib/webunit/jscript.rb +31 -0
  94. data/lib/webunit/link.rb +33 -0
  95. data/lib/webunit/params.rb +321 -0
  96. data/lib/webunit/parser.rb +229 -0
  97. data/lib/webunit/response.rb +464 -0
  98. data/lib/webunit/runtest.rb +41 -0
  99. data/lib/webunit/table.rb +148 -0
  100. data/lib/webunit/testcase.rb +45 -0
  101. data/lib/webunit/ui/cui/testrunner.rb +50 -0
  102. data/lib/webunit/utils.rb +68 -0
  103. data/lib/webunit/webunit.rb +28 -0
  104. data/test/dev/action.rb +83 -0
  105. data/test/dev/forms.rb +104 -0
  106. data/test/dev/forms2.rb +104 -0
  107. data/test/dev/parser.rb +17 -0
  108. data/test/dev/scripts/dump.rb +24 -0
  109. data/test/dev/scripts/makedist.rb +62 -0
  110. data/test/dev/scripts/uri.rb +41 -0
  111. data/test/dev/scripts/uri/common.rb +432 -0
  112. data/test/dev/scripts/uri/ftp.rb +149 -0
  113. data/test/dev/scripts/uri/generic.rb +1106 -0
  114. data/test/dev/scripts/uri/http.rb +76 -0
  115. data/test/dev/scripts/uri/https.rb +26 -0
  116. data/test/dev/scripts/uri/ldap.rb +238 -0
  117. data/test/dev/scripts/uri/mailto.rb +260 -0
  118. data/test/dev/scripts/urireg.rb +174 -0
  119. data/test/dev/simpledispatcher.rb +156 -0
  120. data/test/dev/test.action.rb +146 -0
  121. data/test/dev/test.formreader.rb +463 -0
  122. data/test/dev/test.simpledispatcher.rb +186 -0
  123. data/test/dev/webunit/conv/digit-0.rb +21 -0
  124. data/test/dev/webunit/conv/digit-1.rb +17 -0
  125. data/test/dev/webunit/conv/digit.rb +23 -0
  126. data/test/dev/webunit/conv/test_digit-0.rb +16 -0
  127. data/test/dev/webunit/conv/test_digit-1.rb +19 -0
  128. data/test/dev/webunit/conv/test_digit.rb +26 -0
  129. data/test/dev/webunit/conv/test_digit_view-0.rb +76 -0
  130. data/test/dev/webunit/conv/test_digit_view-1.rb +102 -0
  131. data/test/dev/webunit/conv/test_digit_view.rb +134 -0
  132. data/test/installation/htdocs/cgi_test.rb +296 -0
  133. data/test/installation/htdocs/test_install.rb +4 -0
  134. data/test/installation/runwebtest.rb +5 -0
  135. data/test/installation/test_cookie.rb +128 -0
  136. data/test/installation/test_form.rb +47 -0
  137. data/test/installation/test_multipart.rb +51 -0
  138. data/test/installation/test_request.rb +24 -0
  139. data/test/installation/test_response.rb +35 -0
  140. data/test/unit/htdocs/cookie.rb +32 -0
  141. data/test/unit/htdocs/multipart.rb +28 -0
  142. data/test/unit/htdocs/redirect.rb +12 -0
  143. data/test/unit/htdocs/simple.rb +13 -0
  144. data/test/unit/htdocs/stock.rb +33 -0
  145. data/test/unit/test_assert.rb +162 -0
  146. data/test/unit/test_cookie.rb +114 -0
  147. data/test/unit/test_domwalker.rb +77 -0
  148. data/test/unit/test_form.rb +42 -0
  149. data/test/unit/test_frame.rb +40 -0
  150. data/test/unit/test_htmlelem.rb +74 -0
  151. data/test/unit/test_image.rb +45 -0
  152. data/test/unit/test_jscript.rb +57 -0
  153. data/test/unit/test_link.rb +85 -0
  154. data/test/unit/test_multipart.rb +51 -0
  155. data/test/unit/test_params.rb +210 -0
  156. data/test/unit/test_parser.rb +53 -0
  157. data/test/unit/test_response.rb +150 -0
  158. data/test/unit/test_table.rb +70 -0
  159. data/test/unit/test_utils.rb +106 -0
  160. data/test/unit/test_webunit.rb +28 -0
  161. data/test/web/mod_ruby_stub.rb +39 -0
  162. data/test/web/test.assertinclude.rb +109 -0
  163. data/test/web/test.buffer.rb +182 -0
  164. data/test/web/test.code.loader.rb +78 -0
  165. data/test/web/test.config.rb +31 -0
  166. data/test/web/test.error.handling.rb +91 -0
  167. data/test/web/test.formreader-2.0.rb +352 -0
  168. data/test/web/test.load.rb +125 -0
  169. data/test/web/test.mime-type.rb +23 -0
  170. data/test/web/test.narf.cgi.rb +106 -0
  171. data/test/web/test.phprb.rb +239 -0
  172. data/test/web/test.request.rb +368 -0
  173. data/test/web/test.response.rb +637 -0
  174. data/test/web/test.ruby-web.rb +10 -0
  175. data/test/web/test.session.rb +50 -0
  176. data/test/web/test.shim.cgi.rb +96 -0
  177. data/test/web/test.tagparser.rb +65 -0
  178. data/test/web/test.template2.rb +297 -0
  179. data/test/web/test.testing2.rb +318 -0
  180. data/test/web/test.upload.rb +45 -0
  181. data/test/web/test.validate.rb +46 -0
  182. data/test/web/test.web.test.rb +495 -0
  183. data/test/wiki/test.history.rb +297 -0
  184. data/test/wiki/test.illustration_page.rb +287 -0
  185. data/test/wiki/test.linker.rb +197 -0
  186. data/test/wiki/test.tarpit.rb +56 -0
  187. data/test/wiki/test.wiki.rb +300 -0
  188. data/test/wikitestroot/admin.rb +7 -0
  189. data/test/wikitestroot/wiki.rb +6 -0
  190. metadata +234 -0
@@ -0,0 +1,136 @@
1
+ <chapter id="install.general">
2
+ <title>General Installation Considerations</title>
3
+ <para>
4
+ To install ruby-web, you need a few things:
5
+ Ruby, ruby-web itself, a web server and a web browser. You
6
+ probably already have a web browser, and depending on
7
+ your operating system setup, you may also have a web
8
+ server (e.g. Apache on Linux and MacOS X; IIS on Windows).
9
+ </para>
10
+
11
+ <para>
12
+ There are two ways to use ruby-web: as a library, and as an extension
13
+ to the Ruby interpreter. Installing ruby-web as a library is simple,
14
+ and gives one access to the useful functions of ruby-web. There are
15
+ a few additional features which can be provided at a higher level:
16
+ </para>
17
+
18
+ <itemizedlist>
19
+ <listitem>
20
+ The big one: Web friendly reporting of all errors, including syntax errors
21
+ </listitem>
22
+ <listitem>
23
+ Dynamic web scripting with .rhtml documents, like php or coldfusion
24
+ </listitem>
25
+ <listitem>
26
+ I'm working on this one: consistent scope for interpreter state between requests
27
+ across different server environments
28
+ </listitem>
29
+ </itemizedlist>
30
+
31
+ <para>It's up to you, both options have been tested.</para>
32
+
33
+
34
+ <para>
35
+ While setting up the server and Ruby on your own, you can
36
+ generally choose between configuring ruby-web in a CGI or FastCGI processor.
37
+ This means you set up your server to use the CGI executable of
38
+ ruby-web to process all .rhtml and .rb file requests on the server.
39
+ </para>
40
+
41
+ <para>
42
+ ruby-web source code and binary distributions can be
43
+ found at
44
+ <ulink url="&url.ruby-web.downloads;">&url.ruby-web.downloads;</ulink>.
45
+ </para>
46
+
47
+ <para>
48
+ Finally, please note that these install instructions are a work in progress. Please report any problems at <ulink url="http://rubyforge.org/tracker/?group_id=873">http://rubyforge.org/tracker/?group_id=873</ulink>, so that we can solve your problem, and improve.
49
+ </para>
50
+ </chapter>
51
+
52
+ &install.windows;
53
+
54
+ &install.macos;
55
+
56
+ &install.unix;
57
+
58
+ <chapter>
59
+ <title>Webrick</title>
60
+
61
+ <para>ruby-web provides a Web::RubyWebHandler, based on the CGIHandler, to run ruby-web scripts. You will need to add the Web::RubyWebHandler to webrick with a startup script like this, replacing :DocumentRoot with the appropriate value:</para>
62
+
63
+ <programlisting>
64
+ #!/usr/local/bin/ruby
65
+ $: &lt;&lt; File.dirname($0)
66
+ require 'webrick'
67
+ require 'web/sapi/webrick'
68
+
69
+ include WEBrick
70
+
71
+ dir = Dir::pwd
72
+
73
+ HTTPServlet::FileHandler.add_handler("rb", Web::RubyWebHandler)
74
+ HTTPServlet::FileHandler.add_handler("rhtml", Web::RubyWebHandler)
75
+
76
+ s = HTTPServer.new(:Port => 4476,
77
+ :DocumentRoot => "/.../htdocs/" )
78
+ trap("INT"){ s.shutdown }
79
+ s.start
80
+ </programlisting>
81
+ </chapter>
82
+
83
+ <chapter id="install.problems">
84
+ <title>Problems?</title>
85
+
86
+ <!--sect1 id="install.problems.faq">
87
+ <title>Read the FAQ</title>
88
+ <simpara>
89
+ Some problems are more common than others. The most
90
+ common ones are listed in the <link linkend="faq">PHP
91
+ FAQ</link>, part of this manual.
92
+ </simpara>
93
+ </sect1-->
94
+
95
+ <sect1 id="install.problems.support">
96
+ <title>Other problems</title>
97
+
98
+ <simpara>
99
+ If you are still stuck, someone on the ruby-web mailing list may be
100
+ able to help you. <!--You should check out the archive first, in case
101
+ someone already answered someone else who had the same problem as
102
+ you. The archives are available from the support page on <ulink
103
+ url="&url.ruby-web.support;">&url.ruby-web.support;</ulink>.--> To subscribe to the ruby-web installation
104
+ mailing list, submit the form at<ulink
105
+ url="mailto:&url.ruby-web.subscribe;">&url.ruby-web.subscribe;</ulink>.
106
+ The mailing list address is <ulink
107
+ url="mailto:&email.ruby-web;">&email.ruby-web;</ulink>.
108
+ </simpara>
109
+ <simpara>
110
+ If you want to get help on the mailing list, please try to be
111
+ precise and give the necessary details about your environment
112
+ (which operating system, what ruby-web version, what web server, if
113
+ you are running ruby-web as CGI or a server module, &safemode;, etc...), and
114
+ preferably enough code to make others able to reproduce and test
115
+ your problem.
116
+ </simpara>
117
+ </sect1>
118
+
119
+ <sect1 id="install.problems.bugs">
120
+ <title>Bug reports</title>
121
+ <simpara>
122
+ If you think you have found a bug in ruby-web, please report it. The
123
+ ruby-web developers probably don't know about it, and unless you
124
+ report it, chances are it won't be fixed. You can report bugs
125
+ using the bug-tracking system at <ulink
126
+ url="&url.ruby-web.bugs;">&url.ruby-web.bugs;</ulink>. Please do not
127
+ send bug reports in mailing list or personal letters. The
128
+ bug system is also suitable to submit feature requests.
129
+ </simpara>
130
+ <!--simpara>
131
+ Read the <ulink
132
+ url="&url.ruby-web.bugs.howtoreport;">How to report a bug</ulink>
133
+ document before submitting any bug reports!
134
+ </simpara-->
135
+ </sect1>
136
+ </chapter>
@@ -0,0 +1,21 @@
1
+ <chapter id="install_macosx">
2
+ <title>Mac OS X</title>
3
+ <para>
4
+ The simplest way to install ruby-web is to use the installer
5
+ found in the ruby-web.x.x.x-powerpc-darwin.dmg. This will install ruby-web
6
+ and configure the default Apache with mod_ruby.
7
+ </para>
8
+
9
+ <para>
10
+ The installer has been tested on Mac OS X Tiger (10.4).
11
+ Please let me know (install.help@hexane.org)
12
+ if you have success or failure on other versions of Mac OS X.
13
+ </para>
14
+
15
+ <para>
16
+ If the installer does not work on your version of Mac OS X,
17
+ use the unix instructions to install and configure ruby-web
18
+ by hand.
19
+ </para>
20
+ </chapter>
21
+
@@ -0,0 +1,7 @@
1
+ <para>Extract the archive with Winzip / Stuffit / "tar -xvzf ruby-web-x.x.x.tgz". From the command line, execute these commands:</para>
2
+
3
+ <programlisting>
4
+ ruby install.rb config
5
+ ruby install.rb setup
6
+ ruby install.rb install
7
+ </programlisting>
@@ -0,0 +1,46 @@
1
+ <chapter id="install_unix">
2
+ <title>Unix / Other</title>
3
+
4
+ <sect1>
5
+ <title>Ruby-Web</title>
6
+
7
+ <para>ruby-web depends on Ruby 1.8.x. After installing ruby, download the latest ruby-web_x.x.x.tar.gz from <ulink url="http://rubyforge.org/frs/?group_id=873">Rubyforge.org</ulink>.</para>
8
+
9
+
10
+ <para>This will compile and install the ruby-web interpreter. You will have to configure the web servers separately.</para>
11
+ </sect1>
12
+
13
+ <sect1>
14
+ <title>Mod Ruby</title>
15
+
16
+ <para>First, configure and install the mod_ruby<ulink url="http://modruby.net/en/index.rbx/mod_ruby/install.html">mod_ruby</ulink></para>
17
+
18
+ <para>In http.conf setup apache to use the ruby-web runner, instead of the default mod_ruby runner:</para>
19
+
20
+ <programlisting>
21
+ &lt;IfModule mod_ruby.c&gt;
22
+ RubySafeLevel 0
23
+ # for Apache::RubyRun
24
+ RubyRequire web/sapi/apache
25
+
26
+ &lt;Location / &gt;
27
+ Options Indexes FollowSymLinks ExecCGI
28
+ AddHandler ruby-object cgi rb rhtml
29
+ RubyHandler Web::ModNarf.instance
30
+ &lt;/Location&gt;
31
+ &lt;/IfModule&gt;
32
+ </programlisting>
33
+
34
+ </sect1>
35
+
36
+ <sect1>
37
+ <title>FastCGI</title>
38
+ <para>To run fastcgi on unix, ruby-web depends on the 'fcgi' libary:</para>
39
+ <para>http://raa.ruby-lang.org/list.rhtml?name=fcgi</para>
40
+
41
+ <para>You will also need FastCGI running on your webserver. You can find a links to extensions for Apache and other web servers at the this website:</para>
42
+
43
+ <para>http://www.fastcgi.com</para>
44
+ </sect1>
45
+ </chapter>
46
+
@@ -0,0 +1,166 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!-- $Revision: 1.16 $ -->
3
+ <sect1 id="install.windows.apache1">
4
+ <title>Apache 1.3.x on Microsoft Windows</title>
5
+ <para>
6
+ This section contains notes and hints specific to Apache 1.3.x installs
7
+ of PHP on Microsoft Windows systems. There are also
8
+ <link linkend="install.windows.apache2">instructions and notes
9
+ for Apache 2</link> on a separate page.
10
+ </para>
11
+ <note>
12
+ <para>
13
+ Please read the <link linkend="install.windows.manual">manual
14
+ installation steps</link> first!
15
+ </para>
16
+ </note>
17
+
18
+ <simpara>
19
+ There are two ways to set up PHP to work with Apache 1.3.x
20
+ on Windows. One is to use the CGI binary (<filename>php.exe</filename>
21
+ for PHP 4 and <filename>php-cgi.exe</filename> for PHP 5),
22
+ the other is to use the Apache Module DLL. In either case
23
+ you need to edit your &httpd.conf; to configure Apache to
24
+ work with PHP, and then restart the server.
25
+ </simpara>
26
+
27
+ <simpara>
28
+ It is worth noting here that now the SAPI module has been
29
+ made more stable under Windows, we recommend it's use above
30
+ the CGI binary, since it is more transparent and secure.
31
+ </simpara>
32
+
33
+ <simpara>
34
+ Although there can be a few variations of configuring PHP
35
+ under Apache, these are simple enough to be used by the
36
+ newcomer. Please consult the Apache Documentation for further
37
+ configuration directives.
38
+ </simpara>
39
+
40
+ <simpara>
41
+ After changing the configuration file, remember to restart the server, for
42
+ example, <command>NET STOP APACHE</command> followed by
43
+ <command>NET START APACHE</command>, if you run Apache as a Windows
44
+ Service, or use your regular shortcuts.
45
+ </simpara>
46
+
47
+ &note.apache.slashes;
48
+
49
+ <sect2 id="install.windows.apache1.module">
50
+ <title>Installing as an Apache module</title>
51
+ <para>
52
+ You should add the following lines to your Apache &httpd.conf; file:
53
+ </para>
54
+ <para>
55
+ <example>
56
+ <title>PHP as an Apache 1.3.x module</title>
57
+ <para>
58
+ This assumes PHP is installed to <filename>c:\php</filename>. Adjust the
59
+ path if this is not the case.
60
+ </para>
61
+ <para>
62
+ For PHP 4:
63
+ </para>
64
+ <programlisting role="apache-conf">
65
+ <![CDATA[
66
+ # Add to the end of the LoadModule section
67
+ # Don't forget to copy this file from the sapi directory!
68
+ LoadModule php4_module "C:/php/php4apache.dll"
69
+
70
+ # Add to the end of the AddModule section
71
+ AddModule mod_php4.c
72
+ ]]>
73
+ </programlisting>
74
+ <para>
75
+ For PHP 5:
76
+ </para>
77
+ <programlisting role="apache-conf">
78
+ <![CDATA[
79
+ # Add to the end of the LoadModule section
80
+ LoadModule php5_module "C:/php/php5apache.dll"
81
+
82
+ # Add to the end of the AddModule section
83
+ AddModule mod_php5.c
84
+ ]]>
85
+ </programlisting>
86
+ <para>
87
+ For both:
88
+ </para>
89
+ <programlisting role="apache-conf">
90
+ <![CDATA[
91
+ # Add this line inside the <IfModule mod_mime.c> conditional brace
92
+ AddType application/x-httpd-php .php
93
+
94
+ # For syntax highlighted .phps files, also add
95
+ AddType application/x-httpd-php-source .phps
96
+ ]]>
97
+ </programlisting>
98
+ </example>
99
+ </para>
100
+ </sect2>
101
+
102
+ <sect2 id="install.windows.apache1.cgi">
103
+ <title>Installing as a CGI binary</title>
104
+
105
+ <para>
106
+ If you unzipped the PHP package to <filename>C:\php\</filename> as described
107
+ in the <link linkend="install.windows.manual">Manual
108
+ Installation Steps</link> section, you need to insert
109
+ these lines to your Apache configuration file to set
110
+ up the CGI binary:
111
+ <example>
112
+ <title>PHP and Apache 1.3.x as CGI</title>
113
+ <programlisting role="apache-conf">
114
+ <![CDATA[
115
+ ScriptAlias /php/ "c:/php/"
116
+ AddType application/x-httpd-php .php
117
+
118
+ # For PHP 4
119
+ Action application/x-httpd-php "/php/php.exe"
120
+
121
+ # For PHP 5
122
+ Action application/x-httpd-php "/php/php-cgi.exe"
123
+
124
+ # specify the directory where php.ini is
125
+ SetEnv PHPRC C:/php
126
+ ]]>
127
+ </programlisting>
128
+ </example>
129
+ Note that the second line in the list above can be found
130
+ in the actual versions of &httpd.conf;, but it is commented out. Remember
131
+ also to substitute the <filename>c:/php/</filename> for your actual path to
132
+ PHP.
133
+ </para>
134
+ &warn.install.cgi;
135
+ <simpara>
136
+ If you would like to present PHP source files syntax highlighted, there
137
+ is no such convenient option as with the module version of PHP.
138
+ If you chose to configure Apache to use PHP as a CGI binary, you
139
+ will need to use the <function>highlight_file</function> function. To
140
+ do this simply create a PHP script file and add this code:
141
+ <literal>&lt;?php highlight_file('some_php_script.php'); ?&gt;</literal>.
142
+ </simpara>
143
+ </sect2>
144
+
145
+ </sect1>
146
+
147
+ <!-- Keep this comment at the end of the file
148
+ Local variables:
149
+ mode: sgml
150
+ sgml-omittag:t
151
+ sgml-shorttag:t
152
+ sgml-minimize-attributes:nil
153
+ sgml-always-quote-attributes:t
154
+ sgml-indent-step:1
155
+ sgml-indent-data:t
156
+ indent-tabs-mode:nil
157
+ sgml-parent-document:nil
158
+ sgml-default-dtd-file:"../../manual.ced"
159
+ sgml-exposed-tags:nil
160
+ sgml-local-catalogs:nil
161
+ sgml-local-ecat-files:nil
162
+ End:
163
+ vim600: syn=xml fen fdm=syntax fdl=2 si
164
+ vim: et tw=78 syn=sgml
165
+ vi: ts=1 sw=1
166
+ -->
@@ -0,0 +1,141 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!-- $Revision: 1.13 $ -->
3
+ <sect1 id="install.windows.apache2">
4
+ <title>Apache 2.0.x on Microsoft Windows</title>
5
+ <para>
6
+ This section contains notes and hints specific to Apache 2.0.x installs
7
+ of ruby-web on Microsoft Windows systems. We also
8
+ have <link linkend="install.windows.apache1">instructions and notes
9
+ for Apache 1.3.x users on a separate page</link>.
10
+ </para>
11
+ <note>
12
+ <para>
13
+ You should read the <link linkend="install.windows.manual">manual
14
+ installation steps</link> first!
15
+ </para>
16
+ </note>
17
+
18
+ <para>
19
+ You are highly encouraged to take a look at the
20
+ <ulink url="&url.apache2.docs;">Apache Documentation</ulink> to get
21
+ a basic understanding of the Apache 2.0.x Server. Also consider to
22
+ read the <ulink url="&url.apache2.windows;">Windows specific
23
+ notes</ulink> for Apache 2.0.x before reading on here.
24
+ </para>
25
+
26
+ <warning>
27
+ <para>
28
+ Apache 2.0.x is designed to run on Windows NT 4.0, Windows 2000 or
29
+ Windows XP. At this time, support for Windows 9x is incomplete.
30
+ Apache 2.0.x is not expected to work on those platforms at this time.
31
+ </para>
32
+ </warning>
33
+ <para>
34
+ Download the most recent version of <ulink url= "&url.apache;">
35
+ Apache 2.0.x</ulink> and a fitting ruby-web version.
36
+ Follow the <link linkend="install.windows.manual">Manual Installation
37
+ Steps</link> and come back to go on with the integration of ruby-web and Apache.
38
+ </para>
39
+ <para>
40
+ There are two ways to set up ruby-web to work with Apache 2.0.x on Windows.
41
+ One is to use the CGI binary the other is to use the Apache module DLL.
42
+ In either case you need to edit your &httpd.conf; to configure Apache
43
+ to work with ruby-web and then restart the server.
44
+ </para>
45
+
46
+ &note.apache.slashes;
47
+
48
+ <sect2 id="install.windows.apache2.cgi">
49
+ <title>Installing as a CGI binary</title>
50
+
51
+ <para>
52
+ You need to insert these three lines to your Apache &httpd.conf;
53
+ configuration file to set up the CGI binary:
54
+ <example>
55
+ <title>ruby-web and Apache 2.0 as CGI</title>
56
+ <programlisting role="apache-conf">
57
+ <![CDATA[
58
+ ScriptAlias /ruby-web/ "c:/ruby/bin"
59
+ AddType application/x-httpd-ruby .rb
60
+
61
+ Action application/x-httpd-rb "/ruby-web/ruby-web.exe"
62
+
63
+ ]]>
64
+ </programlisting>
65
+ </example>
66
+ </para>
67
+ &warn.install.cgi;
68
+ </sect2>
69
+
70
+ <sect2 id="install.windows.apache2.module">
71
+ <title>Installing as an Apache module</title>
72
+ <para>
73
+ You need to insert these two lines to your
74
+ Apache &httpd.conf; configuration file to set up the
75
+ ruby-web module for Apache 2.0:
76
+ <example>
77
+ <title>ruby-web and Apache 2.0 as Module</title>
78
+ <programlisting role="apache-conf">
79
+ <![CDATA[
80
+ # For PHP 4 do something like this:
81
+ LoadModule php4_module "c:/php/php4apache2.dll"
82
+ # Don't forget to copy the php4apache2.dll file from the sapi directory!
83
+ AddType application/x-httpd-php .php
84
+
85
+ # For PHP 5 do something like this:
86
+ LoadModule php5_module "c:/php/php5apache2.dll"
87
+ AddType application/x-httpd-php .php
88
+
89
+ # configure the path to php.ini
90
+ PHPIniDir "C:/php"
91
+ ]]>
92
+ </programlisting>
93
+ </example>
94
+ </para>
95
+ <note>
96
+ <simpara>
97
+ Remember to substitute your actual path to PHP for the
98
+ <filename>c:/php/</filename> in the above examples. Take care to use
99
+ either <filename>php4apache2.dll</filename> or
100
+ <filename>php5apache2.dll</filename> in your LoadModule directive and
101
+ <emphasis>not</emphasis> <filename>php4apache.dll</filename> or
102
+ <filename>php5apache.dll</filename> as the latter ones are designed to
103
+ run with <link linkend="install.windows.apache1">Apache 1.3.x</link>.
104
+ </simpara>
105
+ </note>
106
+ <note>
107
+ <para>
108
+ If you want to use content negotiation, read
109
+ <link linkend="faq.installation.apache.multiviews">related FAQ</link>.
110
+ </para>
111
+ </note>
112
+ <warning>
113
+ <simpara>
114
+ Don't mix up your installation with DLL files from
115
+ <emphasis>different PHP versions</emphasis>. You have the only choice
116
+ to use the DLL's and extensions that ship with your downloaded PHP version.
117
+ </simpara>
118
+ </warning>
119
+ </sect2>
120
+ </sect1>
121
+
122
+ <!-- Keep this comment at the end of the file
123
+ Local variables:
124
+ mode: sgml
125
+ sgml-omittag:t
126
+ sgml-shorttag:t
127
+ sgml-minimize-attributes:nil
128
+ sgml-always-quote-attributes:t
129
+ sgml-indent-step:1
130
+ sgml-indent-data:t
131
+ indent-tabs-mode:nil
132
+ sgml-parent-document:nil
133
+ sgml-default-dtd-file:"../../manual.ced"
134
+ sgml-exposed-tags:nil
135
+ sgml-local-catalogs:nil
136
+ sgml-local-ecat-files:nil
137
+ End:
138
+ vim600: syn=xml fen fdm=syntax fdl=2 si
139
+ vim: et tw=78 syn=sgml
140
+ vi: ts=1 sw=1
141
+ -->