On Wed, Jun 17, 2020 at 3:20 PM Craig Russell <apache....@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 <apache....@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....@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 > >> c...@apache.org > >> > > Craig L Russell > c...@apache.org >