Initial installation

This chapter is for the most part about installing imperia for the first time. If you have already done that and just want to do an update – for example from imperia 10.0.4 to 10.1.0 – read Update.

imperia CMS can be installed on Linux/UNIX derivates (Ubuntu, SUSE, RedHat, Solaris, CentOS, archlinux) and Microsoft Windows operating systems. The installation process differs a bit between the two. For UNIX installation see Installation UNIX and for Windows installation see Installation under Windows.

After the installation of imperia there is a "Trail Version" indicator in the header of your recent installed imperia system.

This is an indication, that the licence key is not activated yet. To register your system, see chapter Licensing in the administration documentation.

The software runs on your webserver. We recommend to use Apache, but NGINX may also be suitable. And there is always the internal web server that is shipped with every installation. For more information about webserver configuration see Operational Concept.

The backend of imperia CMS is programmed in Perl. So you have to make sure that Perl is installed on your server. For more information about Perl and its modules see Perl Module.

imperia CMS has a staging architecture: A development system and multiple target sytems. Your editors produce the content on the development system and publish it to the target systems. Your audience accesses your content on the target system. For more information about the architecture read Operational Concept. For publishing automatation and generation of dynamic pages imperia uses a system service, called Hermes. For more information about the Hermes read the chapter The Daemon Hermes of the Administration manual.


Prerequisites#

The following conditions must be met in order to install imperia on all operating systems:

Operating System#

imperia can be installed on the following operating systems:

  • Linux / UNIX ® -derivatives (Ubuntu, SUSE, RedHat, Solaris, CentOS, archlinux, ...)

  • Windows ® XP / Vista / 7 / 8 / 10 and Server 2003 / 2008 / 2012 / 2016 (not fully supported)

File System#

The performance of imperia depends on the file system type, especially when the File65 document storage is used. The following should be taken into consideration:

  • The file system has to be optimized for management of a lot of small files. Therefore, under Linux it is strongly recommended not to use ext3 (or ext2). You can still use Ext4, ReiserFS and XFS.

  • The use of network file systems, especially NFS, has a negative impact on performance. If you should use NFS, tuning measures are required.

  • The configured in site/config/system.conf path of the site directory should not be a symbolic link.

  • It is recommended that further file system-specific optimization measures, such as defragmentation, are performed regularly.

  • The performance of each file system suffers when it operates at capacity. An occupancy of more than 90% of the available space should be avoided.

Browser#

  • MS Internet Explorer 9, 10 and 11. (Internet Exploere 8 is considered deprecated and some imperia functions may not behave as expected)

  • Mozilla Firefox on Windows, Linux and Mac OS X.

  • Chrome on Windows, Linux and Mac OS X.

Perl#

Install Perl version 5.18.1 or greater. On Windows, you can install Strawberry-Perl 5.18.1 or greater.

For Windows® you can download Perl at the following address: http://strawberryperl.com

Important

Please, keep the installer version of Perl interpreter (*.msi), since problems with the execution of CGI scripts have occurred in the batch installation.

Web Server#

Install a web server. We recommend the Apache web server, since it can be operated through CGI, FAST-CGI, PSGI or mod_perl (Operational Concept.

Additional Requirements for SQL-based Data Management#

If you wish to use an SQL RDBMS for data management, you must also meet the following requirements:

Note

Please note that the web server must be restarted (or at least reloaded), if the connection to the database (in particular MySQL®) is lost or the database has been restarted.

Perl Module#

  • DBD :: * - Download the right module for the used RDBMS via or install it via ppm.

Oracle®#

  • PL/SQL must be installed and enabled.

  • The locale settings of the database server has to be set to “AMERICAN_AMERICA.WE8ISO8859P15”, so that collation does not cause conflicts.

Make sure to set the variable of the user environement to the same value that was present in configuration of the Oracle-DB. Therefore, proceed as follows:

  1. On Windows the user environment can be obtained by writing "set" into the console.
  2. The Oracle-DB encoding configuration can be obtained by the SQL-Statement:

    SELECT * FROM NLS_DATABASE_PARAMETERS;
    

    In this case the encoding in the Oracle-DB is: AMERICAN_AMERICA.WE8MSWIN1252

  3. Set the user environment by using:

    set NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
    

MS-SQL®#

  • The minimum version is MS-SQL Server 2005 ®, as it has the required EXCEPT and INTERSECT.

MySQL®#

There are different methods for storing the data tables in MySQL. In general, InnoDB is recommended. The advantage lies in InnoDB's transaction security and use of the real foreign keys, which speeds up the search in the database.

The minimum version of MySQL is 5.1.47.
For this version of MySQL, there are no more MySQLmax.

More information on MYSQL are to be found under SET TRANSACTION Syntax.

Important

In order for imperia 10 to correctly access the database, the “Isolation Level” database has to be set to READ COMMITTED. imperia does that automatically. However, if you have to access other applications in the database, this may lead to problems. Therefore, the imperia MySQL user must have the “SUPER” privileges. This can be done with the command:

GRANT SUPER ON . TO user@host

Replace "user" and "host" by the database-user and -host.

PostgreSQL#

The minimum required version is PostgreSQL 8.2. But we recommend the 8.4.3-1 version.

Note

The 8.4.1-1 version should not be used.

Pl/PGSQL must be installed and activated.

SQLite#

  • You must have DBD::SQLite version 1.29 or better installed. Older versions lead to extremely long processing time for large database operations.

  • imperia 10 requires DBD::SQLite version 3.7.9 or better.


Installation UNIX®#

To perform the installation on UNIX ® derivatives proceed as follows:

  1. Make sure you have done everything described in Prerequisites.

  2. If Perl is not installed in /usr/local/bin, create a symbolic link to /usr/local/bin/perl.

  3. Find out under which User-ID the web server runs. The following commands provide information:

    cat /etc/passwd | grep -i www ypcat passwd | grep -i -E '(www|web)'

  4. If necessary, check the configuration file of your web server. If you use an Apache web server, look at the configuration file for the terms user and group:

    egrep -i '(User|Group)' /path/to/httpd.conf

  5. Assume the User-ID, found in step 3:

    su wwwrun

  6. Unpack the archive into a temporary directory.

  7. Go to that directory and run the install.pl script:

    cd /your/temporary/directory ./install.pl

    It starts the interactive installation process.

If you run the script as root, you must first specify the user ID of the web server. Then specify whether you want to install a production system (Development) or a target system (Live).

Set the directories to be used. These include the CGI-BIN directory (optional), the SITE directory and the document root directory. For safety reasons, it is recommended the SITE directory to be outside of the document root directory to prevent unauthorized access. Starting from the source directory, the installation creates the nonexistent directories.

Once all questions have been answered, you get an overview of the expenditure data. Check them and confirm it by entering “yes”.

If you want to correct a mistake, enter “no”, and repeat the entries.

After you confirm your input, imperia is installed in the directory specified by you.

During the installation a password for the superuser is generated and displayed in the installation log. Search the file install.log for "superuser password" if you missed it. Remember to change it once you have logged in. The associated user name is superuser.


Installation under Windows®#

To install imperia under Windows® proceed as follows:

  1. Make sure you have done everything described in Prerequisites.

  2. Unpack the archive into a temporary directory.

  3. Start a DOS prompt and go to the temporary directory.

  4. Run the installation script as follows:

    perl install.pl

  5. Specify whether you want to install a production system (Development) or a target system (Live).

  6. Set the directories to be used. These include the CGI-BIN directory (optional), the SITE directory and the document root directory. For safety reasons, it is recommended the SITE directory to be outside of the document root directory to prevent unauthorized access.The paths must be specified using forward slashes (/), other paths are not processed. Starting from the source directory, the installation creates the nonexistent directories.

  7. Enter the URI of the cgi-bin location of your web server.

Once all questions have been answered, you get an overview of the expenditure data. Check them and confirm it by entering “yes”.
If you want to correct a mistake, enter “no” and repeat the entries.

After you confirm your input, imperia is installed in the directory specified by you.
The temporary directory should be deleted after the installation of a target system.


Installation of a Target System#

To install a target system, proceed exactly as for the installation of a development system. Only in the choice of the type of server (DEVELOP or LIVE) enter “LIVE”.

During the installation the directories for the target system have to be specified. The directories that do not exist are created automatically by the script.

For more information, read the admin manual.


Troubleshooting#

The following scripts have been provided to facilitate upgrading and maintaining of data management substantially.

site_doctree_admin.pl

The site/bin/site_doctree_admin.pl script that performs the database migration in real time was added in imperia 8.5.4. Whenever possible, the script divides the process into small individual transactions. Thus, the process can be interrupted and resumed later.

Note

Please note that only the data management systems PostgreSQL and SQLite support rollback changes to the database structure (add/delete tables, constraints, etc.).

When you run the script without any parameters, it checks the current version of the database schema and eventually suggests an update.

To obtain all the available options for the script use:

site_doctree_admin.pl --help

site_doctree_repair.pl

If you make changes, it may, in some cases, cause problems with duplicate keys. In this cases you can use the site_doctree_repair.pl script. It removes the duplicate rows from the database. If the call:

site_doctree_admin.pl --initialize

fails, you can see in the output of the script which table caused the error. Once you know the data table, you can repair it with site_doctree_repair.pl:

site_doctree_repair.pl --table=TABLE --repair

To obtain all the available options for the script use:

site_doctree_repair.pl --help

Language Support in the Operating System

The reason for the UI translation not to work might be the language support of the operating system. Under Linux systems this can be tested with the command:

locale -a

If the language (in this example, German (de_DE.utf8)) is not installed, you need to install it. On DEBIAN systems, for example, this is done with:

dpkg-reconfigure locales

On SuSE systems, you can select the language via the YaST.