{"id":1053,"date":"2017-10-05T11:48:10","date_gmt":"2017-10-05T08:48:10","guid":{"rendered":"https:\/\/community.virtono.com\/?p=1053"},"modified":"2017-10-05T11:48:10","modified_gmt":"2017-10-05T08:48:10","slug":"creating-your-own-webmail-using-roundcube-on-ubuntu-16-04","status":"publish","type":"post","link":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/creating-your-own-webmail-using-roundcube-on-ubuntu-16-04\/","title":{"rendered":"Creating your own webmail using Roundcube on Ubuntu 16.04"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Webmail allows you to easily access your e-mails anytime and anywhere if you have a device with an internet access and web browser. \u00a0You can easily create a webmail using Roundcube.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Roundcube Webmail is a browser-based multilingual IMAP client with an application-like user interface.<\/span><span style=\"font-weight: 400\"> It is a free and open source webmail solution with a desktop-like user interface which is easy to install and configure. It runs on a standard LAMPP server<\/span><span style=\"font-weight: 400\">. It provides complete functionality as found in an email client which includes an address book, folder management, MIME support, message searching and spell checking. <\/span><span style=\"font-weight: 400\">Roundcube includes other sophisticated open-source libraries such as\u00a0<\/span><a href=\"http:\/\/pear.php.net\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">PEAR<\/span><\/a><span style=\"font-weight: 400\">, an IMAP library derived from\u00a0<\/span><a href=\"http:\/\/en.wikipedia.org\/wiki\/IlohaMail\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">IlohaMail<\/span><\/a><span style=\"font-weight: 400\">\u00a0the\u00a0<\/span><a href=\"http:\/\/tinymce.moxiecode.com\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">TinyMCE<\/span><\/a><span style=\"font-weight: 400\">\u00a0rich text editor,\u00a0<\/span><a href=\"http:\/\/orangoo.com\/labs\/GoogieSpell\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">Googiespell<\/span><\/a> <span style=\"font-weight: 400\">library for spell checking or the\u00a0<\/span><a href=\"http:\/\/www.ubixis.com\/washtml\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">WasHTML<\/span><\/a><span style=\"font-weight: 400\">\u00a0sanitizer by Frederic Motte.<\/span><span style=\"font-weight: 400\"> \u00a0Roundcube Webmail is written in PHP and requires the MySQL, PostgreSQL or SQLite database. It\u2019s plugin API it is easily extendable and the user interface is fully customizable using skins which are pure XHTML and CSS 2.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Let us first understand how an email actually work in order to understand where Roundcube fits in your email infrastructure.<\/span><\/p>\n<p><b>Mail User Agent\u00a0(MUA)<\/b><span style=\"font-weight: 400\"> -A user interacts with this interface to view and send email.<\/span><\/p>\n<p><b>Mail Transfer Agent\u00a0(MTA<\/b><span style=\"font-weight: 400\">)- This transfers an email from the sender to the recipient.<\/span><\/p>\n<p><b>Mail<\/b><b><i> delivery agent<\/i><\/b><b>\u00a0(MDA)<\/b><span style=\"font-weight: 400\">&#8211; It receives emails from MTAs and stores them.<\/span><\/p>\n<p><b><i>Simple Mail Transfer Protocol<\/i><\/b><b>\u00a0(SMTP)- <\/b><span style=\"font-weight: 400\">It is the protocol MUAs use to send mail to MTAs.<\/span><\/p>\n<p><b><i>Internet Message Access Protocol<\/i><\/b><b>\u00a0(IMAP)<\/b><span style=\"font-weight: 400\">&#8211; It is a protocol that MDAs use to deliver mail to MUAs.<\/span><\/p>\n<p><span style=\"font-weight: 400\">When an email is sent, Mail User Agent transfers it to email server&#8217;s Mail Transfer Agent using Simple Mail Transfer protocol. Then the recipient&#8217;s Mail Transfer Agent will receive the email after several hops and transfer it to their Mail Delivery Agent using Internet Message Access protocol. Then your recipient can view the email using their MUA of choice.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Roundcube acts as a Mail User Agent and not as a Mail Transfer Agent. We would still need a service to manage emails if we use it. For this we can use our own mail servers or use public email services like Gmail or hosted email from Internet Service Provider.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_73 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/creating-your-own-webmail-using-roundcube-on-ubuntu-16-04\/#Before_we_get_started_%E2%80%93\" title=\"Before we get started &#8211;\">Before we get started &#8211;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/creating-your-own-webmail-using-roundcube-on-ubuntu-16-04\/#1Start_with_Installing_Dependencies\" title=\"1.Start with Installing Dependencies\">1.Start with Installing Dependencies<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/creating-your-own-webmail-using-roundcube-on-ubuntu-16-04\/#2_Download_Roundcube\" title=\"2. Download Roundcube\">2. Download Roundcube<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/creating-your-own-webmail-using-roundcube-on-ubuntu-16-04\/#3_Apache_Configuration\" title=\"3. Apache Configuration\">3. Apache Configuration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/creating-your-own-webmail-using-roundcube-on-ubuntu-16-04\/#4_MySQL_Configuration\" title=\"4. MySQL Configuration\">4. MySQL Configuration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/creating-your-own-webmail-using-roundcube-on-ubuntu-16-04\/#5_Roundcube_Configuration\" title=\"5. Roundcube Configuration\">5. Roundcube Configuration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/creating-your-own-webmail-using-roundcube-on-ubuntu-16-04\/#6Testing\" title=\"6.Testing\">6.Testing<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/creating-your-own-webmail-using-roundcube-on-ubuntu-16-04\/#Next_Remove_the_Installer_Directory_so_that_no_one_can_reconfigure_or_override_it\" title=\"Next Remove the Installer Directory so that no one can reconfigure or override it.\">Next Remove the Installer Directory so that no one can reconfigure or override it.<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/creating-your-own-webmail-using-roundcube-on-ubuntu-16-04\/#Conclusion\" title=\"Conclusion\">Conclusion<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Before_we_get_started_%E2%80%93\"><\/span><b>Before we get started &#8211;<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400\">You will need the following:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">One Ubuntu 16.04 server.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Install LAMP Stack packages.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">An IMAP-based email server. We will use Gmail to get service to manage emails in the following instructions.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Familiarize yourself with the IMAP and SMTP settings for your email server.<\/span><\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"1Start_with_Installing_Dependencies\"><\/span><b>1.Start with Installing Dependencies<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400\">We first need to install Roundcube\u2019s dependencies and configure PHP. After Roundcube\u2019s installation we can use it\u2019s dependency check page to ensure that everything is set up as required<\/span><\/p>\n<p><span style=\"font-weight: 400\">To install all dependencies, update your package index as follows :<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0\u00a0sudo apt-get update<\/span><\/p>\n<p><span style=\"font-weight: 400\">sudo apt-get install php-xml php-mbstring php-intl php-zip php-pear zip unzip git composer <\/span><\/p>\n<p><span style=\"font-weight: 400\">Enabling PHP libraries :<\/span><\/p>\n<p><span style=\"font-weight: 400\">sudo nano \/etc\/php\/7.0\/apache2\/php.ini<\/span><\/p>\n<p><span style=\"font-weight: 400\">Changes that are needed can be enabled by uncommenting the lines. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Look for the lines which contains commented lines(commented lines start with a\u00a0<\/span><span style=\"font-weight: 400\">;<\/span><span style=\"font-weight: 400\">\u00a0semicolon) beginning with\u00a0<\/span><span style=\"font-weight: 400\">extension=<\/span><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Uncomment the lines for the\u00a0<\/span><span style=\"font-weight: 400\">php_mbstring.dll<\/span><span style=\"font-weight: 400\">\u00a0and\u00a0<\/span><span style=\"font-weight: 400\">php_xmlrpc.dll<\/span><span style=\"font-weight: 400\">\u00a0extensions.<\/span><\/p>\n<p><span style=\"font-weight: 400\">;extension=php_interbase.dll<\/span><\/p>\n<p><span style=\"font-weight: 400\">;extension=php_ldap.dll<\/span><\/p>\n<p><span style=\"font-weight: 400\">extension=php_mbstring.dll<\/span><\/p>\n<p><span style=\"font-weight: 400\">;extension=php_exif.dll \u00a0\u00a0\u00a0\u00a0\u00a0; Must be after mbstring <\/span><b>as<\/b><span style=\"font-weight: 400\"> it depends on it<\/span><\/p>\n<p><span style=\"font-weight: 400\">;extension=php_mysqli.dll<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">. . .<\/span><\/p>\n<p><span style=\"font-weight: 400\">;extension=php_sqlite3.dll<\/span><\/p>\n<p><span style=\"font-weight: 400\">;extension=php_tidy.dll<\/span><\/p>\n<p><span style=\"font-weight: 400\">extension=php_xmlrpc.dll<\/span><\/p>\n<p><span style=\"font-weight: 400\">;extension=php_xsl.dll<\/span><\/p>\n<p><span style=\"font-weight: 400\">After this add\u00a0<\/span><span style=\"font-weight: 400\">extension=dom.so<\/span><span style=\"font-weight: 400\">\u00a0at the end of the extension block.<\/span><\/p>\n<p><span style=\"font-weight: 400\">extension=php_xmlrpc.dll<\/span><\/p>\n<p><span style=\"font-weight: 400\">;extension=php_xsl.dll<\/span><\/p>\n<p><span style=\"font-weight: 400\">extension=dom.so<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">Other changed needed in this file are:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Change time zone by first uncommenting <\/span><span style=\"font-weight: 400\">date.timezone<\/span><span style=\"font-weight: 400\">\u00a0line and adding your own timezone in it.( Refer to PHP\u2019s timezone page)<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0[Date]<\/span><\/p>\n<p><span style=\"font-weight: 400\">; Defines the <\/span><b>default<\/b><span style=\"font-weight: 400\"> timezone used by the date functions<\/span><\/p>\n<p><span style=\"font-weight: 400\">; http:<\/span><span style=\"font-weight: 400\">\/\/php.net\/date.timezone<\/span><\/p>\n<p><span style=\"font-weight: 400\">date.timezone = <\/span><span style=\"font-weight: 400\">&#8220;Asia\/Tokyo&#8221;<\/span><\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Find and uncomment the line\u00a0<\/span><span style=\"font-weight: 400\">post_max_size <\/span><span style=\"font-weight: 400\">\u00a0and set the size of the whole email which includes attachments. <\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">; Maximum size of POST data that PHP will accept.<\/span><\/p>\n<p><span style=\"font-weight: 400\">; Its value may be <\/span><span style=\"font-weight: 400\">0<\/span><span style=\"font-weight: 400\"> to disable the limit. It is ignored <\/span><b>if<\/b><span style=\"font-weight: 400\"> POST data reading<\/span><\/p>\n<p><span style=\"font-weight: 400\">; is disabled through enable_post_data_reading.<\/span><\/p>\n<p><span style=\"font-weight: 400\">; http:<\/span><span style=\"font-weight: 400\">\/\/php.net\/post-max-size<\/span><\/p>\n<p><span style=\"font-weight: 400\">post_max_size = <\/span><span style=\"font-weight: 400\">18<\/span><span style=\"font-weight: 400\">M<\/span><\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Find and uncomment\u00a0this <\/span><span style=\"font-weight: 400\">upload_max_filesize<\/span><span style=\"font-weight: 400\">\u00a0 line and change uploading attachment size fromto 2MB \u00a0to any amount you want,(Email servers usually limit the total attachment size to 10MB). Set this up to a lesser value than used in setting size of whole email.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">; Maximum allowed size <\/span><b>for<\/b><span style=\"font-weight: 400\"> uploaded files.<\/span><\/p>\n<p><span style=\"font-weight: 400\">; http:<\/span><span style=\"font-weight: 400\">\/\/php.net\/upload-max-filesize<\/span><\/p>\n<p><span style=\"font-weight: 400\">upload_max_filesize = <\/span><span style=\"font-weight: 400\">12<\/span><span style=\"font-weight: 400\">M<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Find this <\/span><span style=\"font-weight: 400\">mbstring.func_overload <\/span><span style=\"font-weight: 400\">and uncomment it, and checl it\u2019s value is set to 0. This enables support for multi-byte string functions.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">mbstring.func_overload = <\/span><span style=\"font-weight: 400\">0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">Save this file and close it.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Your server is now set up with a LAMP stack, Roundcube&#8217;s dependencies, and the necessary PHP configuration. <\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"2_Download_Roundcube\"><\/span><b>2. Download Roundcube<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400\">Install Roundcube from source or package. To ensure latest version install from source.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Navigate to the\u00a0<\/span><a href=\"https:\/\/roundcube.net\/download\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">https:\/\/roundcube.net\/download\/<\/span><\/a><span style=\"font-weight: 400\"> and in the\u00a0<\/span><b>Stable version<\/b><span style=\"font-weight: 400\">\u00a0section find the\u00a0<\/span><b>Complete<\/b><span style=\"font-weight: 400\">\u00a0package. Right click the\u00a0<\/span><b>Download<\/b><span style=\"font-weight: 400\">\u00a0button and select\u00a0<\/span><b>Copy Link Address<\/b><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Use the address with\u00a0<\/span><span style=\"font-weight: 400\">wget<\/span><span style=\"font-weight: 400\">\u00a0to download the Roundcube tarball on the server.<\/span><\/p>\n<p><span style=\"font-weight: 400\">wget https:\/\/github.com\/roundcube\/roundcubemail\/releases\/download\/<\/span><span style=\"font-weight: 400\">1.3.0<\/span><span style=\"font-weight: 400\">\/roundcubemail-<\/span><span style=\"font-weight: 400\">1.3.0<\/span><span style=\"font-weight: 400\">-complete.tar.gz<\/span><\/p>\n<p><span style=\"font-weight: 400\">To decompress the Roundcube archive use<\/span><\/p>\n<p><span style=\"font-weight: 400\">tar -xvzf roundcubemail-<\/span><span style=\"font-weight: 400\">1.3.0<\/span><span style=\"font-weight: 400\">-complete.tar.gz<\/span><\/p>\n<p><span style=\"font-weight: 400\">Usage of eah flag in the argument of tar:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The\u00a0<\/span><span style=\"font-weight: 400\">z<\/span><span style=\"font-weight: 400\">\u00a0flag tells\u00a0<\/span><span style=\"font-weight: 400\">tar<\/span><span style=\"font-weight: 400\">\u00a0to not only remove the tar wrapper but to decompress the archive using gzip. We know the file is compressed with gzip because the file extension has\u00a0<\/span><span style=\"font-weight: 400\">.gz<\/span><span style=\"font-weight: 400\">\u00a0on the end.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The\u00a0<\/span><span style=\"font-weight: 400\">f<\/span><span style=\"font-weight: 400\">\u00a0flag stands for file. This must be the last flag because\u00a0<\/span><span style=\"font-weight: 400\">tar<\/span><span style=\"font-weight: 400\">\u00a0uses whatever immediately follows it as the file to be extracted.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The\u00a0<\/span><span style=\"font-weight: 400\">x<\/span><span style=\"font-weight: 400\">\u00a0flag is for extract.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The\u00a0<\/span><span style=\"font-weight: 400\">v<\/span><span style=\"font-weight: 400\">\u00a0flag is for verbose, which tells\u00a0<\/span><span style=\"font-weight: 400\">tar<\/span><span style=\"font-weight: 400\">\u00a0to print the path and name of every file extracted.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Next, move the decompressed directory to\u00a0<\/span><span style=\"font-weight: 400\">\/var\/www<\/span><span style=\"font-weight: 400\">\u00a0and rename it to roundcube.<\/span><\/p>\n<p><span style=\"font-weight: 400\">sudo mv roundcubemail-1.3.0 \/var\/www\/roundcube<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">At last, change the owner and group to\u00a0<\/span><b>www-data<\/b><span style=\"font-weight: 400\">, and change the permissions to read and write for the owner and group, but read only for everyone else.<\/span><\/p>\n<p><span style=\"font-weight: 400\">sudo chown -R www-data:www-data \/var\/www\/roundcube\/<\/span><\/p>\n<p><span style=\"font-weight: 400\">sudo chmod 775 \/var\/www\/roundcube\/temp\/ \/var\/www\/roundcube\/logs\/<\/span><\/p>\n<p><span style=\"font-weight: 400\">Roundcube&#8217;s code is now downloaded with updated location and permissions. Next is to configure Apache.<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"3_Apache_Configuration\"><\/span><b>3. Apache Configuration<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400\">In order configure Apache we need to edit\u00a0<\/span><a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-set-up-apache-virtual-hosts-on-ubuntu-16-04\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">virtual host file<\/span><\/a><span style=\"font-weight: 400\">. Virtual hosts are a feature that allow Apache to host multiple sites on the same server. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Each\u00a0<\/span><span style=\"font-weight: 400\">.conf<\/span><span style=\"font-weight: 400\">\u00a0file located under\u00a0<\/span><span style=\"font-weight: 400\">\/etc\/apache2\/sites-available\/<\/span><span style=\"font-weight: 400\">\u00a0represent a different site. First create a virtual host file here for Roundcube, then tell Apache about it so it can make it available through a browser.<\/span><\/p>\n<p><span style=\"font-weight: 400\">First, copy the default configuration file to use as starting point for the new file.<\/span><\/p>\n<p><span style=\"font-weight: 400\">sudo cp \/etc\/apache2\/sites-available\/000-default.conf \/etc\/apache2\/sites-available\/roundcube.conf<\/span><\/p>\n<p><span style=\"font-weight: 400\">Open the file with your text editor.<\/span><\/p>\n<p><span style=\"font-weight: 400\">sudo nano \/etc\/apache2\/sites-available\/roundcube.conf<\/span><\/p>\n<p><span style=\"font-weight: 400\">In the\u00a0<\/span><span style=\"font-weight: 400\">VirtualHost<\/span><span style=\"font-weight: 400\">\u00a0block, change the following directives:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The\u00a0<\/span><span style=\"font-weight: 400\">ServerName<\/span><span style=\"font-weight: 400\">\u00a0tells Apache which domain to listen to. This should be your server IP address or domain name, if you&#8217;re using one.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">DocumentRoot<\/span><span style=\"font-weight: 400\">\u00a0specifies where to send traffic when it comes in. In our case, we should send it to Roundcube at\u00a0<\/span><span style=\"font-weight: 400\">\/var\/www\/roundcube<\/span><span style=\"font-weight: 400\">.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">ServerAdmin<\/span><span style=\"font-weight: 400\">\u00a0lets you specify an contact email address for any issues with Apache. We aren&#8217;t configuring Apache to do that in this tutorial, but it&#8217;s best practice to include it anyway.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">ErrorLog<\/span><span style=\"font-weight: 400\">\u00a0and\u00a0<\/span><span style=\"font-weight: 400\">CustomLog<\/span><span style=\"font-weight: 400\">, the two logging lines,\u00a0defines where to save successful connection logs and error logs for this site. We need to give the error logs specific names so if there is an issue the logs specific to this site are easily found.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Then, you&#8217;ll add a new\u00a0<\/span><span style=\"font-weight: 400\">Directory<\/span><span style=\"font-weight: 400\">\u00a0block which tells Apache what to do with the Roundcube directory. The first word in each line of a\u00a0<\/span><span style=\"font-weight: 400\">Directory<\/span><span style=\"font-weight: 400\">\u00a0block is the configuration name followed by the actual configuration options.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Options -Indexes<\/span><span style=\"font-weight: 400\">\u00a0tells Apache to display a warning if it can&#8217;t find an\u00a0<\/span><span style=\"font-weight: 400\">index.html<\/span><span style=\"font-weight: 400\">\u00a0or\u00a0<\/span><span style=\"font-weight: 400\">index.php<\/span><span style=\"font-weight: 400\">file. By default, it will list the contents of the directory instead.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">AllowOverride All<\/span><span style=\"font-weight: 400\">\u00a0tells Apache that if a local\u00a0<\/span><span style=\"font-weight: 400\">.htaccess<\/span><span style=\"font-weight: 400\">\u00a0file is found, any options in that file override the global settings in this file.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Order allow,deny<\/span><span style=\"font-weight: 400\">\u00a0tells Apache first to allow matching clients access to the site, and then to deny any that don&#8217;t match.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">allow from all<\/span><span style=\"font-weight: 400\">\u00a0is a followup to the\u00a0<\/span><span style=\"font-weight: 400\">Order<\/span><span style=\"font-weight: 400\">\u00a0line. It defines what type of client is allowed, which is any in our case.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">&lt;VirtualHost *:80&gt;<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0ServerName <\/span><span style=\"font-weight: 400\">your_server_ip_or_domain<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0DocumentRoot <\/span><span style=\"font-weight: 400\">\/var\/www\/roundcube<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0ServerAdmin <\/span><span style=\"font-weight: 400\">sammy@example.com<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\"> \u00a0ErrorLog ${APACHE_LOG_DIR}\/<\/span><span style=\"font-weight: 400\">roundcube-error.log<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0CustomLog ${APACHE_LOG_DIR}\/<\/span><span style=\"font-weight: 400\">roundcube-access.log<\/span><span style=\"font-weight: 400\"> combined<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\"> \u00a0<\/span><span style=\"font-weight: 400\">&lt;Directory \/var\/www\/roundcube&gt;<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"font-weight: 400\">Options -Indexes<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"font-weight: 400\">AllowOverride All<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"font-weight: 400\">Order allow,deny<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"font-weight: 400\">allow from all<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0<\/span><span style=\"font-weight: 400\">&lt;\/Directory&gt;<\/span><\/p>\n<p><span style=\"font-weight: 400\">&lt;\/VirtualHost&gt;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">Save and close the file.<\/span><\/p>\n<p><span style=\"font-weight: 400\">To stop hosting the default site by Apache :<\/span><\/p>\n<p><span style=\"font-weight: 400\">sudo a2dissite 000-default<\/span><\/p>\n<p><span style=\"font-weight: 400\">To start hosting the Roundcube site (do not to include the\u00a0<\/span><span style=\"font-weight: 400\">.conf<\/span><span style=\"font-weight: 400\">\u00a0 extension)<\/span><\/p>\n<p><span style=\"font-weight: 400\">sudo a2ensite roundcube<\/span><\/p>\n<p><span style=\"font-weight: 400\">Enable the\u00a0<\/span><span style=\"font-weight: 400\">mod_rewrite<\/span><span style=\"font-weight: 400\">\u00a0Apache module, which Roundcube requires.<\/span><\/p>\n<p><span style=\"font-weight: 400\">sudo a2enmod rewrite<\/span><\/p>\n<p><span style=\"font-weight: 400\">At the end, restart Apache, which will make the Roundcube installation accessible.<\/span><\/p>\n<p><span style=\"font-weight: 400\">sudo apache2ctl restart<\/span><\/p>\n<p><span style=\"font-weight: 400\">In the last step of the installation process is to configure the database so that Roundcube can store its app-specific data.<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"4_MySQL_Configuration\"><\/span><b>4. MySQL Configuration<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400\">Connecting to the MySQL interactive shell. This command tells MySQL to verify as the user (<\/span><span style=\"font-weight: 400\">-u<\/span><span style=\"font-weight: 400\">)\u00a0<\/span><b>root <\/b><span style=\"font-weight: 400\">and that we&#8217;ll give a password (<\/span><span style=\"font-weight: 400\">-p<\/span><span style=\"font-weight: 400\">).<\/span><\/p>\n<p><span style=\"font-weight: 400\">mysql -u root -p<\/span><\/p>\n<p><span style=\"font-weight: 400\">After this enter your MySQL password.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Now we will complete the following steps in the mysql shell :<\/span><\/p>\n<p><span style=\"font-weight: 400\">First we create database using the following command :<\/span><\/p>\n<p><span style=\"font-weight: 400\">CREATE DATABASE roundcubemail \/*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci *\/;<\/span><\/p>\n<p><span style=\"font-weight: 400\">Creating a user and connecting to localhost changing to a secure password :<\/span><\/p>\n<p><span style=\"font-weight: 400\">CREATE USER &#8217;roundcube&#8217;@&#8217;localhost&#8217; IDENTIFIED BY &#8216;<\/span><span style=\"font-weight: 400\">password<\/span><span style=\"font-weight: 400\">&#8216;;<\/span><\/p>\n<p><span style=\"font-weight: 400\">Grant all the required permissions to \u2018roundcube\u2019..<\/span><\/p>\n<p><span style=\"font-weight: 400\">GRANT ALL PRIVILEGES ON roundcubemail.* to &#8217;roundcube&#8217;@&#8217;localhost&#8217;;<\/span><\/p>\n<p><span style=\"font-weight: 400\">Save the changes made and exit MySQL shell.<\/span><\/p>\n<p><span style=\"font-weight: 400\">FLUSH PRIVILEGES;<\/span><\/p>\n<p><span style=\"font-weight: 400\">EXIT;<\/span><\/p>\n<p><span style=\"font-weight: 400\">Setting up structure to tell Roundcube where to save information. The Roundcube install provides a file that&#8217;ll configure the database for us, so we don&#8217;t have to do it by hand.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The following command tells MySQL to use our newly created user to read in a file\u00a0<\/span><span style=\"font-weight: 400\">\/var\/www\/roundcube\/SQL\/mysql.initial.sql<\/span><span style=\"font-weight: 400\">\u00a0and apply the configuration to the database\u00a0<\/span><span style=\"font-weight: 400\">roundcubemail<\/span><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">mysql -u roundcube -p roundcubemail &lt; \/var\/www\/roundcube\/SQL\/mysql.initial.sql<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">You&#8217;ll be prompted to enter the\u00a0<\/span><b>roundcube<\/b><span style=\"font-weight: 400\">\u00a0user&#8217;s password.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Setting up the database in this way prepares it for Roundcube&#8217;s use and also allows us to verify that we have the right permissions. If all was successful, you&#8217;ll receive no feedback and be back at the command prompt. Then we&#8217;re ready to tell Roundcube our email settings and finalize the installation.<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"5_Roundcube_Configuration\"><\/span><b>5. Roundcube Configuration<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400\">To complete our installation, we need to visit\u00a0<\/span><span style=\"font-weight: 400\">http:\/\/<\/span><span style=\"font-weight: 400\">your_server_ip_or_domain\/installer<\/span><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">There will be a green\u00a0<\/span><b>OK<\/b><span style=\"font-weight: 400\">\u00a0to the right of every line item if everything is setup properly, except for &#8211; the optional LDAP setting and every database line except MySQL.<\/span><\/p>\n<p><span style=\"font-weight: 400\">If there is a\u00a0<\/span><b>NOT AVAILABLE<\/b><span style=\"font-weight: 400\">\u00a0next to any other line than those above mentioned, you will be required to install those dependencies. Roundcube provides a link for any missing dependency so you can figure out what to install.<\/span><\/p>\n<p><span style=\"font-weight: 400\">After everything is set up, click the\u00a0<\/span><b>NEXT<\/b><span style=\"font-weight: 400\">\u00a0button at the end of the page..<\/span><\/p>\n<p><span style=\"font-weight: 400\">The form on the next page, is divided into seven sections, which walks through generating the Roundcube configuration file. Below are the sections of the form we need to fill out. If a line from the form is excluded in the sections below, you can skip that line and leave it with the default settings.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In <\/span><span style=\"font-weight: 400\">General configuration<\/span><span style=\"font-weight: 400\"> you should ensure that the following change is made:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Tick the\u00a0<\/span><b>ip_check<\/b><span style=\"font-weight: 400\">\u00a0for higher security. It checks the client&#8217;s IP in session authorization.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Other changes that you can make in general configuration are:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>product_name<\/b><span style=\"font-weight: 400\"> : This can be anything you want and all references to &#8220;Roundcube&#8221; in text will be replaced with this name instead.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>support_url. <\/b><span style=\"font-weight: 400\">This is a URL where users can get support for their Roundcube installation. It isn&#8217;t strictly needed, but it can be nice if Roundcube is being provided for a group of people who may need assistance. If you don&#8217;t have a dedicated help desk site, you can use an email address, like\u00a0<\/span><span style=\"font-weight: 400\">mailto:<\/span><span style=\"font-weight: 400\">ronald@example.com<\/span><span style=\"font-weight: 400\">.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>skin_logo<\/b><span style=\"font-weight: 400\">: You can replace the Roundcube logo with this, which takes a URL to a PNG file (178px by 47px). If you are going to enable HTTPS then make sure the image URL is an HTTPS URL.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Leave other options to default values.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In <\/span><span style=\"font-weight: 400\">Logging and Debugging<\/span><span style=\"font-weight: 400\"> section leave everything to its default value.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">For <\/span><span style=\"font-weight: 400\">Database Setup<\/span><span style=\"font-weight: 400\"> :<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select\u00a0<\/span><span style=\"font-weight: 400\">MySQL<\/span><span style=\"font-weight: 400\">\u00a0from the\u00a0<\/span><b>Database type<\/b><span style=\"font-weight: 400\">\u00a0pull down menu.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enter\u00a0<\/span><span style=\"font-weight: 400\">localhost<\/span><span style=\"font-weight: 400\">\u00a0for the\u00a0<\/span><b>Database server<\/b><span style=\"font-weight: 400\">.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enter the database name,\u00a0<\/span><span style=\"font-weight: 400\">roundcubemail<\/span><span style=\"font-weight: 400\">, in the\u00a0<\/span><b>Database name<\/b><span style=\"font-weight: 400\">\u00a0field.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enter the database user,\u00a0<\/span><span style=\"font-weight: 400\">roundcube<\/span><span style=\"font-weight: 400\">, in the\u00a0<\/span><b>Database user name<\/b><span style=\"font-weight: 400\">\u00a0field.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In\u00a0<\/span><b>Database password<\/b><span style=\"font-weight: 400\">\u00a0field, enter the password you defined when creating the database in Step 4.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>db_prefix<\/b><span style=\"font-weight: 400\">, isn&#8217;t required unless you are with using a shared database with other apps. If so then enter something like,\u00a0<\/span><span style=\"font-weight: 400\">rc_<\/span><span style=\"font-weight: 400\">.<\/span><\/li>\n<\/ul>\n<h3><\/h3>\n<p><span style=\"font-weight: 400\">For <\/span><span style=\"font-weight: 400\">IMAP Settings:<\/span><\/p>\n<p><span style=\"font-weight: 400\">Since we are using Gmail as service provider, it\u2019s IMAP setting is given below, in case of other service provider you will provided with its imp settings by them<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In <\/span><b>efault_host<\/b><span style=\"font-weight: 400\">\u00a0field enter the IMAP server URL. When using SSL connections, prefix the URL with\u00a0<\/span><span style=\"font-weight: 400\">ssl:\/\/<\/span><span style=\"font-weight: 400\">\u00a0instead of\u00a0<\/span><span style=\"font-weight: 400\">https:\/\/<\/span><span style=\"font-weight: 400\">. <\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">For Gmail, enter\u00a0<\/span><span style=\"font-weight: 400\">ssl:\/\/imap.gmail.com<\/span><span style=\"font-weight: 400\">.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Following are other IMAP settings:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In the\u00a0<\/span><b>default_port<\/b><span style=\"font-weight: 400\">, which is the IMAP server port. SSL and non-SSL connections will use different ports, so make sure to use the SSL port. Gmail&#8217;s SSL IMAP port uses\u00a0<\/span><span style=\"font-weight: 400\">993<\/span><span style=\"font-weight: 400\">.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Make sure the\u00a0<\/span><b>auto_create_user<\/b><span style=\"font-weight: 400\">\u00a0check box is selected. If it&#8217;s unchecked, Roundcube won&#8217;t create a user in its own database, which will prevent you from logging in.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The field\u00a0<\/span><b>username_domain<\/b><span style=\"font-weight: 400\">\u00a0iis optional for email providers that use a full email address as the username. This field is optional. Entering a domain \u2014 not the full email \u2014 will allow you to login to Roundcube with just your name, before the\u00a0<\/span><span style=\"font-weight: 400\">@<\/span><span style=\"font-weight: 400\">, instead of the whole email. For example, entering\u00a0<\/span><span style=\"font-weight: 400\">gmail.com<\/span><span style=\"font-weight: 400\">\u00a0in the field will allow\u00a0<\/span><span style=\"font-weight: 400\">user<\/span><span style=\"font-weight: 400\">@gmail.com<\/span><span style=\"font-weight: 400\">\u00a0to log into Roundcube with\u00a0<\/span><span style=\"font-weight: 400\">user<\/span><span style=\"font-weight: 400\">.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Leave\u00a0<\/span><b>*_mbox<\/b><span style=\"font-weight: 400\">\u00a0fields, like\u00a0<\/span><b>sent_mbox<\/b><span style=\"font-weight: 400\">, to its default values<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">In <\/span><span style=\"font-weight: 400\">SMTP Settings<\/span><span style=\"font-weight: 400\"> like the IMAP server section, we&#8217;ll use the SSL URL and port, and Gmail for reference.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enter the SMTP server address in the\u00a0<\/span><b>smtp_server<\/b><span style=\"font-weight: 400\">\u00a0field. <\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Gmail&#8217;s SMTP server is\u00a0<\/span><span style=\"font-weight: 400\">ssl:\/\/smtp.gmail.com<\/span><span style=\"font-weight: 400\">.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enter the SSL SMTP server port in the\u00a0<\/span><b>smtp_port<\/b><span style=\"font-weight: 400\">\u00a0field. <\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">The SSL port for Gmail is\u00a0<\/span><span style=\"font-weight: 400\">465<\/span><span style=\"font-weight: 400\">.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In<\/span><b>smtp_user\/smtp_pass, leave it <\/b><span style=\"font-weight: 400\">blank and check the box next to\u00a0<\/span><b>Use the current IMAP username and password for SMTP authentication<\/b><span style=\"font-weight: 400\">.if you want it to be same as IMAP username and password, otherwise enter a different user name and password.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Check the <\/span><b>smtp_log.<\/b><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">In <\/span><span style=\"font-weight: 400\">Display settings &amp; user preference<\/span><span style=\"font-weight: 400\">, leave it to its default values.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In <\/span><span style=\"font-weight: 400\">Plugins<\/span><span style=\"font-weight: 400\">, all are optional but this feature is what makes Roundcube better than other, it make\u2019s it easier and more secure..<\/span><\/p>\n<p><span style=\"font-weight: 400\">Following are the plugins and their descriptions:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>archive<\/b><span style=\"font-weight: 400\">: Provides an Archive button, similar to how Gmail works.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>newmail_notifier<\/b><span style=\"font-weight: 400\">: Uses your browser notification system to alert you to new emails.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>hide_blockquote<\/b><span style=\"font-weight: 400\">: Hides the quoted portion of replied emails to keep the UI cleaner.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>identity_select<\/b><span style=\"font-weight: 400\">: If you have multiple email addresses (identities), it allows you to easily select them while composing an email<\/span><\/li>\n<li style=\"font-weight: 400\"><b>emoticons<\/b><span style=\"font-weight: 400\">: Simply makes it easier to use emoticons in emails.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>enigma<\/b><span style=\"font-weight: 400\">: Allows GPG email encryption. We&#8217;ll go into detail on how to configure this in the next security tutorial.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>markasjunk<\/b><span style=\"font-weight: 400\">: Allows marking an email as spam and have it moved to your Spam folder.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>filesystem_attachments<\/b><span style=\"font-weight: 400\">: A core plugin to allow saving attachments to the Roundcube server temporarily when composing or saving a draft email.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Save your settings by pressing the\u00a0<\/span><b>UPDATE CONFIG<\/b><span style=\"font-weight: 400\">\u00a0button.<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"6Testing\"><\/span><b>6.Testing <\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400\">Now we will test the roundcube configuration.<\/span><\/p>\n<p><span style=\"font-weight: 400\">After the updating of configuration, the page will refresh and you&#8217;ll see a yellow info box at the top of the page which says\u00a0<\/span><b>The config file was saved successfully into\u00a0<\/b><b>RCMAIL_CONFIG_DIR<\/b><b>\u00a0directory of your Roundcube installation.<\/b><\/p>\n<p><span style=\"font-weight: 400\">Click on the\u00a0<\/span><b>CONTINUE<\/b><span style=\"font-weight: 400\">\u00a0button to test your configuration<\/span><\/p>\n<p><span style=\"font-weight: 400\">If there are no errors, you&#8217;ll see a green\u00a0<\/span><b>OK<\/b><span style=\"font-weight: 400\">\u00a0marker on every line. If not, go back and double check what you entered.<\/span><\/p>\n<p><span style=\"font-weight: 400\">To test the rest of the configuration, put in your IMAP and SMTP username and password in the\u00a0<\/span><b>Test SMTP config<\/b><span style=\"font-weight: 400\">\u00a0and\u00a0<\/span><b>Test IMAP config<\/b><span style=\"font-weight: 400\">\u00a0sections, then click\u00a0<\/span><b>Send test email<\/b><span style=\"font-weight: 400\">\u00a0and\u00a0<\/span><b>Check login<\/b><span style=\"font-weight: 400\">, respectively. If a test is successful, the page will reload and you&#8217;ll see the green &#8216;OK&#8217; under the section you tested.<\/span><\/p>\n<p><span style=\"font-weight: 400\"><br \/>\n<\/span><span style=\"font-weight: 400\">In case Gmail\u2019s 2 step authentication is enable generate an app specific password as Roundcube will not prompt for2 step authentication token.<\/span><\/p>\n<h1><\/h1>\n<h1><\/h1>\n<h1><span class=\"ez-toc-section\" id=\"Next_Remove_the_Installer_Directory_so_that_no_one_can_reconfigure_or_override_it\"><\/span><span style=\"font-weight: 400\">Next<\/span><b> Remove the Installer Directory <\/b><span style=\"font-weight: 400\">so that no one can reconfigure or override it.<\/span><span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p><span style=\"font-weight: 400\">Go back into your SSH session and d<\/span><span style=\"font-weight: 400\">elete the directory<\/span><\/p>\n<p><span style=\"font-weight: 400\">Sudo rm -rf \/var\/www\/roundcube\/installer<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">Now visit your Roundcube instance using your server&#8217;s IP or your domain name, log in, and check your email.<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span><b>Conclusion<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400\">Now that you have installed Roundcube, you have your very own free, web-based email client similar to Google\u2019s Gmail or Microsoft\u2019s Hotmail. Users can access their email by navigating to\u00a0<\/span><a href=\"https:\/\/webmail.example.com\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">https:\/\/webmail.example.com<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">With Roundcube, you can have the feature set and appearance of a native desktop client with the flexibility of a webmail client. You have a fully functional installation now, but there are some additional steps you should take to make sure you&#8217;re fully secure (like adding HTTPS support and using GPG encryption for your email).<\/span><\/p>\n<p><span style=\"font-weight: 400\">In addition, you can install new themes to enhance the look of your client and plugins to add new functionality. <\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Webmail allows you to easily access your e-mails anytime and anywhere if you have a device with an internet access and web browser. \u00a0You can easily create a webmail using Roundcube. Roundcube Webmail is a browser-based multilingual IMAP client with an application-like user interface. It is a free and open<\/p>\n","protected":false},"author":3,"featured_media":1054,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3],"tags":[],"class_list":["post-1053","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial-how-to"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/roundcube-logo_400x300-300x196.png?fit=300%2C196&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7ISfL-gZ","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":903,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-install-and-configure-csf-config-server-firewall-on-centos-7\/","url_meta":{"origin":1053,"position":0},"title":"How to Install and Configure CSF (Config Server Firewall) on CentOS 7","author":"Daniel Draga","date":"April 11, 2017","format":false,"excerpt":"ConfigServe Firewall, also known as CSF, is a firewall configuration script created to provide better security for your server while giving you an easy to use, an advanced interface for managing your firewall settings. CSF configures your server\u2019s firewall to lock down public access to services and only allow certain\u2026","rel":"","context":"In &quot;Knowledgebase&quot;","block_context":{"text":"Knowledgebase","link":"https:\/\/www.virtono.com\/community\/category\/knowledgebase\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1876,"url":"https:\/\/www.virtono.com\/community\/knowledgebase\/understanding-pop3-imap-and-smtp-for-beginners-in-depth\/","url_meta":{"origin":1053,"position":1},"title":"Understanding POP3, IMAP, and SMTP for Beginners  In-Depth","author":"Shreyash Sharma","date":"September 21, 2020","format":false,"excerpt":"If you\u2019re thinking how email works, understanding the differences between POP3 vs IMAP and the part of SMTP is a wonderful place to begin. This tutorial will clarify all of those parts in layman conditions and how they function, therefore buckle up and continue reading! You should try out creating\u2026","rel":"","context":"In &quot;Knowledgebase&quot;","block_context":{"text":"Knowledgebase","link":"https:\/\/www.virtono.com\/community\/category\/knowledgebase\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2020\/09\/800-email-pop3-smtp-imap.jpg?fit=800%2C360&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2020\/09\/800-email-pop3-smtp-imap.jpg?fit=800%2C360&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2020\/09\/800-email-pop3-smtp-imap.jpg?fit=800%2C360&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2020\/09\/800-email-pop3-smtp-imap.jpg?fit=800%2C360&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1229,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/collect-system-statistics-under-ubuntu-with-serverstats\/","url_meta":{"origin":1053,"position":2},"title":"Collect system statistics under Ubuntu with serverstats","author":"Shreyash Sharma","date":"November 4, 2017","format":false,"excerpt":"For the analysis of operating system statistics, there are numerous possibilities, but for a\u00a0rough analysis, it is\u00a0sufficient in many cases to take the most important components under the microscope.\u00a0The\u00a0rrd-using\u00a0tool\u00a0serverstats\u00a0provides quick and easy access to statistics and graphs about load, processes, memory and hard disk. \u00a0 installation The\u00a0serverstats\u00a0package\u00a0is located in the\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/11\/20081029202719_domotiga-serverstats.jpg?fit=878%2C526&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/11\/20081029202719_domotiga-serverstats.jpg?fit=878%2C526&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/11\/20081029202719_domotiga-serverstats.jpg?fit=878%2C526&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/11\/20081029202719_domotiga-serverstats.jpg?fit=878%2C526&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":214,"url":"https:\/\/www.virtono.com\/community\/knowledgebase\/secure-socket-layer-ssl\/","url_meta":{"origin":1053,"position":3},"title":"Secure Socket Layer (SSL)","author":"Daniel Draga","date":"July 30, 2016","format":false,"excerpt":"SSL stands for Secure Socket Layer. Secure Socket Layer (SSL) technology allows web browsers and web servers to communicate over a secure connection Originally developed by Netscape, SSL has been universally accepted on the World Wide Web for authenticated and encrypted communication between clients and servers. Responsible for the emergence\u2026","rel":"","context":"In &quot;Knowledgebase&quot;","block_context":{"text":"Knowledgebase","link":"https:\/\/www.virtono.com\/community\/category\/knowledgebase\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/07\/2.jpg?fit=376%2C286&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":2719,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-install-webuzo-v3-on-ubuntu\/","url_meta":{"origin":1053,"position":4},"title":"How to Install Webuzo v3 on Ubuntu","author":"George B.","date":"June 28, 2022","format":false,"excerpt":"In this guide, we will show you how to install Webuzo v3 control panel on Ubuntu. What is Webuzo? Webuzo is a Multi-User Control Panel that helps you manage your cloud or dedicated server. It's a hosting platform to help you grow your web applications as it helps customers to\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2022\/06\/Screenshot-2022-06-23-at-15.43.54.png?fit=1200%2C714&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2022\/06\/Screenshot-2022-06-23-at-15.43.54.png?fit=1200%2C714&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2022\/06\/Screenshot-2022-06-23-at-15.43.54.png?fit=1200%2C714&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2022\/06\/Screenshot-2022-06-23-at-15.43.54.png?fit=1200%2C714&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2022\/06\/Screenshot-2022-06-23-at-15.43.54.png?fit=1200%2C714&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":3730,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-install-directadmin-on-ubuntu-22-04\/","url_meta":{"origin":1053,"position":5},"title":"How to install DirectAdmin on Ubuntu 22.04","author":"George B.","date":"August 8, 2023","format":false,"excerpt":"DirectAdmin is an incredibly efficient and user-friendly web hosting control panel. It offers a graphical interface and automation tools designed to simplify the process of hosting a website. This tutorial will guide you through the process of installing DirectAdmin on Ubuntu 22.04. The steps are detailed, clear, and easy to\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2023\/08\/How-to-install-DirectAdmin-on-Ubuntu.png?fit=360%2C240&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/1053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/comments?post=1053"}],"version-history":[{"count":1,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/1053\/revisions"}],"predecessor-version":[{"id":1055,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/1053\/revisions\/1055"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/media\/1054"}],"wp:attachment":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/media?parent=1053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/categories?post=1053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/tags?post=1053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}