Frequently Asked Questions -------------------------- This document contains frequently asked questions about OCS, primarily dealing with common technical and support questions. For information about using or interacting with the OCS conference management system, consult the system's built-in help. The README document contains introductory information and installation instructions. ================= General Questions ================= 1) Who can I contact for support? A: A support forum for OCS is available at . Bugs or feature requests can be reported at . Although the forum is the preferred method of contact, email inquiries regarding OCS can be sent to . Although we will try our best to help you and fix any bugs found in the system, please note that OCS comes with no warranty or guarantee of support. ----------------------------------------------------------------------------- 2) Can I modify the OCS code? A: As OCS is an open source program, you are free to make any code changes that you like. We welcome any code submissions or patches to be posted on the OCS Development Forum at if you think your changes may be beneficial to other OCS users. Please note that if you plan on redistributing OCS (either in original or a modified form), you must do so according to the terms of the GNU General Public License v2. See docs/COPYING for the complete terms of this license. =================================== Server Configuration and Management =================================== 1) Will OCS work with PHP as a CGI instead of as an Apache module? A: OCS is known to work reasonably well with PHP as a CGI using Apache's mod_actions. Since there are a number of different ways to configure Apache to use the CGI version of PHP (e.g., through FastCGI, etc.), your mileage may vary with other deployments (feedback is welcomed). On PHP 4 it may be necessary to add "cgi.fix_pathinfo = 1" to the server's php.ini to avoid fatal "No input file specified" errors. This parameter is enabled by default on PHP 5. OCS may not function correctly if the base OCS directory is located outside of the virtual host's DocumentRoot directory (e.g., when using mod_alias or mod_userdir). This is due to a bug/feature in the method PHP uses to determine the SCRIPT_NAME environment variable by stripping the DOCUMENT_ROOT from SCRIPT_FILENAME. ----------------------------------------------------------------------------- 2) Will OCS work correctly in PHP's "safe mode"? A: OCS is known to work reasonably well with PHP's safe mode restrictions (including open_basedir) enabled. Testing has not been extensive, so there may be unknown issues, in particular with very restrictive configurations that disable PHP functions relied on by OCS (feedback is welcomed). ----------------------------------------------------------------------------- 3) How can I create a backup of an OCS site? A: It is strongly recommended that an OCS system be periodically backed up to guard against a failure in OCS or the server software or hardware that could result in data loss. To properly backup an OCS system, the following should be backed up: - The OCS database, using the tools provided by your DBMS (e.g., mysqldump for MySQL, pg_dump for PostgreSQL) - The base OCS directory - The non-public files directory (the directory specified by the "files_dir" configuration option), which is typically outside of the base OCS directory. This backup procedure can be easily integrated into any automated backup mechanism. ----------------------------------------------------------------------------- 4) How can I move an existing OCS installation to a different server? A: To move an OCS system from one server to another, you will need to: - Copy the database data, and import it into the new server (e.g., using the command-line tools provided by the DBMS) - Copy the base OCS directory and non-public files directory - Update config.inc.php with any changed settings for the new server (typically, the base URL, database authentication/access, email, and files settings will differ between servers) ======================= Common Technical Issues ======================= 1) When I try to access my OCS site this error message is displayed: "Warning: Smarty error: problem creating directory '/./templates' in ./lib/smarty/Smarty.class.php" A: This can occur if a higher level directory has execute permission but not read permission. In these situations, the __FILE__ value in an included file appears to be relative to the location of the including file. This issue can be resolved by ensuring all parent directories are both readable and executable. See also this PHP bug report: . ----------------------------------------------------------------------------- 2) Uploads of large files fail inexplicably. A: This can be caused by certain Apache or PHP settings. Apache 2.x has a LimitRequestBody directive that, if set to a low number, can lead to this behaviour. In particular, the default PHP packages for recent versions of Red Hat Linux set LimitRequestBody to 524288 bytes in /etc/httpd/conf.d/php.conf. Low values for the PHP ini settings like post_max_size (default "8M"), upload_max_filesize (default "8M"), and memory_limit (default "8M") can also cause this problem. ----------------------------------------------------------------------------- 3) Emails sent out by the system are never received. A: By default, OCS sends mail through PHP's built-in mail() facility. On Windows PHP needs to be configured to send email through a SMTP server (running either on the same machine or on another machine). On other platforms such as Linux and Mac OS X, PHP will sent mail using the local sendmail client, so a local MTA such as Sendmail or Postfix must be running and configured to allow outgoing mail. See for more details on configuring PHP's mail functionality. OCS can also be configured to use an SMTP server as specified in config.inc.php, either with or without authentication. ----------------------------------------------------------------------------- 4) I am using Apache 2.0.x, and OCS pages fail to load, producing an error like "File does not exist: .../index.php/index/...". A: With some versions or configurations of Apache 2.0.x, it may be necessarily to explicitly enable the AcceptPathInfo directive in your Apache configuration file. See http://httpd.apache.org/docs-2.0/mod/core.html for more information about this directive. ----------------------------------------------------------------------------- 5) OCS installation fails with the MySQL error "Client does not support authentication protocol requested by server; consider upgrading MySQL client". A: This problem is caused by a change in the MySQL authentication protocol in MySQL 4.1, and can occur if your system is using an older MySQL client library with a newer MySQL server. See http://dev.mysql.com/doc/mysql/en/Old_client.html for suggested approaches to resolve this issue. ----------------------------------------------------------------------------- 6) "Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time" messages appear when I load OCS. A: Check if session.auto_start is enabled in your php.ini configuration. OCS requires this setting to be disabled, which is the default behaviour in current versions of PHP. ----------------------------------------------------------------------------- 7) The installation form loads successfully, but after clicking the button to install, a blank page appears and the database was not created. A: This may indicate that your server does not have the selected PHP database module installed and enabled (this can be verified by looking at the output of phpinfo() to see if the required database support exists -- see http://php.net/phpinfo). The OCS installer lists database drivers for which the required PHP extension does not appear to be loaded in brackets (e.g., "[MySQL]"). Most Linux distributions offer a separate package that can be installed for each supported PHP database module -- e.g., php4-mysql or php-mysql (for MySQL support), or php4-pgsql or php-pgsql (for PostgreSQL support). Note also that even with the module installed it may be necessary to modify your php.ini configuration to load the module, by adding "extension=mysql.so" or "extension=pgsql.so", for example. ========================== Advanced OCS Configuration ========================== 1) How can I control the address to which bounced emails will be sent? Why do messages sent with an envelope sender have an 'X-Warning' header? A: To control the address to which a bounced emails will be sent, you need to set the envelope sender address. Enable the "allow_envelope_sender" option in the [email] section of the OCS 2.x configuration file; when this option is enabled, a "Bounce Address" field appears on Page 1 of the Conference Setup. Note that this option may require changes to the server's mail server configuration so that the user the web server runs as (e.g. "www-data") is trusted by the sendmail program, or an "X-Warning" header will be added to outgoing messages. Consult your mail server's documentation if outgoing mails include such a header. For example, Sendmail keeps a list of trusted users in the file "/etc/mail/trusted-users"; other mail systems use similar files. The command-line option used by OCS 2.x to set the envelope sender is "-f". ----------------------------------------------------------------------------- 2) How can I allow users to search non-text files, such as PDF or Microsoft Word documents? A: OCS supports indexing of non-text files via external conversion applications. The "Search Settings" configuration section in config.inc.php can be modified to enable indexing of certain binary file formats by setting a "index[MIME_TYPE]" setting (with the desired file mime-type) to the path of the appropriate external text converter for that file format. Note that additional third-party software must be installed to use this feature (such as "pdftotext" for PDF files). ----------------------------------------------------------------------------- 3) I am changing the URL to my OCS installation. Does OCS need to be reconfigured to be accessible under the new URL? A: The only reconfiguration that is required after a change in the site URL is to update the value of the "base_url" configuration setting in config.inc.php. ----------------------------------------------------------------------------- 4) How can I remove "index.php" from the URLs in OCS? A: OCS uses a REST-style URL syntax for all of its links. To force OCS to remove the "index.php" portion of all URLs, edit config.inc.php and set "restful_urls" to "On". In addition, your server will have to support URL rewriting in order to recognize the new URLs. Apache servers use the mod_rewrite plugin, which must be enabled in your httpd.conf, and the following section added to the correct section of either your httpd.conf or an .htaccess file (preferred) in your OCS root directory (the same location as config.inc.php): RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,L]