You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@whimsical.apache.org by Craig Russell <ap...@gmail.com> on 2020/06/17 17:58:57 UTC

whimsy still errors

Deleting that file solved the issue with board/agenda. It now works.

And I can reliably get the whimsy main page and officers/test.cgi and members/test.cgi to work.

But http://localhost/members/proxy.cgi gives me an error 500 page. In the httpd log:
[Wed Jun 17 10:40:57.734041 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/members/proxy.cgi
[Wed Jun 17 10:40:57.734156 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/members/proxy.cgi

I looked in my local /srv/whimsy/www/members:
[MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/members/proxy.cgi 
-rwxr-xr-x@ 1 clr  staff  10789 Jun 14 14:39 /srv/whimsy/www/members/proxy.cgi

This is consistent with the above:
[MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/officers/index.cgi 
-rwxr-xr-x  1 clr  staff  2272 Apr 20 11:01 /srv/whimsy/www/officers/index.cgi

Trying to  load the "useful officer tools" using either localhost/officers/index.cgi or localhost/officers which then goes to index.cgi which exists in the local /srv repository...

[Wed Jun 17 10:51:15.819032 2020] [:debug] [pid 55727] mod_hfs_apple2.c(384): [client 127.0.0.1:58401] mod_hfs_apple: Final check compares: /srv/whimsy/www/officers/index.cgi vs /srv/whimsy/www/officers/, length 24
[Wed Jun 17 10:51:15.819050 2020] [:debug] [pid 55727] mod_hfs_apple2.c(397): [client 127.0.0.1:58401] mod_hfs_apple: Allowing access with matching directory. filename = /srv/whimsy/www/officers/index.cgi
[Wed Jun 17 10:51:15.956428 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/officers/index.cgi
[Wed Jun 17 10:51:15.956557 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
[Wed Jun 17 10:51:15.956608 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /Users/clr/apache/git/whimsy/lib/whimsy/asf/ldap.rb:34:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
[Wed Jun 17 10:51:15.956646 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `require_relative': /srv/whimsy/www/officers/index.cgi
[Wed Jun 17 10:51:15.956682 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
[Wed Jun 17 10:51:15.956760 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
[Wed Jun 17 10:51:15.956831 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
[Wed Jun 17 10:51:15.956864 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/www/officers/index.cgi:6:in `<main>': /srv/whimsy/www/officers/index.cgi
[Wed Jun 17 10:51:15.960403 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] End of script output before headers: index.cgi
[Wed Jun 17 10:51:15.960633 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of Require all granted: granted
[Wed Jun 17 10:51:15.960657 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of <RequireAny>: granted
[Wed Jun 17 10:51:15.960785 2020] [:debug] [pid 55727] mod_hfs_apple2.c(363): [client 127.0.0.1:58401] mod_hfs_apple: compare_paths / vs /srv/whimsy/www/500.html/, related=1

> On Jun 17, 2020, at 10:13 AM, Sam Ruby <ru...@intertwingly.net> wrote:
> 
> On Wed, Jun 17, 2020 at 12:53 PM Craig Russell <ap...@gmail.com> wrote:
>> 
>> It looks like there is some problem with Passenger. IIRC the only way I have used Passenger is with Whimsy.
> 
> [snip lots of scary warnings]
>> 
>> App 55090 output:  [passenger_native_support.bundle] will not be used (can't compile or download)
>> App 55090 output:   --> Passenger will still operate normally.
>> App 55090 output: Error: The application encountered the following error: Permission denied @ rb_sysopen - /Users/clr/.whimsy (Errno::EACCES)
> 
> Try changing permissions, or deleting or renaming that file temporarily.
> 
> - Sam Ruby

Craig L Russell
clr@apache.org


Re: whimsy still errors

Posted by Sam Ruby <ru...@intertwingly.net>.
On Wed, Jun 17, 2020 at 3:20 PM Craig Russell <ap...@gmail.com> wrote:
>
> > On Jun 17, 2020, at 11:43 AM, Sam Ruby <ru...@intertwingly.net> wrote:
> >
> > You are getting close, and this problem I can fully explain.
> >
> > Prior stack traces indicated that you were running Ruby 2.7
> > (presumably from homebrew?).  This stack trace indicates that you are
> > running Ruby 2.3 (the system installed Ruby).
> >
> > Each version of Ruby has its own set of installed Gems.  The fact that
> > you can get the board agenda tool up and running indicates that you
> > have a complete set of gems installed with Ruby 2.7.
> >
> > If you look at the top line of any CGI file, it says "#!/usr/bin/env
> > ruby".  This will load the Ruby interpreter based on your PATH
> > environment variable.
> >
> > You should be able to control the value of the PATH environment
> > variable by adding a <key> / <string> pair to the
> > <key>EnvironmentVariables</key> <dict> entry in
> > /System/Library/LaunchDaemons/org.apache.httpd.plist, and then
> > restarting httpd.  This sounds complicated, but it will make sense
> > when you look at the contents of that file.
>
> I cannot edit that file. By design, it's protected by Apple. One suggestion is to do:
> > Just create your own plist in /Library/LauchDaemons that contains the changes you need. Load that plist instead of the System LaunchDaemon. Once created, you will need to change the owner:group to root:wheel an the same permissions as on the original.
>
>
> So is there some way to tell the launch daemon to use a different plist?
>
> My PATH is set up with /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin as the first few lines.
> [MacBook-Pro-10:~/apache/git/whimsy] clr% which ruby
> /usr/local/opt/ruby/bin/ruby
> [MacBook-Pro-10:~/apache/git/whimsy] clr% ruby -v
> ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]
>
> So why doesn't whimsy find Ruby 2.7? Because localhost/test.cgi has this:
> PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
> Where did that come from?

I like Sebb's answer, but the answer to your question appears to be
MacOS version dependent:

https://apple.stackexchange.com/questions/107787/how-to-set-system-wide-environment-variables-on-os-x-mavericks

> > The main whimsy menu is static HTML, so no Ruby code is run.
> >
> > test.cgi doesn't depend on much, and can run with Ruby 2.3, so it also works.
> >
> > members/proxy does depend on a number of gems, and those gems are not
> > installed using Ruby 2.3 on your machine.
> >
> > You could get past this immediate problem by installing those gems
> > under Ruby 2.3, but I suspect that you will be a lot happier using the
> > same version of Ruby everywhere.
> >
> > Once you have set your path, you can verify it visiting
> > http://whimsy.local/test.cgi and looking for the value of PATH.  If
> > you add anything to the query part of the URL (for example, by
> > visiting http://whimsy.local/test.cgi?help) you will see considerably
> > more information, such as the actual version of Ruby used, your gem
> > path, etc.
> >
> > Once you are running CGI scripts using Ruby 2.7, I suspect that
> > members/proxy.cgi will work as you have the necessary gems installed.
> >
> > And finally, the reason passenger applications work is that the
> > version of Ruby to be used for passenger applications is specified in
> > /etc/apache2/other/passenger.conf.
> >
> > - Sam Ruby
> >
> > On Wed, Jun 17, 2020 at 1:59 PM Craig Russell <ap...@gmail.com> wrote:
> >>
> >> Deleting that file solved the issue with board/agenda. It now works.
> >>
> >> And I can reliably get the whimsy main page and officers/test.cgi and members/test.cgi to work.
> >>
> >> But http://localhost/members/proxy.cgi gives me an error 500 page. In the httpd log:
> >> [Wed Jun 17 10:40:57.734041 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/members/proxy.cgi
> >> [Wed Jun 17 10:40:57.734156 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/members/proxy.cgi
> >>
> >> I looked in my local /srv/whimsy/www/members:
> >> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/members/proxy.cgi
> >> -rwxr-xr-x@ 1 clr  staff  10789 Jun 14 14:39 /srv/whimsy/www/members/proxy.cgi
> >>
> >> This is consistent with the above:
> >> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/officers/index.cgi
> >> -rwxr-xr-x  1 clr  staff  2272 Apr 20 11:01 /srv/whimsy/www/officers/index.cgi
> >>
> >> Trying to  load the "useful officer tools" using either localhost/officers/index.cgi or localhost/officers which then goes to index.cgi which exists in the local /srv repository...
> >>
> >> [Wed Jun 17 10:51:15.819032 2020] [:debug] [pid 55727] mod_hfs_apple2.c(384): [client 127.0.0.1:58401] mod_hfs_apple: Final check compares: /srv/whimsy/www/officers/index.cgi vs /srv/whimsy/www/officers/, length 24
> >> [Wed Jun 17 10:51:15.819050 2020] [:debug] [pid 55727] mod_hfs_apple2.c(397): [client 127.0.0.1:58401] mod_hfs_apple: Allowing access with matching directory. filename = /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956428 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956557 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956608 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /Users/clr/apache/git/whimsy/lib/whimsy/asf/ldap.rb:34:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956646 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `require_relative': /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956682 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956760 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956831 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956864 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/www/officers/index.cgi:6:in `<main>': /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.960403 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] End of script output before headers: index.cgi
> >> [Wed Jun 17 10:51:15.960633 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of Require all granted: granted
> >> [Wed Jun 17 10:51:15.960657 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of <RequireAny>: granted
> >> [Wed Jun 17 10:51:15.960785 2020] [:debug] [pid 55727] mod_hfs_apple2.c(363): [client 127.0.0.1:58401] mod_hfs_apple: compare_paths / vs /srv/whimsy/www/500.html/, related=1
> >>
> >>> On Jun 17, 2020, at 10:13 AM, Sam Ruby <ru...@intertwingly.net> wrote:
> >>>
> >>> On Wed, Jun 17, 2020 at 12:53 PM Craig Russell <ap...@gmail.com> wrote:
> >>>>
> >>>> It looks like there is some problem with Passenger. IIRC the only way I have used Passenger is with Whimsy.
> >>>
> >>> [snip lots of scary warnings]
> >>>>
> >>>> App 55090 output:  [passenger_native_support.bundle] will not be used (can't compile or download)
> >>>> App 55090 output:   --> Passenger will still operate normally.
> >>>> App 55090 output: Error: The application encountered the following error: Permission denied @ rb_sysopen - /Users/clr/.whimsy (Errno::EACCES)
> >>>
> >>> Try changing permissions, or deleting or renaming that file temporarily.
> >>>
> >>> - Sam Ruby
> >>
> >> Craig L Russell
> >> clr@apache.org
> >>
>
> Craig L Russell
> clr@apache.org
>

Re: whimsy still errors

Posted by Sam Ruby <ru...@intertwingly.net>.
On Wed, Jun 17, 2020 at 7:03 PM Craig Russell <ap...@gmail.com> wrote:
>
> I saw that one and commented it out.
>
> It has some effect although I cannot tell you why. All it would appear to do is to prepend /usr/local/bin
>  to the PATH but it already had /usr/local/bin in the path.

whimsy.conf is based on the puppetized definition for
whimsy-vm4.apache.org.  The idea is to run essentially the same
configuration as the production server.

On the production server, the ruby executable can be found in
/usr/local/bin, so that line adds that to the path.

I've modified setupmymac so that it will replace /usr/local/bin with
the path to the ruby executable on your system, so if you run it again
it won't break your system.

> So things are working now. Modulo my understanding of why line 32 was messing things up.
>
> Question: where should I do my local development? When using the rackup system with port 9292 I developed in the local git repository.

You now have two local git repositories.  One of them is at
/srv/whimsy.  Feel free to experiment with symlinking these
directories together.

> But the .cgi scripts seem to come from the /srv/ area.

That indeed is how whimsy-vm4.apache.org is configured.  And now you
have that configuration running on your macbook.

> I just tried out a sample script and it seemed to find it from the git repository. How does that work?

I may not be understanding your question.  The following is the key
line from the apache configuration:

https://github.com/apache/whimsy/blob/2e917f3ddd1109856c8c372d3e22a93433cc071f/config/whimsy.conf#L10

> Thanks for all the help.

Now that you have a fully running system, things become easier.  If
you see something you don't like, change it.  If the change works on
your machine, commit it and push it.

One more thing to try while you are still learning your way around:

cd /srv/whimsy/www/board/agenda; bundle exec rake test
cd /srv/whimsy/lib; bundle exec rake test

This will run the regression tests for the board agenda tool and the libraries.

> Craig

- Sam Ruby

> > On Jun 17, 2020, at 3:46 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> >
> > I'm on my phone but look at line 32 in whimsy.conf
> >
> > On Wed, Jun 17, 2020, 6:25 PM Craig Russell <ap...@gmail.com> wrote:
> >
> >>
> >>
> >>> On Jun 17, 2020, at 3:00 PM, sebb <se...@gmail.com> wrote:
> >>>
> >>> On Wed, 17 Jun 2020 at 22:19, Craig Russell <apache.clr@gmail.com
> >> <ma...@gmail.com>> wrote:
> >>>>
> >>>> I edited /etc/apache2/httpd.conf and added this:
> >>>> SetEnv PATH
> >> /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
> >>>>
> >>>> I restarted the server via:
> >>>> sudo apachectl restart
> >>>>
> >>>> But localhost/officers/test.cgi still showed:
> >>>> PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
> >>>> Is there something else I can do to affect PATH?
> >>>
> >>> Try seeing if the SetEnv is being processed at all.
> >>>
> >>> Add another SetEnv which is unlikely to be overridden, e.g.
> >>>
> >>> SetEnv XYZABC 123
> >>>
> >>> and see if that appears in the test.cgi
> >>
> >> Yes, I added a special env and it did show up in the test.cgi. But no
> >> matter what I do, I cannot get the PATH to change.
> >>
> >> I even moved the SetEnv PATH to the very end of the httpd.conf file and
> >> still no change to the PATH variable in test.cgi.
> >>
> >> ???
> >> Craig
> >>
> >>>
> >>>> Craig
> >>>>
> >>>>> On Jun 17, 2020, at 12:37 PM, sebb <se...@gmail.com> wrote:
> >>>>>
> >>>>> You should also be able to change the path in httpd.conf
> >>>>>
> >>>>> SetEnv PATH ...:${PATH}
> >>>>>
> >>>>>
> >>>>> On Wed, 17 Jun 2020 at 20:20, Craig Russell <ap...@gmail.com>
> >> wrote:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>> On Jun 17, 2020, at 11:43 AM, Sam Ruby <ru...@intertwingly.net>
> >> wrote:
> >>>>>>>
> >>>>>>> You are getting close, and this problem I can fully explain.
> >>>>>>>
> >>>>>>> Prior stack traces indicated that you were running Ruby 2.7
> >>>>>>> (presumably from homebrew?).  This stack trace indicates that you are
> >>>>>>> running Ruby 2.3 (the system installed Ruby).
> >>>>>>>
> >>>>>>> Each version of Ruby has its own set of installed Gems.  The fact
> >> that
> >>>>>>> you can get the board agenda tool up and running indicates that you
> >>>>>>> have a complete set of gems installed with Ruby 2.7.
> >>>>>>>
> >>>>>>> If you look at the top line of any CGI file, it says "#!/usr/bin/env
> >>>>>>> ruby".  This will load the Ruby interpreter based on your PATH
> >>>>>>> environment variable.
> >>>>>>>
> >>>>>>> You should be able to control the value of the PATH environment
> >>>>>>> variable by adding a <key> / <string> pair to the
> >>>>>>> <key>EnvironmentVariables</key> <dict> entry in
> >>>>>>> /System/Library/LaunchDaemons/org.apache.httpd.plist, and then
> >>>>>>> restarting httpd.  This sounds complicated, but it will make sense
> >>>>>>> when you look at the contents of that file.
> >>>>>>
> >>>>>> I cannot edit that file. By design, it's protected by Apple. One
> >> suggestion is to do:
> >>>>>>> Just create your own plist in /Library/LauchDaemons that contains
> >> the changes you need. Load that plist instead of the System LaunchDaemon.
> >> Once created, you will need to change the owner:group to root:wheel an the
> >> same permissions as on the original.
> >>>>>>
> >>>>>>
> >>>>>> So is there some way to tell the launch daemon to use a different
> >> plist?
> >>>>>>
> >>>>>> My PATH is set up with
> >> /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin as the first few
> >> lines.
> >>>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% which ruby
> >>>>>> /usr/local/opt/ruby/bin/ruby
> >>>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ruby -v
> >>>>>> ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]
> >>>>>>
> >>>>>> So why doesn't whimsy find Ruby 2.7? Because localhost/test.cgi has
> >> this:
> >>>>>> PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
> >>>>>> Where did that come from?
> >>>>>>>
> >>>>>>> The main whimsy menu is static HTML, so no Ruby code is run.
> >>>>>>>
> >>>>>>> test.cgi doesn't depend on much, and can run with Ruby 2.3, so it
> >> also works.
> >>>>>>>
> >>>>>>> members/proxy does depend on a number of gems, and those gems are not
> >>>>>>> installed using Ruby 2.3 on your machine.
> >>>>>>>
> >>>>>>> You could get past this immediate problem by installing those gems
> >>>>>>> under Ruby 2.3, but I suspect that you will be a lot happier using
> >> the
> >>>>>>> same version of Ruby everywhere.
> >>>>>>>
> >>>>>>> Once you have set your path, you can verify it visiting
> >>>>>>> http://whimsy.local/test.cgi and looking for the value of PATH.  If
> >>>>>>> you add anything to the query part of the URL (for example, by
> >>>>>>> visiting http://whimsy.local/test.cgi?help) you will see
> >> considerably
> >>>>>>> more information, such as the actual version of Ruby used, your gem
> >>>>>>> path, etc.
> >>>>>>>
> >>>>>>> Once you are running CGI scripts using Ruby 2.7, I suspect that
> >>>>>>> members/proxy.cgi will work as you have the necessary gems installed.
> >>>>>>>
> >>>>>>> And finally, the reason passenger applications work is that the
> >>>>>>> version of Ruby to be used for passenger applications is specified in
> >>>>>>> /etc/apache2/other/passenger.conf.
> >>>>>>>
> >>>>>>> - Sam Ruby
> >>>>>>>
> >>>>>>> On Wed, Jun 17, 2020 at 1:59 PM Craig Russell <ap...@gmail.com>
> >> wrote:
> >>>>>>>>
> >>>>>>>> Deleting that file solved the issue with board/agenda. It now works.
> >>>>>>>>
> >>>>>>>> And I can reliably get the whimsy main page and officers/test.cgi
> >> and members/test.cgi to work.
> >>>>>>>>
> >>>>>>>> But http://localhost/members/proxy.cgi gives me an error 500 page.
> >> In the httpd log:
> >>>>>>>> [Wed Jun 17 10:40:57.734041 2020] [cgi:error] [pid 55728] [client
> >> 127.0.0.1:58309] AH01215:
> >> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
> >> `require': cannot load such file -- wunderbar (LoadError):
> >> /srv/whimsy/www/members/proxy.cgi
> >>>>>>>> [Wed Jun 17 10:40:57.734156 2020] [cgi:error] [pid 55728] [client
> >> 127.0.0.1:58309] AH01215: \tfrom
> >> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
> >> `require': /srv/whimsy/www/members/proxy.cgi
> >>>>>>>>
> >>>>>>>> I looked in my local /srv/whimsy/www/members:
> >>>>>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l
> >> /srv/whimsy/www/members/proxy.cgi
> >>>>>>>> -rwxr-xr-x@ 1 clr  staff  10789 Jun 14 14:39
> >> /srv/whimsy/www/members/proxy.cgi
> >>>>>>>>
> >>>>>>>> This is consistent with the above:
> >>>>>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l
> >> /srv/whimsy/www/officers/index.cgi
> >>>>>>>> -rwxr-xr-x  1 clr  staff  2272 Apr 20 11:01
> >> /srv/whimsy/www/officers/index.cgi
> >>>>>>>>
> >>>>>>>> Trying to  load the "useful officer tools" using either
> >> localhost/officers/index.cgi or localhost/officers which then goes to
> >> index.cgi which exists in the local /srv repository...
> >>>>>>>>
> >>>>>>>> [Wed Jun 17 10:51:15.819032 2020] [:debug] [pid 55727]
> >> mod_hfs_apple2.c(384): [client 127.0.0.1:58401] mod_hfs_apple: Final
> >> check compares: /srv/whimsy/www/officers/index.cgi vs
> >> /srv/whimsy/www/officers/, length 24
> >>>>>>>> [Wed Jun 17 10:51:15.819050 2020] [:debug] [pid 55727]
> >> mod_hfs_apple2.c(397): [client 127.0.0.1:58401] mod_hfs_apple: Allowing
> >> access with matching directory. filename =
> >> /srv/whimsy/www/officers/index.cgi
> >>>>>>>> [Wed Jun 17 10:51:15.956428 2020] [cgi:error] [pid 55727] [client
> >> 127.0.0.1:58401] AH01215:
> >> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
> >> `require': cannot load such file -- wunderbar (LoadError):
> >> /srv/whimsy/www/officers/index.cgi
> >>>>>>>> [Wed Jun 17 10:51:15.956557 2020] [cgi:error] [pid 55727] [client
> >> 127.0.0.1:58401] AH01215: \tfrom
> >> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
> >> `require': /srv/whimsy/www/officers/index.cgi
> >>>>>>>> [Wed Jun 17 10:51:15.956608 2020] [cgi:error] [pid 55727] [client
> >> 127.0.0.1:58401] AH01215: \tfrom
> >> /Users/clr/apache/git/whimsy/lib/whimsy/asf/ldap.rb:34:in `<top
> >> (required)>': /srv/whimsy/www/officers/index.cgi
> >>>>>>>> [Wed Jun 17 10:51:15.956646 2020] [cgi:error] [pid 55727] [client
> >> 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in
> >> `require_relative': /srv/whimsy/www/officers/index.cgi
> >>>>>>>> [Wed Jun 17 10:51:15.956682 2020] [cgi:error] [pid 55727] [client
> >> 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `<top
> >> (required)>': /srv/whimsy/www/officers/index.cgi
> >>>>>>>> [Wed Jun 17 10:51:15.956760 2020] [cgi:error] [pid 55727] [client
> >> 127.0.0.1:58401] AH01215: \tfrom
> >> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
> >> `require': /srv/whimsy/www/officers/index.cgi
> >>>>>>>> [Wed Jun 17 10:51:15.956831 2020] [cgi:error] [pid 55727] [client
> >> 127.0.0.1:58401] AH01215: \tfrom
> >> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
> >> `require': /srv/whimsy/www/officers/index.cgi
> >>>>>>>> [Wed Jun 17 10:51:15.956864 2020] [cgi:error] [pid 55727] [client
> >> 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/www/officers/index.cgi:6:in
> >> `<main>': /srv/whimsy/www/officers/index.cgi
> >>>>>>>> [Wed Jun 17 10:51:15.960403 2020] [cgi:error] [pid 55727] [client
> >> 127.0.0.1:58401] End of script output before headers: index.cgi
> >>>>>>>> [Wed Jun 17 10:51:15.960633 2020] [authz_core:debug] [pid 55727]
> >> mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization
> >> result of Require all granted: granted
> >>>>>>>> [Wed Jun 17 10:51:15.960657 2020] [authz_core:debug] [pid 55727]
> >> mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization
> >> result of <RequireAny>: granted
> >>>>>>>> [Wed Jun 17 10:51:15.960785 2020] [:debug] [pid 55727]
> >> mod_hfs_apple2.c(363): [client 127.0.0.1:58401] mod_hfs_apple:
> >> compare_paths / vs /srv/whimsy/www/500.html/, related=1
> >>>>>>>>
> >>>>>>>>> On Jun 17, 2020, at 10:13 AM, Sam Ruby <ru...@intertwingly.net>
> >> wrote:
> >>>>>>>>>
> >>>>>>>>> On Wed, Jun 17, 2020 at 12:53 PM Craig Russell <
> >> apache.clr@gmail.com> wrote:
> >>>>>>>>>>
> >>>>>>>>>> It looks like there is some problem with Passenger. IIRC the only
> >> way I have used Passenger is with Whimsy.
> >>>>>>>>>
> >>>>>>>>> [snip lots of scary warnings]
> >>>>>>>>>>
> >>>>>>>>>> App 55090 output:  [passenger_native_support.bundle] will not be
> >> used (can't compile or download)
> >>>>>>>>>> App 55090 output:   --> Passenger will still operate normally.
> >>>>>>>>>> App 55090 output: Error: The application encountered the
> >> following error: Permission denied @ rb_sysopen - /Users/clr/.whimsy
> >> (Errno::EACCES)
> >>>>>>>>>
> >>>>>>>>> Try changing permissions, or deleting or renaming that file
> >> temporarily.
> >>>>>>>>>
> >>>>>>>>> - Sam Ruby
> >>>>>>>>
> >>>>>>>> Craig L Russell
> >>>>>>>> clr@apache.org
> >>>>>>>>
> >>>>>>
> >>>>>> Craig L Russell
> >>>>>> clr@apache.org
> >>>>>>
> >>>>
> >>>> Craig L Russell
> >>>> clr@apache.org
> >>
> >> Craig L Russell
> >> clr@apache.org
> >>
> >>
>
> Craig L Russell
> clr@apache.org
>

Re: whimsy still errors

Posted by Craig Russell <ap...@gmail.com>.
I saw that one and commented it out.

It has some effect although I cannot tell you why. All it would appear to do is to prepend /usr/local/bin
 to the PATH but it already had /usr/local/bin in the path.

So things are working now. Modulo my understanding of why line 32 was messing things up.

Question: where should I do my local development? When using the rackup system with port 9292 I developed in the local git repository.

But the .cgi scripts seem to come from the /srv/ area. 

I just tried out a sample script and it seemed to find it from the git repository. How does that work?

Thanks for all the help.

Craig

> On Jun 17, 2020, at 3:46 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> 
> I'm on my phone but look at line 32 in whimsy.conf
> 
> On Wed, Jun 17, 2020, 6:25 PM Craig Russell <ap...@gmail.com> wrote:
> 
>> 
>> 
>>> On Jun 17, 2020, at 3:00 PM, sebb <se...@gmail.com> wrote:
>>> 
>>> On Wed, 17 Jun 2020 at 22:19, Craig Russell <apache.clr@gmail.com
>> <ma...@gmail.com>> wrote:
>>>> 
>>>> I edited /etc/apache2/httpd.conf and added this:
>>>> SetEnv PATH
>> /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
>>>> 
>>>> I restarted the server via:
>>>> sudo apachectl restart
>>>> 
>>>> But localhost/officers/test.cgi still showed:
>>>> PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
>>>> Is there something else I can do to affect PATH?
>>> 
>>> Try seeing if the SetEnv is being processed at all.
>>> 
>>> Add another SetEnv which is unlikely to be overridden, e.g.
>>> 
>>> SetEnv XYZABC 123
>>> 
>>> and see if that appears in the test.cgi
>> 
>> Yes, I added a special env and it did show up in the test.cgi. But no
>> matter what I do, I cannot get the PATH to change.
>> 
>> I even moved the SetEnv PATH to the very end of the httpd.conf file and
>> still no change to the PATH variable in test.cgi.
>> 
>> ???
>> Craig
>> 
>>> 
>>>> Craig
>>>> 
>>>>> On Jun 17, 2020, at 12:37 PM, sebb <se...@gmail.com> wrote:
>>>>> 
>>>>> You should also be able to change the path in httpd.conf
>>>>> 
>>>>> SetEnv PATH ...:${PATH}
>>>>> 
>>>>> 
>>>>> On Wed, 17 Jun 2020 at 20:20, Craig Russell <ap...@gmail.com>
>> wrote:
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>> On Jun 17, 2020, at 11:43 AM, Sam Ruby <ru...@intertwingly.net>
>> wrote:
>>>>>>> 
>>>>>>> You are getting close, and this problem I can fully explain.
>>>>>>> 
>>>>>>> Prior stack traces indicated that you were running Ruby 2.7
>>>>>>> (presumably from homebrew?).  This stack trace indicates that you are
>>>>>>> running Ruby 2.3 (the system installed Ruby).
>>>>>>> 
>>>>>>> Each version of Ruby has its own set of installed Gems.  The fact
>> that
>>>>>>> you can get the board agenda tool up and running indicates that you
>>>>>>> have a complete set of gems installed with Ruby 2.7.
>>>>>>> 
>>>>>>> If you look at the top line of any CGI file, it says "#!/usr/bin/env
>>>>>>> ruby".  This will load the Ruby interpreter based on your PATH
>>>>>>> environment variable.
>>>>>>> 
>>>>>>> You should be able to control the value of the PATH environment
>>>>>>> variable by adding a <key> / <string> pair to the
>>>>>>> <key>EnvironmentVariables</key> <dict> entry in
>>>>>>> /System/Library/LaunchDaemons/org.apache.httpd.plist, and then
>>>>>>> restarting httpd.  This sounds complicated, but it will make sense
>>>>>>> when you look at the contents of that file.
>>>>>> 
>>>>>> I cannot edit that file. By design, it's protected by Apple. One
>> suggestion is to do:
>>>>>>> Just create your own plist in /Library/LauchDaemons that contains
>> the changes you need. Load that plist instead of the System LaunchDaemon.
>> Once created, you will need to change the owner:group to root:wheel an the
>> same permissions as on the original.
>>>>>> 
>>>>>> 
>>>>>> So is there some way to tell the launch daemon to use a different
>> plist?
>>>>>> 
>>>>>> My PATH is set up with
>> /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin as the first few
>> lines.
>>>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% which ruby
>>>>>> /usr/local/opt/ruby/bin/ruby
>>>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ruby -v
>>>>>> ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]
>>>>>> 
>>>>>> So why doesn't whimsy find Ruby 2.7? Because localhost/test.cgi has
>> this:
>>>>>> PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
>>>>>> Where did that come from?
>>>>>>> 
>>>>>>> The main whimsy menu is static HTML, so no Ruby code is run.
>>>>>>> 
>>>>>>> test.cgi doesn't depend on much, and can run with Ruby 2.3, so it
>> also works.
>>>>>>> 
>>>>>>> members/proxy does depend on a number of gems, and those gems are not
>>>>>>> installed using Ruby 2.3 on your machine.
>>>>>>> 
>>>>>>> You could get past this immediate problem by installing those gems
>>>>>>> under Ruby 2.3, but I suspect that you will be a lot happier using
>> the
>>>>>>> same version of Ruby everywhere.
>>>>>>> 
>>>>>>> Once you have set your path, you can verify it visiting
>>>>>>> http://whimsy.local/test.cgi and looking for the value of PATH.  If
>>>>>>> you add anything to the query part of the URL (for example, by
>>>>>>> visiting http://whimsy.local/test.cgi?help) you will see
>> considerably
>>>>>>> more information, such as the actual version of Ruby used, your gem
>>>>>>> path, etc.
>>>>>>> 
>>>>>>> Once you are running CGI scripts using Ruby 2.7, I suspect that
>>>>>>> members/proxy.cgi will work as you have the necessary gems installed.
>>>>>>> 
>>>>>>> And finally, the reason passenger applications work is that the
>>>>>>> version of Ruby to be used for passenger applications is specified in
>>>>>>> /etc/apache2/other/passenger.conf.
>>>>>>> 
>>>>>>> - Sam Ruby
>>>>>>> 
>>>>>>> On Wed, Jun 17, 2020 at 1:59 PM Craig Russell <ap...@gmail.com>
>> wrote:
>>>>>>>> 
>>>>>>>> Deleting that file solved the issue with board/agenda. It now works.
>>>>>>>> 
>>>>>>>> And I can reliably get the whimsy main page and officers/test.cgi
>> and members/test.cgi to work.
>>>>>>>> 
>>>>>>>> But http://localhost/members/proxy.cgi gives me an error 500 page.
>> In the httpd log:
>>>>>>>> [Wed Jun 17 10:40:57.734041 2020] [cgi:error] [pid 55728] [client
>> 127.0.0.1:58309] AH01215:
>> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
>> `require': cannot load such file -- wunderbar (LoadError):
>> /srv/whimsy/www/members/proxy.cgi
>>>>>>>> [Wed Jun 17 10:40:57.734156 2020] [cgi:error] [pid 55728] [client
>> 127.0.0.1:58309] AH01215: \tfrom
>> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
>> `require': /srv/whimsy/www/members/proxy.cgi
>>>>>>>> 
>>>>>>>> I looked in my local /srv/whimsy/www/members:
>>>>>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l
>> /srv/whimsy/www/members/proxy.cgi
>>>>>>>> -rwxr-xr-x@ 1 clr  staff  10789 Jun 14 14:39
>> /srv/whimsy/www/members/proxy.cgi
>>>>>>>> 
>>>>>>>> This is consistent with the above:
>>>>>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l
>> /srv/whimsy/www/officers/index.cgi
>>>>>>>> -rwxr-xr-x  1 clr  staff  2272 Apr 20 11:01
>> /srv/whimsy/www/officers/index.cgi
>>>>>>>> 
>>>>>>>> Trying to  load the "useful officer tools" using either
>> localhost/officers/index.cgi or localhost/officers which then goes to
>> index.cgi which exists in the local /srv repository...
>>>>>>>> 
>>>>>>>> [Wed Jun 17 10:51:15.819032 2020] [:debug] [pid 55727]
>> mod_hfs_apple2.c(384): [client 127.0.0.1:58401] mod_hfs_apple: Final
>> check compares: /srv/whimsy/www/officers/index.cgi vs
>> /srv/whimsy/www/officers/, length 24
>>>>>>>> [Wed Jun 17 10:51:15.819050 2020] [:debug] [pid 55727]
>> mod_hfs_apple2.c(397): [client 127.0.0.1:58401] mod_hfs_apple: Allowing
>> access with matching directory. filename =
>> /srv/whimsy/www/officers/index.cgi
>>>>>>>> [Wed Jun 17 10:51:15.956428 2020] [cgi:error] [pid 55727] [client
>> 127.0.0.1:58401] AH01215:
>> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
>> `require': cannot load such file -- wunderbar (LoadError):
>> /srv/whimsy/www/officers/index.cgi
>>>>>>>> [Wed Jun 17 10:51:15.956557 2020] [cgi:error] [pid 55727] [client
>> 127.0.0.1:58401] AH01215: \tfrom
>> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
>> `require': /srv/whimsy/www/officers/index.cgi
>>>>>>>> [Wed Jun 17 10:51:15.956608 2020] [cgi:error] [pid 55727] [client
>> 127.0.0.1:58401] AH01215: \tfrom
>> /Users/clr/apache/git/whimsy/lib/whimsy/asf/ldap.rb:34:in `<top
>> (required)>': /srv/whimsy/www/officers/index.cgi
>>>>>>>> [Wed Jun 17 10:51:15.956646 2020] [cgi:error] [pid 55727] [client
>> 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in
>> `require_relative': /srv/whimsy/www/officers/index.cgi
>>>>>>>> [Wed Jun 17 10:51:15.956682 2020] [cgi:error] [pid 55727] [client
>> 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `<top
>> (required)>': /srv/whimsy/www/officers/index.cgi
>>>>>>>> [Wed Jun 17 10:51:15.956760 2020] [cgi:error] [pid 55727] [client
>> 127.0.0.1:58401] AH01215: \tfrom
>> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
>> `require': /srv/whimsy/www/officers/index.cgi
>>>>>>>> [Wed Jun 17 10:51:15.956831 2020] [cgi:error] [pid 55727] [client
>> 127.0.0.1:58401] AH01215: \tfrom
>> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
>> `require': /srv/whimsy/www/officers/index.cgi
>>>>>>>> [Wed Jun 17 10:51:15.956864 2020] [cgi:error] [pid 55727] [client
>> 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/www/officers/index.cgi:6:in
>> `<main>': /srv/whimsy/www/officers/index.cgi
>>>>>>>> [Wed Jun 17 10:51:15.960403 2020] [cgi:error] [pid 55727] [client
>> 127.0.0.1:58401] End of script output before headers: index.cgi
>>>>>>>> [Wed Jun 17 10:51:15.960633 2020] [authz_core:debug] [pid 55727]
>> mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization
>> result of Require all granted: granted
>>>>>>>> [Wed Jun 17 10:51:15.960657 2020] [authz_core:debug] [pid 55727]
>> mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization
>> result of <RequireAny>: granted
>>>>>>>> [Wed Jun 17 10:51:15.960785 2020] [:debug] [pid 55727]
>> mod_hfs_apple2.c(363): [client 127.0.0.1:58401] mod_hfs_apple:
>> compare_paths / vs /srv/whimsy/www/500.html/, related=1
>>>>>>>> 
>>>>>>>>> On Jun 17, 2020, at 10:13 AM, Sam Ruby <ru...@intertwingly.net>
>> wrote:
>>>>>>>>> 
>>>>>>>>> On Wed, Jun 17, 2020 at 12:53 PM Craig Russell <
>> apache.clr@gmail.com> wrote:
>>>>>>>>>> 
>>>>>>>>>> It looks like there is some problem with Passenger. IIRC the only
>> way I have used Passenger is with Whimsy.
>>>>>>>>> 
>>>>>>>>> [snip lots of scary warnings]
>>>>>>>>>> 
>>>>>>>>>> App 55090 output:  [passenger_native_support.bundle] will not be
>> used (can't compile or download)
>>>>>>>>>> App 55090 output:   --> Passenger will still operate normally.
>>>>>>>>>> App 55090 output: Error: The application encountered the
>> following error: Permission denied @ rb_sysopen - /Users/clr/.whimsy
>> (Errno::EACCES)
>>>>>>>>> 
>>>>>>>>> Try changing permissions, or deleting or renaming that file
>> temporarily.
>>>>>>>>> 
>>>>>>>>> - Sam Ruby
>>>>>>>> 
>>>>>>>> Craig L Russell
>>>>>>>> clr@apache.org
>>>>>>>> 
>>>>>> 
>>>>>> Craig L Russell
>>>>>> clr@apache.org
>>>>>> 
>>>> 
>>>> Craig L Russell
>>>> clr@apache.org
>> 
>> Craig L Russell
>> clr@apache.org
>> 
>> 

Craig L Russell
clr@apache.org


Re: whimsy still errors

Posted by Sam Ruby <ru...@intertwingly.net>.
I'm on my phone but look at line 32 in whimsy.conf

On Wed, Jun 17, 2020, 6:25 PM Craig Russell <ap...@gmail.com> wrote:

>
>
> > On Jun 17, 2020, at 3:00 PM, sebb <se...@gmail.com> wrote:
> >
> > On Wed, 17 Jun 2020 at 22:19, Craig Russell <apache.clr@gmail.com
> <ma...@gmail.com>> wrote:
> >>
> >> I edited /etc/apache2/httpd.conf and added this:
> >> SetEnv PATH
> /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
> >>
> >> I restarted the server via:
> >> sudo apachectl restart
> >>
> >> But localhost/officers/test.cgi still showed:
> >> PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
> >> Is there something else I can do to affect PATH?
> >
> > Try seeing if the SetEnv is being processed at all.
> >
> > Add another SetEnv which is unlikely to be overridden, e.g.
> >
> > SetEnv XYZABC 123
> >
> > and see if that appears in the test.cgi
>
> Yes, I added a special env and it did show up in the test.cgi. But no
> matter what I do, I cannot get the PATH to change.
>
> I even moved the SetEnv PATH to the very end of the httpd.conf file and
> still no change to the PATH variable in test.cgi.
>
> ???
> Craig
>
> >
> >> Craig
> >>
> >>> On Jun 17, 2020, at 12:37 PM, sebb <se...@gmail.com> wrote:
> >>>
> >>> You should also be able to change the path in httpd.conf
> >>>
> >>> SetEnv PATH ...:${PATH}
> >>>
> >>>
> >>> On Wed, 17 Jun 2020 at 20:20, Craig Russell <ap...@gmail.com>
> wrote:
> >>>>
> >>>>
> >>>>
> >>>>> On Jun 17, 2020, at 11:43 AM, Sam Ruby <ru...@intertwingly.net>
> wrote:
> >>>>>
> >>>>> You are getting close, and this problem I can fully explain.
> >>>>>
> >>>>> Prior stack traces indicated that you were running Ruby 2.7
> >>>>> (presumably from homebrew?).  This stack trace indicates that you are
> >>>>> running Ruby 2.3 (the system installed Ruby).
> >>>>>
> >>>>> Each version of Ruby has its own set of installed Gems.  The fact
> that
> >>>>> you can get the board agenda tool up and running indicates that you
> >>>>> have a complete set of gems installed with Ruby 2.7.
> >>>>>
> >>>>> If you look at the top line of any CGI file, it says "#!/usr/bin/env
> >>>>> ruby".  This will load the Ruby interpreter based on your PATH
> >>>>> environment variable.
> >>>>>
> >>>>> You should be able to control the value of the PATH environment
> >>>>> variable by adding a <key> / <string> pair to the
> >>>>> <key>EnvironmentVariables</key> <dict> entry in
> >>>>> /System/Library/LaunchDaemons/org.apache.httpd.plist, and then
> >>>>> restarting httpd.  This sounds complicated, but it will make sense
> >>>>> when you look at the contents of that file.
> >>>>
> >>>> I cannot edit that file. By design, it's protected by Apple. One
> suggestion is to do:
> >>>>> Just create your own plist in /Library/LauchDaemons that contains
> the changes you need. Load that plist instead of the System LaunchDaemon.
> Once created, you will need to change the owner:group to root:wheel an the
> same permissions as on the original.
> >>>>
> >>>>
> >>>> So is there some way to tell the launch daemon to use a different
> plist?
> >>>>
> >>>> My PATH is set up with
> /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin as the first few
> lines.
> >>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% which ruby
> >>>> /usr/local/opt/ruby/bin/ruby
> >>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ruby -v
> >>>> ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]
> >>>>
> >>>> So why doesn't whimsy find Ruby 2.7? Because localhost/test.cgi has
> this:
> >>>> PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
> >>>> Where did that come from?
> >>>>>
> >>>>> The main whimsy menu is static HTML, so no Ruby code is run.
> >>>>>
> >>>>> test.cgi doesn't depend on much, and can run with Ruby 2.3, so it
> also works.
> >>>>>
> >>>>> members/proxy does depend on a number of gems, and those gems are not
> >>>>> installed using Ruby 2.3 on your machine.
> >>>>>
> >>>>> You could get past this immediate problem by installing those gems
> >>>>> under Ruby 2.3, but I suspect that you will be a lot happier using
> the
> >>>>> same version of Ruby everywhere.
> >>>>>
> >>>>> Once you have set your path, you can verify it visiting
> >>>>> http://whimsy.local/test.cgi and looking for the value of PATH.  If
> >>>>> you add anything to the query part of the URL (for example, by
> >>>>> visiting http://whimsy.local/test.cgi?help) you will see
> considerably
> >>>>> more information, such as the actual version of Ruby used, your gem
> >>>>> path, etc.
> >>>>>
> >>>>> Once you are running CGI scripts using Ruby 2.7, I suspect that
> >>>>> members/proxy.cgi will work as you have the necessary gems installed.
> >>>>>
> >>>>> And finally, the reason passenger applications work is that the
> >>>>> version of Ruby to be used for passenger applications is specified in
> >>>>> /etc/apache2/other/passenger.conf.
> >>>>>
> >>>>> - Sam Ruby
> >>>>>
> >>>>> On Wed, Jun 17, 2020 at 1:59 PM Craig Russell <ap...@gmail.com>
> wrote:
> >>>>>>
> >>>>>> Deleting that file solved the issue with board/agenda. It now works.
> >>>>>>
> >>>>>> And I can reliably get the whimsy main page and officers/test.cgi
> and members/test.cgi to work.
> >>>>>>
> >>>>>> But http://localhost/members/proxy.cgi gives me an error 500 page.
> In the httpd log:
> >>>>>> [Wed Jun 17 10:40:57.734041 2020] [cgi:error] [pid 55728] [client
> 127.0.0.1:58309] AH01215:
> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
> `require': cannot load such file -- wunderbar (LoadError):
> /srv/whimsy/www/members/proxy.cgi
> >>>>>> [Wed Jun 17 10:40:57.734156 2020] [cgi:error] [pid 55728] [client
> 127.0.0.1:58309] AH01215: \tfrom
> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
> `require': /srv/whimsy/www/members/proxy.cgi
> >>>>>>
> >>>>>> I looked in my local /srv/whimsy/www/members:
> >>>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l
> /srv/whimsy/www/members/proxy.cgi
> >>>>>> -rwxr-xr-x@ 1 clr  staff  10789 Jun 14 14:39
> /srv/whimsy/www/members/proxy.cgi
> >>>>>>
> >>>>>> This is consistent with the above:
> >>>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l
> /srv/whimsy/www/officers/index.cgi
> >>>>>> -rwxr-xr-x  1 clr  staff  2272 Apr 20 11:01
> /srv/whimsy/www/officers/index.cgi
> >>>>>>
> >>>>>> Trying to  load the "useful officer tools" using either
> localhost/officers/index.cgi or localhost/officers which then goes to
> index.cgi which exists in the local /srv repository...
> >>>>>>
> >>>>>> [Wed Jun 17 10:51:15.819032 2020] [:debug] [pid 55727]
> mod_hfs_apple2.c(384): [client 127.0.0.1:58401] mod_hfs_apple: Final
> check compares: /srv/whimsy/www/officers/index.cgi vs
> /srv/whimsy/www/officers/, length 24
> >>>>>> [Wed Jun 17 10:51:15.819050 2020] [:debug] [pid 55727]
> mod_hfs_apple2.c(397): [client 127.0.0.1:58401] mod_hfs_apple: Allowing
> access with matching directory. filename =
> /srv/whimsy/www/officers/index.cgi
> >>>>>> [Wed Jun 17 10:51:15.956428 2020] [cgi:error] [pid 55727] [client
> 127.0.0.1:58401] AH01215:
> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
> `require': cannot load such file -- wunderbar (LoadError):
> /srv/whimsy/www/officers/index.cgi
> >>>>>> [Wed Jun 17 10:51:15.956557 2020] [cgi:error] [pid 55727] [client
> 127.0.0.1:58401] AH01215: \tfrom
> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
> `require': /srv/whimsy/www/officers/index.cgi
> >>>>>> [Wed Jun 17 10:51:15.956608 2020] [cgi:error] [pid 55727] [client
> 127.0.0.1:58401] AH01215: \tfrom
> /Users/clr/apache/git/whimsy/lib/whimsy/asf/ldap.rb:34:in `<top
> (required)>': /srv/whimsy/www/officers/index.cgi
> >>>>>> [Wed Jun 17 10:51:15.956646 2020] [cgi:error] [pid 55727] [client
> 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in
> `require_relative': /srv/whimsy/www/officers/index.cgi
> >>>>>> [Wed Jun 17 10:51:15.956682 2020] [cgi:error] [pid 55727] [client
> 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `<top
> (required)>': /srv/whimsy/www/officers/index.cgi
> >>>>>> [Wed Jun 17 10:51:15.956760 2020] [cgi:error] [pid 55727] [client
> 127.0.0.1:58401] AH01215: \tfrom
> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
> `require': /srv/whimsy/www/officers/index.cgi
> >>>>>> [Wed Jun 17 10:51:15.956831 2020] [cgi:error] [pid 55727] [client
> 127.0.0.1:58401] AH01215: \tfrom
> /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
> `require': /srv/whimsy/www/officers/index.cgi
> >>>>>> [Wed Jun 17 10:51:15.956864 2020] [cgi:error] [pid 55727] [client
> 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/www/officers/index.cgi:6:in
> `<main>': /srv/whimsy/www/officers/index.cgi
> >>>>>> [Wed Jun 17 10:51:15.960403 2020] [cgi:error] [pid 55727] [client
> 127.0.0.1:58401] End of script output before headers: index.cgi
> >>>>>> [Wed Jun 17 10:51:15.960633 2020] [authz_core:debug] [pid 55727]
> mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization
> result of Require all granted: granted
> >>>>>> [Wed Jun 17 10:51:15.960657 2020] [authz_core:debug] [pid 55727]
> mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization
> result of <RequireAny>: granted
> >>>>>> [Wed Jun 17 10:51:15.960785 2020] [:debug] [pid 55727]
> mod_hfs_apple2.c(363): [client 127.0.0.1:58401] mod_hfs_apple:
> compare_paths / vs /srv/whimsy/www/500.html/, related=1
> >>>>>>
> >>>>>>> On Jun 17, 2020, at 10:13 AM, Sam Ruby <ru...@intertwingly.net>
> wrote:
> >>>>>>>
> >>>>>>> On Wed, Jun 17, 2020 at 12:53 PM Craig Russell <
> apache.clr@gmail.com> wrote:
> >>>>>>>>
> >>>>>>>> It looks like there is some problem with Passenger. IIRC the only
> way I have used Passenger is with Whimsy.
> >>>>>>>
> >>>>>>> [snip lots of scary warnings]
> >>>>>>>>
> >>>>>>>> App 55090 output:  [passenger_native_support.bundle] will not be
> used (can't compile or download)
> >>>>>>>> App 55090 output:   --> Passenger will still operate normally.
> >>>>>>>> App 55090 output: Error: The application encountered the
> following error: Permission denied @ rb_sysopen - /Users/clr/.whimsy
> (Errno::EACCES)
> >>>>>>>
> >>>>>>> Try changing permissions, or deleting or renaming that file
> temporarily.
> >>>>>>>
> >>>>>>> - Sam Ruby
> >>>>>>
> >>>>>> Craig L Russell
> >>>>>> clr@apache.org
> >>>>>>
> >>>>
> >>>> Craig L Russell
> >>>> clr@apache.org
> >>>>
> >>
> >> Craig L Russell
> >> clr@apache.org
>
> Craig L Russell
> clr@apache.org
>
>

Re: whimsy still errors

Posted by Craig Russell <ap...@gmail.com>.

> On Jun 17, 2020, at 3:00 PM, sebb <se...@gmail.com> wrote:
> 
> On Wed, 17 Jun 2020 at 22:19, Craig Russell <apache.clr@gmail.com <ma...@gmail.com>> wrote:
>> 
>> I edited /etc/apache2/httpd.conf and added this:
>> SetEnv PATH /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
>> 
>> I restarted the server via:
>> sudo apachectl restart
>> 
>> But localhost/officers/test.cgi still showed:
>> PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
>> Is there something else I can do to affect PATH?
> 
> Try seeing if the SetEnv is being processed at all.
> 
> Add another SetEnv which is unlikely to be overridden, e.g.
> 
> SetEnv XYZABC 123
> 
> and see if that appears in the test.cgi

Yes, I added a special env and it did show up in the test.cgi. But no matter what I do, I cannot get the PATH to change.

I even moved the SetEnv PATH to the very end of the httpd.conf file and still no change to the PATH variable in test.cgi.

???
Craig

> 
>> Craig
>> 
>>> On Jun 17, 2020, at 12:37 PM, sebb <se...@gmail.com> wrote:
>>> 
>>> You should also be able to change the path in httpd.conf
>>> 
>>> SetEnv PATH ...:${PATH}
>>> 
>>> 
>>> On Wed, 17 Jun 2020 at 20:20, Craig Russell <ap...@gmail.com> wrote:
>>>> 
>>>> 
>>>> 
>>>>> On Jun 17, 2020, at 11:43 AM, Sam Ruby <ru...@intertwingly.net> wrote:
>>>>> 
>>>>> You are getting close, and this problem I can fully explain.
>>>>> 
>>>>> Prior stack traces indicated that you were running Ruby 2.7
>>>>> (presumably from homebrew?).  This stack trace indicates that you are
>>>>> running Ruby 2.3 (the system installed Ruby).
>>>>> 
>>>>> Each version of Ruby has its own set of installed Gems.  The fact that
>>>>> you can get the board agenda tool up and running indicates that you
>>>>> have a complete set of gems installed with Ruby 2.7.
>>>>> 
>>>>> If you look at the top line of any CGI file, it says "#!/usr/bin/env
>>>>> ruby".  This will load the Ruby interpreter based on your PATH
>>>>> environment variable.
>>>>> 
>>>>> You should be able to control the value of the PATH environment
>>>>> variable by adding a <key> / <string> pair to the
>>>>> <key>EnvironmentVariables</key> <dict> entry in
>>>>> /System/Library/LaunchDaemons/org.apache.httpd.plist, and then
>>>>> restarting httpd.  This sounds complicated, but it will make sense
>>>>> when you look at the contents of that file.
>>>> 
>>>> I cannot edit that file. By design, it's protected by Apple. One suggestion is to do:
>>>>> Just create your own plist in /Library/LauchDaemons that contains the changes you need. Load that plist instead of the System LaunchDaemon. Once created, you will need to change the owner:group to root:wheel an the same permissions as on the original.
>>>> 
>>>> 
>>>> So is there some way to tell the launch daemon to use a different plist?
>>>> 
>>>> My PATH is set up with /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin as the first few lines.
>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% which ruby
>>>> /usr/local/opt/ruby/bin/ruby
>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ruby -v
>>>> ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]
>>>> 
>>>> So why doesn't whimsy find Ruby 2.7? Because localhost/test.cgi has this:
>>>> PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
>>>> Where did that come from?
>>>>> 
>>>>> The main whimsy menu is static HTML, so no Ruby code is run.
>>>>> 
>>>>> test.cgi doesn't depend on much, and can run with Ruby 2.3, so it also works.
>>>>> 
>>>>> members/proxy does depend on a number of gems, and those gems are not
>>>>> installed using Ruby 2.3 on your machine.
>>>>> 
>>>>> You could get past this immediate problem by installing those gems
>>>>> under Ruby 2.3, but I suspect that you will be a lot happier using the
>>>>> same version of Ruby everywhere.
>>>>> 
>>>>> Once you have set your path, you can verify it visiting
>>>>> http://whimsy.local/test.cgi and looking for the value of PATH.  If
>>>>> you add anything to the query part of the URL (for example, by
>>>>> visiting http://whimsy.local/test.cgi?help) you will see considerably
>>>>> more information, such as the actual version of Ruby used, your gem
>>>>> path, etc.
>>>>> 
>>>>> Once you are running CGI scripts using Ruby 2.7, I suspect that
>>>>> members/proxy.cgi will work as you have the necessary gems installed.
>>>>> 
>>>>> And finally, the reason passenger applications work is that the
>>>>> version of Ruby to be used for passenger applications is specified in
>>>>> /etc/apache2/other/passenger.conf.
>>>>> 
>>>>> - Sam Ruby
>>>>> 
>>>>> On Wed, Jun 17, 2020 at 1:59 PM Craig Russell <ap...@gmail.com> wrote:
>>>>>> 
>>>>>> Deleting that file solved the issue with board/agenda. It now works.
>>>>>> 
>>>>>> And I can reliably get the whimsy main page and officers/test.cgi and members/test.cgi to work.
>>>>>> 
>>>>>> But http://localhost/members/proxy.cgi gives me an error 500 page. In the httpd log:
>>>>>> [Wed Jun 17 10:40:57.734041 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/members/proxy.cgi
>>>>>> [Wed Jun 17 10:40:57.734156 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/members/proxy.cgi
>>>>>> 
>>>>>> I looked in my local /srv/whimsy/www/members:
>>>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/members/proxy.cgi
>>>>>> -rwxr-xr-x@ 1 clr  staff  10789 Jun 14 14:39 /srv/whimsy/www/members/proxy.cgi
>>>>>> 
>>>>>> This is consistent with the above:
>>>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/officers/index.cgi
>>>>>> -rwxr-xr-x  1 clr  staff  2272 Apr 20 11:01 /srv/whimsy/www/officers/index.cgi
>>>>>> 
>>>>>> Trying to  load the "useful officer tools" using either localhost/officers/index.cgi or localhost/officers which then goes to index.cgi which exists in the local /srv repository...
>>>>>> 
>>>>>> [Wed Jun 17 10:51:15.819032 2020] [:debug] [pid 55727] mod_hfs_apple2.c(384): [client 127.0.0.1:58401] mod_hfs_apple: Final check compares: /srv/whimsy/www/officers/index.cgi vs /srv/whimsy/www/officers/, length 24
>>>>>> [Wed Jun 17 10:51:15.819050 2020] [:debug] [pid 55727] mod_hfs_apple2.c(397): [client 127.0.0.1:58401] mod_hfs_apple: Allowing access with matching directory. filename = /srv/whimsy/www/officers/index.cgi
>>>>>> [Wed Jun 17 10:51:15.956428 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/officers/index.cgi
>>>>>> [Wed Jun 17 10:51:15.956557 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
>>>>>> [Wed Jun 17 10:51:15.956608 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /Users/clr/apache/git/whimsy/lib/whimsy/asf/ldap.rb:34:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
>>>>>> [Wed Jun 17 10:51:15.956646 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `require_relative': /srv/whimsy/www/officers/index.cgi
>>>>>> [Wed Jun 17 10:51:15.956682 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
>>>>>> [Wed Jun 17 10:51:15.956760 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
>>>>>> [Wed Jun 17 10:51:15.956831 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
>>>>>> [Wed Jun 17 10:51:15.956864 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/www/officers/index.cgi:6:in `<main>': /srv/whimsy/www/officers/index.cgi
>>>>>> [Wed Jun 17 10:51:15.960403 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] End of script output before headers: index.cgi
>>>>>> [Wed Jun 17 10:51:15.960633 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of Require all granted: granted
>>>>>> [Wed Jun 17 10:51:15.960657 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of <RequireAny>: granted
>>>>>> [Wed Jun 17 10:51:15.960785 2020] [:debug] [pid 55727] mod_hfs_apple2.c(363): [client 127.0.0.1:58401] mod_hfs_apple: compare_paths / vs /srv/whimsy/www/500.html/, related=1
>>>>>> 
>>>>>>> On Jun 17, 2020, at 10:13 AM, Sam Ruby <ru...@intertwingly.net> wrote:
>>>>>>> 
>>>>>>> On Wed, Jun 17, 2020 at 12:53 PM Craig Russell <ap...@gmail.com> wrote:
>>>>>>>> 
>>>>>>>> It looks like there is some problem with Passenger. IIRC the only way I have used Passenger is with Whimsy.
>>>>>>> 
>>>>>>> [snip lots of scary warnings]
>>>>>>>> 
>>>>>>>> App 55090 output:  [passenger_native_support.bundle] will not be used (can't compile or download)
>>>>>>>> App 55090 output:   --> Passenger will still operate normally.
>>>>>>>> App 55090 output: Error: The application encountered the following error: Permission denied @ rb_sysopen - /Users/clr/.whimsy (Errno::EACCES)
>>>>>>> 
>>>>>>> Try changing permissions, or deleting or renaming that file temporarily.
>>>>>>> 
>>>>>>> - Sam Ruby
>>>>>> 
>>>>>> Craig L Russell
>>>>>> clr@apache.org
>>>>>> 
>>>> 
>>>> Craig L Russell
>>>> clr@apache.org
>>>> 
>> 
>> Craig L Russell
>> clr@apache.org

Craig L Russell
clr@apache.org


Re: whimsy still errors

Posted by sebb <se...@gmail.com>.
On Wed, 17 Jun 2020 at 22:19, Craig Russell <ap...@gmail.com> wrote:
>
> I edited /etc/apache2/httpd.conf and added this:
> SetEnv PATH /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
>
> I restarted the server via:
> sudo apachectl restart
>
> But localhost/officers/test.cgi still showed:
> PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
> Is there something else I can do to affect PATH?

Try seeing if the SetEnv is being processed at all.

Add another SetEnv which is unlikely to be overridden, e.g.

SetEnv XYZABC 123

and see if that appears in the test.cgi

> Craig
>
> > On Jun 17, 2020, at 12:37 PM, sebb <se...@gmail.com> wrote:
> >
> > You should also be able to change the path in httpd.conf
> >
> > SetEnv PATH ...:${PATH}
> >
> >
> > On Wed, 17 Jun 2020 at 20:20, Craig Russell <ap...@gmail.com> wrote:
> >>
> >>
> >>
> >>> On Jun 17, 2020, at 11:43 AM, Sam Ruby <ru...@intertwingly.net> wrote:
> >>>
> >>> You are getting close, and this problem I can fully explain.
> >>>
> >>> Prior stack traces indicated that you were running Ruby 2.7
> >>> (presumably from homebrew?).  This stack trace indicates that you are
> >>> running Ruby 2.3 (the system installed Ruby).
> >>>
> >>> Each version of Ruby has its own set of installed Gems.  The fact that
> >>> you can get the board agenda tool up and running indicates that you
> >>> have a complete set of gems installed with Ruby 2.7.
> >>>
> >>> If you look at the top line of any CGI file, it says "#!/usr/bin/env
> >>> ruby".  This will load the Ruby interpreter based on your PATH
> >>> environment variable.
> >>>
> >>> You should be able to control the value of the PATH environment
> >>> variable by adding a <key> / <string> pair to the
> >>> <key>EnvironmentVariables</key> <dict> entry in
> >>> /System/Library/LaunchDaemons/org.apache.httpd.plist, and then
> >>> restarting httpd.  This sounds complicated, but it will make sense
> >>> when you look at the contents of that file.
> >>
> >> I cannot edit that file. By design, it's protected by Apple. One suggestion is to do:
> >>> Just create your own plist in /Library/LauchDaemons that contains the changes you need. Load that plist instead of the System LaunchDaemon. Once created, you will need to change the owner:group to root:wheel an the same permissions as on the original.
> >>
> >>
> >> So is there some way to tell the launch daemon to use a different plist?
> >>
> >> My PATH is set up with /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin as the first few lines.
> >> [MacBook-Pro-10:~/apache/git/whimsy] clr% which ruby
> >> /usr/local/opt/ruby/bin/ruby
> >> [MacBook-Pro-10:~/apache/git/whimsy] clr% ruby -v
> >> ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]
> >>
> >> So why doesn't whimsy find Ruby 2.7? Because localhost/test.cgi has this:
> >> PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
> >> Where did that come from?
> >>>
> >>> The main whimsy menu is static HTML, so no Ruby code is run.
> >>>
> >>> test.cgi doesn't depend on much, and can run with Ruby 2.3, so it also works.
> >>>
> >>> members/proxy does depend on a number of gems, and those gems are not
> >>> installed using Ruby 2.3 on your machine.
> >>>
> >>> You could get past this immediate problem by installing those gems
> >>> under Ruby 2.3, but I suspect that you will be a lot happier using the
> >>> same version of Ruby everywhere.
> >>>
> >>> Once you have set your path, you can verify it visiting
> >>> http://whimsy.local/test.cgi and looking for the value of PATH.  If
> >>> you add anything to the query part of the URL (for example, by
> >>> visiting http://whimsy.local/test.cgi?help) you will see considerably
> >>> more information, such as the actual version of Ruby used, your gem
> >>> path, etc.
> >>>
> >>> Once you are running CGI scripts using Ruby 2.7, I suspect that
> >>> members/proxy.cgi will work as you have the necessary gems installed.
> >>>
> >>> And finally, the reason passenger applications work is that the
> >>> version of Ruby to be used for passenger applications is specified in
> >>> /etc/apache2/other/passenger.conf.
> >>>
> >>> - Sam Ruby
> >>>
> >>> On Wed, Jun 17, 2020 at 1:59 PM Craig Russell <ap...@gmail.com> wrote:
> >>>>
> >>>> Deleting that file solved the issue with board/agenda. It now works.
> >>>>
> >>>> And I can reliably get the whimsy main page and officers/test.cgi and members/test.cgi to work.
> >>>>
> >>>> But http://localhost/members/proxy.cgi gives me an error 500 page. In the httpd log:
> >>>> [Wed Jun 17 10:40:57.734041 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/members/proxy.cgi
> >>>> [Wed Jun 17 10:40:57.734156 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/members/proxy.cgi
> >>>>
> >>>> I looked in my local /srv/whimsy/www/members:
> >>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/members/proxy.cgi
> >>>> -rwxr-xr-x@ 1 clr  staff  10789 Jun 14 14:39 /srv/whimsy/www/members/proxy.cgi
> >>>>
> >>>> This is consistent with the above:
> >>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/officers/index.cgi
> >>>> -rwxr-xr-x  1 clr  staff  2272 Apr 20 11:01 /srv/whimsy/www/officers/index.cgi
> >>>>
> >>>> Trying to  load the "useful officer tools" using either localhost/officers/index.cgi or localhost/officers which then goes to index.cgi which exists in the local /srv repository...
> >>>>
> >>>> [Wed Jun 17 10:51:15.819032 2020] [:debug] [pid 55727] mod_hfs_apple2.c(384): [client 127.0.0.1:58401] mod_hfs_apple: Final check compares: /srv/whimsy/www/officers/index.cgi vs /srv/whimsy/www/officers/, length 24
> >>>> [Wed Jun 17 10:51:15.819050 2020] [:debug] [pid 55727] mod_hfs_apple2.c(397): [client 127.0.0.1:58401] mod_hfs_apple: Allowing access with matching directory. filename = /srv/whimsy/www/officers/index.cgi
> >>>> [Wed Jun 17 10:51:15.956428 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/officers/index.cgi
> >>>> [Wed Jun 17 10:51:15.956557 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
> >>>> [Wed Jun 17 10:51:15.956608 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /Users/clr/apache/git/whimsy/lib/whimsy/asf/ldap.rb:34:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
> >>>> [Wed Jun 17 10:51:15.956646 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `require_relative': /srv/whimsy/www/officers/index.cgi
> >>>> [Wed Jun 17 10:51:15.956682 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
> >>>> [Wed Jun 17 10:51:15.956760 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
> >>>> [Wed Jun 17 10:51:15.956831 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
> >>>> [Wed Jun 17 10:51:15.956864 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/www/officers/index.cgi:6:in `<main>': /srv/whimsy/www/officers/index.cgi
> >>>> [Wed Jun 17 10:51:15.960403 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] End of script output before headers: index.cgi
> >>>> [Wed Jun 17 10:51:15.960633 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of Require all granted: granted
> >>>> [Wed Jun 17 10:51:15.960657 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of <RequireAny>: granted
> >>>> [Wed Jun 17 10:51:15.960785 2020] [:debug] [pid 55727] mod_hfs_apple2.c(363): [client 127.0.0.1:58401] mod_hfs_apple: compare_paths / vs /srv/whimsy/www/500.html/, related=1
> >>>>
> >>>>> On Jun 17, 2020, at 10:13 AM, Sam Ruby <ru...@intertwingly.net> wrote:
> >>>>>
> >>>>> On Wed, Jun 17, 2020 at 12:53 PM Craig Russell <ap...@gmail.com> wrote:
> >>>>>>
> >>>>>> It looks like there is some problem with Passenger. IIRC the only way I have used Passenger is with Whimsy.
> >>>>>
> >>>>> [snip lots of scary warnings]
> >>>>>>
> >>>>>> App 55090 output:  [passenger_native_support.bundle] will not be used (can't compile or download)
> >>>>>> App 55090 output:   --> Passenger will still operate normally.
> >>>>>> App 55090 output: Error: The application encountered the following error: Permission denied @ rb_sysopen - /Users/clr/.whimsy (Errno::EACCES)
> >>>>>
> >>>>> Try changing permissions, or deleting or renaming that file temporarily.
> >>>>>
> >>>>> - Sam Ruby
> >>>>
> >>>> Craig L Russell
> >>>> clr@apache.org
> >>>>
> >>
> >> Craig L Russell
> >> clr@apache.org
> >>
>
> Craig L Russell
> clr@apache.org
>

Re: whimsy still errors

Posted by Craig Russell <ap...@gmail.com>.
I edited /etc/apache2/httpd.conf and added this:
SetEnv PATH /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

I restarted the server via:
sudo apachectl restart

But localhost/officers/test.cgi still showed:
PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Is there something else I can do to affect PATH?

Craig

> On Jun 17, 2020, at 12:37 PM, sebb <se...@gmail.com> wrote:
> 
> You should also be able to change the path in httpd.conf
> 
> SetEnv PATH ...:${PATH}
> 
> 
> On Wed, 17 Jun 2020 at 20:20, Craig Russell <ap...@gmail.com> wrote:
>> 
>> 
>> 
>>> On Jun 17, 2020, at 11:43 AM, Sam Ruby <ru...@intertwingly.net> wrote:
>>> 
>>> You are getting close, and this problem I can fully explain.
>>> 
>>> Prior stack traces indicated that you were running Ruby 2.7
>>> (presumably from homebrew?).  This stack trace indicates that you are
>>> running Ruby 2.3 (the system installed Ruby).
>>> 
>>> Each version of Ruby has its own set of installed Gems.  The fact that
>>> you can get the board agenda tool up and running indicates that you
>>> have a complete set of gems installed with Ruby 2.7.
>>> 
>>> If you look at the top line of any CGI file, it says "#!/usr/bin/env
>>> ruby".  This will load the Ruby interpreter based on your PATH
>>> environment variable.
>>> 
>>> You should be able to control the value of the PATH environment
>>> variable by adding a <key> / <string> pair to the
>>> <key>EnvironmentVariables</key> <dict> entry in
>>> /System/Library/LaunchDaemons/org.apache.httpd.plist, and then
>>> restarting httpd.  This sounds complicated, but it will make sense
>>> when you look at the contents of that file.
>> 
>> I cannot edit that file. By design, it's protected by Apple. One suggestion is to do:
>>> Just create your own plist in /Library/LauchDaemons that contains the changes you need. Load that plist instead of the System LaunchDaemon. Once created, you will need to change the owner:group to root:wheel an the same permissions as on the original.
>> 
>> 
>> So is there some way to tell the launch daemon to use a different plist?
>> 
>> My PATH is set up with /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin as the first few lines.
>> [MacBook-Pro-10:~/apache/git/whimsy] clr% which ruby
>> /usr/local/opt/ruby/bin/ruby
>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ruby -v
>> ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]
>> 
>> So why doesn't whimsy find Ruby 2.7? Because localhost/test.cgi has this:
>> PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
>> Where did that come from?
>>> 
>>> The main whimsy menu is static HTML, so no Ruby code is run.
>>> 
>>> test.cgi doesn't depend on much, and can run with Ruby 2.3, so it also works.
>>> 
>>> members/proxy does depend on a number of gems, and those gems are not
>>> installed using Ruby 2.3 on your machine.
>>> 
>>> You could get past this immediate problem by installing those gems
>>> under Ruby 2.3, but I suspect that you will be a lot happier using the
>>> same version of Ruby everywhere.
>>> 
>>> Once you have set your path, you can verify it visiting
>>> http://whimsy.local/test.cgi and looking for the value of PATH.  If
>>> you add anything to the query part of the URL (for example, by
>>> visiting http://whimsy.local/test.cgi?help) you will see considerably
>>> more information, such as the actual version of Ruby used, your gem
>>> path, etc.
>>> 
>>> Once you are running CGI scripts using Ruby 2.7, I suspect that
>>> members/proxy.cgi will work as you have the necessary gems installed.
>>> 
>>> And finally, the reason passenger applications work is that the
>>> version of Ruby to be used for passenger applications is specified in
>>> /etc/apache2/other/passenger.conf.
>>> 
>>> - Sam Ruby
>>> 
>>> On Wed, Jun 17, 2020 at 1:59 PM Craig Russell <ap...@gmail.com> wrote:
>>>> 
>>>> Deleting that file solved the issue with board/agenda. It now works.
>>>> 
>>>> And I can reliably get the whimsy main page and officers/test.cgi and members/test.cgi to work.
>>>> 
>>>> But http://localhost/members/proxy.cgi gives me an error 500 page. In the httpd log:
>>>> [Wed Jun 17 10:40:57.734041 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/members/proxy.cgi
>>>> [Wed Jun 17 10:40:57.734156 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/members/proxy.cgi
>>>> 
>>>> I looked in my local /srv/whimsy/www/members:
>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/members/proxy.cgi
>>>> -rwxr-xr-x@ 1 clr  staff  10789 Jun 14 14:39 /srv/whimsy/www/members/proxy.cgi
>>>> 
>>>> This is consistent with the above:
>>>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/officers/index.cgi
>>>> -rwxr-xr-x  1 clr  staff  2272 Apr 20 11:01 /srv/whimsy/www/officers/index.cgi
>>>> 
>>>> Trying to  load the "useful officer tools" using either localhost/officers/index.cgi or localhost/officers which then goes to index.cgi which exists in the local /srv repository...
>>>> 
>>>> [Wed Jun 17 10:51:15.819032 2020] [:debug] [pid 55727] mod_hfs_apple2.c(384): [client 127.0.0.1:58401] mod_hfs_apple: Final check compares: /srv/whimsy/www/officers/index.cgi vs /srv/whimsy/www/officers/, length 24
>>>> [Wed Jun 17 10:51:15.819050 2020] [:debug] [pid 55727] mod_hfs_apple2.c(397): [client 127.0.0.1:58401] mod_hfs_apple: Allowing access with matching directory. filename = /srv/whimsy/www/officers/index.cgi
>>>> [Wed Jun 17 10:51:15.956428 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/officers/index.cgi
>>>> [Wed Jun 17 10:51:15.956557 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
>>>> [Wed Jun 17 10:51:15.956608 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /Users/clr/apache/git/whimsy/lib/whimsy/asf/ldap.rb:34:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
>>>> [Wed Jun 17 10:51:15.956646 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `require_relative': /srv/whimsy/www/officers/index.cgi
>>>> [Wed Jun 17 10:51:15.956682 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
>>>> [Wed Jun 17 10:51:15.956760 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
>>>> [Wed Jun 17 10:51:15.956831 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
>>>> [Wed Jun 17 10:51:15.956864 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/www/officers/index.cgi:6:in `<main>': /srv/whimsy/www/officers/index.cgi
>>>> [Wed Jun 17 10:51:15.960403 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] End of script output before headers: index.cgi
>>>> [Wed Jun 17 10:51:15.960633 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of Require all granted: granted
>>>> [Wed Jun 17 10:51:15.960657 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of <RequireAny>: granted
>>>> [Wed Jun 17 10:51:15.960785 2020] [:debug] [pid 55727] mod_hfs_apple2.c(363): [client 127.0.0.1:58401] mod_hfs_apple: compare_paths / vs /srv/whimsy/www/500.html/, related=1
>>>> 
>>>>> On Jun 17, 2020, at 10:13 AM, Sam Ruby <ru...@intertwingly.net> wrote:
>>>>> 
>>>>> On Wed, Jun 17, 2020 at 12:53 PM Craig Russell <ap...@gmail.com> wrote:
>>>>>> 
>>>>>> It looks like there is some problem with Passenger. IIRC the only way I have used Passenger is with Whimsy.
>>>>> 
>>>>> [snip lots of scary warnings]
>>>>>> 
>>>>>> App 55090 output:  [passenger_native_support.bundle] will not be used (can't compile or download)
>>>>>> App 55090 output:   --> Passenger will still operate normally.
>>>>>> App 55090 output: Error: The application encountered the following error: Permission denied @ rb_sysopen - /Users/clr/.whimsy (Errno::EACCES)
>>>>> 
>>>>> Try changing permissions, or deleting or renaming that file temporarily.
>>>>> 
>>>>> - Sam Ruby
>>>> 
>>>> Craig L Russell
>>>> clr@apache.org
>>>> 
>> 
>> Craig L Russell
>> clr@apache.org
>> 

Craig L Russell
clr@apache.org


Re: whimsy still errors

Posted by sebb <se...@gmail.com>.
You should also be able to change the path in httpd.conf

SetEnv PATH ...:${PATH}


On Wed, 17 Jun 2020 at 20:20, Craig Russell <ap...@gmail.com> wrote:
>
>
>
> > On Jun 17, 2020, at 11:43 AM, Sam Ruby <ru...@intertwingly.net> wrote:
> >
> > You are getting close, and this problem I can fully explain.
> >
> > Prior stack traces indicated that you were running Ruby 2.7
> > (presumably from homebrew?).  This stack trace indicates that you are
> > running Ruby 2.3 (the system installed Ruby).
> >
> > Each version of Ruby has its own set of installed Gems.  The fact that
> > you can get the board agenda tool up and running indicates that you
> > have a complete set of gems installed with Ruby 2.7.
> >
> > If you look at the top line of any CGI file, it says "#!/usr/bin/env
> > ruby".  This will load the Ruby interpreter based on your PATH
> > environment variable.
> >
> > You should be able to control the value of the PATH environment
> > variable by adding a <key> / <string> pair to the
> > <key>EnvironmentVariables</key> <dict> entry in
> > /System/Library/LaunchDaemons/org.apache.httpd.plist, and then
> > restarting httpd.  This sounds complicated, but it will make sense
> > when you look at the contents of that file.
>
> I cannot edit that file. By design, it's protected by Apple. One suggestion is to do:
> > Just create your own plist in /Library/LauchDaemons that contains the changes you need. Load that plist instead of the System LaunchDaemon. Once created, you will need to change the owner:group to root:wheel an the same permissions as on the original.
>
>
> So is there some way to tell the launch daemon to use a different plist?
>
> My PATH is set up with /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin as the first few lines.
> [MacBook-Pro-10:~/apache/git/whimsy] clr% which ruby
> /usr/local/opt/ruby/bin/ruby
> [MacBook-Pro-10:~/apache/git/whimsy] clr% ruby -v
> ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]
>
> So why doesn't whimsy find Ruby 2.7? Because localhost/test.cgi has this:
> PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
> Where did that come from?
> >
> > The main whimsy menu is static HTML, so no Ruby code is run.
> >
> > test.cgi doesn't depend on much, and can run with Ruby 2.3, so it also works.
> >
> > members/proxy does depend on a number of gems, and those gems are not
> > installed using Ruby 2.3 on your machine.
> >
> > You could get past this immediate problem by installing those gems
> > under Ruby 2.3, but I suspect that you will be a lot happier using the
> > same version of Ruby everywhere.
> >
> > Once you have set your path, you can verify it visiting
> > http://whimsy.local/test.cgi and looking for the value of PATH.  If
> > you add anything to the query part of the URL (for example, by
> > visiting http://whimsy.local/test.cgi?help) you will see considerably
> > more information, such as the actual version of Ruby used, your gem
> > path, etc.
> >
> > Once you are running CGI scripts using Ruby 2.7, I suspect that
> > members/proxy.cgi will work as you have the necessary gems installed.
> >
> > And finally, the reason passenger applications work is that the
> > version of Ruby to be used for passenger applications is specified in
> > /etc/apache2/other/passenger.conf.
> >
> > - Sam Ruby
> >
> > On Wed, Jun 17, 2020 at 1:59 PM Craig Russell <ap...@gmail.com> wrote:
> >>
> >> Deleting that file solved the issue with board/agenda. It now works.
> >>
> >> And I can reliably get the whimsy main page and officers/test.cgi and members/test.cgi to work.
> >>
> >> But http://localhost/members/proxy.cgi gives me an error 500 page. In the httpd log:
> >> [Wed Jun 17 10:40:57.734041 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/members/proxy.cgi
> >> [Wed Jun 17 10:40:57.734156 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/members/proxy.cgi
> >>
> >> I looked in my local /srv/whimsy/www/members:
> >> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/members/proxy.cgi
> >> -rwxr-xr-x@ 1 clr  staff  10789 Jun 14 14:39 /srv/whimsy/www/members/proxy.cgi
> >>
> >> This is consistent with the above:
> >> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/officers/index.cgi
> >> -rwxr-xr-x  1 clr  staff  2272 Apr 20 11:01 /srv/whimsy/www/officers/index.cgi
> >>
> >> Trying to  load the "useful officer tools" using either localhost/officers/index.cgi or localhost/officers which then goes to index.cgi which exists in the local /srv repository...
> >>
> >> [Wed Jun 17 10:51:15.819032 2020] [:debug] [pid 55727] mod_hfs_apple2.c(384): [client 127.0.0.1:58401] mod_hfs_apple: Final check compares: /srv/whimsy/www/officers/index.cgi vs /srv/whimsy/www/officers/, length 24
> >> [Wed Jun 17 10:51:15.819050 2020] [:debug] [pid 55727] mod_hfs_apple2.c(397): [client 127.0.0.1:58401] mod_hfs_apple: Allowing access with matching directory. filename = /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956428 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956557 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956608 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /Users/clr/apache/git/whimsy/lib/whimsy/asf/ldap.rb:34:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956646 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `require_relative': /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956682 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956760 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956831 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.956864 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/www/officers/index.cgi:6:in `<main>': /srv/whimsy/www/officers/index.cgi
> >> [Wed Jun 17 10:51:15.960403 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] End of script output before headers: index.cgi
> >> [Wed Jun 17 10:51:15.960633 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of Require all granted: granted
> >> [Wed Jun 17 10:51:15.960657 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of <RequireAny>: granted
> >> [Wed Jun 17 10:51:15.960785 2020] [:debug] [pid 55727] mod_hfs_apple2.c(363): [client 127.0.0.1:58401] mod_hfs_apple: compare_paths / vs /srv/whimsy/www/500.html/, related=1
> >>
> >>> On Jun 17, 2020, at 10:13 AM, Sam Ruby <ru...@intertwingly.net> wrote:
> >>>
> >>> On Wed, Jun 17, 2020 at 12:53 PM Craig Russell <ap...@gmail.com> wrote:
> >>>>
> >>>> It looks like there is some problem with Passenger. IIRC the only way I have used Passenger is with Whimsy.
> >>>
> >>> [snip lots of scary warnings]
> >>>>
> >>>> App 55090 output:  [passenger_native_support.bundle] will not be used (can't compile or download)
> >>>> App 55090 output:   --> Passenger will still operate normally.
> >>>> App 55090 output: Error: The application encountered the following error: Permission denied @ rb_sysopen - /Users/clr/.whimsy (Errno::EACCES)
> >>>
> >>> Try changing permissions, or deleting or renaming that file temporarily.
> >>>
> >>> - Sam Ruby
> >>
> >> Craig L Russell
> >> clr@apache.org
> >>
>
> Craig L Russell
> clr@apache.org
>

Re: whimsy still errors

Posted by Craig Russell <ap...@gmail.com>.

> On Jun 17, 2020, at 11:43 AM, Sam Ruby <ru...@intertwingly.net> wrote:
> 
> You are getting close, and this problem I can fully explain.
> 
> Prior stack traces indicated that you were running Ruby 2.7
> (presumably from homebrew?).  This stack trace indicates that you are
> running Ruby 2.3 (the system installed Ruby).
> 
> Each version of Ruby has its own set of installed Gems.  The fact that
> you can get the board agenda tool up and running indicates that you
> have a complete set of gems installed with Ruby 2.7.
> 
> If you look at the top line of any CGI file, it says "#!/usr/bin/env
> ruby".  This will load the Ruby interpreter based on your PATH
> environment variable.
> 
> You should be able to control the value of the PATH environment
> variable by adding a <key> / <string> pair to the
> <key>EnvironmentVariables</key> <dict> entry in
> /System/Library/LaunchDaemons/org.apache.httpd.plist, and then
> restarting httpd.  This sounds complicated, but it will make sense
> when you look at the contents of that file.

I cannot edit that file. By design, it's protected by Apple. One suggestion is to do:
> Just create your own plist in /Library/LauchDaemons that contains the changes you need. Load that plist instead of the System LaunchDaemon. Once created, you will need to change the owner:group to root:wheel an the same permissions as on the original.


So is there some way to tell the launch daemon to use a different plist?

My PATH is set up with /usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.7.0/bin as the first few lines. 
[MacBook-Pro-10:~/apache/git/whimsy] clr% which ruby
/usr/local/opt/ruby/bin/ruby
[MacBook-Pro-10:~/apache/git/whimsy] clr% ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]

So why doesn't whimsy find Ruby 2.7? Because localhost/test.cgi has this:
PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Where did that come from?
> 
> The main whimsy menu is static HTML, so no Ruby code is run.
> 
> test.cgi doesn't depend on much, and can run with Ruby 2.3, so it also works.
> 
> members/proxy does depend on a number of gems, and those gems are not
> installed using Ruby 2.3 on your machine.
> 
> You could get past this immediate problem by installing those gems
> under Ruby 2.3, but I suspect that you will be a lot happier using the
> same version of Ruby everywhere.
> 
> Once you have set your path, you can verify it visiting
> http://whimsy.local/test.cgi and looking for the value of PATH.  If
> you add anything to the query part of the URL (for example, by
> visiting http://whimsy.local/test.cgi?help) you will see considerably
> more information, such as the actual version of Ruby used, your gem
> path, etc.
> 
> Once you are running CGI scripts using Ruby 2.7, I suspect that
> members/proxy.cgi will work as you have the necessary gems installed.
> 
> And finally, the reason passenger applications work is that the
> version of Ruby to be used for passenger applications is specified in
> /etc/apache2/other/passenger.conf.
> 
> - Sam Ruby
> 
> On Wed, Jun 17, 2020 at 1:59 PM Craig Russell <ap...@gmail.com> wrote:
>> 
>> Deleting that file solved the issue with board/agenda. It now works.
>> 
>> And I can reliably get the whimsy main page and officers/test.cgi and members/test.cgi to work.
>> 
>> But http://localhost/members/proxy.cgi gives me an error 500 page. In the httpd log:
>> [Wed Jun 17 10:40:57.734041 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/members/proxy.cgi
>> [Wed Jun 17 10:40:57.734156 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/members/proxy.cgi
>> 
>> I looked in my local /srv/whimsy/www/members:
>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/members/proxy.cgi
>> -rwxr-xr-x@ 1 clr  staff  10789 Jun 14 14:39 /srv/whimsy/www/members/proxy.cgi
>> 
>> This is consistent with the above:
>> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/officers/index.cgi
>> -rwxr-xr-x  1 clr  staff  2272 Apr 20 11:01 /srv/whimsy/www/officers/index.cgi
>> 
>> Trying to  load the "useful officer tools" using either localhost/officers/index.cgi or localhost/officers which then goes to index.cgi which exists in the local /srv repository...
>> 
>> [Wed Jun 17 10:51:15.819032 2020] [:debug] [pid 55727] mod_hfs_apple2.c(384): [client 127.0.0.1:58401] mod_hfs_apple: Final check compares: /srv/whimsy/www/officers/index.cgi vs /srv/whimsy/www/officers/, length 24
>> [Wed Jun 17 10:51:15.819050 2020] [:debug] [pid 55727] mod_hfs_apple2.c(397): [client 127.0.0.1:58401] mod_hfs_apple: Allowing access with matching directory. filename = /srv/whimsy/www/officers/index.cgi
>> [Wed Jun 17 10:51:15.956428 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/officers/index.cgi
>> [Wed Jun 17 10:51:15.956557 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
>> [Wed Jun 17 10:51:15.956608 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /Users/clr/apache/git/whimsy/lib/whimsy/asf/ldap.rb:34:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
>> [Wed Jun 17 10:51:15.956646 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `require_relative': /srv/whimsy/www/officers/index.cgi
>> [Wed Jun 17 10:51:15.956682 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
>> [Wed Jun 17 10:51:15.956760 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
>> [Wed Jun 17 10:51:15.956831 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
>> [Wed Jun 17 10:51:15.956864 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/www/officers/index.cgi:6:in `<main>': /srv/whimsy/www/officers/index.cgi
>> [Wed Jun 17 10:51:15.960403 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] End of script output before headers: index.cgi
>> [Wed Jun 17 10:51:15.960633 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of Require all granted: granted
>> [Wed Jun 17 10:51:15.960657 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of <RequireAny>: granted
>> [Wed Jun 17 10:51:15.960785 2020] [:debug] [pid 55727] mod_hfs_apple2.c(363): [client 127.0.0.1:58401] mod_hfs_apple: compare_paths / vs /srv/whimsy/www/500.html/, related=1
>> 
>>> On Jun 17, 2020, at 10:13 AM, Sam Ruby <ru...@intertwingly.net> wrote:
>>> 
>>> On Wed, Jun 17, 2020 at 12:53 PM Craig Russell <ap...@gmail.com> wrote:
>>>> 
>>>> It looks like there is some problem with Passenger. IIRC the only way I have used Passenger is with Whimsy.
>>> 
>>> [snip lots of scary warnings]
>>>> 
>>>> App 55090 output:  [passenger_native_support.bundle] will not be used (can't compile or download)
>>>> App 55090 output:   --> Passenger will still operate normally.
>>>> App 55090 output: Error: The application encountered the following error: Permission denied @ rb_sysopen - /Users/clr/.whimsy (Errno::EACCES)
>>> 
>>> Try changing permissions, or deleting or renaming that file temporarily.
>>> 
>>> - Sam Ruby
>> 
>> Craig L Russell
>> clr@apache.org
>> 

Craig L Russell
clr@apache.org


Re: whimsy still errors

Posted by Sam Ruby <ru...@intertwingly.net>.
You are getting close, and this problem I can fully explain.

Prior stack traces indicated that you were running Ruby 2.7
(presumably from homebrew?).  This stack trace indicates that you are
running Ruby 2.3 (the system installed Ruby).

Each version of Ruby has its own set of installed Gems.  The fact that
you can get the board agenda tool up and running indicates that you
have a complete set of gems installed with Ruby 2.7.

If you look at the top line of any CGI file, it says "#!/usr/bin/env
ruby".  This will load the Ruby interpreter based on your PATH
environment variable.

You should be able to control the value of the PATH environment
variable by adding a <key> / <string> pair to the
<key>EnvironmentVariables</key> <dict> entry in
/System/Library/LaunchDaemons/org.apache.httpd.plist, and then
restarting httpd.  This sounds complicated, but it will make sense
when you look at the contents of that file.

The main whimsy menu is static HTML, so no Ruby code is run.

test.cgi doesn't depend on much, and can run with Ruby 2.3, so it also works.

members/proxy does depend on a number of gems, and those gems are not
installed using Ruby 2.3 on your machine.

You could get past this immediate problem by installing those gems
under Ruby 2.3, but I suspect that you will be a lot happier using the
same version of Ruby everywhere.

Once you have set your path, you can verify it visiting
http://whimsy.local/test.cgi and looking for the value of PATH.  If
you add anything to the query part of the URL (for example, by
visiting http://whimsy.local/test.cgi?help) you will see considerably
more information, such as the actual version of Ruby used, your gem
path, etc.

Once you are running CGI scripts using Ruby 2.7, I suspect that
members/proxy.cgi will work as you have the necessary gems installed.

And finally, the reason passenger applications work is that the
version of Ruby to be used for passenger applications is specified in
/etc/apache2/other/passenger.conf.

- Sam Ruby

On Wed, Jun 17, 2020 at 1:59 PM Craig Russell <ap...@gmail.com> wrote:
>
> Deleting that file solved the issue with board/agenda. It now works.
>
> And I can reliably get the whimsy main page and officers/test.cgi and members/test.cgi to work.
>
> But http://localhost/members/proxy.cgi gives me an error 500 page. In the httpd log:
> [Wed Jun 17 10:40:57.734041 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/members/proxy.cgi
> [Wed Jun 17 10:40:57.734156 2020] [cgi:error] [pid 55728] [client 127.0.0.1:58309] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/members/proxy.cgi
>
> I looked in my local /srv/whimsy/www/members:
> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/members/proxy.cgi
> -rwxr-xr-x@ 1 clr  staff  10789 Jun 14 14:39 /srv/whimsy/www/members/proxy.cgi
>
> This is consistent with the above:
> [MacBook-Pro-10:~/apache/git/whimsy] clr% ls -l /srv/whimsy/www/officers/index.cgi
> -rwxr-xr-x  1 clr  staff  2272 Apr 20 11:01 /srv/whimsy/www/officers/index.cgi
>
> Trying to  load the "useful officer tools" using either localhost/officers/index.cgi or localhost/officers which then goes to index.cgi which exists in the local /srv repository...
>
> [Wed Jun 17 10:51:15.819032 2020] [:debug] [pid 55727] mod_hfs_apple2.c(384): [client 127.0.0.1:58401] mod_hfs_apple: Final check compares: /srv/whimsy/www/officers/index.cgi vs /srv/whimsy/www/officers/, length 24
> [Wed Jun 17 10:51:15.819050 2020] [:debug] [pid 55727] mod_hfs_apple2.c(397): [client 127.0.0.1:58401] mod_hfs_apple: Allowing access with matching directory. filename = /srv/whimsy/www/officers/index.cgi
> [Wed Jun 17 10:51:15.956428 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- wunderbar (LoadError): /srv/whimsy/www/officers/index.cgi
> [Wed Jun 17 10:51:15.956557 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
> [Wed Jun 17 10:51:15.956608 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /Users/clr/apache/git/whimsy/lib/whimsy/asf/ldap.rb:34:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
> [Wed Jun 17 10:51:15.956646 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `require_relative': /srv/whimsy/www/officers/index.cgi
> [Wed Jun 17 10:51:15.956682 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/lib/whimsy/asf.rb:3:in `<top (required)>': /srv/whimsy/www/officers/index.cgi
> [Wed Jun 17 10:51:15.956760 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
> [Wed Jun 17 10:51:15.956831 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /srv/whimsy/www/officers/index.cgi
> [Wed Jun 17 10:51:15.956864 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] AH01215: \tfrom /srv/whimsy/www/officers/index.cgi:6:in `<main>': /srv/whimsy/www/officers/index.cgi
> [Wed Jun 17 10:51:15.960403 2020] [cgi:error] [pid 55727] [client 127.0.0.1:58401] End of script output before headers: index.cgi
> [Wed Jun 17 10:51:15.960633 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of Require all granted: granted
> [Wed Jun 17 10:51:15.960657 2020] [authz_core:debug] [pid 55727] mod_authz_core.c(817): [client 127.0.0.1:58401] AH01626: authorization result of <RequireAny>: granted
> [Wed Jun 17 10:51:15.960785 2020] [:debug] [pid 55727] mod_hfs_apple2.c(363): [client 127.0.0.1:58401] mod_hfs_apple: compare_paths / vs /srv/whimsy/www/500.html/, related=1
>
> > On Jun 17, 2020, at 10:13 AM, Sam Ruby <ru...@intertwingly.net> wrote:
> >
> > On Wed, Jun 17, 2020 at 12:53 PM Craig Russell <ap...@gmail.com> wrote:
> >>
> >> It looks like there is some problem with Passenger. IIRC the only way I have used Passenger is with Whimsy.
> >
> > [snip lots of scary warnings]
> >>
> >> App 55090 output:  [passenger_native_support.bundle] will not be used (can't compile or download)
> >> App 55090 output:   --> Passenger will still operate normally.
> >> App 55090 output: Error: The application encountered the following error: Permission denied @ rb_sysopen - /Users/clr/.whimsy (Errno::EACCES)
> >
> > Try changing permissions, or deleting or renaming that file temporarily.
> >
> > - Sam Ruby
>
> Craig L Russell
> clr@apache.org
>