Attention
Remote Upgrade Assistance
Check out our remote upgrade support if you need assistance.
/etc/iredmail-release with new iRedMail version numberiRedMail stores the release version in /etc/iredmail-release after
installation, it's recommended to update this file after you upgraded iRedMail,
so that you can know which version of iRedMail you're running. For example:
1.8.2
Roundcube Security Fixes
CentOS 7: please stick to Roundcube 1.5.2
It's time to leave your comfort zone and upgrade this server to at least CentOS Stream 8 or Rocky Linux 8.
If you're running CentOS 7, please upgrade to Roundcube 1.5.2 instead. Roundcube 1.5.3 requires PHP-7, but CentOS 7 ships PHP-5.4 which is not supported by Roundcube 1.5.3 and later releases, including 1.6.x.
Unfortunately, Roundcube 1.5.2 does NOT contains multiple security fixes which shipped in Roundcube 1.5.6 and 1.6.5.
CentOS Stream / Rocky / AlmaLinux 8 and 9
Roundcube 1.7.0 requires PHP 8.1 or later, please switch to PHP 8.2 with commands below BEFORE upgrading Roundcube:
dnf module enable -y php:8.2 && dnf module switch-to -y php:8.2
Ubuntu 18.04: please stick to Roundcube 1.5.9
Ubuntu 18.04 runs old php version which is not supported by Roundcube 1.6 and 1.7.
Roundcube 1.7 introduces "mandatory public_html/ entry-point for HTTP
servers, protecting all installations better", it requires changes in Nginx
config file.
cp /etc/nginx/templates/roundcube.tmpl{,.bak}
cp /etc/nginx/templates/roundcube-subdomain.tmpl{,.bak}
/etc/nginx/templates/roundcube.tmpl by
below text. Be careful, we use base URI /mail/, if you use a different one,
please replace it manually.# Block direct access to directories and files.
location ~ ^/mail/(SQL|bin|config|installer|logs|temp|vendor)/ { deny all; }
location ~ ^/mail/(.*\.md|composer\.*|INSTALL|LICENSE|Makefile|UPGRADING)$ { deny all; }
location ~ ^/mail/plugins/.*/config.inc.php.* { deny all; }
location ~ ^/mail/plugins/enigma/home($|/.*) { deny all; }
# Block access to directories and files via `public_html/static.php`.
location ~ ^/mail/static.php/(SQL|bin|config|installer|logs|temp|vendor)/ { deny all; }
location ~ ^/mail/static.php/(.*\.md|composer\.*|INSTALL|LICENSE|Makefile|UPGRADING)$ { deny all; }
location ~ ^/mail/static.php/plugins/.*/config.inc.php.* { deny all; }
location ~ ^/mail/static.php/plugins/enigma/home($|/.*) { deny all; }
# Redirect URI `/mail` to `/mail/`.
location = /mail {
return 301 /mail/;
}
location = /mail/ {
alias /opt/www/roundcubemail/public_html/;
index index.php;
}
location ~ ^/mail/static.php/(.*) {
include /etc/nginx/templates/hsts.tmpl;
alias /opt/www/roundcubemail/$1;
}
location ~ ^/mail/(.*\.php)$ {
include /etc/nginx/templates/hsts.tmpl;
include /etc/nginx/templates/fastcgi_php.tmpl;
fastcgi_param SCRIPT_FILENAME /opt/www/roundcubemail/public_html/$1;
}
/etc/nginx/templates/roundcube-subdomain.tmpl by
below text.# Block direct access to directories and files.
location ~ ^/(SQL|bin|config|installer|logs|temp|vendor)/ { deny all; }
location ~ ^/(.*\.md|composer\.*|INSTALL|LICENSE|Makefile|UPGRADING)$ { deny all; }
location ~ ^/plugins/.*/config.inc.php.* { deny all; }
location ~ ^/plugins/enigma/home($|/.*) { deny all; }
# Block access to directories and files via `public_html/static.php`.
location ~ ^/static.php/(SQL|bin|config|installer|logs|temp|vendor)/ { deny all; }
location ~ ^/static.php/(.*\.md|composer\.*|INSTALL|LICENSE|Makefile|UPGRADING)$ { deny all; }
location ~ ^/static.php/plugins/.*/config.inc.php.* { deny all; }
location ~ ^/static.php/plugins/enigma/home($|/.*) { deny all; }
location / {
root /opt/www/roundcubemail/public_html;
index index.php index.html;
include /etc/nginx/templates/hsts.tmpl;
}
location ~ ^/static.php/(.*) {
include /etc/nginx/templates/hsts.tmpl;
alias /opt/www/roundcubemail/$1;
}
location ~ ^/(.*\.php)$ {
include /etc/nginx/templates/hsts.tmpl;
include /etc/nginx/templates/fastcgi_php.tmpl;
fastcgi_param SCRIPT_FILENAME /opt/www/roundcubemail/public_html/$1;
}
wget https://github.com/roundcube/roundcubemail/releases/download/1.7.1/roundcubemail-1.7.1-complete.tar.gz
tar zxf roundcubemail-1.7.1-complete.tar.gz
cd roundcubemail-1.7.1
./bin/installto.sh /opt/www/roundcubemail
systemctl restart nginx
That's all.