Installing eZ Publish (Gandi AI or Ubuntu)

Installation time: one hour

eZ Publish is a content management system (CMS), more explicitly designed for professional use than Drupal or Joomla, for instance.

Prerequisites to the installation

In addition to the usual prerequisites (having the necessary modules set up on your server, having an FTP client, etc…), installing eZ Publish will require:

An SSH client

Don't be panicked if you've never used an SSH client, this tutorial will take you through all the necessary steps. :) If you're using Linux or Mac, you will have Konsole and Terminal installed on your sysems, respectively.

Windows users will be able to download a little program called PuTTY.

A mail server

If you are experience in the matter, you can install PostFix on your server from the list of available modules in the Gandi AI interface.

Otherwise, the simplest is still to create a Gandi Mail account, in the “Domains” section of the Gandi administration interface.

Once you have created a Gandi Mail on the domain which will be the home of your eZ Publish site, make sure to remember the user name and password you will have defined, as these will be asked to you during eZ Publish's installation.

A Plain Text editor

Theoretically, NotePad or WordPad could be enough, but you may find them to be a bit labour-intensive to use in this context. :) I recommend to download a Plain Text editor designed for writing or editing code, such as the excellent NotePad++.

Defining a directory for eZ Publish

You basically have two choices here. For “neatness'” sake; such applications are generally placed in folders either within the www sub-domain (, or in a specific sub-domain of their own (

If you prefer to have eZ Publish in a folder :

Easy! Create a dedicated folder in the desired emplacement (in htdocs, for instance, to obtain

If you prefer to attribute a specific sub-domain to eZ Publish, such as :

Two things to do:

  • Configure your server for this sub-domain, as explained in tutorial.
  • Configure your sub-domain to point towards the server you have just configured, as explained in this tutorial.

Fetching eZ Publish

To begin with, let's download it.

Nothing like the original website to download the setup file you need. I therefore recommend this link.

Choose the compression format you prefer, .tar.gz or .zip, and download it.

Now that the file is on your favourite hard drive, decompress it. You now have a folder (let's rename it ezpublish) containing all the necessary files.

Launch your favorite FTP client (FileZilla, anyone?), log onto your server as admin and open the folder corresponding to the virtual host you had intitially defined.

In our example, the FTP path would therefore be:


…unless you changed the intial configuration of the web files, but if you did, I assume you knew what you were doing.

At this stage, we can now upload the eZ Publish files on your server.

  • If you created a virtual host such as, you'll want eZ Publish to be launched on the first page, you'll therefore upload the content of the folder (as opposed to the folder itself) in the htdocs folder of your sub-domain.
  • If you're not afan of sub-domains and prefer a good old, you'll want to upload the complete folder into the htdocs of the www sub-domain.

Preparing the eZ Publish Files


For eZ Publish to configure properly, certain folders and files will need specific rights. In most cases, to change these rights with your FTP client, all you need to do is right-click on the file concerned and chose the right term in the menu (could be Rights, CHMOD, Properties…). Supposing you were using FileZilla, this is how the client would operate:

Right-click the concerned file and select “File Attributes…”. The window that has just opened gives you two different methods to change the file rights: boxes to tick and numeric values.

The point of the tutorial not being to teach the numeric values of rights in UNIX, let's just say you can simply replace the numeric value by 777.

The following files and folders will need its rights changed:



You'll then need to add a slight change to one of the files in the eZ Publish folder, so as to avoid an annoying bug later in the installation.

The file is called ezdebug.php and can be found in the /lib/ezutils/classes/ path of the eZ Publish folder.

Download it onto your hard drive so as to be able to edit it with Notepad++ or similar software.

Go down to the 879th line of the file (the big advantage of Notepad++ is having the line numbers displayed on the left!), where you will read the following line of code:

$time = strftime( "%d %b %Y %H:%M:%S", strtotime( "now" ) );

You'll need to replace that line by the following, making sure it occupies line 879:

$time = date_default_timezone_set("Europe/Berlin");

Unless you are not of course, in the Berlin time zone (for a list of available time zones, please consult this useful little page).

For future reference, you can keep the old line of code by bringing it down to line 880, preceded by two 'slashes', so as to invalidate it. Like this:

Creating a database dedicated to eZ Publish

This database will need to be created using SSH, as opposed to the Gandi AI interface, because you'll need to give it a specific “character set” (encoding).

1. Log into your server via ssh:

With Mac or Linux, you can directly enter

ssh admin@

in your SSH client's window, replacing the numbers by your server's IP (where can I find this?).

In PuTTY, you'll need to enter your server's IP address in the “Host Name” field, and then click “Open”. A shell window will open with a “login as” field to fill in. You should login as admin; and then give the password associated to your server's admin account ( no characters will be displayed when you type the password).

Gandi support don't have access to this password. If you have forgotten it, you'll need to create a new server.

2. Log into your mysql database

Now, log into your mysql database as root by typing:

mysql -p

Then, it will ask you for your password. This is the password that you entered for your database when you installed your MySQL database on your server. If you have forgotten this password, you can reset it via your Gandi AI interface, by clicking on the 'configure' link on your database line.

user name : Fahadwolf

Password : kuwaitkuwait

4. Create a database user and password

Now, create a username and a password for your new database. The password should be very secure.

Let's say that the username will be 'ryan' and the password will be 'GanD1do'. You will then type the following:

grant all privileges on ezpublish.* to 'ryan'@'localhost' identified by "GanD1do"; 

We therefore have:

  • ezpublish: the database name
  • ryan: the user name you defined and associated to the database
  • GanD1do: the user name's password

Then, type:

flush privileges;

and finally:


Your database has been created, and you have now left the management of your MySQL server.

5. Exit your server

You may now exit your server by typing:


Installing eZ Publish

Using your favorite web browser, you can now go to the eZ Publish folder uploaded to your website (as in;…).

Choose language

If eZ Publish was properly set up on your server, you will be greeted by the installation interface, where you will be asked to choose a language for your eZ Publish site.

Click Next to continue the installation.

Outgoing Email

Choose the SMTP option.

Fill-in the fields as follows:

  • Server name: If you had created a Gandi Mail account on your domain, this will be
  • Username: This should be the user name you defined while creating the Gandi Mail account . The user name you should put down, therefore, is
  • password: The password associated to the above user name.
Choose database system

Choose the MySQL Improved option.

Database intialization

Fill-in the fields as follows:

  • Servername: localhost
  • Port: You can leave this field blank, the default port will be selected automatically.
  • Username: This is the user name you had defined while creating your database. In our example, for instance, it was ryan.
  • Password: The password associated to this user name.
  • Socket (optional): You can leave this field blank.
Language support

Here you can choose the default language and additional languages which will be made available to your eZ Publish site's users.

Site package

Choose a presentation model among the three proposed.

Since this is our first installation, the Plain site option is recommended.

Site package

You are then notified that the files allowing the installation of this pack have succesfullly been imported.

Site access configuration

The URL option will do fine by default, unless you know what you are doing. :)

Site details

Fill in the fields as follows:

  • Title: The title you wish to give to your site.
  • Site url: Your site's index page. You can leave the default value, as it is very probably the one you will want.
  • User path: This is the path of the administration zone for your site's suer accounts. Therefore, if you choose the default value, “zoneezwebin_site”, the path to the user interface will be /index.php/ezwebin_site/ in your eZ Publish folder.
  • Admin path: Same thing, only for administrator acount. It's up to you to pick a path name you prefer for both. If you aren't bothered, you can just leave the paths suggest by default.
  • Database: Select the database name you had created at the beginning of the tutorial from the list. In our example, it been very creatively dubbed ezpublish.
Site administrator

You will be asked identity info regarding the person which will be managing your eZ Publish site, so as to create his or her administrator account.

Site security

This step would allow eZ Publish to hide the path of the pages from your web browser's URL bar. It's an entirely optional security measure, which is not (yet) possible on a Gandi AI server.

You can therefore skip this step, it has no bearing whatsoever on the application's functioning.

Site registration

You'll get the chance to register your ez Publish site with eZ Systems. Tick the “Send registration” option if you wish to send this information (confidentially). Otherwise, untick it.

You can then click Next, and you're done. you'll be redirected yo your site's brand new administration zone. The loading time can be a little long for this first launch.

Congratulations, the installation is finished! For more info regarding ez Publish's configuration, please visit the official documentation. Thanks for reading!

Last modified: 07/08/2009 at 14:45 by antoine k.