• Configuration Options

    8 steps in this guide

    1. 1

      Using SSL (HTTPS)

      If you are wanting to use SSL for logins only, after installing the SSL cert on your host, then log into the admincp, and enable SSL for logins and ACP only.     If you are wanting to move to 100% SSL, please edit your conf_global.php file, changing http to https on your url line, then save.   From: $INFO['board_url'] = 'http://www.yourdomain.com'; To: $INFO['board_url'] = 'https://www.yourdomain.com';     Then log into the admincp > support > . something isn't working correctly, then proceed with the first step, this clears out your cache, and will allow all items to then be linked from https.      Please also keep in mind that all advertisements or any code you may have added to the site or theme must be served from https or the cert will show an error for your users.     
    2. 2

      Utilizing caching methods

      With todays emphasis on speed being important to people when browsing websites, it can often be of benefit to add caching services to your site once your site increases in size. IPS4 is no exception to this, and we have therefore added the ability to use various caching methods which may be available to you on your hosting environment. At present we have the following methods available for caching APC Memcached Redis Wincache XCache You can switch on any of these that are available on your server, by visiting System>Settings>Advanced Configuration, and selecting the 'Data Storage'. From here you will see any caching methods which are available on your server setup, can be selected for use.  Once you have selected a caching method, and filled in any relevant options for that method, you will be asked to download a new .htaccess file, which must be uploaded to the location in which your installation resides. You will also note on the above screenshot, that you can select the length of time you would like the cached output for guests to be set for. This will then cache whole pages for your guests.
    3. 3

      Controlling file and folder permissions

      When the IPS Community Suite creates new files and folders, by default it uses the following permissions or "chmod" mask: Folders that the software will write to: 0777 Folders that the software will not write to: 0755 Files that the software may overwrite: 0666 Files that the software will not overwrite: 0644 While these permissions work in most environments, you may find that the permissions are not appropriate in your particular hosting environment. You have the ability to override these options if necessary. Warning Only your webhost can advise you as to what the most appropriate permissions are in your hosting environment. If you believe file and folder permissions are not being set appropriately, please contact your host to inquire as to the best values to use in your hosting environment. To override the default permission levels used, you must create (or modify) the constants.php file in your Community Suite root directory, and then add the following lines, adjusting the masks accordingly. /* Folders that will be written to later */ define( 'IPS_FOLDER_PERMISSION', 0777 ); /* Folders that will be created and not written to later */ define( 'FOLDER_PERMISSION_NO_WRITE', 0755 ); /* Files that will be written, and then later deleted or overwritten */ define( 'IPS_FILE_PERMISSION', 0666 ); /* Files that will be written once, and would not later be updated or deleted */ define( 'FILE_PERMISSION_NO_WRITE', 0644 );   Be advised that the values defined are in octal notation and the leading 0 is required. Additionally, these should be defined as you see above without enclosing the values in quotes.
    4. 4

      Using constants.php

      You will see references to "constants.php" throughout our guides. The constants.php is a special file you an optionally create in the root directory of your Suite which can include special commands and configuration options which alter the normal behavior of the Suite. You would create a file in the root directory of your Suite, the same directory where index.php and init.php are located, called constants.php. In that file you would simply enter: <?php Then below that line any special commands referenced throughout our guides or via instructions in the AdminCP. Many functions are available and common settings include caching controls, debug tools, and special overrides based on your server environment. Most people do not ever need to worry about constants.php until you find a special circumstance.
    5. 5

      IP Address Checking

      The IPS Community Suite has the capability, which is enabled by default, to check that the IP address of the current request matches the IP address when the session was first started, and if the IP address has changed to treat the current visitor as a guest and force them to login again. This is a security precaution designed to prevent a user's session from being hijacked by someone else at a different location. While this is a good security precaution and should generally be left enabled, there can be times where this is undesirable in some hosting environments. For instance, if you are required to use the site through a proxy and the proxy IP address may change on every request, the IP address checking may prevent you from staying logged in. If you are having trouble staying logged in to your site due to this functionality, there are some settings you may need to adjust on your site. There is a setting in the ACP labeled "Trust IP addresses provided by proxies?" which allows the software to detect the original IP address of a user who is visiting through a proxy, and use that instead. In most cases, enabling this setting is what you will need to do to resolve the issue.  It can be found under System -> Security by clicking the "Security Settings" button at the top of the page. It is important to understand that enabling this setting can allow users to fake their IP address to avoid IP address bans set up in the software. On the same screen, there is a setting labeled "Check IP address when validating session?".  This setting allows the software to verify that the IP address of the current request matches the IP address when the session was first started. In most environments, this should be left enabled, however in some situations (such as an intranet where all users visit from the same IP address) you may need to disable this setting to avoid session collisions. In some rare situations, you may have trouble logging in to the ACP due to the IP address checking with an error message "Your IP address does not match this session.". In order to stop this issue, you should try enabling the "Trust IP addresses provided by proxies?" setting, and if that does not resolve the issue then disable the "Check IP address when validating session?" setting, however in order to do so you must get logged in to the ACP first. There is a filesystem-level constant available that will allow you to temporarily disable IP address checking in order to get into the ACP and toggle the aforementioned setting. If you do not already have a file called constants.php in your Community Suite root directory (where conf_global.php is located), create one with an opening PHP tag like so: <?php // Constants go here Add the following line to your constants.php afterwards: define( 'BYPASS_ACP_IP_CHECK', TRUE ); Save this file, and you will now be able to access the ACP in order to change the "Trust IP addresses provided by proxies?" setting. After toggling this setting, remove the constant you just added and verify if you can stay logged in to the ACP.  If so, you need not do anything else. If you continue to have trouble, add the constant again, log in to the ACP, and then toggle "Check IP address when validating session?" off and save. Afterwards, remove the constant from constants.php again and you should remain logged in to the ACP without further issue.
    6. 6

      Overriding Default Cookie Options

      Warning You should only change your cookie options if you have a genuine need. Incorrectly setting these options may cause issues for users in your community. Why you may need to override cookie options IPS Community Suite 4 intelligently detects the most appropriate values to set cookies for your site effectively and securely.  For most users these default values work perfectly and you will not have a need to override the default settings.  If you find, however, that these default options are not appropriate for your site (for instance, if you are integrating your Community Suite with an external website), then you can override the default detected options through the constants.php file.   How to set up overrides in constants.php If you do not have a constants.php in your site root already, create one with just the following line at the top.  This file can be used to set many different power-user level options (occasionally, some settings in the ACP will have you add to this file as well). <?php   After this line you can set the following constants to override the default cookie options.  Be aware that you should ONLY set the values you need to set, and leave the rest of the constants commented out. //define( 'COOKIE_DOMAIN', '.example.com' ); //define( 'COOKIE_PREFIX', 'prefix_' ); //define( 'COOKIE_PATH', '/' ); // If your front end website does not serve over SSL but your community suite does, you may need to set this //define( 'COOKIE_BYPASS_SSLONLY', TRUE );  
    7. 7

      Custom error and maintenance pages

      IPS Community Suite has two special pages which exist entirely outside of the normal theme and language systems: error.html 
      Displayed if there is an error so severe it is not possible to display a normal error screen (for example, if your database server is offline, it is not possible to obtain the theme and language details). upgrading.html 
      Displayed while an upgrade is in process. You create different html pages to be used in these scenarios and instruct IPS Community Suite to use your pages instead. This will ensure that even if the contents of the files are changed in an upgrade, your customizations are maintained. To do this: Create the html pages as desired, and save them in the root directory of your community's installation. If you do not already have a constants.php in the root directory of your community's installation, create one with the following contents: <?php   Open constants.php and add the following lines, replacing the names of the html files with the names of the files you have created: define( 'ERROR_PAGE', 'custom_error.html' ); define( 'UPGRADING_PAGE', 'custom_upgrading.html' );  
    8. 8

      Changing where logs are stored

      If a log needs to be written and logging to the database fails, the log is written to disk instead. For example, this might occur if the database is completely inaccessible. By default, logs are written to the /uploads/logs directory. To change this, add the following line to your constants.php file: define( 'LOG_FALLBACK_DIR', '{root}/directory' ); Changing the "{root}/directory" place to be the location on your server where the logs should be written. If you include {root} then that will be replaced with the directory to where IPS Community Suite is installed.

    Other guides in Advanced Options