Installation and Upgrade Guide

Skip to end of metadata
Go to start of metadata

This tutorial shows how to install pimcore on an usual LAMP environment. Before you beginn see the system requirements  first.
See also our screencasts, quick and self-explanatory.

Download & copy to server

First of all download the latest release.

Extract the files and put it into the document-root directory on your server. (If you want to know why, read more here)

 If you want to put it into a different directory (e.g. outside of the document-root for security issues), this is also no problem - you only have to adapt the path to the pimcore/config/startup.php in your bootstrap (index.php) file.
Tip: Extract the archive directly on the server if possible, because it would take some time to upload the huge amount of files via FTP/SFTP.

Apache Configuration

The install package contains already the .htaccess file. If nothing went wrong during the transfer to the server you should already have it in your document-root. If not get it directly out of the download package.

Filesystem (Permissions)

Pimcore requires write access to the following directory: /website/var and /pimcore

If you know which user executes php, simply give write access to the “php” user.
Execute the following commands on the shell (eg. via SSH, …):

On Debian systems (and most other Linux distributions) mostly the www-data user executes the php files, just execute the following commands in your install directory.

chown -R www-data:www-data website/var
chown -R www-data:www-data pimcore

If you don't know the user you can change the permissions: (*Warning:* Only use this for development, not for production! ):

chmod -R 0777 website/var
chmod -R 0777 pimcore

If you don't have commandline access you can also do this with your FTP/SFTP Client (eg. FileZilla is great for FTP/SFTP):

MySQL

Pimcore needs an MySQL database, the only thing you should assure is that the database uses UTF-8 as character set. If you create a new database just set the character set to utf8_general_ci.

Setup the Maintenance-Script

To use the scheduled features (like, scheduler, backup, plugins, ...) of pimcore you have to setup a scheduled task / cronjob.

We recommend to run the task every 5 minutes, but at least it should be every 10 minutes. You can run the task also every minute since pimcore recognizes if there is an active job and executes only the jobs which are not active.

For Linux systems with installed cron-daemon you can use the following for setup:
Switch to the user which should execute the job, then type crontab -e in the terminal. Now your system editor should open. Add the following line at the end:

*/5 * * * * /path/to/php-cli /path/to/pimcore/cli/maintenance.php

NOTE: Please be sure that the user which executes the task has the permission to write in /website/var/ if this is not possible you can use tools like sudo eg.:

*/5 * * * * sudo -u php /usr/bin/php /path/to/pimcore/cli/maintenance.php

Please understand that we can't offer solutions for further operating systems.

If you want your maintenance jobs to be executed multithreaded, and if you want to utilize the multhreaded job manager of pimcore, you have to enable pcntl in php. If pcntl is not available, jobs are processed in a sequential manner.

There are some options available (for debugging, ...) for the maintenance script, use the following command to get an overview: 

/path/to/php-cli /path/to/pimcore/cli/maintenance.php --help

Usage: maintenance.php [ options ]
--job|-j <string>     call just a specific job(s), use "," (comma) to execute more than one job (valid options: scheduledtasks, youtubepreview, logmaintenance, sanitycheck, cleanupoldpidfiles, versioncleanup, and plugin classes if you want to call a plugin maintenance)
--manager|-m <string> force a specific manager (valid options: procedural, daemon)
--verbose|-v          show detailed information during the maintenance (for debug, ...)
--help|-h             display this help

There are much more options available like specifing jobs to be executed: 

/path/to/php-cli /path/to/pimcore/cli/maintenance.php -j scheduledtasks,logmaintenance

With this arguments only the 2 defined jobs are executed, all other will be ignored. This allows you to plan your resources an jobs in more detail. For more information see the help-message.

Webinstaller

Now we are ready to launch the web-installer if everything is ok you should be able to launch the installer with the adress http://www.your-domain.com/install/

Now just follow the installer. 

The installer doesn't appear. What to do?

As you can imagine there could be many reasons why it does not work, first of all check the system requirements. Then follow the above instructions step by step and check if everything conforms.

Also check the debug log at /website/var/log/debug.log it will give you detailed infomation about the status of Pimcore.

Virtual Hosts (Windows)

Make sure you have the correct settings, specifically:

Allowoverride All
<VirtualHost *:80>
    DocumentRoot "C:/sites/pimcore"
    ServerName pimcore.local
    <directory "C:/sites/pimcore">
       Allowoverride All
       allow from all
    </directory>
</VirtualHost>

After the Webinstaller (optional but recommended)

Open "Settings" -> "System" in the administration, and configure your new installed system.
We reccomend the fill out the following options: 

  • Timezone
  • PHP-CLI binary path
  • Languages (for the website or data in objects)
  • HTTP-Connectivity
  • ...

Plugins

If you want to use plugins, create an empty folder called "plugins" in your document-root, and change the permissions of the folder, so that the php-process is able to write to it.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Jun 07, 2011

    Christian Fasching says:

    running maintenance in Windows --> see forum thread http://www.pimcore.org/fo...