Path

7x / documentation / ez publish / technical manual / 3.10 / installation / normal installation / installing ez publish on a...


Caution: This documentation is for eZ Publish legacy, from version 3.x to 6.x.
For 5.x documentation covering Platform see eZ Documentation Center, for difference between legacy and Platform see 5.x Architecture overview.

Installing eZ Publish on a Linux/UNIX based system

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. (Do not use PHP 5.) 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 <charset>;
    
  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".

<charset>

The character encoding scheme to be used in the database, for example "utf8".

<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='<charset>';
    
  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".

<charset>

The character encoding scheme to be used in the database, for example "utf8".

<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 the 3.10 branch can be downloaded from http://ez.no/download/ez_publish/ez_publish_3_stable_releases/3_10.

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-3.10.x-gpl.tar.gz -C <web_served_directory>

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 subdirectory called "ezpublish-3.10.x". 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)

Svitlana Shatokhina (10/01/2008 9:50 am)

Svitlana Shatokhina, Julia Shymova


Comments

  • Setup wizard, memoy_limit issue

    Hi.

    I have question regarding eZ setup wizard. I am using a webhost with linux and Apache 1.3 and php 4. Now, I just finished uploading the eZ publish 3.8.4 and start the setup wizard. The "finetune" shows up, I click on it and following message (short version):

    1.PHP safe mode is enable
    2.File uploading is not possible

    I try to fix this issues, but nothing helps. I Ignore this and continiue finishing the wizard. But when I access the user_site, following occures:

    A login shows up and I have to write admin username and password.
    Also I cannot acces the admin_site, it says something like: ez publish.. fatal error..

    I'm stuck! Need help. I have tried this a couple of times and same problem occures.
    I know, to run the wizard the memory_limit has to be 64MB. I only have 16MB. Is it still possible ?

    Or is there other alternative to configure ez publish ?
  • 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.