Here's a quick install howto for Ubuntu 18.04, and it's based on a clean install of the server.
# Prerequisites for Ubuntu 18.04
sudo apt install mariadb-server postfix dovecot-imapd dovecot-sieve dovecot-managesieved dovecot-solr\
apache2 libapache2-mod-php7.2 php7.2 php7.2-mysql php-pear php-net-smtp php7.2-intl php-net-idna2 php-net-ldap3\
php-mdb2 php-mail php-mail php-mail-mime php7.2-gd php-imagick php7.2-ldap php7.2-zip libidn2-0 composer git node-less
# Roundcube download
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.6/roundcubemail-1.4.6-complete.tar.gz
# Web part
sudo tar xzf roundcubemail-1.4.6-complete.tar.gz -C /var/www/
sudo mv /var/www/roundcubemail* /var/www/roundcubemail
sudo chown -R www-data:www-data /var/www/roundcubemail
sudo sed -i 's/\/var\/www\/html/\/var\/www\/roundcubemail/g' /etc/apache2/sites-enabled/000-default.conf
sudo cp /var/www/roundcubemail/config/config.inc.php.sample /var/www/roundcubemail/config/config.inc.php
# Database
sudo mysql -e"create database roundcube CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;use roundcube;grant all privileges on roundcube.* to 'roundcube'@'localhost' IDENTIFIED BY 'FILL-IN-YOUR-PASSWORD';"
sudo mysql -e "USE roundcube; SOURCE /var/www/roundcubemail/SQL/mysql.initial.sql;"
# PHP
sudo sed -i 's/date.timezone = /date.timezone = Europe\/Amsterdam/g' /etc/php/7.2/apache2/php.ini # Use your location
sudo systemctl reload apache2.service