Giunsa ang Pag-install sa Roundcube Webmail sa CentOS/RHEL 8/7


Ang Roundcube usa ka libre ug open-source, bug-os nga gipakita nga web-based multilingguwal nga IMAP webmail software, nga adunay sama sa aplikasyon nga user interface nga hingpit nga magamit ug napasadya, ug naggamit sa pinakabag-o nga mga sumbanan sa web. Gitukod kini gamit ang PHP ug nagtanyag sa bug-os nga pagpaandar nga imong madahom gikan sa usa ka modernong email client.

  • Kini nga pinulongan, nagsuporta sa labaw sa 70 ka mga pinulongan.
  • Nagsuporta sa Find-as-you-type nga address book.
  • Nagsuporta sa daghang mga identidad sa nagpadala.
  • Nagtanyag og sopistikado nga proteksyon sa pribasiya.
  • Adunay kompleto nga bahin sa address book nga adunay mga grupo ug LDAP connectors.
  • Nagtanyag og richtext/HTML nga pag-compose sa mensahe.
  • Nagsuporta sa pagpangita sa mga mensahe ug mga kontak.
  • Nagsuporta sa Int. mga ngalan sa domain (IDNA).
  • Gisuportahan ang pagmaniobra sa folder, gipaambit nga mga folder, ug ACL.
  • Extensible gamit ang Plug-in API.
  • Naghatag ug gamit sa pagsusi sa spell.
  • Naghatag ug import/export nga mga gimbuhaton.
  • Adunay plug-in API para sa flexible extensions ug daghan pa.

  1. Usa ka RHEL 7 Server nga adunay Minimal nga Pag-install.
  2. Apache o Nginx webserver
  3. PHP ug MySQL/MariaDB database
  4. SMTP ug IMAP server nga adunay suporta sa IMAP4 rev1

Alang sa sakup sa kini nga artikulo, among gihunahuna nga naa na ka nagdagan nga Postfix email server nga adunay mga virtual nga tiggamit, kung dili, sunda ang among setup sa mga giya:

  1. Pagpahimutang sa Postfix Mail Server ug Dovecot sa MariaDB – Bahin 1
  2. I-configure ang Postfix ug Dovecot Virtual Domain Users – Bahin 2
  3. I-install ug I-integrate ang ClamAV ug SpamAssassin sa Postfix Mail Server – Bahin 3

Alang sa katuyoan niini nga artikulo, akong i-install ang Roundcube Webmail sa usa ka Linode CentOS VPS nga adunay Nginx web server, static IP address 192.168.0.100, ug hostname mail.linux-console.net.

Lakang 1: I-install ang Nginx, PHP-FPM, ug MariaDB sa CentOS 8/7

1. Una magsugod pinaagi sa pagpagana sa EPEL ug REMI nga mga repositoryo ug i-install ang Nginx, PHP, PHP-FPM, ug MariaDB server sa imong CentOS system.

# 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. Sa higayon nga malampuson nimo nga ma-install ang tanan nga mga pakete, sugdi ang Nginx web server, pahimoa kini nga awtomatikong magsugod sa oras sa pag-boot ug susihon kung kini nagdagan ug nagdagan.

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

3. Sunod, kon ikaw adunay usa ka sistema sa firewall nga nakahimo, kinahanglan nimo nga ablihan ang port 80 alang sa eksternal nga mga hangyo.

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

4. Sunod, kinahanglan nimo nga i-configure ang PHP-FPM aron molihok sa husto. Ablihi ang file /etc/php.ini gamit ang command-line test editor.

# vim /etc/php.ini

Pangitaa ang direktiba ;cgi.fix_pathinfo=1, uncomment kini ug ibutang ang bili niini ngadto sa 0.

cgi.fix_pathinfo=0

Usab, uncomment ang direktiba ;date.timezone ug ibutang ang bili niini sa imong timezone.

date.timezone = "Africa/Kampala"

Kung nahuman na ka, i-save ang file ug paggawas.

5. Dayon sugdi ang PHP-FPM nga serbisyo, pahimoa kini nga auto-start sa oras sa pag-boot, ug susiha kon nag-andar na ba kini, sama sa mosunod.

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

Lakang 2: I-secure ang MariaDB Server ug Paghimo Roundecube Database

6. Karon sugdi ang serbisyo sa MariaDB gamit ang mosunod nga mga sugo.

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

7. Ang default nga pag-instalar sa MariaDB dili luwas. Kinahanglan nimong ipadagan ang script sa seguridad nga kauban ang binary nga pakete, aron masiguro kini. Pangutan-on ka nga magbutang usa ka password sa ugat, tangtangon ang mga wala mailhi nga tiggamit, i-disable ang pag-login sa gamut sa layo, ug tangtangon ang database sa pagsulay.

# mysql_secure_installation

8. Karon pag-log in sa database sa MariaDB, paghimo og database para sa Roundecube, ug hatagi ang user sa angay nga mga permiso sa database (hinumdomi ang pagbutang og lig-on/secure nga password sa production environment).

# 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. Sunod, import ang Roundcube table layout sa bag-ong gibuhat database.

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

Lakang 3: Pag-download sa Roundcube Package

10. Niini nga lakang, i-download ang pinakabag-o nga stable nga bersyon (1.4.9 sa panahon sa pagsulat niini) sa Roundcube gikan sa wget command-line downloader aron makuha kini, kuhaa ang TAR file, ug i-upload ang mga file ngadto sa imong web server document root .

# 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. Sunod, ibutang ang angay nga pagtugot sa Roundcube webroot files.

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

Lakang 4: I-configure ang Nginx Server Block Para sa Roundcube Web Installer

12. Karon paghimo ug Nginx server block para sa Roundcube ubos sa /etc/nginx/conf.d/ (mahimo nimong hinganlan ang file sa paagi nga imong gusto apan kinahanglan nga adunay .conf extension).

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

Idugang ang mosunod nga configuration sa file.

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

I-save ang file ug isira kini.

13. Sunod, ablihi ang file /etc/php-fpm.d/www.conf para makahimo ug pipila ka kausaban sa PHP-FPM web directive.

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

Usba ang user apache sa nginx sa mosunod nga mga variable.

user = nginx
group = nginx

Dayon ikomento ang linya paminaw = 127.0.0.1:9000 ug itakda ang listen variable aron maminaw sa Unix socket set sa nginx server block file:

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

Usab, ibutang ang mga permiso alang sa UNIX socket, uncomment ug usba ang mga linya sa:

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

Kung nahuman na ka, i-save ang file ug isira kini.

14. Dayon i-restart ang Nginx ug PHP-FPM nga mga serbisyo aron magamit ang bag-ong mga kausaban, sama sa mosunod.

# systemctl restart nginx php-fpm

Lakang 5: Pag-access sa Roundcube Web UI

15. Sa dili pa nimo sugdan ang install wizard, aron malikayan ang bisan unsang mga error sa session, ibutang ang angay nga mga permiso sa direktoryo /var/lib/php/session/. Ang default nga tag-iya sa grupo mao ang apache, usba kini sa nginx sama sa gipakita.

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

16. Karon ablihi ang browser ug gamita ang adres http://mail.example.com/installer (ilisan ang domain sa ngalan sa server nga imong gitakda samtang nagmugna og Nginx server block para sa Roundcube) aron ma-access ang web installer. Kung husto ang tanang bersyon sa PHP, extension, ug php.ini/.htaccess, imong makita ang mosunod nga screenshot, i-klik ang Next para makaadto sa configurations page.

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

17. Ang panid sa mga pag-configure nagtugot kanimo sa pag-set up sa imong Roundcube nga pananglitan. Ipatin-aw lang namo ang importanteng mga opsyon alang sa kasangkaran niini nga giya.

Ubos sa General Configuration, magbutang ug product_name pananglitan sa Example.com Webmail.

Lakaw ngadto sa Database setup, isulod ang database host, ngalan, user, ug password aron makonektar sa MySQL server.

Dayon i-scroll down ngadto sa IMAP ug SMTP settings ug isulod ang IP address sa imong IMAP ug SMTP server, kung parehas nga server nga imong gipadagan sa Roundcube, ibilin kini nga \localhost ug ipiho usab ang ubang gikinahanglan nga mga parameter.

Mahimo nimong itakda ang ubang mga setting sumala sa imong mga panginahanglan, kung nahuman ka, i-klik ang Paghimo Config.

18. Kinahanglang makakita ka na karon og mensahe nga nag-ingon Ang config file malampusong na-save sa /var/www/html/roundcubemail/config directory sa imong Roundcube installation. Pag-klik sa Padayon.

19. Mahimo nimong susihon ang imong configuration gikan sa Test config page sama sa gipakita sa mosunod nga screenshot.

20. Sunod, kuhaa ang tibuok folder sa installer (nga adunay sulod nga mga file nga mahimong mobutyag sa sensitibo nga configuration data sama sa server password ug encryption keys ngadto sa publiko) gikan sa Roundcube root directory (o siguroha nga ang enable_installer nga opsyon sa config.inc.php gi-disabled. ).

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

21. Sa katapusan, gamita ang URL http://mail.example.com para ma-access ang Roundcube login page. Pagsulod sa imong user name ug password aron makita ang imong mga mail.

Ang Roundcube kay kaylap nga gigamit, hingpit nga gipakita sa web-based nga multilingguwal nga mail client. Sa kini nga artikulo, gipakita namon kung giunsa ang pag-install sa labing bag-o nga stable nga bersyon sa Roundcube Webmail sa usa ka CentOS/RHEL 8/7 kauban ang Nginx web server. Kung naa kay pangutana, gamita ang feedback form sa ubos para maabot mi.