How to install Roundcube Webmail on CentOS 8
In this tutorial we will show you how to install Roundcube Webmail on CentOS 8. For those of you who did not know, Roundcube is a popular webmail interface written in PHP programming language. You can access the mailbox created on your Linux server via POP / IMAP in the Roundcube web interface.
This article assumes that you have at least basic knowledge of Linux, know how to use the shell and most importantly, that you host your website on your own VPS. The installation is quite simple and requires you to run in the root account, otherwise you may need to add ‘sudo
to the commands for root privileges. I show you step by step installation of Roundcube Webmail on CentOS 8.
Install Roundcube Webmail on CentOS 8
Step 1. Let’s first start by making sure your system is up to date.
sudo dnf clean all sudo dnf update
Step 2. Install LAMP Stack.
If you do not already have a LAMP stack installed on your server, you can follow our guide here.
Step 3. Install Roundcube Webmail on CentOS 8.
Now we download the Roundcube installer from the official website:
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.11/roundcubemail-1.4.11-complete.tar.gz tar -zxvf roundcubemail-1.4.11-complete.tar.gz mv roundcubemail-1.4.11 /var/www/html/roundcubemail
We need to change some folder permissions:
chown -R apache:apache /var/www/html/roundcubemail chmod -R 755 /var/www/html/roundcubemail
Step 4. Configure MariaDB for Roundcube.
By default, MariaDB is not hardened. You can secure MariaDB using mysql_secure_installation script
. You should read and below each step carefully, which sets a root password, deletes anonymous users, allows remote root login and deletes the test database and access to secure MariaDB.
mysql_secure_installation
Configure it like this:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
Then we have to log in to the MariaDB console and create a database for Roundcube. Run the following command:
mysql -u root -p
This will ask you for a password, so enter your MariaDB root password and press Enter. Once logged in to your database server, you must create a database for installing Roundcube:
MariaDB [(none)]> CREATE DATABASE roundcubemail; MariaDB [(none)]> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'your-strong-passwords'; MariaDB [(none)]> GRANT ALL ON roundcubemail.* to 'roundcube'@'localhost'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> Exit
Step 5. Configure Apache for Roundcube.
We create a virtual Apache host for your Roundcube. Create first ‘/etc/apache/conf.d/vhosts.conf
‘file with a text editor of your choice:
nano /etc/apache/conf.d/vhosts.conf IncludeOptional vhosts.d/*.conf
Then create the virtual value:
mkdir /etc/apache/vhosts.d/ nano /etc/apache/vhosts.d/your-domain.com.conf
Add the following lines:
ServerAdmin webmaster@yourdomain.com DocumentRoot "/var/www/html/roundcubemail" ServerName your-domain.com ServerAlias www.your-domain.com ErrorLog "/var/log/httpd/yourdomain.com-error_log" CustomLog "/var/log/httpd/yourdomain.com-access_log" combined <Directory "/var/www/html/roundcubemail"> DirectoryIndex index.html index.php Options FollowSymLinks AllowOverride All Require all granted
Save and close the file. Restart the Apache service for the changes to take effect:
systemctl restart httpd.service systemctl enable httpd.service
Step 6. Install SSL for Apache on CentOS 8.
Run these commands on the command line on the machine to install Certbot:
wget https://dl.eff.org/certbot-auto sudo mv certbot-auto /usr/local/bin/certbot-auto sudo chown root /usr/local/bin/certbot-auto sudo chmod 0755 /usr/local/bin/certbot-auto
Then run this command to get a certificate and have Certbot edit your Apache configuration automatically:
sudo /usr/local/bin/certbot-auto --apache
Step 7. Configure firewall.
Before accessing the Roundcube web interface, you must enable HTTP and HTTPS services via firewall:
sudo firewall-cmd --add-port={http,https} --permanent sudo firewall-cmd --reload
Step 8. Access the Roundcube webmail interface.
Invoice Ninja will be available on HTTP port 80 by default. Open your favorite browser and navigate to https://your-domain.com/
and complete the necessary steps to complete the installation.
Congratulations! You have installed Roundcube. Thank you for using this guide to install Roundcube Webmail on your CentOS 8 system. For further help or useful information, we recommend that you check the official website for Roundcube Webmail.