Hi, I follow guide https://www.howtoforge.com/install-ispconfig-3-roundcube-plugins-on-debian-10/ to install isp3config_* and works well. But when I tried to install contextmenu on /usr/share/roundcube/plugins, I couldn't see diferences on Roundcube. I have also tried to follow the documentation at https://plugins.roundcube.net/ but I am unable to get them to work. Can anyone help me with more specifics? I would like to be able to use plugins bulls like the customizer. Thank you
You may need to modify the extra plugins that do not come with ISPConfig Roundcube Plugins to make them work on an ISPConfig system. Reading the troubleshooting instructions available from ISPConfig Roundcube plugins github page may help.
In case, i was using a tutorial from the how_to_forge website:https://www.howtoforge.com/tutorial...php-pureftpd-postfix-dovecot-and-ispconfig/3/ and we have installed the Roundcube software... By the way, @Th0m , there is a problem with the inactive popup window id="ez-cookie-dialog": button id="ez-accept-all" doesn't react at all. Every time i have to apply Expand: css property display:none; #ez-cookie-dialog-wrapper { display: none; } the default plugins-container is: /usr/share/roundcubemail/plugins Code: ├── plugins │ ├── acl │ │ ├── localization │ │ └── skins │ │ ├── classic │ │ │ ├── images │ │ │ └── templates │ │ ├── elastic │ │ │ └── templates │ │ └── larry │ │ ├── images │ │ └── templates │ ├── additional_message_headers │ ├── archive │ │ ├── localization │ │ └── skins │ │ ├── classic │ │ └── larry │ ├── attachment_reminder │ │ └── localization │ ├── autologon │ ├── database_attachments │ ├── debug_logger │ │ └── runlog │ ├── emoticons │ │ └── localization │ ├── enigma │ │ ├── bin │ │ ├── lib │ │ ├── localization │ │ └── skins │ │ ├── classic │ │ │ └── templates │ │ ├── elastic │ │ │ └── templates │ │ └── larry │ │ └── templates │ ├── example_addressbook │ ├── filesystem_attachments │ ├── help │ │ ├── content │ │ ├── localization │ │ └── skins │ │ ├── classic │ │ │ └── templates │ │ ├── elastic │ │ │ └── templates │ │ └── larry │ │ └── templates │ ├── hide_blockquote │ │ ├── localization │ │ └── skins │ │ └── larry │ ├── http_authentication │ ├── identicon │ ├── identity_select │ ├── jqueryui │ │ ├── js │ │ │ └── i18n │ │ └── themes │ │ ├── classic │ │ │ └── images │ │ ├── elastic │ │ │ └── images │ │ └── larry │ │ └── images │ ├── krb_authentication │ ├── managesieve │ │ ├── codemirror │ │ │ ├── addon │ │ │ │ └── selection │ │ │ ├── lib │ │ │ └── mode │ │ │ └── sieve │ │ ├── helpdocs │ │ │ ├── en_US │ │ │ └── po │ │ ├── lib │ │ │ └── Roundcube │ │ ├── localization │ │ └── skins │ │ ├── classic │ │ │ ├── images │ │ │ └── templates │ │ ├── elastic │ │ │ └── templates │ │ └── larry │ │ ├── images │ │ └── templates │ ├── markasjunk │ │ ├── drivers │ │ ├── localization │ │ └── skins │ │ ├── classic │ │ │ └── images │ │ └── larry │ │ └── images │ ├── newmail_notifier │ │ └── localization │ ├── new_user_dialog │ │ └── localization │ ├── new_user_identity │ ├── password │ │ ├── drivers │ │ ├── helpers │ │ └── localization │ ├── redundant_attachments │ ├── show_additional_headers │ ├── squirrelmail_usercopy │ ├── subscriptions_option │ │ └── localization │ ├── userinfo │ │ └── localization │ ├── vcard_attachments │ │ ├── localization │ │ └── skins │ │ ├── classic │ │ └── larry │ ├── virtuser_file │ ├── virtuser_query │ └── zipdownload │ ├── localization │ └── skins │ ├── classic │ └── larry By the example of the password plugin let's puzzle out of what should be done: An initial structure: /usr/share/roundcubemail/plugins/password Code: password ├── composer.json ├── config.inc.php.dist ├── drivers ........................ ├── password.js ├── password.min.js ├── password.php └── README We must make a copy of config.inc.php.dist to config.inc.php and set the options as described within the file: Code: cp config.inc.php.dist config.inc.php A working configuration: https://forum.howtoforge.com/attach...8/?temp_hash=05aff12cfe99875ca3eb1e2d58bbfc54 Some other decent plugin is rcguard Download it either using composer or manually to the folder plugins: /usr/share/roundcubemail/plugins Expand: rcguard rcguard ├── composer.json ├── config.inc.php ├── config.inc.php.dist ├── lib │ └── recaptchalib.php ├── localization │ ├── de_CH.inc │ ├── de_DE.inc │ ├── en_US.inc │ ├── es_AR.inc │ ├── es_ES.inc │ ├── fr_FR.inc │ ├── hu_HU.inc │ ├── it_IT.inc │ ├── nl_NL.inc │ ├── pt_BR.inc │ ├── ru_RU.inc │ ├── sv_SE.inc │ ├── tr_TR.inc │ └── zh_TW.inc ├── rcguard.php ├── README.md ├── skins │ ├── classic │ │ └── rcguard.css │ ├── elastic │ │ └── rcguard.css │ └── larry │ └── rcguard.css └── SQL ├── mysql │ └── 2018051200.sql ├── mysql.initial.sql ├── postgres │ └── 2018051200.sql ├── postgres.initial.sql ├── sqlite │ └── 2018051200.sql └── sqlite.initial.sql All your added/enabled plugins must be written to /usr/share/roundcubemail/config/config.inc.php: Code: // ---------------------------------- // PLUGINS // ---------------------------------- // List of active plugins (in plugins/ directory) $config['plugins'] = array( 'acl', 'archive', 'attachment_reminder', 'autologon', 'emoticons', 'identity_select', 'krb_authentication', 'virtuser_file', 'virtuser_query', 'debug_logger', 'identicon', 'filesystem_attachments', 'hide_blockquote', 'jqueryui', 'managesieve', 'markasjunk', 'new_user_dialog', 'new_user_identity', 'newmail_notifier', 'password', 'show_additional_headers', 'subscriptions_option', 'userinfo', 'vcard_attachments', 'zipdownload', 'additional_message_headers', 'help', 'http_authentication', 'squirrelmail_usercopy', 'persistent_login', // !!!newly added Roundcube plugin that enforces reCAPTCHA for users that have too many failed logins 'rcguard' );
Normally, from your root path of the roundcube folder: /usr/share/roundcubemail Code: result=$(find / -type d -name roundcubemail) && cd $result - you can see a composer.json file on there. Don't forget to switch user to non-root and assign user-related permissions to composer.lock & composer.json. Code: composer require dsoares/rcguard But if you are unfamiliar with the composer, just fairly load a plugin like: Code: cd plugins git clone https://github.com/dsoares/roundcube-rcguard.git
I am trying to add rcguard on ispconfig roundcube, I followed below instructions, but recaptcha does not show up. Code: sudo apt update && sudo apt upgrade -y sudo apt install git unzip php-cli php-curl php-mbstring php-xml Code: sudo apt install composer -y Code: apt install git -y cd /usr/share/roundcube/plugins git clone https://github.com/dsoares/rcguard.git rcguard ln -s /usr/share/roundcube/plugins/rcguard /var/lib/roundcube/plugins/rcguard cd rcguard/ sudo composer install --no-dev mv config.inc.php.dist config.inc.php nano config.inc.php Below commands maybe needed, but not sure about it. Code: sudo find /usr/share/roundcube/plugins/rcguard -type d -exec chmod 755 {} \; sudo find /usr/share/roundcube/plugins/rcguard -type f -exec chmod 644 {} \; Add keys in below lines Code: Public key for reCAPTCHA<br>$config['recaptcha_publickey'] = ''; Private key for reCAPTCHA<br>$config['recaptcha_privatekey'] = ''; Change below as u see fit for your need // Number of failed logins before reCAPTCHA is shown Code: $rcmail_config['failed_attempts'] = 1; change recaptcha version depending on the keys created for, I found only v2 works. but I maybe wrong. Code: $config['recaptcha_api_version'] = 'v2'; // v3 | v2 | v2invisible Add rcguard in plugins array in /etc/roundcube/config.inc.php Code: $config['plugins'] = array( 'plugin1', 'plugin2', 'rcguard', ); Go to PHPMyAdmin, ideally, login with root login from LAN, select the Roundcube database (roundcube), click the SQL tab and copy/paste the following code: Code: CREATE TABLE `rcguard` ( `ip` VARCHAR(40) NOT NULL, `first` DATETIME NOT NULL, `last` DATETIME NOT NULL, `hits` INT(10) NOT NULL, PRIMARY KEY (`ip`), INDEX `last_index` (`last`), INDEX `hits_index` (`hits`) ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci; Then, click "Go". Code: systemctl restart apache2 Check for errors as below Code: sudo tail -f /var/log/roundcube/errors All worked well, didn't get any error while doing the above. Am I doing anything wrong or missing anything? Also am I installing rcguard in right folder, there's also /etc/roundcube/plugins. Thank you for any guidance!
/usr/share/roundcubemail/plugins/rcguard/config.inc.php PHP: <?php/** * rcguard configuration file. */// Number of failed logins before reCAPTCHA is shown$config['failed_attempts'] = 3;// Release IP after how many minutes (after last failed attempt)$config['expire_time'] = 30;// Reset failure count after successfull login (see bratkartoffel/rcguard@670395e)$config['rcguard_reset_after_success'] = true;// reCAPTCHA API version and url$config['recaptcha_api_version'] = 'v3'; // v3 | v2 | v2invisible$config['recaptcha_api_url'] = 'https://www.google.com/recaptcha/api.js';// !!! DEPRECATED - not used anymore !!!//$config['recaptcha_api'] = 'http://www.google.com/recaptcha/api.js';//$config['recaptcha_api_secure'] = 'https://www.google.com/recaptcha/api.js';//$config['recaptcha_https'] = true;// Keys can be obtained from http://www.google.com/recaptcha/// reCAPTCHA site key$config['recaptcha_publickey'] = 'your_public_key';// reCAPTCHA secret key$config['recaptcha_privatekey'] = 'your_private_key';// Send client IP to Google for reCAPTCHA verification$config['recaptcha_send_client_ip'] = false;// If defined, use this proxy to request ReCaptcha// $config['recaptcha_proxy'] = 'proxy.example.com:5100';$config['recaptcha_proxy'] = false;// Proxy authentication credentials// $config['recaptcha_proxy:auth'] = 'login:password';$config['recaptcha_proxy_auth'] = false;// Log events$config['recaptcha_log'] = false;// Recaptcha widget theme: light | dark (only for v2*)$config['recaptcha_theme'] = 'light';// Recaptcha widget size: normal | compact (only for v2*)$config['recaptcha_size'] = 'normal';// Event is not logged when set to NULL// Parameter expansion:// %r - Remote IP// %u - Username$config['recaptcha_log_success'] = 'Verification succeeded for %u. [%r]';$config['recaptcha_log_failure'] = 'Error: Verification failed for %u. [%r]';$config['recaptcha_log_unknown'] = 'Error: Unknown log type.';// Block IPv6 clients based on prefix length// Use an integer between 16 and 128, 0 to disable$config['rcguard_ipv6_prefix'] = 0;// Do not show recaptcha for this IPs$config['rcguard_ignore_ips'] = [];// Do not show recaptcha of these networks$config['recaptcha_whitelist'] = []; /usr/share/roundcubemail/config/config.inc.php - pay an attention that the rcguard is enabled!!! PHP: // ----------------------------------// PLUGINS// ----------------------------------// List of active plugins (in plugins/ directory)$config['plugins'] = array('acl', 'archive', 'attachment_reminder', 'autologon', 'emoticons', 'identity_select', 'krb_authentication', 'virtuser_file', 'virtuser_query', 'debug_logger', 'identicon','filesystem_attachments', 'hide_blockquote', 'jqueryui', 'managesieve', 'markasjunk', 'new_user_dialog', 'new_user_identity', 'newmail_notifier', 'password', 'show_additional_headers', 'subscriptions_option', 'userinfo', 'vcard_attachments', 'zipdownload', 'additional_message_headers', 'help', 'http_authentication', 'squirrelmail_usercopy', 'persistent_login', 'rcguard');
my command earlier was: Code: mysql -u root -p USE your_real_roundcube_database_name; CREATE TABLE IF NOT EXISTS `rcguard` ( -> `ip` VARCHAR(40) NOT NULL, -> `first` DATETIME NOT NULL, -> `last` DATETIME NOT NULL, -> `hits` INT(10) NOT NULL, -> PRIMARY KEY (`ip`), -> INDEX `last_index` (`last`), -> INDEX `hits_index` (`hits`) -> ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
There's no such folder /usr/share/roundcubemail/, I only see /usr/share/roundcube folder and plugins folder inside. Do I need to create new roundcubemail folder for rcguard to work?
come on! you were using Debian - as i understood, - my case is Centos ... keep doing all these procedures inside the folder, where you have installed the rounde_cube.
I updated my post for some other steps I performed, so, now captcha is trying to load, but now CSP is causing problem. Content-Security-Policy: The page’s settings blocked a script (script-src-elem) at https://www.google.com/recaptcha/api.js?hl=en_CA from being executed because it violates the following directive: “default-src 'self' 'unsafe-inline' 'unsafe-eval'” I added below line but did not help. CSP error does not allow to login, shows error Captcha is empty when trying to login. Code: nano /etc/apache2/sites-available/000-default.conf Code: <IfModule mod_headers.c> Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://www.google.com https://www.gstatic.com 'unsafe-inline'; style-src 'self' 'unsafe-inline';" </IfModule>
add a screenshot of your page (where it happens... with url) and try to run /rounducbe smoothly from the server' path i guess, you run it from the website, which has pre-installed severe restrictions to .htaccess try also this: PHP: <?php // Turn off the X-Frame-Options header entirely, to restore the previous // behavior of allowing the site to be embedded in a frame on another site. $conf['x_frame_options'] = ''; header_remove('X-Frame-Options');