CKFinder Installation in the CKEditor for Drupal 6 Module (Open Source Version)

This website contains links to software which is no longer maintained. For the latest documentation about current CKSource projects, including software like CKEditor 4/CKEditor 5, CKFinder 3, Cloud Services, Letters, Accessibility Checker, please visit the new documentation website.

CKFinder is an Ajax-based file manager created by CKEditor developers: CKFinder support is already built into the CKEditor for Drupal module, but due to licensing issues you need to buy it separately, add the files to your Drupal site and then enable the file browser.

important note
The instructions below are valid for CKFinder 2.x only. The CKEditor module as well as its documentation will be adjusted to new CKFinder 3.x soon.
important note
If you are looking for a simplified solution, try the Enterprise version of the module that comes with a CKFinder license and the file browser already included in the module and working out-of-the-box. The Enterprise version of the component also includes professional assistance from the original CKEditor development team in the form of a dedicated e-mail support channel.

If you want to install CKFinder on your Drupal 6 site, follow the steps described below.

First of all, download CKFinder for PHP from the official CKFinder website.

Unpack the contents of the installation package into the directory that contains the CKEditor module and place it in the sites/all/modules/ckeditor/ckfinder (or sites/all/libraries/ckfinder) folder. . When the files are unpacked, you should see the following file structure inside the drupal/sites/all/modules directory:

modules               <dir>
   ckeditor           <dir>
      ckeditor        <dir>
         _samples     <dir>
         _source      <dir>
         adapters     <dir>
         images       <dir>
      ckfinder        <dir>
         _samples     <dir>
         core         <dir>

You will now need to grant the "allow CKFinder file uploads" permission in the Administration panel > User management > Permissions section. Note: if you do not see this permission, it means that CKEditor did not find CKFinder and you have probably uploaded CKFinder into a wrong directory.

Granting CKFinder access permission in the Drupal Administration panel

Now open the CKFinder configuration file (ckfinder/config.php) and introduce the code changes described below.

Firstly, remove the CheckAuthentication() function (do not worry, this function is defined in filemanager.config.php, see below):

function CheckAuthentication()       <- remove it
{                                    <- remove it
   //WARNING : DO NOT simply...      <- remove it
   ...                               <- remove it
   return false;                     <- remove it
}                                    <- remove it

For CKFinder installed in the sites/all/modules/ckeditor/ckfinder directory add:

require_once '../../../../includes/filemanager.config.php';

straight below the following line:

$baseDir = resolveUrl($baseUrl);

For CKFinder installed in the sites/all/libraries/ckfinder directory add:

require_once '../../../../../modules/ckeditor/includes/filemanager.config.php';

straight below the following line:

$baseDir = resolveUrl($baseUrl);

Now open the Drupal settings file (sites/default/settings.php) and do the following:

  • Uncomment the $base_url variable and set the base URL of your website (without the trailing slash).
  • Uncomment the $cookie_domain variable and set the domain name of your website.

Select CKFinder as a preferred file browser in the Administration panel > Site configuration > CKEditor section (for a selected CKEditor profile scroll down to the File browser settings section).

Selecting CKFinder as a preferred file browser in the Drupal Administration panel

You can now configure CKFinder settings in the File browser settings section for the CKEditor profile that you want to use. You may also change destination folders for files uploaded with CKFinder.

This page was last edited on 31 May 2012, at 12:23.