Yadda ake Sanya Roundcube Webmail akan CentOS/RHEL 8/7


Roundcube kyauta ce kuma tushen tushe, cikakkiyar ingantaccen kayan aikin gidan yanar gizo na tushen harshe da yawa na IMAP webmail, tare da aikace-aikacen mai amfani da ke da cikakken aiki kuma ana iya daidaita shi, kuma yana amfani da sabbin ka'idojin gidan yanar gizo. An gina shi ta amfani da PHP kuma yana ba da cikakken ayyuka waɗanda za ku iya tsammani daga abokin ciniki na imel na zamani.

  • Yare ne da yawa, yana tallafawa fiye da harsuna 70.
  • Yana goyan bayan littafin adireshi Ne-kamar yadda kuke-type.
  • Yana goyan bayan bayanan masu aikawa da yawa.
  • Yana ba da kariyar keɓaɓɓu.
  • Yana da cikakken littafin adireshi tare da ƙungiyoyi da masu haɗin LDAP.
  • Yana ba da Richtext/ rubutun saƙon HTML.
  • Yana goyan bayan neman saƙonni da lambobin sadarwa.
  • Taimakawa Int. Sunayen yanki (IDNA).
  • Yana goyan bayan sarrafa babban fayil, manyan fayiloli da aka raba, da ACL.
  • Maɗaukaki ta amfani da Plug-in API.
  • Yana ba da aikin duba haruffa.
  • Yana ba da ayyukan shigo da fitarwa.
  • Yana da plug-in API don haɓakawa mai sassauƙa da ƙari.

  1. Sabar RHEL 7 tare da Mafi ƙarancin shigarwa.
  2. Apache ko Nginx uwar garken gidan yanar gizo
  3. PHP da MySQL/MariaDB database
  4. SMTP da uwar garken IMAP tare da tallafin IMAP4 rev1

Don iyakar wannan labarin, muna ɗauka cewa kun riga kuna da sabar imel ɗin Postfix mai gudana tare da masu amfani da kama-da-wane, in ba haka ba, bi saitin jagororin mu:

  1. Saita Sabar Sabis na Postfix da Dovecot tare da MariaDB - Part 1
  2. Sanya Postfix da Dovecot Virtual Domain Users - Part 2
  3. Shigar da Haɗa ClamAV da SpamAssassin zuwa Sabar Saƙon Postfix - Sashe na 3

Don manufar wannan labarin, zan shigar da Roundcube Webmail akan Linode CentOS VPS tare da sabar gidan yanar gizo na Nginx, adireshi na IP na 192.168.0.100, da sunan mai masaukin baki mail.linux-console.net.

Mataki 1: Sanya Nginx, PHP-FPM, da MariaDB a cikin CentOS 8/7

1. Da farko farawa ta hanyar kunna ma'ajiyar EPEL da REMI kuma shigar da Nginx, PHP, PHP-FPM, da uwar garken MariaDB akan tsarin ku na CentOS.

# 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. Da zarar kun sami nasarar shigar da duk fakitin, fara sabar gidan yanar gizon Nginx, ba shi damar farawa ta atomatik a lokacin boot kuma duba ko yana aiki.

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

3. Na gaba, idan kuna da tsarin wutan wuta, kuna buƙatar buɗe tashar jiragen ruwa 80 don buƙatun waje.

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

4. Na gaba, kuna buƙatar saita PHP-FPM don yin aiki da kyau. Bude fayil ɗin /etc/php.ini ta amfani da editan gwajin layin umarni.

# vim /etc/php.ini

Nemo umarnin ;cgi.fix_pathinfo=1, raba shi kuma saita ƙimarsa zuwa 0.

cgi.fix_pathinfo=0

Hakanan, ba da amsa ga umarnin ;date.timezone kuma saita ƙimar sa zuwa yankin lokacin ku.

date.timezone = "Africa/Kampala"

Da zarar kun gama, ajiye fayil ɗin kuma fita.

5. Daga nan sai a fara sabis na PHP-FPM, a ba shi damar farawa ta atomatik a lokacin boot, sannan a duba ko yana aiki, kamar haka.

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

Mataki 2: Amintacce uwar garken MariaDB da Ƙirƙiri Rukunin Bayanai na Roundecube

6. Yanzu fara sabis na MariaDB ta amfani da umarni masu zuwa.

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

7. Tsohuwar shigarwa na MariaDB ba shi da tsaro. Kuna buƙatar gudanar da rubutun tsaro wanda ya zo tare da kunshin binary, don amintar da shi. Za a umarce ku don saita tushen kalmar sirri, cire masu amfani da ba a san su ba, kashe tushen shiga daga nesa, da cire bayanan gwajin.

# mysql_secure_installation

8. Yanzu shiga cikin bayanan MariaDB, ƙirƙirar bayanan bayanai don Roundecube, kuma ba mai amfani damar izini masu dacewa akan bayanan (tuna don saita kalmar sirri mai ƙarfi/amintaccen a cikin yanayin samarwa).

# 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. Na gaba, shigo da shimfidar tebur na Roundcube zuwa sabuwar bayanan da aka kirkira.

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

Mataki 3: Zazzage Kunshin Roundcube

10. A cikin wannan mataki, zazzage sabon sigar kwanciyar hankali (1.4.9 a lokacin wannan rubutun) na Roundcube daga mai saukar da layin umarni wget don samun shi, cire fayil ɗin TAR, sannan loda fayilolin zuwa tushen takaddar sabar gidan yanar gizon ku. .

# 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. Na gaba, saita izini masu dacewa akan fayilolin Roundcube webroot.

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

Mataki 4: Sanya Nginx Server Block Don Mai saka Yanar Gizo na Roundcube

12. Yanzu ƙirƙirar shingen uwar garken Nginx don Roundcube a ƙarƙashin /etc/nginx/conf.d/ (zaku iya sanya sunan fayil ɗin yadda kuke so amma yakamata ya sami tsawo na .conf).

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

Ƙara saitin mai zuwa a cikin fayil ɗin.

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

Ajiye fayil ɗin kuma rufe shi.

13. Na gaba, buɗe fayil ɗin /etc/php-fpm.d/www.conf don yin ƴan canje-canje zuwa umarnin gidan yanar gizo na PHP-FPM.

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

Canja apache mai amfani zuwa nginx a cikin masu canji masu zuwa.

user = nginx
group = nginx

Sa'an nan kuma sharhi fitar da layin saurare = 127.0.0.1:9000 kuma saita canjin sauraren don saurare akan soket na Unix da aka saita a cikin fayil na toshe uwar garken nginx:

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

Hakanan, saita izini don soket na UNIX, rashin jin daɗi kuma canza layukan zuwa:

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

Da zarar kun gama, ajiye fayil ɗin kuma rufe shi.

14. Sa'an nan kuma sake kunna ayyukan Nginx da PHP-FPM don amfani da canje-canjen kwanan nan, kamar haka.

# systemctl restart nginx php-fpm

Mataki 5: Shiga Roundcube Web UI

15. Kafin ka fara shigar da maye, don guje wa kowane kurakurai na zaman, saita izini masu dacewa akan directory /var/lib/php/session/. Tsohuwar mai rukunin shine apache, canza shi zuwa nginx kamar yadda aka nuna.

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

16. Yanzu buɗe browser kuma yi amfani da adireshin http://mail.example.com/installer (maye gurbin yanki da sunan uwar garken da kuka saita yayin ƙirƙirar shingen sabar Nginx don Roundcube) don shiga yanar gizo mai sakawa. Idan duk nau'ikan PHP, kari, da saitunan php.ini/.htaccess daidai ne, zaku ga hoton da ke gaba, danna Next don zuwa shafin daidaitawa.

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

17. Shafin daidaitawa yana ba ku damar saita misali na Roundcube. Za mu yi bayanin mahimman zaɓuɓɓuka don iyakar wannan jagorar kawai.

A karkashin tsarin Kanfigareshan, saita samfurin_NAMBAYA Mabad misali.com Webmail.

Je zuwa saitin Database, shigar da rundunar bayanai, suna, mai amfani, da kalmar wucewa don haɗawa da uwar garken MySQL.

Sa'an nan kuma gungura ƙasa zuwa saitunan IMAP da SMTP sannan ka shigar da adireshin IP na uwar garken IMAP da SMTP ɗinku, idan uwar garken guda ɗaya ce wacce kuke gudanar da Roundcube a kanta, ku bar shi azaman \localhost sannan kuma saka wasu sigogi masu mahimmanci.

Kuna iya saka wasu saitunan gwargwadon bukatunku, da zarar kun gama, danna Create Config.

18. Yanzu ya kamata ku ga saƙo yana cewa An adana fayil ɗin config cikin nasara cikin /var/www/html/roundcubemail/config directory na Roundcube shigarwar ku. Danna Ci gaba.

19. Kuna iya sake duba tsarin ku daga shafin saitin gwajin gwaji kamar yadda aka nuna a hoton da ke gaba.

20. Na gaba, cire duk babban fayil ɗin mai sakawa (wanda ya ƙunshi fayiloli waɗanda zasu iya fallasa bayanan sanyi masu mahimmanci kamar kalmomin shiga uwar garken da maɓallan ɓoyewa ga jama'a) daga tushen tushen Roundcube (ko tabbatar da cewa zaɓin kunna_installer a cikin config.inc.php ba shi da rauni. ).

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

21. A ƙarshe, yi amfani da URL http://mail.example.com don shiga shafin shiga na Roundcube. Shigar da sunan mai amfani da kalmar wucewa don duba wasikunku.

Roundcube abokin ciniki ne da ake amfani da shi sosai, cikakken ingantaccen saƙon saƙo na tushen yaruka da yawa. A cikin wannan labarin, mun nuna yadda ake shigar da sabuwar barga ta Roundcube Webmail akan CentOS/RHEL 8/7 tare da sabar gidan yanar gizon Nginx. Idan kuna da wasu tambayoyi, yi amfani da fom ɗin amsa da ke ƙasa don isa gare mu.