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

CKFinder is an Ajax-based file manager created by CKEditor developers: http://ckfinder.com/. 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
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 7 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.css
      ckeditor.info
      ...
      ckeditor        <dir>
         _samples     <dir>
         _source      <dir>
         adapters     <dir>
         images       <dir>
         ...
         ckeditor.js
         ...
      ckfinder        <dir>
         _samples     <dir>
         core         <dir>
         ...
         ckfinder.js
         ckfinder.php
         ...


You will now need to grant the "CKFinder access" permission in the Administration panel > People > 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 > Configuration > Content Authoring > 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 modified on 31 May 2012, at 13:19.