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 <apache....@gmail.com> wrote:
> 
>> 
>> 
>>> On Jun 17, 2020, at 3:00 PM, sebb <seb...@gmail.com> wrote:
>>> 
>>> On Wed, 17 Jun 2020 at 22:19, Craig Russell <apache....@gmail.com
>> <mailto:apache....@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 <seb...@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 <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?
>>>>>>> 
>>>>>>> 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
>>>>>> 
>>>> 
>>>> Craig L Russell
>>>> c...@apache.org
>> 
>> Craig L Russell
>> c...@apache.org
>> 
>> 

Craig L Russell
c...@apache.org

Reply via email to