Configuring a Mac OS Server

Updating our server ( a mac mini). Now running Server 5.2. Permissions are correct. What happens is that when I enter the URL into a browser, instead of displaying the first page of our app, it appears to downloading the file.

Any clues?

Anyone have documentation on how things should look?

Anyone willing to consult for a couple of hours at a reasonable rate?

-Bob

There’s the enable cgi setting somewhere, I forget where off the top of my head. It could also be related to the change in how the server sets up apache with a local proxy and associated ports. I don’t recall the details of that off the top of my head either, but I remember having to change the setup of one of my customer’s servers because of it.

Now I tend to run my apps as standalone with at least a pair of them behind haproxy. Avoids apache and the associated headaches all together and adds a measure of redundancy. If you need multiple servers it can help with that too.

I’d be willing to consult with you if you need it, but my rates have been adjusted to help cover the increased premiums of our Obamacare, so they probably would be considered similarly unreasonable. :slight_smile:

It’s in Advanced Settings. See: https://help.apple.com/serverapp/mac/5.0/#/apd12249F47-C6F0-40D7-8C2F-F09082DC5BD4

I don’t know if this can help you but here is the configuration I use:
I have Server 5.0 under Yosemite with Xojo WebApps running as CGI. The following config allows to have several cgi apps with a reverse proxy allowing to access the app by ‘https://mydomain.com/myapp’ but in background the app will be started at ‘https://mydomain.com/cgi-bin/myapp/myapp.cgi

To set up this config:

  • Stop the Server app
  • go to ‘/Library/Server/Web/Config/apache2/’
  • create a new text file named ‘httpd_XojoWebApps.conf’ with this content:
    This file defines the rule to accept some characters in the name, adapt it according to your needs.

[code]# from http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass

RewriteEngine On
RewriteRule ^/([a-zA-Z0-9]+)$ /cgi-bin/$1/$1.cgi [PT]
[/code]

  • go to ‘/Library/Server/Web/Config/apache2/webapps/’
  • create a new text file named ‘com.xojo.webapps.plist’ with this content:

[code]<?xml version="1.0" encoding="UTF-8"?>

launchKeys com.xojo.webapps includeFiles /Library/Server/Web/Config/apache2/httpd_XojoWebApps.conf name com.xojo.webapps displayName Xojo WebApps installationIndicatorFilePath /Library/Server/Web/Config/apache2/httpd_XojoWebApps.conf sslPolicy 0 [/code] - Start the server and enable the 'Xojo WebApps' in the advenced Settings for each server you need it (http/https) [img]https://downloads.alinofsoftware.ch/public/xojo/AdvencedSettings.png[/img]
  • create a new folder in ‘/Library/Server/Web/Data/CGI-Executables/’ for each webapp you have and with the same name as your webapp
  • copy your cgi app into the corresponding folder

now you can access your app at http://yourdomain/webappname

Alain,

First, thank you for the detailed suggestion.

I’ve created the files and placed them in the correct places and restarted the web service, but the Xojo WebApps checkbox has yet to appear.

Any further clues?

Alain,

Now the checkbox is there. All I did is read the news for a couple of minutes.

Things on the server must take some time.

-Bob

An update.

The way the server had been organized was as
CGI-Executables/test/testadmin

where testadmin was the app. we also had
CGI-Executables/test/testeval
CGI-Executables/test/testreview

There was also a set of the same apps in CGI-Exectuables/prod where the production versions lived.

I just moved testadmin directly into CGI-Executables and it came up correctly.

I am much grateful.

I could move all the apps to that folder, but would prefer our previous organization. I will continue investigating.

-Bob

You’re welcome Bob, great that it works for you.
You can of course add a folder in the path by editing the ‘httpd_XojoWebApps.conf’ file. I have not tested this rule, but something similar should work …

RewriteRule ^/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ /cgi-bin/$1/$2/$2.cgi [PT]
You can find more infos about RewriteRule at:
https://httpd.apache.org/docs/trunk/en/rewrite/intro.html

After a change you need to stop and restart the WebService.