Installing the Webserver, Webhosting and VIMP on RedHat 7 / CentOS 7 (VIMP 4.0+)

Editions: all
Versions: VIMP >= 4.0.x

This article explains how to install the complete server software (Apache, MariaDB, PHP 7.0 or 7.2, php-cli, postfix etc.) for VIMP and how to configure the webhosting.

Redhat 7.x installs PHP 5.4 by default. This does not meet the System Requirements of VIMP >=4.0.x.
So we install PHP 7.0 for VIMP 4.0.x or PHP 7.2 for VIMP >=4.1.x
PHP 7.x in RedHat 7.x can be installed via RHSCL (Red Hat Software Collections", but RHSCL is only available for RHEL customers with special RHEL subscriptions.

We describe the PHP 7.0 installation here, that works for any RHEL 7.x installation with the well known EPEL- and remy-repositories here.

Preparation for PHP 7.0 (VIMP 4.0.x+) or PHP 7.2 (VIMP 4.1.x+)

1) Install and enable the EPEL and remi repositories. As "root" please execute

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm
subscription-manager repos --enable=rhel-7-server-optional-rpms

1) Configure the repositories to install PHP 7.0. As "root" please execute

yum install yum-utils
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php70

To choose PHP 7.2, in case you install VIMP 4.1.0+,  you just have to change the last command like this:

yum-config-manager --enable remi-php72

following commands are identical for PHP 7.0 or PHP 7.2 again.

We install Apache, MariaDB (mysql-db) and PHP:

yum update
yum install httpd mariadb-server php php-common php-mcrypt php-cli php-gd php-curl php-mysql php-intl php-ldap php-mbstring php-xml php-xmlrpc php-pecl-zip openssl time

We install postfix as MTA (Mail Transport Agent). Other MTAs like sendmail can be used, too, but please take care that it is configured to send e-mails by PHP scripts.

yum install postfix

Apache Konfiguration:

We install VIMP into the "default"-hosting. Its configuration was created automatically with the apache installation. We need some configuration changes and use "vi" as editor. Feel free to use any other editor of your choice:

vi /etc/httpd/conf/httpd.conf

First we change the DocumentRoot like this:

DocumentRoot "/var/www/html/web"

And we change the corresponding block. Please don't forget to adapt the path within the Directoy tag:

# Further relax access to the default document root:
<Directory "/var/www/html/web">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>


We create the new configured DocumentRoot and set owner and group:

# mkdir /var/www/html/web
# chown -R apache:apache /var/www/html/web

We reload the configuration later. First we have to...

Configure Firewall

We open Port 80 (HTTP) and 443 (HTTPS) of the firewalld:

# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --permanent --add-port=443/tcp
# And reload the firewall configuration:
# firewall-cmd --reload

PHP configuration

There's just one php.ini file that configures PHP for Apache and the CLI (cli=command line interface).

joe /etc/php.ini

Modify the following lines to allow uploads up to 8 GB:

upload_max_filesize = 8192M
post_max_size = 8192M
memory_limit = 1024M

Save and restart Apache.

service httpd restart

Create database and database user:

If not already done we set a password for the mysql user "root":

# mysql
MariaDB [(none)]> UPDATE mysql.user SET Password=PASSWORD('mypassword') WHERE user='root'; MariaDB [(none)]> flush privileges; MariaDB [(none)]> exit;

Now log in again with the new password and create the VIMP database and db-user:

# mysql -p
# [enter mysql-root password]
MariaDB [(none)]> create database DATABASENAME default character set utf8 collate utf8_unicode_ci;
MariaDB [(none)]> grant all privileges on DATABASENAME.* to 'DATABASEUSER'@'localhost' identified by 'PASSWORD';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Installing the transcoding tools

VIMP requires ffmpeg to transcode media and exifool to rotate in case of portrait-mode videos.
The installation is described here.

Transcoding also needs a special Cron-Job: How to install the transcoding cron job.

Uploading and Installing the VIMP package

IMPORTANT: To run VIMP Community, VIMP Professional and VIMP Corporate editions you need to install the free SourceGuardian extension. Find the tutorial here: Installing the SourceGuardian PHP extension Redhat 7 / CentOS 7 with PHP 7.0

Upload and installation of the VIMP installer is described here.

Basic usage

Now the installation is finished. Enter the URL of your portal in your web browser.

During installation three users with the corresponding user roles are created:

  • "admin" (Password: "admin") as administrator
  • "moderator" (Password: "moderator") as moderator
  • "user" (Password: "user") as standard user

Change all passwords as soon as possible after installation. If you don't need those standard users you can delete each of them in the administration backend.


Last update on 2019/10/21 by SUPPORT.

Go back