DE EN EN (Google)

Installing the easydb asset server

Package installation

After entering the installation source in /etc/apt/sources.list, the installation of the necessary software is done with the following commands:

apt-get update
apt-get install easydb-asset-server

Due to the dependencies of the package, all programs required by EAS are installed, including ImageMagick (image processing), MPlayer/FFmpeg (video recognition and conversion), OpenOffice.org (office conversion), the PostgreSQL database server and the Apache web server.

Database

The EAS needs a PostgreSQL database. The EAS can be installed together with easydb in a database, because EAS uses only the schema eas; however, Typically they are separate databases.

The database in the EAS is connected via the variable EAS_PG_DSN in the Configuration File.

Create the EAS database

The EAS needs an existing database, the creation and maintenance of the schema is done automatically. For a standard installation the following command is recommended (creates an empty database named easydb as user postgres):

createdb -U postgres easydb

 

Configuration of the partitions

By default, the EAS is loaded with 2 partitions, the assets are stored in /var/opt/easydb/lib/eas/assets/orig (Uploaded assets) and /var/opt/easydb/lib/eas/assets/dest (Created versions). This setting can only be used in of the database.

 

EAS Worker

The EAS-Worker is used for the asynchronous calculation of the asset versions. This consists of one or more processes using the script /etc/init.d/easydb-asset-server.

For an accurate analysis, it can be helpful to the worker only with

/etc/init.d/easydb-asset-server debug

To make configuration or installation problems easier to see. Then a worker is started in the active window, which can cancelled with Ctrl + C.

The current state of worker processes can be seen with

/etc/init.d/easydb-asset-server status

Among other things, the number of, successful or otherwise, completed jobs.

The paths refer to paths in the container, not to paths directly on your server that is running the docker container.

 

EAS Service

To respond to requests through the easydb or other services exists the so-called EAS service. This accepts tasks synchronously must be edited.

A configuration file is provided, which macros for the Apache-mod_macro-Module. This file includes the following package:

Include /etc/opt/easydb/eas/apache-easydb-asset-server.inc

The macros are for use within a VirtualHost definition intended. Two macros are defined: EasydbAssetServer and EasydbAssetServerAllowedHost. The former configures the EAS service and can be used with one standard installation of the EAS as in the example. The second macro defines the hosts that access the EAS service allowed. Here the external address of the easydb must be specified, too when the easydb and EAS are running on the same machine.

<VirtualHost eas.example.org>
    Use EasydbAssetServer /opt/easydb/eas /var/opt/easydb/lib/eas/partitions /var/run/easydb/fcgi-socket
    Use EasydbAssetServerAllowedHost 192.0.2.10
</VirtualHost>

As of version 4.2 of the EAS, EasydbAssetServer still has a third parameter. This determines the socket, via which the Apache web server per FastCGI accesses the EAS service. With this macro, the name of the sockets to the Apache, the EAS receives the configuration via the parameter EAS_FCGI_SOCKET in the Configuration file.

If the access of several hosts is allowed, the configuration must be look something like this:

<VirtualHost eas.example.org>
    Use EasydbAssetServer /opt/easydb/eas /var/opt/easydb/lib/eas/partitions /var/run/easydb/fcgi-socket
    Use EasydbAssetServerAllowedHost "192.0.2.10 192.0.2.11"
</VirtualHost>

> The paths refer to paths in the container, not to paths directly on your server that is running the docker container.

Set up the EAS service for different virtual hosts
------------------------------------------------------------

> HTTPS is set up outside of docker and not by the method described here. The following example will only illustrate the requirements of the EAS in particular constellations.

You want the EAS service to be available across multiple virtual hosts usually several VirtualHost sections in Apache configuration
used.

From **version 4.2.40** this is without problems with the macro `EasydbAssetServerExt` is possible. In addition to `EasydbAssetServer` a unique identifier is selected for each VirtualHost entry
(The 2nd parameter):

```apache
<VirtualHost eas.example.org:80>
    Use EasydbAssetServerExt /opt/easydb/eas "default" /var/opt/easydb/lib/eas/partitions /var/run/easydb/fcgi-socket
    Use EasydbAssetServerAllowedHost 192.0.2.10
</VirtualHost>

<VirtualHost eas.example.org:443>
    Use EasydbAssetServerExt /opt/easydb/eas "ssl" /var/opt/easydb/lib/eas/partitions /var/run/easydb/fcgi-socket
    Use EasydbAssetServerAllowedHost 192.0.2.10
</VirtualHost>

The other settings necessary for SSL were stored in the VirtualHost examples omitted for clarity. Of course, is still a combination of the easydb and the EAS in a VirtualHost entry.

Before Version 4.2.40 (You have a newer version) was only circumstantially realizable, because of the first parameter of the EasydbAssetServer macro (the path to the EAS) for each VirtualHost entry must be unique. In this case, file system, a symbolic link to /opt/easydb/eas can be created (e.g., eas-ssl) and the first parameter for EasydbAssetServer would then be /opt/easydb/eas-ssl.

This example can also be found in the following directory:

/etc/opt/easydb/eas/apache-easydb-asset-server-virtual-host.inc.example

The paths refer to paths in the container, not to paths directly on your server that is running the docker container.

 

Free software

Many tasks of the EAS are carried out with source-open free software, especially with ImageMagick (image processing), MPlayer/FFmpeg (video recognition and conversion), OpenOffice.org (Office Conversion), the PostgreSQL database server, and the Apache Web server.