Otu esi etinye Webmail Roundcube na CentOS/RHEL 8/7


Roundcube bụ isi iyi mepere emepe nke IMAP webmail nwere ọtụtụ asụsụ nwere njiri mara nke ọma, yana ngwa ọrụ dị ka ngwa nke na-arụ ọrụ zuru oke yana ịhazi ya, ma na-eji ụkpụrụ webụ kacha ọhụrụ. Ejiri PHP rụọ ya ma na-enye ọrụ zuru oke nke ị nwere ike ịtụ anya n'aka onye ahịa email ọgbara ọhụrụ.

  • Ọ na-asụ ọtụtụ asụsụ, na-akwado ihe karịrị asụsụ iri asaa.
  • Na-akwado akwụkwọ adreesị Chọta-dị ka ị.
  • Na-akwado ọtụtụ njirimara izipu.
  • Na-enye nchedo nzuzo ọkaibe.
  • nwere akwụkwọ adreesị nwere otu yana njikọ LDAP.
  • Na-enye Richtext/ịhazi ozi HTML.
  • Na-akwado ichọ ozi na kọntaktị.
  • Na-akwado Int. aha ngalaba (IDNA).
  • Na-akwado njikwa nchekwa, nchekwa nchekwa na ACL.
  • Enwere ike iji Plug-in API.
  • Na-enye ọrụ ịlele mkpoputa.
  • Na-enye ọrụ mbubata/bupu.
  • nwere API nkwụnye maka ndọtị na-agbanwe agbanwe yana ọtụtụ ndị ọzọ.

  1. Ihe nkesa RHEL 7 nwere obere nwụnye.
  2. Apache ma ọ bụ Nginx sava weebụ
  3. PHP na MySQL/MariaDB nchekwa data
  4. SMTP na ihe nkesa IMAP nwere nkwado IMAP4 rev1

Maka nkọwa nke isiokwu a, anyị na-eche na ị nweela ihe nkesa ozi-e Postfix na ndị ọrụ mebere, ma ọ bụghị ya, soro nhazi ntuziaka anyị:

  1. Ịtọlite Postfix Mail Server na Dovecot na MariaDB – Nkebi nke 1
  2. Hazie Postfix na ndị ọrụ ngalaba Dovecot mebere - Nkebi 2
  3. Wụnye ma jikọta ClamAV na SpamAssassin na Postfix Mail Server - Nkebi nke 3

Maka ebumnuche nke edemede a, m ga-etinye Roundcube Webmail na Linode CentOS VPS yana sava webụ Nginx, adreesị IP static 192.168.0.100, na aha nnabata mail.linux-console.net.

Kwụpụ 1: Wụnye Nginx, PHP-FPM, na MariaDB na CentOS 8/7

1. Buru ụzọ malite site n'ịkwado ebe nchekwa EPEL na REMI wee wụnye Nginx, PHP, PHP-FPM, na sava MariaDB na sistemụ CentOS gị.

# 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. Ozugbo i tinyechara ngwugwu niile nke ọma, malite sava weebụ Nginx, mee ka ọ nwee ike ịmalite n'oge buut wee lelee ma ọ na-agba ọsọ.

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

3. Ọzọ, ọ bụrụ na ị nwere usoro firewall kwadoro, ịkwesịrị imepe ọdụ ụgbọ mmiri 80 maka arịrịọ mpụga.

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

4. Ọzọ, ịkwesịrị ịhazi PHP-FPM ka ọ rụọ ọrụ nke ọma. Mepee faịlụ /etc/php.ini site na iji nchịkọta nyocha akara iwu.

# vim /etc/php.ini

Chọọ ntuziaka ;cgi.fix_pathinfo=1, weghachi ya ma tọọ uru ya ka ọ bụrụ 0.

cgi.fix_pathinfo=0

Ọzọkwa, mebie ntuziaka ;date.timezone wee tọọ uru ya na mpaghara oge gị.

date.timezone = "Africa/Kampala"

Ozugbo ịmechara, chekwaa faịlị wee pụọ.

5. Mgbe ahụ malite ọrụ PHP-FPM, mee ka ọ malite ịmalite n'oge buut, wee lelee ma ọ na-arụ ọrụ, dị ka ndị a.

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

Kwụpụ 2: Chekwaa MariaDB Server na Mepụta Database Roundecube

6. Ugbu a malite ọrụ MariaDB site na iji iwu ndị a.

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

7. Nrụnye MariaDB nke ndabara enweghị nchebe. Ịkwesịrị ịme edemede nchekwa nke na-abịa na ngwugwu ọnụọgụ abụọ, iji chekwaa ya. A ga-agwa gị ka ịtọọ paswọọdụ mgbọrọgwụ, wepụ ndị ọrụ na-amaghị aha, gbanyụọ nbanye mgbọrọgwụ n'ime oge, ma wepụ nchekwa data ule.

# mysql_secure_installation

8. Ugbu a banye na nchekwa data MariaDB, mepụta nchekwa data maka Roundecube, ma nye onye ọrụ ikike ikike kwesịrị ekwesị na nchekwa data (cheta ịtọ paswọọdụ siri ike/echekwara na mpaghara mmepụta).

# 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. Ọzọ, bubata okirikiri nhọrọ ukwuu nke Roundcube na nchekwa data emepụtara ọhụrụ.

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

Kwụpụ 3: Budata ngwugwu Roundcube

10. N'ime usoro a, budata ụdị kwụsiri ike kachasị ọhụrụ (1.4.9 n'oge ederede) nke Roundcube site na wget Command-line Downloader iji nweta ya, wepụ faịlụ TAR, wee bulite faịlụ n'ime mgbọrọgwụ akwụkwọ sava weebụ gị. .

# 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. Ọzọ, tọọ ikike kwesịrị ekwesị na faịlụ Roundcube webroot.

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

Kwụpụ 4: Hazie Nginx Server Block For Roundcube Web Installer

12. Ugbu a mepụta ngọngọ nkesa Nginx maka Roundcube n'okpuru /etc/nginx/conf.d/ (ị nwere ike ịkpọ faịlụ ahụ dịka ịchọrọ mana ọ kwesịrị inwe ndọtị .conf).

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

Tinye nhazi ndị a na faịlụ ahụ.

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

Chekwaa faịlụ ma mechie ya.

13. Ọzọ, mepee faịlụ /etc/php-fpm.d/www.conf iji mee mgbanwe ole na ole na ntụziaka weebụ PHP-FPM.

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

Gbanwee apache onye ọrụ ka ọ bụrụ nginx na mgbanwe ndị a.

user = nginx
group = nginx

Wee kwupụta ahịrị ntị = 127.0.0.1:9000 wee tọọ mgbanwe ntị ka ọ gee ntị na oghere Unix setịpụrụ na faịlụ ngọngọ nginx:

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

Ọzọkwa, tọọ ikike maka oghere UNIX, enweghị nkwupụta ma gbanwee ahịrị ka ọ bụrụ:

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

Ozugbo ịmechara, chekwaa faịlụ ma mechie ya.

14. Mgbe ahụ malitegharịa ọrụ Nginx na PHP-FPM iji tinye mgbanwe ndị na-adịbeghị anya, dị ka ndị a.

# systemctl restart nginx php-fpm

Kwụpụ 5: Nweta Roundcube Weebụ UI

15. Tupu ịmalite ọkachamara nrụnye, iji zere njehie nnọkọ ọ bụla, debe ikike kwesịrị ekwesị na ndekọ/var/lib/php/session/. Onye nwe otu ndabara bụ apache, gbanwee ya ka ọ bụrụ nginx dịka egosiri.

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

16. Ugbu a mepee ihe nchọgharị wee jiri adreesị http://mail.example.com/installer (dochie ngalaba na aha nkesa nke ị debere mgbe ị na-eke ihe nkesa Nginx maka Roundcube) iji nweta webụ. installer. Ọ bụrụ na ụdị PHP niile, ndọtị, na php.ini/.htaccess ntọala ziri ezi, ị ga-ahụ nseta ihuenyo na-esote, pịa Ọzọ ka ịga na ibe nhazi.

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

17. Ibe nhazi na-enye gị ohere ịtọ ihe atụ Roundcube gị. Anyị ga-akọwa naanị nhọrọ dị mkpa maka oke ntuziaka a.

N'okpuru nhazi izugbe, tọọ aha ngwaahịa aha dịka ọmụmaatụ Example.com Webmail.

Gaa na ntọala nchekwa data, tinye onye nnabata nchekwa data, aha, onye ọrụ na paswọọdụ iji jikọọ na sava MySQL.

Mgbe ahụ, gbadaa na ntọala IMAP na SMTP wee tinye adreesị IP nke ihe nkesa IMAP na SMTP gị, ọ bụrụ na ọ bụ otu ihe nkesa nke ị na-agba Roundcube, hapụ ya dị ka \localhost ma kọwapụtakwa paramita ndị ọzọ dị mkpa.

Ị nwere ike ezipụta ntọala ndị ọzọ dịka mkpa gị siri dị, ozugbo ịmechara, pịa Mepụta Config.

18. Ị ga-ahụ ugbu a ozi na-ekwu Echekwa faịlụ nhazi ahụ nke ọma n'ime /var/www/html/roundcubemail/config directory of your Roundcube install. Pịa Gaa n'ihu.

19. Ị nwere ike nyochaa nhazi gị site na Test config page dị ka egosiri na nseta ihuenyo na-esonụ.

20. Ọzọ, wepụ dum installer nchekwa (nke nwere faịlụ ndị nwere ike ikpughe data nhazi dị nro dị ka okwuntughe ihe nkesa na igodo ezoro ezo na ọha) site na Roundcube mgbọrọgwụ ndekọ (ma ọ bụ jide n'aka na ike_installer nhọrọ na config.inc.php nwere nkwarụ). ).

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

21. N'ikpeazụ, jiri URL http://mail.example.com nweta Roundcube nbanye ibe. Tinye aha njirimara na paswọọdụ ka ilele ozi gị.

Roundcube bụ onye ahịa mail nwere ọtụtụ asụsụ na-egosipụta nke ọma. N'edemede a, anyị gosiri otu esi etinye Roundcube Webmail ọhụrụ kwụsiri ike na CentOS/RHEL 8/7 na sava weebụ Nginx. Ọ bụrụ na ị nwere ajụjụ ọ bụla, jiri akwụkwọ nzaghachi dị n'okpuru ka iru anyị.