Troubleshooting iPhone and iPad Interface Issues

A collection of issues that may arise when installing or using the iPhone or iPad interfaces.

During Installing

Apache will not start

When starting (or restarting) the Apache webserver, it may return an error saying that it could not start. If this happens, the following command will help troubleshoot what is preventing Apache from starting:

apachectl configtest

If this command returns "Syntax OK" then you know that your Apache configuration files are not the source of the issue and you may have to look elsewhere. However, if there is an issue with the configuration file, the error returned will generally point to the file or line causing an issue.

apachectl configtest returns "Syntax error on line 20

apachectl configtest returns "Syntax error on line 20 of /private/etc/apache2/extra/httpd-mpm.conf: Invalid command 'LockFile', perhaps misspelled or defined by a module not included in the server configuration"
If this occurs, open httpd-mpm.conf from the directory listed in the error, and comment out the following lines by placing an # in front of them, like so:

# <IfModule !mpm_winnt_module> # <IfModule !mpm_netware_module> # LockFile "/private/var/log/apache2/accept.lock" # </IfModule> # </IfModule>

Save the file, and run apachectl configtest again to verify that your configuration is now okay.

apachectl configtest returns "Syntax error on line 68

apachectl configtest returns "Syntax error on line 68 of /private/etc/apache2/extra/httpd-ssl.conf: Invalid command 'SSLMutex', perhaps misspelled or defined by a module not included in the server configuration.
If this occurs, open httpd-ssl.conf from the directory listed in the error, and change line 77 of the file as below:

Mutex sysvsem default

Save the file, and run apachectl configtest again to verify that your configuration is now okay.

The office has Server.app installed

Server.app has its own install of the Apache webserver, which will supercede macOS's included Apache. This Apache will have its own documentroot folder for serving pages; for this we need to create a link to the pages that the iPhone or iPad Interface installer creates. Run the following command(s) in Terminal appropriate for the the interface being installed.

I use a password on MySQL's root user / My database is not named macpractice

Though uncommon, these are options that do occasionally come up with MacPractice installations. These can be configured by editing the db_connection.php file in /Library/WebServer/MacPracticeLibs/ using the text editor of your choice. There are four variable options that can be configured in this file:

The first line defines the IP address of the MySQL server, and generally should be left alone. The second line defines the MySQL user used to make the connection to the database, and again, should generally be left alone. The third line defines the password used to make the database connection; if the root user has a password set, the password must be entered between the quotes on this line. Finally, the fourth line defines the name of the database; if the office stores their MacPractice data in a database named something other than 'macpractice', the database name must be entered in between the quotes on this line.

During Usage

When i visit the iPad or iPhone interface, instead of loading the interface as i expect, a white page with code appears

When this occurs, it means that PHP has not been enabled in the /etc/httpd.conf file.

I log in and enter a user name and password i know to be good, the interface does not log me in, instead returning me to the log in page with no error

This generally happens if the office has updated MacPractice but hasn't updated their interface, particularly at the MacPractice v5.1 update where changes were made to password handling. Log in to the download site and grab the latest installer and run it, and verify that they can now log in.

I cannot log in as the admin user

This is by design with the interfaces, in order to prevent attempts at accessing patient information by third parties. One must log in using a MacPractice user with a different user name from 'admin'.

I can access the interface from localhost or within the office, but not outside the office

This happens when there's a failure in the office's port forwarding setup. Resolving this is generally outside the boundaries of MacPractice support and is best handled by the office's IT professional. Generally when this happens, it is because of one of the following three things:

  • The IP address used to access the interface from outside the office is incorrect. This happens most frequently if they do not have a static IP enabled for their site. You can verify that this is the issue by visiting https://whatismyipaddress.com and checking to see if the IP address here matches what is being entered in the browser. If it does not, the office simply has to visit the correct address and their issue shoudl be resolved.

  • The office's router or firewall is not configured to forward TCP traffic on port 443 to the MacPractice server's LAN IP address. If this is the case, the office must confer with their IT professional to configure these settings.

  • The office's router or firewall is configured to forward traffic over port 443, but to the wrong LAN IP address. This can occur if the MacPractice server does not have a manually set IP address, or the server's IP address has otherwise changed. This can be fixed either by updating the port forwarding rule on the router or firewall, or by setting a manually set IP address on the MacPractice server to the correct IP address. As above, this must be done by the office's IT professional.