Ok, despite a to late of a night.... last night and
some wasted posts (i
should have just went to bed and waited until today
to do it) I finally
got Arrow-0.1.0 to work. So here are my findings of
the installation and
configuration process:
Installation Requires These Steps:
------------------------------------------------------------
0 - Be sure to have the online manual for arrow
pulled up and read it!
(
http://www.rubycrafters.com/arrow-manul/). I
didn't and I ended up
with a lot of stupid questions. (Thanks daz for
being nice about
pointing all of the answers out to me...although you
probably could have
told me to RTFM)
0.5 - If you don't have Apache you will need to get.
You will need
version 1.3 or higher.
1 - Download, untar Arrow, go into redist/ directory
in the Arrow-0.1.0/
directory and untar all tar.gz files and run the
install.rb for each
one. There are three free standing files:
hashslice.rb, crosscase.rb and
delimscanner.rb in the redist/ directory. I copied
these to the
/usr/local/lib/ruby/site_ruby/1.8/ directory.
(HashSlice is mentioned on
the Online Manual page for Arrow, but I didn't see
anything about the
other two...any one care to comment on them?) Now go
back into the
Arrow-0.1.0/ directory and run the install.rb from
here. Also check to
see if you have the strscan.rb file for you ruby
installation. If you
don't you will need it (It does not come with the
ruby debian package).
2 - If you don't have mod_ruby you will need to get
it,
http://modruby.net. Download, compile and install.
3 - If you dont' hvae a libapreq shared library you
will to get it,
http://httpd.apache.org/apreq/ . I downloaded from
the ASF mirror (not
CPAN mirror) and downloaded version 1.3. Untar, and
compile.
- ./configure
--with-apache-includes=/usr/include/apache-1.3 ;
make
; make install
- libapreq.so.1 was installed in my
/usr/local/lib, check your
/etc/ld.so.conf file and see if the directory to
where libapreq.so.1 is
listed. If it isn't then add it and run the command
"ldconfig".
4 - I then moved the Arrow-0.1.0/ directory to be
/etc/arrow/ directory
Configuration
------------------------
0 - Follow the configuration instructions at
http://www.rubycrafters.com/arrow-manual/config.html.
I had pasted my
Apache portion of the configuration inside of a
VirtualHost. The
RubyAddPath value should be "/etc/arrow/lib" if you
followed step 4 from
above. The RubyHandler was set to:
"Arrow:

ispatcher::create('/etc/arrow/demo.cfg')"
0.5 - Then I had to modify the demo.cfg file and add
to the path section
under applets: - "/etc/arrow/applets" . Also to note
that you need to
make sure you use 2 spaces to indent each section of
the configuration
file deeper you go. I used tabs and it didn't work.
(This may be a
simple YAML requirement? but I have never used YAML
so I didn't know)
1 - Restart Apache. Try to go to a URL to access
the link:
http://localhost/tutorial/hello ). If it doesn't
work check your apache
error.log
And that is how I got the Arrow-0.1.0 up and going
with the samples. Now
on to testing the framework with some custom stuff.
One thing that would be nice is for better Error
documentation on
Arrow's errors. I have no clue what "Applet returned
false, OK Status =
-1" means in the apache error.log file. Is that a
missing file? A
malformed applet file? etc... Most of the errors
were because of my own
lack of patience and reading, but I hope that this
post will help others.
Also it'd be nice if the README file or the online
manual would state
how-to run the demo/samples all you need to do are
these steps: boom,
bang, bing! Then I would be much more inclined to
reading the Tutorial
page on the Arrow web site and put 2 and 2 together.
It is often easier
to see an end result and then go back and figure out
how it got there,
then it is to read about it all upfront and have to
figure out how the
pieces interact. Just another perspective.
Zach