Roundcube je jedno z nejznámějších open source řešení pro správu spolehlivé a přizpůsobitelné e-mailové služby prostřednictvím webové služby.
V tomto tutoriálu jsou všechny informace k instalaci a správě webové pošty pomocí Roundcube na CentOS 7. Jelikož je Roundcube založen na PHP, vyžaduje instalaci webového serveru, jako je NGINX nebo Apache a spoléhá na databázi podobnou MySQL, jako je MariaDB.
Nejprve se připojte k serveru prostřednictvím připojení SSH. Pokud jste tak ještě neučinili, podle našeho průvodce se doporučuje připojit se bezpečně pomocí SSH. V případě lokálního serveru přejděte k dalšímu kroku a otevřete terminál svého serveru.
Instalace NGINX a PHP
Pokračujte instalací instance NGINX s podporou PHP a MySQL:
$ sudo yum install nginx php php-fpm php-mcrypt php-cli php-gd php-curl php-xml php-mysql php-mbstring php-pspell php-imagick
Na konci instalace všech balíčků spusťte NGINX a povolte jeho automatické spouštění v systému:
$ sudo systemctl start nginx$ sudo systemctl enable nginx
Použití Roundcube vyžaduje změnu dvou parametrů v konfiguračním souboru PHP v /etc/php.ini:
# Impostazione della nostra timezone
date.timezone = "Europe/Rome"
cgi.fix_pathinfo=0
Uložte právě upravený soubor, spusťte a povolte službu PHP-FPM:
$ sudo systemctl start php-fpm$ sudo systemctl enable php-fpm
Instalace MariaDB
Aby Roundcube správně fungoval, potřebuje databázi MariaDB, kterou lze nainstalovat pomocí následujícího příkazu:
$ sudo yum install mariadb-server
Po dokončení instalace spusťte službu:
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb
Pokračujte v zabezpečení MariaDB spuštěním skriptu zahrnutého v MariaDB pro zvýšení zabezpečení a omezení přístupu k vašim databázím:
Spusťte pomocný skript poskytovaný službou MariaDb "mysql_secure_installation" a odpovězte na všechny otázky:
$ sudo mysql_secure_installation
Nejprve budete dotázáni, zda chcete povolit systém ověřování hesla. Pokud tento systém povolíte, při nastavení hesla pro uživatele bude vyhodnocen. Pokud heslo nesplňuje minimální požadavky na zabezpečení, je odmítnuto s chybovou zprávou.
Poté budete dotázáni, zda chcete změnit heslo uživatele root na jedno z vašich preferencí. Pokud povolíte systém ověřování hesla, budete muset zadat heslo, které respektuje bezpečnostní kritéria.
Doporučujeme se řídit některými osvědčenými postupy pro vytvoření bezpečného hesla. To zahrnuje:
Použití velkých i malých písmen
Použití písmen i číslic
Použití nealfanumerických znaků jako @ # $% ˆ &!
Používání jiných hesel než hesel používaných dříve
Nakonec vyberte, zda chcete odebrat anonymní uživatele, testovat databáze a zda zakázat vzdálené přihlášení s uživatelem root. Pro odpovídající úroveň zabezpečení se doporučuje potvrdit všechny tyto změny.
V tomto okamžiku potvrďte aktualizaci zobrazené tabulky, abyste použili nová bezpečnostní kritéria.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into MariaDB
root user without the proper authorisation.
Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
Remove anonymous users? [Y/n] Y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
... Success!
Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reload privilege tables now? [Y/n] Y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Po restartu služby lze vytvořit databázi pro Roundcube a nového uživatele (změnou hesla):
$ mysql -u root -p
MariaDB [(none)]> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
MariaDB [(none)]> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'mf0c3mhx';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
Instalace Roundcube
Abyste si mohli stáhnout nejnovější verzi Roundcube, budete potřebovat wget. Pokud ve vašem systému není nainstalován, proveďte to pomocí následujícího příkazu:
$ sudo yum install wget
V opačném případě pokračujte stažením a extrahováním balíčku z github:
$ wget -c https://github.com/roundcube/roundcubemail/releases/download/1.3.7/roundcubemail-1.3.7-complete.tar.gz
$ tar xzf roundcubemail-1.3.7-complete.tar.gz
Potom přesuňte vše do adresáře NGINX:
$ sudo mv roundcubemail-1.3.7 /var/www/html/roundcubemail
$ sudo cd /var/www/html/roundcubemail/
Balík Roundcube obsahuje sql soubor, který je třeba importovat do nově vytvořené databáze s požadovanou strukturou:
$ mysql -u root -p roundcubemail < SQL/mysql.initial.sql
Během procesu importu budete požádáni o heslo kořenového adresáře databáze zadané během instalace MariaDB.
Po dokončení konfigurace databáze „připravte virtuální server NGINX pro doménu mail.domain.com. Nejprve se ujistěte, že vlastníkem složky html je NGINX:
$ sudo chown -R nginx:nginx /var/www/html/roundcubemail
Nyní vytvořte a upravte soubor virtuálního hostitele/etc/nginx/conf.d/mail.example.com.conf následovně:
server {
listen 80;
server_name mail.domain.com;
root /var/www/html/roundcubemail;
index index.php index.html;
#i# Logging
access_log /var/log/nginx/mail.domain.com_access_log;
error_log /var/log/nginx/mail.domain.com_error_log;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ ^/(README.md|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
deny all;
}
location ~ ^/(config|temp|logs)/ {
deny all;
}
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Před uložením všech změn nezapomeňte změnit doménu „domena.com“ na svou doménu.
V případě chyb oprávnění upravte konfiguraci PHP-FPM v /etc/php-fpm.d/www.conf změnou těchto parametrů:
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Také se ujistěte, že vlastníkem adresáře PHP "session" je NGINX:
$ sudo chown -R nginx:nginx /var/lib/php/session/
V tuto chvíli je Roundcube připraven ke konfiguraci z webového rozhraní.
Konfigurace Roundcube přes webové rozhraní
Chcete-li pokračovat v instalaci, přejděte prostřednictvím webového prohlížeče na adresu:http://mail.domain.com/installer/
V této první fázi instalační program Roundcube zobrazí souhrn požadavků na správné fungování systému. Pokračujte kliknutím na tlačítko "NEXT".
V této druhé fázi je třeba zadat řadu provozních parametrů. Ponechte vše beze změny kromě product_name, kde o zadejte název vaší domény nebo přezdívku dle vašeho výběru.
Změna přístupových údajů k serveru SQL s údaji zadanými během fáze instalace je důležitá. Po dokončení pokračujte kliknutím na tlačítko "DALŠÍ".
Po dokončení druhé fáze otestujte parametry IMAP / SMTP svého serveru a ověřte, zda je Roundcube schopen odesílat/přijímat poštu.
Po dokončení smažte všechny potřebné soubory pro instalaci ve složce /var/www/html/roundcubemail/installer spuštěním příkazu:
$ sudo rm -rf /var/www/html/roundcubemail/installer
Pokud chcete upravit nebo změnit parametry zadané během fáze konfigurace, úprava souboru v adresáři /var/www/html/roundcubemail/config/config.inc.php je vždy možná.
Přístup k webové poště
Naše instance Roudcube je připravena k použití na adrese URL http://mail.domain.com/ . Poté se přihlaste pomocí přihlašovacích údajů poštovní schránky nakonfigurované pomocí Dovecot.