Kako namestiti spletno pošto Roundcube na CentOS/RHEL 8/7


Roundcube je brezplačna in odprtokodna, popolnoma opremljena spletna večjezična programska oprema za spletno pošto IMAP z aplikacijskim uporabniškim vmesnikom, ki je popolnoma funkcionalen in prilagodljiv ter uporablja najnovejše spletne standarde. Zgrajen je z uporabo PHP in ponuja popolno funkcionalnost, ki jo lahko pričakujete od sodobnega e -poštnega odjemalca.

  • Je večjezičen in podpira več kot 70 jezikov.
  • Podpira adresar Find-as-you-type.
  • Podpira več identitet pošiljateljev.
  • Ponuja izpopolnjeno zaščito zasebnosti.
  • Ima popoln imenik s skupinami in priključki LDAP.
  • Ponuja sestavo sporočil v obogatenem besedilu/HTML.
  • Podpira iskanje sporočil in stikov.
  • Podpira Int. domenskih imen (IDNA).
  • Podpira manipulacijo z mapami, mape v skupni rabi in ACL.
  • Razširljivo z vtičnikom API.
  • Omogoča preverjanje črkovanja.
  • Zagotavlja funkcije uvoza/izvoza.
  • Ima vtični API za prilagodljive razširitve in še veliko več.

  1. Strežnik RHEL 7 z minimalno namestitvijo.
  2. Spletni strežnik Apache ali Nginx
  3. zbirka podatkov PHP in MySQL/MariaDB
  4. Strežnik SMTP in IMAP s podporo IMAP4 rev1

Za obseg tega članka predvidevamo, da že imate delujoč e -poštni strežnik Postfix z navideznimi uporabniki, sicer sledite nastavitvam naših vodnikov:

  1. Nastavitev poštnega strežnika Postfix in golobnika z MariaDB - 1. del
  2. Konfigurirajte uporabnike navidezne domene Postfix in Dovecot - 2. del
  3. Namestite in integrirajte ClamAV in SpamAssassin v poštni strežnik Postfix - 3. del

V tem članku bom namestil spletno pošto Roundcube na Linode CentOS VPS s spletnim strežnikom Nginx, statičnim naslovom IP 192.168.0.100 in imenom gostitelja mail.linux-console.net.

Korak: Namestite Nginx, PHP-FPM in MariaDB v CentOS 8/7

1. Najprej omogočite skladišča EPEL in REMI in v sistem CentOS namestite strežnik Nginx, PHP, PHP-FPM in MariaDB.

# yum install epel-release
# yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm    [CentOS/RHEL 8]
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm    [CentOS/RHEL 7]
# yum install yum-utils 
# yum-config-manager --enable remi-php72
# yum install nginx php php-fpm php-mcrypt php-cli php-gd php-curl php-xml php-mysql php-mbstring php-pspell php-imagick mariadb-server   

2. Ko uspešno namestite vse pakete, zaženite spletni strežnik Nginx, mu omogočite samodejni zagon ob zagonu in preverite, ali deluje in deluje.

# systemctl start nginx 
# systemctl enable nginx
# systemctl status nginx

3. Nato, če imate omogočen sistemski požarni zid, morate odpreti vrata 80 za zunanje zahteve.

# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --reload 

4. Nato morate konfigurirati PHP-FPM za pravilno delovanje. Odprite datoteko /etc/php.ini z urejevalnikom preizkusov ukazne vrstice.

# vim /etc/php.ini

Poiščite direktivo ; cgi.fix_pathinfo = 1 , jo razkomentirajte in nastavite njeno vrednost na 0.

cgi.fix_pathinfo=0

Prav tako odkomentirajte direktivo ; date.timezone in nastavite njeno vrednost na vaš časovni pas.

date.timezone = "Africa/Kampala"

Ko končate, shranite datoteko in zapustite.

5. Nato zaženite storitev PHP-FPM, omogočite samodejni zagon ob zagonu in preverite, ali deluje in deluje, kot sledi.

# systemctl start php-fpm 
# systemctl enable php-fpm 
# systemctl status php-fpm 

Korak: Zavarujte strežnik MariaDB in ustvarite bazo podatkov Roundecube

6. Zdaj zaženite storitev MariaDB z naslednjimi ukazi.

# systemctl start mariadb
# systemctl enable mariadb
# systemctl status mariadb

7. Privzeta namestitev MariaDB ni varna. Za zaščito morate zagnati varnostni skript, ki je priložen binarnemu paketu. Od vas se bo zahtevalo, da nastavite korensko geslo, odstranite anonimne uporabnike, na daljavo onemogočite prijavo v root in odstranite preskusno bazo podatkov.

# mysql_secure_installation

8. Zdaj se prijavite v zbirko MariaDB, ustvarite bazo podatkov za Roundecube in uporabniku dodelite ustrezna dovoljenja za zbirko podatkov (ne pozabite nastaviti močnega/varnega gesla v produkcijskem okolju).

# 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 '[email !#webL';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

9. Nato uvozite postavitev tabele Roundcube v novo ustvarjeno bazo podatkov.

# cd /var/www/html/roundcubemail/
# mysql -u root -p roundcubemail < SQL/mysql.initial.sql

3. korak: Prenesite paket Roundcube

10. V tem koraku prenesite najnovejšo stabilno različico (1.4.9 v času pisanja tega članka) programa Roundcube iz prenosnika ukazne vrstice wget, da jo dobite, izvlečete datoteko TAR in naložite datoteke v korenski dokument svojega spletnega strežnika .

# wget -c https://github.com/roundcube/roundcubemail/releases/download/1.4.9/roundcubemail-1.4.9-complete.tar.gz
# tar xzf roundcubemail-1.4.9-complete.tar.gz 
# mv roundcubemail-1.4.9 /var/www/html/roundcubemail

11. Nato nastavite ustrezna dovoljenja za datoteke spletnega korena Roundcube.

# chown -R nginx:nginx /var/www/html/roundcubemail

4. korak: Konfigurirajte strežniški blok Nginx za spletni namestitveni program Roundcube

12. Zdaj ustvarite strežniški blok Nginx za Roundcube pod /etc/nginx/conf.d/ (datoteko lahko poimenujete tako, kot želite, vendar mora imeti razširitev .conf).

# vim /etc/nginx/conf.d/mail.example.com.conf

V datoteko dodajte naslednjo konfiguracijo.

server {
        listen 80;
        server_name mail.example.com;

        root /var/www/html/roundcubemail;
        index  index.php index.html;

        #i# Logging
        access_log /var/log/nginx/mail.example.com_access_log;
        error_log   /var/log/nginx/mail.example.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;
        }
}

Shranite datoteko in jo zaprite.

13. Nato odprite datoteko /etc/php-fpm.d/www.conf, da naredite nekaj sprememb v spletni direktivi PHP-FPM.

# vim /etc/php-fpm.d/www.conf

V naslednjih spremenljivkah spremenite uporabniškega apache v nginx.

user = nginx
group = nginx

Nato komentirajte vrstico listen = 127.0.0.1:9000 in nastavite poslušalno spremenljivko za poslušanje na vtičnici Unix, nastavljeni v datoteki bloka strežnika nginx:

listen = /var/run/php-fpm/php-fpm.sock

Prav tako nastavite dovoljenja za vtičnico UNIX, odkomentirajte in spremenite vrstice na:

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Ko končate, shranite datoteko in jo zaprite.

14. Nato znova zaženite storitve Nginx in PHP-FPM, da uporabite najnovejše spremembe, kot sledi.

# systemctl restart nginx php-fpm

5. korak: dostopajte do spletnega vmesnika Roundcube Web

15. Preden zaženete čarovnika za namestitev, da se izognete morebitnim napakam seje, nastavite ustrezna dovoljenja v imeniku/var/lib/php/session/. Privzeti lastnik skupine je apache, spremenite ga v nginx, kot je prikazano.

# ls -ld /var/lib/php/session/
# chown :nginx /var/lib/php/session/
# ls -ld /var/lib/php/session/

16. Zdaj odprite brskalnik in uporabite naslov http://mail.example.com/installer (zamenjajte domeno z imenom strežnika, ki ste ga nastavili pri ustvarjanju strežniškega bloka Nginx za Roundcube) za dostop do spleta namestitveni program. Če so vse različice PHP, razširitve in nastavitve php.ini/.htaccess pravilne, boste videli naslednji posnetek zaslona, kliknite Naprej, da odprete stran s konfiguracijami.

http://mail.example.com/installer
OR
http://IP-address/installer

17. Stran s konfiguracijami vam omogoča, da nastavite primerek Roundcube. Pojasnili bomo le pomembne možnosti za področje uporabe tega priročnika.

Pod Splošno konfiguracijo nastavite ime izdelka na primer Spletna pošta Example.com.

Pojdite na Nastavitev baze podatkov, vnesite gostitelja baze podatkov, ime, uporabnika in geslo za povezavo s strežnikom MySQL.

Nato se pomaknite navzdol do nastavitev IMAP in SMTP in vnesite naslov IP strežnika IMAP in SMTP, če gre za isti strežnik, na katerem uporabljate Roundcube, ga pustite kot\"localhost" in podajte tudi druge potrebne parametre.

Določite lahko druge nastavitve glede na vaše potrebe, ko končate, kliknite Ustvari konfiguracijo.

18. Zdaj bi morali videti sporočilo "Konfiguracijska datoteka je bila uspešno shranjena v imenik/var/www/html/roundcubemail/config vaše namestitve Roundcube." Kliknite Nadaljuj.

19. Konfiguracijo lahko pregledate na strani Test config, kot je prikazano na naslednjem posnetku zaslona.

20. Nato odstranite celotno mapo namestitvenega programa (ki vsebuje datoteke, ki lahko javnosti razkrijejo občutljive konfiguracijske podatke, kot so gesla strežnika in šifrirni ključi) iz korenskega imenika Roundcube (ali se prepričajte, da je možnost enable_installer v config.inc.php onemogočena. ).

# rm -rf /var/www/html/roundcubemail/installer

21. Za dostop do prijavne strani Roundcube uporabite URL http://mail.example.com. Če si želite ogledati svojo pošto, vnesite svoje uporabniško ime in geslo.

Roundcube je široko uporabljan, polno funkcionalen spletni večjezični poštni odjemalec. V tem članku smo pokazali, kako namestiti najnovejšo stabilno različico spletne pošte Roundcube na CentOS/RHEL 8/7 s spletnim strežnikom Nginx. Če imate kakršna koli vprašanja, nas kontaktirajte s spodnjim obrazcem za povratne informacije.