Kif Tinstalla Roundcube Webmail fuq CentOS/RHEL 8/7


Roundcube huwa softwer tal-webmail IMAP multilingwi bbażat fuq il-web b'xejn u b'sors miftuħ, b'karatteristika sħiħa, b'interface tal-utent bħal applikazzjoni li hija kompletament funzjonali u customizable, u tuża l-aħħar standards tal-web. Huwa mibni bl-użu tal-PHP u joffri funzjonalità sħiħa li tista 'tistenna minn klijent tal-email modern.

  • Huwa multilingwi, jappoġġja aktar minn 70 lingwa.
  • Jappoġġja ktieb tal-indirizzi Find-as-you-type.
  • Jappoġġja identitajiet ta' mittenti multipli.
  • Toffri protezzjoni tal-privatezza sofistikata.
  • Għandu ktieb tal-indirizzi b'karatteristiċi sħiħ bi gruppi u konnetturi LDAP.
  • Toffri komponiment ta' messaġġi richtext/HTML.
  • Jappoġġja t-tfittxija għal messaġġi u kuntatti.
  • Jappoġġja l-Int. ismijiet tad-dominju (IDNA).
  • Jappoġġja l-manipulazzjoni tal-folders, folders kondiviżi, u ACL.
  • Estendibbli bl-użu tal-Plug-in API.
  • Tipprovdi funzjonalità ta' verifika ortografika.
  • Tipprovdi funzjonijiet ta' importazzjoni/esportazzjoni.
  • Għandu plug-in API għal estensjonijiet flessibbli u ħafna aktar.

  1. Server RHEL 7 b'Installazzjoni Minima.
  2. Webserver Apache jew Nginx
  3. Database PHP u MySQL/MariaDB
  4. Server SMTP u IMAP b'appoġġ IMAP4 rev1

Għall-ambitu ta 'dan l-artikolu, nassumu li diġà għandek server tal-email Postfix li qed jaħdem ma' utenti virtwali, inkella, segwi s-setup tal-gwidi tagħna:

  1. Twaqqif ta' Postfix Mail Server u Dovecot ma' MariaDB – Parti 1
  2. Kkonfigura l-Utenti tad-Dominju Virtwali ta' Postfix u Dovecot – Parti 2
  3. Installa u Integra ClamAV u SpamAssassin għal Postfix Mail Server – Parti 3

Għall-iskop ta 'dan l-artikolu, se ninstalla Roundcube Webmail fuq Linode CentOS VPS b'server tal-web Nginx, indirizz IP statiku 192.168.0.100, u hostname mail.linux-console.net.

Pass 1: Installa Nginx, PHP-FPM, u MariaDB f'CentOS 8/7

1. L-ewwel ibda billi tippermetti r-repożitorji EPEL u REMI u installa Nginx, PHP, PHP-FPM, u s-server MariaDB fis-sistema CentOS tiegħek.

# 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. Ladarba tkun installat b'suċċess il-pakketti kollha, ibda s-server tal-web Nginx, ippermettih li jibda awtomatikament fil-ħin tal-ibbutjar u ċċekkja jekk hux qed jaħdem.

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

3. Sussegwentement, jekk għandek sistema firewall attivata, għandek bżonn tiftaħ il-port 80 għal talbiet esterni.

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

4. Sussegwentement, għandek bżonn tikkonfigura PHP-FPM biex taħdem sew. Iftaħ il-fajl /etc/php.ini billi tuża editur tat-test tal-linja tal-kmand.

# vim /etc/php.ini

Fittex id-direttiva ;cgi.fix_pathinfo=1, neħħi l-kumment tagħha u ssettja l-valur tagħha għal 0.

cgi.fix_pathinfo=0

Ukoll, neħħi l-kumment tad-direttiva ;date.timezone u ssettja l-valur tagħha għaż-żona tal-ħin tiegħek.

date.timezone = "Africa/Kampala"

Ladarba tkun lest, issalva l-fajl u oħroġ.

5. Imbagħad ibda s-servizz PHP-FPM, ippermettih li jibda awtomatikament fil-ħin tal-ibbutjar, u ċċekkja jekk huwiex qed jaħdem, kif ġej.

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

Pass 2: Sikura MariaDB Server u Oħloq Database Roundecube

6. Issa ibda s-servizz MariaDB billi tuża l-kmandi li ġejjin.

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

7. L-installazzjoni default MariaDB mhix sigura. Ikollok bżonn tmexxi l-iskrittura tas-sigurtà li tiġi mal-pakkett binarju, biex tiżguraha. Inti tintalab biex tissettja password ta 'l-għeruq, tneħħi utenti anonimi, tiddiżattiva l-login ta' l-għeruq mill-bogħod, u neħħi d-database tat-test.

# mysql_secure_installation

8. Issa illoggja fid-database MariaDB, oħloq database għal Roundecube, u agħti lill-utent permessi xierqa fuq id-database (ftakar li tistabbilixxi password b'saħħitha/sigura f'ambjent ta 'produzzjoni).

# 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. Sussegwentement, jimporta t-tqassim tal-mejda Roundcube fid-database maħluqa ġdida.

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

Pass 3: Niżżel il-Pakkett Roundcube

10. F'dan il-pass, niżżel l-aħħar verżjoni stabbli (1.4.9 fil-ħin tal-kitba) ta 'Roundcube mill-wget command-line downloader biex tiksbu, estratt il-fajl TAR, u ttella' l-fajls fl-għerq tad-dokument tas-server tal-web tiegħek .

# 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. Sussegwentement, issettja l-permessi xierqa fuq il-fajls webroot Roundcube.

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

Pass 4: Ikkonfigura Nginx Server Block Għall Roundcube Web Installer

12. Issa oħloq blokk tas-server Nginx għar-Roundcube taħt /etc/nginx/conf.d/ (tista 'ssemmi l-fajl kif trid imma għandu jkollu estensjoni .conf).

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

Żid il-konfigurazzjoni li ġejja fil-fajl.

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;
        }
}

Issejvja l-fajl u agħlaqha.

13. Sussegwentement, iftaħ il-fajl /etc/php-fpm.d/www.conf biex tagħmel ftit bidliet fid-direttiva tal-web PHP-FPM.

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

Ibdel l-utent apache għal nginx fil-varjabbli li ġejjin.

user = nginx
group = nginx

Imbagħad ikkummenta l-linja listen = 127.0.0.1:9000 u waqqaf il-varjabbli listen biex tisma' fuq socket Unix stabbilit fil-fajl tal-blokk tas-server nginx:

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

Ukoll, issettja l-permessi għas-socket UNIX, neħħi l-kumment u ibdel il-linji għal:

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

Ladarba tkun lest, issalva l-fajl u agħlaq.

14. Imbagħad erġa ibda s-servizzi Nginx u PHP-FPM biex tapplika l-bidliet riċenti, kif ġej.

# systemctl restart nginx php-fpm

Pass 5: Aċċessa Roundcube Web UI

15. Qabel ma tibda l-Wizard tal-installazzjoni, biex tevita kwalunkwe żball tas-sessjoni, issettja l-permessi xierqa fuq id-direttorju /var/lib/php/session/. Is-sid tal-grupp default huwa apache, ibdelha għal nginx kif muri.

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

16. Issa tiftaħ browser u uża l-indirizz http://mail.example.com/installer (issostitwixxi d-dominju bl-isem tas-server li ssettjajt waqt li toħloq blokk tas-server Nginx għal Roundcube) biex taċċessa l-web installatur. Jekk il-verżjonijiet, l-estensjonijiet, u l-issettjar ta 'php.ini/.htaccess kollha PHP huma korretti, se tara l-screenshot li ġej, ikklikkja fuq Li jmiss biex tmur fil-paġna tal-konfigurazzjonijiet.

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

17. Il-paġna tal-konfigurazzjonijiet tippermettilek li twaqqaf l-istanza Roundcube tiegħek. Aħna se nispjegaw biss l-għażliet importanti għall-ambitu ta 'din il-gwida.

Taħt il-Konfigurazzjoni Ġenerali, issettja product_name per eżempju Webmail Example.com.

Mur fis-setup tad-Database, daħħal il-host tad-database, l-isem, l-utent u l-password biex tikkonnettja mas-server MySQL.

Imbagħad skrollja 'l isfel lejn is-settings IMAP u SMTP u daħħal l-indirizz IP tas-server IMAP u SMTP tiegħek, jekk huwa l-istess server li fuqu qed tħaddem Roundcube, ħallih bħala \localhost u speċifika wkoll parametri oħra meħtieġa.

Tista' tispeċifika settings oħra skont il-bżonnijiet tiegħek, ladarba tkun lest, ikklikkja fuq Oħloq Konfigurazzjoni.

18. Issa għandek tara messaġġ li jgħid Il-fajl tal-konfigurazzjoni ġie salvat b'suċċess fid-direttorju /var/www/html/roundcubemail/config tal-installazzjoni Roundcube tiegħek. Ikklikkja fuq Kompli.

19. Tista' tirrevedi l-konfigurazzjoni tiegħek mill-paġna tal-konfigurazzjoni tat-Test kif muri fil-screenshot li ġej.

20. Sussegwentement, neħħi l-folder kollu tal-installatur (li fih fajls li jistgħu jesponu dejta ta' konfigurazzjoni sensittiva bħall-passwords tas-server u ċwievet ta' encryption għall-pubbliku) mid-direttorju tal-għeruq Roundcube (jew kun żgur li l-għażla enable_installer f'config.inc.php hija diżattivata). ).

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

21. Fl-aħħarnett, uża l-URL http://mail.example.com biex taċċessa l-paġna tal-login ta’ Roundcube. Daħħal l-isem tal-utent u l-password tiegħek biex tara l-posta tiegħek.

Roundcube huwa klijent tal-posta multilingwali bbażat fuq il-web li jintuża b'mod wiesa' u b'mod sħiħ. F'dan l-artikolu, urejna kif tinstalla l-aħħar verżjoni stabbli ta 'Roundcube Webmail fuq CentOS/RHEL 8/7 mas-server tal-web Nginx. Jekk għandek xi mistoqsijiet, uża l-formola ta' feedback hawn taħt biex tilħaqna.