ibexa

Path

ez publish / technical manual / 4.x / installation / normal installation / installing ez publish on a...


Caution: This documentation is for eZ Publish legacy, from version 3.x to 5.x.

Installing eZ Publish on a Linux/UNIX based system

This part of the 4.x documentation is for eZ Publish 4.0, only reference section is common for all eZ Publish 4.x versions as well as eZ Publish 5.x "LegacyStack", please select the version you are using for the most up to date documentation!

The requirements for doing a normal installation must be met! Read the "Requirements for doing a normal installation" section first. Proceed only if you have access to a Linux/UNIX based system with Apache, PHP, MySQL or PostgreSQL already installed and running. As mentioned earlier, the database server may run on a different computer than the web server. This section will guide you through the following steps:

  • Setting up a database (MySQL or PostgreSQL)
  • Downloading eZ Publish
  • Unpacking eZ Publish
  • Initiating the setup wizard

Setting up a database

A database must be created before running the setup wizard. The following text explains how to set up a database using either MySQL or PostgreSQL.

MySQL

  1. Log in as the root user (or any other MySQL user that has the CREATE, CREATE USER and GRANT OPTION privileges):

    $ mysql --host=<mysql_host> --port=<port> -u <mysql_user> -p<mysql_password>
    

    Note that if MySQL is installed on the same server, the "--host" parameter can be omitted. If the "--port" parameter is omitted, the default port for MySQL traffic will be used (port 3306).

    The MySQL client should display a "mysql>" prompt.

  2.  Create a new database:

    mysql> CREATE DATABASE <database> CHARACTER SET utf8;
    
  3.  Grant access permissions:

    mysql> GRANT ALL ON <database>.* TO <user>@<ezp_host> IDENTIFIED BY '<password>';
    

     Note that if the specified user account does not exist, it will be created.

<mysql_host>

The hostname of the MySQL database server.

<port>

The port number that will be used to connect to the MySQL database server.

<mysql_user>

The MySQL user (if no user is set up, use "root").

<mysql_password>

The password that belongs to the <mysql_user>.

<database>

The name of the database, for example "my_new_database".

<user>

The username that will be used to access the database.

<ezp_host>

The hostname of the server on which eZ Publish will be running. (may be 'localhost' if MySQL is installed on the same server).

<password>

The password you wish to set in order to limit access to the database.

PostgreSQL

  1. Log in as the postgres user (or any other PostgreSQL user that has sufficient privileges to create roles and databases):

    $ psql -h <psql_host> -p <port> -U <psql_user> -W
    

     Note that if PostgreSQL is installed on the same server, the "-h" parameter can be omitted. If the "-p" parameter is omitted, the default port for PostgreSQL traffic will be used (in most cases, port 5432).

    The PostgreSQL client will ask you to specify the password that belongs to the <psql_user>. If the password is correct, the client should display a "<psql_user>=#" prompt.

  2.  Create a new database:

    postgres=# CREATE DATABASE <database> ENCODING='utf8';
    
  3.  Create a new user:

    postgres=# CREATE USER <user> PASSWORD '<password>';
    
  4.  Grant access permissions:

    postgres=# GRANT ALL PRIVILEGES ON DATABASE <database> TO <user>;
    
  5.  Import the "pgcrypto" module into the new database:

    postgres=# \c <database>
    <database>=# \i '<path_to_pgcrypto>'
    

<psql_host>

The hostname of the PostgreSQL database server.

<port>

The port number that will be used to connect to the PostgreSQL database server.

<psql_user>

The PostgreSQL user (if no user is set up, use "postgresql").

<database>

The name of the database, for example "my_new_database".

<user>

The username that will be used to access the database.

<password>

The password you wish to set in order to limit access to the database.

<path_to_pgcrypto>

The path to the "pgcrypto.sql" file, for example "/usr/share/pgsql/contrib/pgcrypto.sql".

Downloading eZ Publish

The latest stable version of eZ Publish can be downloaded from http://ez.no/download/ez_publish.

Unpacking eZ Publish

Use your favorite tool to unpack the downloaded eZ Publish distribution to a web-served directory (a directory that is reachable using a web browser). The following example shows how to do this using the tar utility (to unpack a tar.gz file, assuming that the "tar" and the "gzip" utilities are installed on the system):

$ tar zxvf ezpublish-<version_number>-gpl.tar.gz -C <web_served_directory>

<version_number>

The version number of eZ Publish that was downloaded.

<web_served_directory>

Full path to a directory that is served by the web server. This can be the path to the document root of the web server, or a personal web-directory (usually called "public_html" or "www", and located inside a user's home directory).

The extraction utility will unpack eZ Publish into a sub-directory called "ezpublish-<version_number>". Feel free to rename this directory to something more meaningful, for example "my_site".

Initiating the setup wizard

The setup wizard can be started using a web browser immediately after the previous steps (described in this section) are completed. It will be automatically run the first time someone tries to access/browse the index.php file located in the eZ Publish directory. Let's assume that we are using a server with the hostname "www.example.com" and that after unpacking, the eZ Publish directory was renamed to "my_site".

Document root example

If eZ Publish was unpacked into a directory called "my_site" under the document root, the setup wizard can be initiated by browsing the following URL: http://www.example.com/my_site/index.php.

Home directory example

If eZ Publish was unpacked to a web-served directory located inside the home directory of a user with the username "peter", (usually called "public_html", "www", "http", "html" or "web"), the setup wizard can be initiated by browsing the following URL: http://www.example.com/~peter/my_site/index.php.

Refer to "The setup wizard" section for a detailed description of the web based setup wizard.

Balazs Halasy (13/01/2005 10:25 am)

Ricardo Correia (17/04/2013 9:46 am)

Svitlana Shatokhina, Geir Arne Waaler, Ricardo Correia


Comments

  • User permissions/groups (Linux)

    If you change the owner of the var directory to nobody or apache (the webserver), you may want to add account user to that group. This allows you to edit those files through SSH, without being root.
    • Re: User permissions/groups (Linux)

      Any body can help me?
      I am working with windows and i use Easy PHP 5.3.0, but i have this error: " Fatal error: Class 'ezcBaseOptions' not found in C:\Program Files\EasyPHP5.3.0\www\my_site\kernel\private\options\ezpextensionoptions.php on line 55
      Fatal error: eZ Publish did not finish its request

      The execution of eZ Publish was abruptly ended, the debug output is present below. "

      I read more thing about this, like, install ezcomponets or run PEAR, but i read some thing that PHP 5.2.0 or newer don't need to install PEAR.

      regards,



  • Error of missing Class...

    Just after adding the SQL date in the setup wizard, and clicking next..
    The browser return this message for me:

    Fatal error: Class 'ezcBaseOptions' not found in /long/and/boring/path/to/my/ezInstallation/kernel/private/options/ezpextensionoptions.php on line 54
    Fatal error: eZ Publish did not finish its request

    The execution of eZ Publish was abruptly ended, the debug output is present below.
    • Re: Error of missing Class...

      You have to install ezcomponents in order to work.
  • ez components installation

    Well, I tried to install ez components but it's a mess. I mean I'm not a regular developer (maybe a sysadmin ^^) and I don't know what to do when the ezcomponents install documentation asks to set up the last part of the installation "Autoload environnement"

    Someone would have an idea ?
  • Postgres on Ubuntu 9.04

    Here is what I needed to do to get postgres up on Ubunutu:

    First the three first steps mentioned here:
    http://hocuspokus.net/2008/05/install-postgresql-on-ubuntu-804

    As in install postgresql, postgresql-client and postgresql-contrib. And also php-pgsql package.
    Then set password as described in above link.

    After that everything should be done like mentioned on this page, with the exception that "pgcrypto.sql" is in "/usr/share/postgresql/8.3/contrib/pgcrypto.sql"
  • Help

    Any body can help me?
    I am working with windows and i use Easy PHP 5.3.0, but i have this error: " Fatal error: Class 'ezcBaseOptions' not found in C:\Program Files\EasyPHP5.3.0\www\my_site\kernel\private\options\ezpextensionoptions.php on line 55
    Fatal error: eZ Publish did not finish its request

    The execution of eZ Publish was abruptly ended, the debug output is present below. "

    I read more thing about this, like, install ezcomponets or run PEAR, but i read some thing that PHP 5.2.0 or newer don't need to install PEAR.

    regards,
  • Error when trying to access index.php after fresh upload

    Parse error: syntax error, unexpected ',', expecting '(' in /homepages/22/d223624283/htdocs/ezpublish/index.php on line 106

    What am I missing here?
    • Re: Error when trying to access index.php after fresh upload

      Parse error: syntax error, unexpected ',', expecting '(' in /hsphere/local/home/mboyle/dev.myfreeweb.us/t1/index.php on line 106
  • Parse error: syntax error, Problem

    Brand new load, first time running, I get
    -----
    Parse error: syntax error, unexpected ',', expecting '(' in /hsphere/local/home/mboyle/dev.myfreeweb.us/t1/index.php on line 106
    -----

    Can anyone PLEASE tell me what I am doing wrong, or what I am missing?

    Thanks
  • Error Installing 4.1.3

    Hallo,
    by installing this version comes an error
    Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 43 bytes) in /home/blanca/htdocs/ez_carinho/lib/ezi18n/classes/ezcharsetinfo.php on line 56

    I don't find on the line 56 something to allocate. What can I do?
    Thanks for your help.
    Margarita
    • Re: Error Installing 4.1.3

      memory_limit = 64M

      You should add or modifiy the line above in your php.ini configuration file :
      This is the maximum amount of memory a script may consume, 64 Megabytes
      Warning : no whitespace between 64 and M !

      Best regards
      Istvan
  • install error

    here is the error message i get:
    ----------------------------------------
    Warning

    The database [ezpublish1] cannot be used, the setup wizard wants to create the site in [utf-8] but the database has been created using character set [iso-8859-1]. You will have to choose a database having support for [utf-8] or modify [ezpublish1] .
    ----------------------------------------------------------

    I am looking for the most up to date info on how to solve this server-side issue. The stuff i have seen on this site is from 2006..

    THanks
    • Re: install error

      Working on centos5 server with no plesk.

      Is there a command line way of doing this in terminal access?
    • Re: install error

      You'll have to reformat your database into utf8.

      The SQL command is: ALTER DATABASE `ezpublish1` DEFAULT CHARACTER SET utf8

      Go into phpmyadmin select your database the goto "operations" and type in the SQL command.

      Regards
  • Installing eZ publish 4.3

    It is a mess, why do I get this error:

    Fatal error: Call to undefined method eZTemplate::factory() in /var/www/ez43/html/index.php on line 948
    Fatal error: eZ Publish did not finish its request

    Why is it so complicated to install the new eZ publish? I do not want to figure out eZ components ... It is a pitty, the former versions of eZ publish where much more easier to install.

    What do I have to do: there is a config.php-RECOMMENDED file, looking for sth stupid of eZ components - looks like a typothree installation :(
  • Can not login to a PostgreSQL Database

    Hi

    On a fresh installed RHEL 5.5 with PostgreSQL 8.4 i can not login into the DB. My testuser calls ezpublish with the password ezpublish. On the shell i can log me in. But on the wizard it doesn't works.

    Servername: localhost
    Port: 5432
    Username: ezpublish
    Password: ezpublish
  • Parse error:

    Parse error: syntax error, unexpected ',', expecting '(' in /homez.342/entropiah/www/index.php on line 108

    nothing changed, just it is at it was from your site zip.

    whats wrong?
    • Re: Parse error:

      I can confirm this error:
      system:
      # cat /proc/version
      Linux version 2.6.18-6-amd64 (Debian 2.6.18.dfsg.1-24etch4) (dannf@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Fri Aug 21 14:53:35 UTC 2009

      Tried this package:
      http://ez.no/download/download_fe...publish_4_3_0_light_with_ezc_gpl_zip

      Happens when accessing root dir
    • Re: Parse error:

      What PHP version are you using?
      A quick check reveals no error in all index.php files of the provided tarballs/zip files.
      Be sure to check the requirements!

      Regards
      • Re: Re: Parse error:

        You are right, all parse errors of this kind are related to running the wrong PHP version. I had php cli in version 5 and php-cgi in version 4, so php -v on console gave me the wrong hint...

        Thanks,

        frank
  • Fresh install. Apache2 won't start. Syntax errors.

    Apache tripped over the LICENSE first. Now it's tripping up on access.php with the error "Syntax error on line 1 of /etc/apache2/sites-enabled/ezpublish/access.php: /etc/apache2/sites-enabled/ezpublish/access.php: <?php> was not closed."

    I'd like to get some type of CMS up and running without having to modify php code. Is there a nice simple set of instructions for setting eZ Publish on Linux?