MacOS – OS X Server website not loading

macososx-serverwebsites

I'm trying to make a local website using OS X Server (4.0.3), and am following the tutorial that comes with Server. When I use Safari on another Mac, when I try to go to the website (myserver.local) the website doesn't load/is stuck 1/3 of the way loading.

The Server Tutorial is in the help menu (Help > Server Tutorials > Host a website > Lesson 1):

I've summarized the steps I took, and there didn't seem to be anything wrong following each step:

https://help.apple.com/serverapp/mac/getstarted/4.0/#/apd9a7f7c98f

Lesson 1: Create a private, local, dynamic website

In this lesson, you’ll learn:

  • How to create a private website on your local network that uses a web app to produce webpages
  • How to enable and select Python web apps
  • How to use a built-in Python web app as a default webpage

Step 1. Select Websites

  • Open the Server app to see the list of services available in OS X Server. Select Websites.

Step 2. Enable Python web apps

  • Select “Enable Python web applications.”

    Arrow indicating Python setting

Step 3. Add a website

  • Click the Add button add.

    Enter the following information in the website creation pane:

    • Enter the server’s local host name—for example, “myserver.local.”

      This is the name that Safari users on your local network use to view the website.

    • Select the server’s local network IP address from the pop-up menu.

    • Leave the SSL certificate as “None.”

Don’t click Create yet.

Step 4. Enable the sample Python web app to generate the webpages

  • Click Edit Advanced Settings, then select “Python ‘Hello World’ app at /wsgi.” Then click OK.

    Arrow indicating enabled web app

Note: Once you get this working, you could add your own web apps written in Python.

Step 5. Make the Python page the default index page

  • Return to the website creation pane, and click Edit next to Index Files. Add an index called “/wsgi” and drag it to the top of the list, then click OK.

    Arrow indicating add button

Step 6. Create the site

  • After the configuration is finished, click Create to make the new site.

Step 7. Test your configuration

  • Open Safari and go to the site URL (myserver.local, in this lesson) to see the generated page.

However, the test is failing with Safari stuck 1/3 of the way loading by looking at the progress in the address/search field. How can I figure out what's wrong with my server and/or setup?

Best Answer

Here's how I'd troubleshoot things using terminal. You can use the console app as well to look at logs, but the serveradmin commands are more detailed than the server app allows currently and historically.

  1. curl localhost - this tests that port 80 is listening and a web server is running.
  2. sudo serveradmin status web - this tests the service named web - n.b. you could have the curl command work and have apache running on port 80 but have your web status STOPPED as several other "services" start up apache such as Xcode, Profile Manager, etc...
  3. Depending if the status was stopped, issue a start sudo serveradmin start web or issue an orderly shutdown and restart sudo serveradmin stop web && sleep 15 && sudo serveradmin start web

If you are not getting anything that makes sense from curl - perhaps look over the web logs:

tail /var/log/apache2/access_log
tail -20 /var/log/apache2/error_log

Once you've narrowed down if the problem is running apache and basic networking/DNS to get localhost to work or if there are problems with the code/content you can take next steps.

Also, looking over the tutorial/lesson - it looks like the selection was on HTTPS and not HTTP, so go back and ensure you are using https://myserver.local and https://localhost or http:// throughout and the server app is configuring the port (80 for http and 443 for https). For simplicity, I've just used port 80 for this answer and my server setup.