From: Zach Dennis Date: 2004-09-12T07:20:01+09:00 Subject: [Arrow] Is Working, Posting Installation and Configuration 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::Dispatcher::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