Giunsa ang Pag-setup sa usa ka Kompleto nga Mail Server (Postfix) gamit ang Roundcube (Webmail) sa Ubuntu/Debian


Ang paghimo ug mail server sa mga makina nga gipadagan sa Linux mahimong usa sa labing hinungdanon nga mga butang nga kinahanglan buhaton sa matag tagdumala sa sistema samtang gi-configure ang mga server sa unang higayon, kung wala ka nahibal-an kung unsa ang gipasabut niini; simple ra, kung naa kay website sama sa \example.com, makahimo ka og email account sama sa \[email ” para gamiton kini sa pagpadala/ dali nga makadawat mga email imbis nga mogamit mga serbisyo sama sa Hotmail, Gmail, Yahoo Mail, ug uban pa.

Niini nga artikulo, makakat-on kita unsaon pagbuhat niini pinaagi sa pag-instalar sa Postfix mail server nga adunay \Roundcube nga aplikasyon sa webmail ug ang mga dependency niini sa Debian 10/9 ug Ubuntu 20.04/18.04/16.04 LTS nga gipagawas. .

Niini nga panid

  • Pagbutang og Hostname ug Paghimo og DNS Records para sa Mail Domain
  • Pag-instalar sa Apache, MariaDB, ug PHP sa Ubuntu
  • Pag-instalar sa Postfix Mail Server sa Ubuntu
  • Pagsulay sa Postfix Mail Server sa Ubuntu
  • Pag-instalar sa Dovecot IMAP ug POP sa Ubuntu
  • Pag-instalar sa Roundcube Webmail sa Ubuntu
  • Paghimo og Apache Virtual Host para sa Roundcube Webmail
  • Paghimo sa mga Gumagamit sa Mail aron Maka-access sa mga Mail pinaagi sa Roundcube

1. Una, pagbutang ug balido nga FQDN (Fully Qualified Domain Name) hostname para sa imong Ubuntu server gamit ang hostnamectl command sama sa gipakita.

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

2. Sunod, kinahanglan nimong idugang ang MX ug A nga mga rekord para sa imong domain sa imong DNS control panel nga naggiya sa ubang MTA nga imong mail server mail.yourdomain. com ang domain maoy responsable sa paghatud sa email.

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

3. Aron makahimo ug running mail server gamit ang \Roundcube, kinahanglan namong i-install ang Apache2, MariaDB, ug PHP nga mga pakete una, sa pagbuhat sa ingon, dagan.

$ 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

Sa Debian 10/9, kinahanglan nimo nga i-download ug i-install ang SURY PHP PPA repository aron ma-install ang PHP 7.4 sa Debian 10/9 sama sa gipakita.

$ 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. Ang Postfix kay usa ka mail transfer agent (MTA) nga mao ang responsable nga software para sa paghatod ug pagdawat sa mga email, importante kini aron makahimo ug kompleto nga mail server.

Aron ma-install kini sa Ubuntu/Debian o bisan sa Mint, pagdagan:

$ sudo apt-get install postfix

Atol sa pag-instalar, hangyoon ka sa pagpili sa matang sa pagsumpo sa mail, pilia ang \Internet Site.

5. Karon isulod ang hingpit nga kwalipikado nga domain name nga gusto nimong gamiton alang sa pagpadala ug pagdawat sa mga email.

6. Sa higayon nga ma-install ang Postfix, awtomatiko kini nga magsugod ug maghimo usa ka bag-ong file nga /etc/postfix/main.cf. Mahimo nimong pamatud-an ang bersyon sa Postfix ug kahimtang sa serbisyo gamit ang mosunod nga mga mando.

$ postconf mail_version
$ sudo systemctl status postfix

7. Karon sulayi pagsusi ang imong mail server nga nagkonektar sa port 25 gamit ang mosunod nga sugo.

$ 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

Ang mensahe sa ibabaw nagpakita nga ang koneksyon malampuson nga natukod. I-type ang quit aron masira ang koneksyon.

8. Mahimo usab nimong gamiton ang mail program sa pagpadala ug pagbasa sa mga email gamit ang mosunod nga sugo.

$ mail [email 

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

9. Ang Dovecot usa ka ahente sa paghatud sa mail (MDA), kini naghatod sa mga email gikan/ngadto sa mail server, aron ma-install kini, padagana ang mosunod nga sugo.

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

10. Sunod, i-restart ang serbisyo sa Dovecot gamit ang mosunod nga sugo.

$ sudo systemctl restart dovecot
OR
$ sudo service dovecot restart

11. Roundcube mao ang webmail server nga imong gamiton sa pagdumala sa mga email sa imong server, kini adunay usa ka yano nga web interface sa pagbuhat sa trabaho, kini mahimong customized pinaagi sa pag-instalar sa dugang modules & tema.

$ 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. Sunod, kinahanglan kang maghimo ug bag-ong database ug user para sa Roundcube ug ihatag ang tanang permiso sa bag-ong user sa pagsulat sa database.

$ 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. Sunod, import ang inisyal nga mga lamesa sa Roundcube database.

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

14. Paghimo og apache virtual host para sa Roundcube webmail.

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

Idugang ang mosunod nga configuration niini.

<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. Sunod, pagana kining virtual host ug i-reload ang apache para sa mga kausaban.

$ sudo a2ensite roundcube.conf
$ sudo systemctl reload apache2

16. Mahimo nimong ma-access ang webmail pinaagi sa pag-adto sa http://yourdomain.com/roundcubemail/installer/.

16. Sunod, adto sa mga setting sa Database ug idugang ang mga detalye sa database.

17. Human sa paghimo sa tanang kausaban, paghimo ug config.inc.php file.

18. Human mahuman ang instalasyon ug ang kataposang mga pagsulay palihog kuhaa ang installer nga folder ug siguroha nga ang enable_installer nga opsyon sa config.inc.php gi-disable. .

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

19. Karon adto sa login page ug isulod ang user name ug ang password sa user.

http://yourdomain.com/roundcubemail/

20. Aron makasugod sa paggamit sa Roundcube webmail, kinahanglan ka nga maghimo usa ka bag-ong tiggamit, aron mahimo kini, pagdagan.

$ sudo useradd myusername

Ilisan ang \myusername” sa user name nga imong gusto, paghimo ug password para sa bag-ong user pinaagi sa pagpadagan.

$ sudo passwd myusername

21. Karon balik sa login page ug isulod ang user name ug ang password sa bag-ong gimugna nga user.

Nakasulay ka na ba paghimo ug email server kaniadto? Giunsa kini? Nakagamit ka na ba sa Roundcube o bisan unsang mail server kaniadto? Unsay imong hunahuna bahin niini?