Installation

1 Installation process

  1. Check system requirements against your server
  2. Download the latest package (ask our sales representatives for download URL – sales@gentics.com)
  3. Unpack the package in your target installation folder (eg. /var/www/vhosts/www.<domain>.com/) and rename the new unzipped package folder to your preferred name (eg. portal)
  4. Create a new database for Gentics Portal.Node PHP and a user with granted rights (CRUD) on your database (eg. portal_repository)
  5. Go to your installation folder (eg. /var/www/vhosts/www.<domain>.com/portalnode-php/), go on to subfolder scripts/
  6. (For Linux installations) Make install.sh executable (chmod +x install.sh)
  7. Run installation script (./install.sh) on shell (on Linux) or install.bat (on Windows)
  8. Answer the questions about your database and the other settings in the installation process
  9. Reconfigure your webserver’s DocumentRoot with: <your-installation-folder>/frontend/www/ For more details read the infrastructure guide. We added some standard configurations of Apache and Nginx to the scripts/examples folder of your portal.
  10. Restart your webserver

Now you should see the portal in your browser.

To gain more security it is recommended to make the <portal> folder not accessible via web, because it contains also source code of the portal application. The portal uses the approach of one-entrance and gives less space for potential attacks.

1.1 Folder permissions

Should be done by installation script. But in case you need it.

Grant read- and write- permissions (in Unix systems) to the following folders:

  • <portal>/common/runtime
  • <portal>/frontend/www/assets
  • <portal>/frontend/runtime
  • <portal>/tests/runtime

cd <portal>
chmod 755 common/runtime
chmod 755 frontend/www/assets
chmod 755 frontend/runtime
chmod 755 tests/runtime

Grant permissions to cache folder of Dynamic Content Renderer (i.e. chmod -R 777 /var/www/DCR).

Check that the user under which your web-server is running, has read-permissions to the rest of the portal code.

1.2 Create database schema

In generall the installation script should do the database creation for you. In case you have any problems you can do it also by hand. You should know and understand database migrations also for later updates.

Gentics Portal.Node PHP uses database migrations for storing and updating database scheme.

Like source code, the structure of a database is evolving as we develop and maintain a database-driven application. For example, during development, we may want to add a new table; or after the application is put into production, we may realize the need of adding an index on a column.

It is important to keep track of these structural database changes (called migration) like we do with our source code. If the source code and the database are out of sync, it is very likely the whole system may break. For this reason, Gentics Portal.Node PHP provides a database migration tool that can keep track of database migration history, apply new migrations, or revert existing ones.

It’s important that the configuration for client_console includes the correct database settings to enable migrations functionality.

  1. Edit the file <portal>/custom/config/client_console.php
  2. Modify the values of the first “connectionString”, “username” and “password” to your actual database-settings(you can copy them from <portal>/custom/client_config.php)
  3. Save client_console.php
  4. Execute migrations.

# cd <portal>/common
# ./yiic migrate

1.3 Go to your new portal site

If all steps are successful, you can go to to your new portal site e.g. www.<yourdomain>.com.

Further infrastructure informations are specified here

1.4 Configuration

You can manage your settings in the client-settings-file (<your-installation-folder>/custom/config/client_main.php). Your portal will be deliverd with a default client_main.php.dist file. Rename it to client_main.php to activate it.

This configuration file OVERWRITES the settings in the global configuration file <your-installation-folder>/frontend/config/main.php. In main.php you can find ALL settings to run the portal, but don’t change them here (because the file will be overwritten during an update)!

If you want to change settings, which are not in client_main.php, just copy the part from the global configuration and add it to client specific configuration, where you can overwrite them.

1.5 Customizing

If you want to customize some functionality of the portal, use the custom-folder. You can add and overwrite modules there (by using the same structure, you see in the common-folder). Don’t forget to activate your modules in client_main.php/main.php.

1.6 Production settings

Read this guide for production server settings

Especially the section about “yiilite”:“http://www.yiiframework.com/doc/guide/1.1/en/topics.performance#using-x-9x” (only if you use APC), database schema caching, turning off debugging.

It will make your portal much faster.