Installation time: one hour
eZ Publish is a content management system (CMS), more explicitly designed for professional use than Drupal or Joomla, for instance.
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:
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.
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.
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++.
You basically have two choices here. For “neatness'” sake; such applications are generally placed in folders either within the www sub-domain (www.example.com/ezpublish), or in a specific sub-domain of their own (ezpublish.example.com).
Easy! Create a dedicated folder in the desired emplacement (in htdocs, for instance, to obtain www.example.com/ezpublish)
Two things to do:
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:
/srv/d_my-gandi-ai/www/ezpublish.example.com/htdocs/
…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.
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:
design extension settings settings/override settings/siteaccess settings/siteaccess/admin var var/cache var/storage
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:
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).
With Mac or Linux, you can directly enter
ssh admin@000.000.000.000
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).
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
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:
Then, type:
flush privileges;
and finally:
exit;
Your database has been created, and you have now left the management of your MySQL server.
You may now exit your server by typing:
exit
Using your favorite web browser, you can now go to the eZ Publish folder uploaded to your website (as in ezpublish.example.com; example.com/ezpublish…).
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.
Choose the SMTP option.
Fill-in the fields as follows:
Choose the MySQL Improved option.
Fill-in the fields as follows:
Here you can choose the default language and additional languages which will be made available to your eZ Publish site's users.
Choose a presentation model among the three proposed.
Since this is our first installation, the Plain site option is recommended.
You are then notified that the files allowing the installation of this pack have succesfullly been imported.
The URL option will do fine by default, unless you know what you are doing. :)
Fill in the fields as follows:
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.
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.
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!