Jinsi ya Kusanidi Seva Kamili ya Barua (Postfix) kwa kutumia Roundcube (Webmail) kwenye Ubuntu/Debian


Kuunda seva ya barua kwenye mashine zinazoendeshwa na Linux inaweza kuwa moja ya mambo muhimu zaidi ambayo kila msimamizi wa mfumo anahitaji kufanya wakati wa kusanidi seva kwa mara ya kwanza, ikiwa hujui maana yake; ni rahisi, ikiwa una tovuti kama \example.com”, unaweza kufungua akaunti ya barua pepe kama \[email ” ili kuitumia kutuma/ kupokea barua pepe kwa urahisi badala ya kutumia huduma kama vile Hotmail, Gmail, Yahoo Mail, n.k.

Katika makala haya, tutajifunza jinsi ya kufanya hivyo kwa kusakinisha seva ya barua ya Postfix na \Roundcube programu ya barua pepe ya tovuti na tegemezi zake kwa matoleo ya Debian 10/9 na Ubuntu 20.04/18.04/16.04 LTS. .

Katika ukurasa huu

  • Weka Jina la Mpangishi na Unda Rekodi za DNS kwa Kikoa cha Barua
  • Kusakinisha Apache, MariaDB, na PHP kwenye Ubuntu
  • Kusakinisha Seva ya Barua ya Postfix kwenye Ubuntu
  • Kujaribu Seva ya Barua ya Postfix kwenye Ubuntu
  • Kusakinisha Dovecot IMAP na POP katika Ubuntu
  • Kusakinisha Roundcube Webmail katika Ubuntu
  • Unda Apache Virtual Host kwa Roundcube Webmail
  • Kuunda Watumiaji wa Barua Ili Kufikia Barua kupitia Roundcube

1. Kwanza, weka jina la mpangishi sahihi la FQDN (Jina la Kikoa Lililohitimu Kamili) kwa seva yako ya Ubuntu kwa kutumia amri ya hostnamectl kama inavyoonyeshwa.

$ sudo hostnamectl set-hostname mail.linux-console.net

2. Kisha, unahitaji kuongeza MX na A rekodi za kikoa chako katika paneli yako ya udhibiti ya DNS ambayo inaongoza MTA zingine ambazo seva yako ya barua mail.yourdomain. com kikoa kinawajibika kwa uwasilishaji wa barua pepe.

MX record    @           mail.linux-console.net
mail.linux-console.net        <IP-address>

3. Ili kuunda seva inayoendesha barua pepe kwa kutumia \Roundcube, itabidi tusakinishe Apache2, MariaDB, na PHP vifurushi. kwanza, kufanya hivyo, kukimbia.

$ sudo apt-get update -y
$ sudo apt-get upgrade -y
$ sudo apt install apache2 apache2-utils mariadb-server mariadb-client php7.4 libapache2-mod-php7.4 php7.4-mysql php-net-ldap2 php-net-ldap3 php-imagick php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp php-net-smtp php-mail-mime php-net-idna2 mailutils

Kwenye Debian 10/9, unahitaji kupakua na kusakinisha hazina ya SURY PHP PPA ili kusakinisha PHP 7.4 kwenye Debian 10/9 kama inavyoonyeshwa.

$ sudo apt -y install lsb-release apt-transport-https ca-certificates 
$ sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
$ echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
$ sudo apt update
$ sudo apt install apache2 apache2-utils mariadb-server mariadb-client php7.4 libapache2-mod-php7.4 php7.4-mysql php-net-ldap2 php-net-ldap3 php-imagick php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp php-net-smtp php-mail-mime php-net-idna2 mailutils

4. Postfix ni wakala wa kutuma barua pepe (MTA) ambayo ni programu inayowajibika kwa kutuma na kupokea barua pepe, ni muhimu ili kuunda seva kamili ya barua.

Ili kuiweka kwenye Ubuntu/Debian au hata Mint, endesha:

$ sudo apt-get install postfix

Wakati wa usakinishaji, utaulizwa kuchagua aina ya usanidi wa barua, chagua \Tovuti ya Mtandao.

5. Sasa ingiza jina la kikoa lililohitimu kikamilifu ambalo ungependa kutumia kutuma na kupokea barua pepe.

6. Mara baada ya Postfix kusakinishwa, itaanza kiotomatiki na kuunda faili mpya /etc/postfix/main.cf. Unaweza kuthibitisha toleo la Postfix na hali ya huduma kwa kutumia amri zifuatazo.

$ postconf mail_version
$ sudo systemctl status postfix

7. Sasa jaribu kuangalia seva yako ya barua inaunganishwa kwenye bandari 25 kwa kutumia amri ifuatayo.

$ telnet gmail-smtp-in.l.google.com 25

Trying 74.125.200.27...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP k12si849250plk.430 - gsmtp

Ujumbe hapo juu unaonyesha kuwa muunganisho umeanzishwa kwa ufanisi. Andika acha ili kufunga muunganisho.

8. Unaweza pia kutumia programu ya barua kutuma na kusoma barua pepe kwa kutumia amri ifuatayo.

$ mail [email 

Cc: 
Subject: Testing My Postfix Mail Server
I'm sending this email using the postfix mail server from Ubuntu machine

9. Dovecot ni wakala wa uwasilishaji barua (MDA), inatoa barua pepe kutoka/kwa seva ya barua, ili kuisakinisha, endesha amri ifuatayo.

$ sudo apt-get install dovecot-imapd dovecot-pop3d

10. Kisha, anzisha upya huduma ya Dovecot kwa kutumia amri ifuatayo.

$ sudo systemctl restart dovecot
OR
$ sudo service dovecot restart

11. Roundcube ni seva ya barua pepe ambayo utakuwa ukitumia kudhibiti barua pepe kwenye seva yako, ina kiolesura rahisi cha kufanya kazi hiyo, inaweza kubinafsishwa kwa kusakinisha moduli na mandhari zaidi.

$ wget https://github.com/roundcube/roundcubemail/releases/download/1.4.8/roundcubemail-1.4.8.tar.gz
$ tar -xvf roundcubemail-1.4.8.tar.gz
$ sudo mv roundcubemail-1.4.8 /var/www/html/roundcubemail
$ sudo chown -R www-data:www-data /var/www/html/roundcubemail/
$ sudo chmod 755 -R /var/www/html/roundcubemail/

12. Kisha, unahitaji kuunda hifadhidata mpya na mtumiaji wa Roundcube na upe ruhusa yote kwa mtumiaji mpya kuandika kwenye hifadhidata.

$ sudo mysql -u root
MariaDB [(none)]> CREATE DATABASE roundcube DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]> CREATE USER [email  IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcube.* TO [email ;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit;

13. Kisha, ingiza majedwali ya awali kwenye hifadhidata ya Roundcube.

$ sudo mysql roundcube < /var/www/html/roundcubemail/SQL/mysql.initial.sql

14. Unda seva pangishi pepe ya Roundcube webmail.

$ sudo nano /etc/apache2/sites-available/roundcube.conf

Ongeza usanidi ufuatao ndani yake.

<VirtualHost *:80>
  ServerName linux-console.net
  DocumentRoot /var/www/html/roundcubemail/

  ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
  CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>

  <Directory /var/www/html/roundcubemail/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

</VirtualHost>

15. Ifuatayo, wezesha mwenyeji huyu pepe na upakie upya apache kwa mabadiliko.

$ sudo a2ensite roundcube.conf
$ sudo systemctl reload apache2

16. Sasa unaweza kufikia barua pepe ya tovuti kwa kwenda kwa http://yourdomain.com/roundcubemail/installer/.

16. Kisha, nenda kwenye mipangilio ya Hifadhidata na uongeze maelezo ya hifadhidata.

17. Baada ya kufanya mabadiliko yote, tengeneza config.inc.php faili.

18. Baada ya kumaliza usakinishaji na majaribio ya mwisho tafadhali futa folda ya kisakinishaji na uhakikishe kuwa chaguo la enable_installer katika config.inc.php limezimwa. .

$ sudo rm /var/www/html/roundcubemail/installer/ -r

19. Sasa nenda kwenye ukurasa wa kuingia na ingiza jina la mtumiaji na nenosiri la mtumiaji.

http://yourdomain.com/roundcubemail/

20. Ili kuanza kutumia Roundcube webmail, utahitaji kuunda mtumiaji mpya, kufanya hivyo, kukimbia.

$ sudo useradd myusername

Badilisha \jina langu la mtumiaji na jina la mtumiaji unalotaka, unda nenosiri la mtumiaji mpya kwa kuendesha.

$ sudo passwd myusername

21. Sasa rudi kwenye ukurasa wa kuingia na uingize jina la mtumiaji na nenosiri la mtumiaji mpya.

Umejaribu kuunda seva ya barua pepe hapo awali? Iliendaje? Umewahi kutumia Roundcube au seva nyingine yoyote ya barua hapo awali? Unafikiri nini kuhusu hilo?