WebMO Directories
For Linux/unix installations, it is STRONGLY recommended that you install WebMO as a normal system user into the /home/{username} directory structure using the directory names recommended by the installation script. Do not install WebMO as 'root'. Do not install WebMO in main webserver directory, e.g., not in /var/www/html.
We recommend creating a 'webmo' user and installing WebMO as follows:
- HTML directory: /home/webmo/public_html/webmo
- HTML URL: /~webmo/webmo
- CGI Directory: /home/webmo/public_html/cgi-bin/webmo
- CGI URL: /~webmo/cgi-bin/webmo
- User Directory: /home/webmo/webmo
It is also recommended that suexec be enabled for cgi scripts, so that they run as the system user that owns the scripts and not as 'www' or 'apache'.
Other default directory locations are suggested for Apple OS X and Windows installations.
Diagnostic Script
WebMO includes a diagnostic script that can help diagnose installation issues. To run the diagnostic script:
- Follow the WebMO installation instructions through at least the command-line portion of the setup
- Run the WebMO diagnostic setup script
$ cd {path}/WebMO.install
$ perl diagnose.pl - Follow the directions that are given in the diagnostic script
- When the script execution is complete view diagnose.html
$ firefox diagnose.html
- Any errors will be marked in red; brief instructions on how to fix the error are also given
Error Reporting
WebMO scripts write any error messages to
{userBase}/errors
e.g., /home/webmo/webmo/errors. If WebMO is not functioning as expected, check the contents of the WebMO error file
$ tail /home/webmo/webmo/errors
Webserver Configuration
The vast majority of installation problems are apache webserver configuration issues. The webserver must be configured to access html files and run cgi scripts in user directories.
This usually requires that a few small changes be made to the webserver configuration files in order to access html files in /home/{username}/public_html and to run cgi scripts within /home/{username}/public_html/cgi-bin, as outlined in the Configuring Apache documentation.
When I run login.cgi, I only see "#!/usr/bin/perl..."
Your webserver is not properly configured to execute cgi scripts in the WebMO CGI directory. You must reconfigure your webserver to allow cgi script execution in this directory before you can successfully run WebMO, as outlined in the Configuring Apache documentation.
When I run login.cgi, I get a 403 Forbidden error
When CGI scripts are running under suexec, as recommended, certain requirements are enforced, including:
- Suexec requires that user cgi scripts not be writable by others, e.g., be 755
- Suexec requies that the directory containing a cgi script not be writable by others, e.g., be 755 and not 775
- If suexec fails to execute a user's script, /var/log/httpd/error_log will only indicate "Premature end of script headers"; however, /var/log/httpd/suexec_log will indicate the actual problem, e.g., "error: directory is writable by others"
Additional Help
If you are unable to fix your configuration problem, please visit the WebMO Support Forum or send email to support@webmo.net. In order to help us better diagnose your configuration problem, please include the diagnose.html file as an email attachment.