ruby-web 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
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
+ -->