Kaip nustatyti pilną pašto serverį (Postfix) naudojant „Roundcube“ (žiniatinklio paštą) Ubuntu/Debian


Pašto serverio sukūrimas Linux valdomose mašinose gali būti vienas iš svarbiausių dalykų, kurį turi atlikti kiekvienas sistemos administratorius pirmą kartą konfigūruodamas serverius, jei nežinote, ką tai reiškia; Tai paprasta, jei turite svetainę, pvz., „example.com“, galite sukurti el. pašto paskyrą, pvz., „[el. paštas apsaugotas]“, kad galėtumėte ją naudoti el. laiškams siųsti/gauti lengvai užuot naudoję tokias paslaugas kaip Hotmail, Gmail, Yahoo Mail ir kt.

Šiame straipsnyje sužinosime, kaip tai padaryti įdiegus Postfix pašto serverį su žiniatinklio pašto programa Roundcube ir jos priklausomybėmis nuo Debian 10/9 ir Ubuntu 20.04/18.04/16.04 LTS leidimai.

Šiame puslapyje

  • Nustatykite pagrindinio kompiuterio pavadinimą ir sukurkite DNS įrašus pašto domenui
  • „Apache“, „MariaDB“ ir PHP diegimas „Ubuntu“.
  • Postfix Mail Server įdiegimas Ubuntu
  • „Postfix Mail Server“ testavimas „Ubuntu“.
  • Dovecot IMAP ir POP diegimas Ubuntu
  • „Roundcube Webmail“ diegimas Ubuntu
  • Sukurkite „Apache“ virtualųjį prieglobą, skirtą „Roundcube“ žiniatinklio paštui
  • Pašto vartotojų kūrimas, kad galėtų pasiekti laiškus per Roundcube

1 veiksmas: nustatykite pagrindinio kompiuterio pavadinimą ir sukurkite domeno DNS įrašus

1. Pirmiausia nustatykite tinkamą Ubuntu serverio FQDN (Fully Qualified Domain Name) pagrindinio kompiuterio pavadinimą naudodami komandą hostnameectl, kaip parodyta.

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

2. Tada savo DNS valdymo skydelyje turite pridėti savo domeno MX ir A įrašus, kurie nukreipia kitus MTA, kuriuos naudoja jūsų pašto serveris. Domenas mail.yourdomain.com yra atsakingas už el. pašto pristatymą.

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

2 veiksmas: Įdiekite „Apache“, „MariaDB“ ir PHP „Ubuntu“.

3. Norėdami sukurti veikiantį pašto serverį naudodami „Roundcube“, turėsime įdiegti Apache2, MariaDB ir PHP paketus, kad tai padarytumėte, paleiskite.

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

Jei naudojate Debian 10/9, turite atsisiųsti ir įdiegti SURY PHP PPA saugyklą, kad įdiegtumėte PHP 7.4 Debian 10/9 kaip parodyta.

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

3 veiksmas: „Postfix Mail Server“ įdiegimas „Ubuntu“.

4. Postfix yra pašto siuntimo agentas (MTA), kuris yra atsakinga programinė įranga už el. laiškų pristatymą ir gavimą. Ji būtina norint sukurti pilnas pašto serveris.

Norėdami jį įdiegti Ubuntu/Debian ar net Mint, paleiskite:

sudo apt-get install postfix

Diegimo metu jūsų bus paprašyta pasirinkti pašto konfigūracijos tipą, pasirinkite „Interneto svetainė“.

5. Dabar įveskite visą domeno pavadinimą, kurį norite naudoti el. laiškams siųsti ir gauti.

6. Įdiegus „Postfix“, jis bus automatiškai paleistas ir sukuriamas naujas /etc/postfix/main.cf failas. Galite patikrinti Postfix versiją ir paslaugos būseną naudodami šias komandas.

postconf mail_version
sudo systemctl status postfix

4 veiksmas: „Postfix Mail Server“ patikrinimas „Ubuntu“.

7. Dabar pabandykite patikrinti, ar pašto serveris jungiasi prie 25 prievado, naudodami šią komandą.

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

Aukščiau pateiktas pranešimas rodo, kad ryšys sėkmingai užmegztas. Įveskite quit, kad uždarytumėte ryšį.

8. Taip pat galite naudoti pašto programą el. laiškams siųsti ir skaityti naudodami šią komandą.

mail [email 

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

5 veiksmas: įdiekite Dovecot IMAP ir POP Ubuntu

9. Dovecot yra laiškų pristatymo agentas (MDA), jis pristato el. laiškus iš/į pašto serverį. Norėdami jį įdiegti, paleiskite sekančią komandą.

sudo apt-get install dovecot-imapd dovecot-pop3d

10. Tada iš naujo paleiskite „Dovecot“ paslaugą naudodami šią komandą.

sudo systemctl restart dovecot
OR
sudo service dovecot restart

6 veiksmas: „Roundcube Webmail“ įdiegimas Ubuntu

11. Roundcube yra žiniatinklio pašto serveris, kurį naudosite tvarkydami el. įdiegti daugiau modulių ir temų.

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. Tada turite sukurti naują Roundcube duomenų bazę ir naudotoją bei suteikti naujam vartotojui visus leidimus rašyti į duomenų bazę.

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

13. Tada importuokite pradines lenteles į Roundcube duomenų bazę.

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

7 veiksmas: sukurkite „Apache“ virtualųjį prieglobą, skirtą „Roundcube Webmail“.

14. Sukurkite apache virtualų prieglobą, skirtą Roundcube žiniatinklio paštui.

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

Įtraukite į ją šią konfigūraciją.

<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. Tada įgalinkite šį virtualų pagrindinį kompiuterį ir iš naujo įkelkite apache, kad būtų atlikti pakeitimai.

sudo a2ensite roundcube.conf
sudo systemctl reload apache2

16. Dabar žiniatinklio paštą galite pasiekti apsilankę http://yourdomain.com/roundcubemail/installer/.

16. Tada eikite į duomenų bazės nustatymus ir pridėkite išsamią duomenų bazės informaciją.

17. Atlikę visus pakeitimus sukurkite failą config.inc.php.

18. Baigę diegimą ir paskutinius bandymus ištrinkite aplanką installer ir įsitikinkite, kad config.inc. yra parinktis enable_installer. php yra išjungtas.

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

19. Dabar eikite į prisijungimo puslapį ir įveskite vartotojo vardą bei slaptažodį.

http://yourdomain.com/roundcubemail/

8 veiksmas: pašto vartotojų kūrimas

20. Norėdami pradėti naudoti Roundcube žiniatinklio paštą, turėsite sukurti naują vartotoją ir paleisti.

sudo useradd myusername

Pakeiskite „mano vartotojo vardas“ norimu vartotojo vardu, sukurkite naujo vartotojo slaptažodį paleisdami.

sudo passwd myusername

21. Dabar grįžkite į prisijungimo puslapį ir įveskite naujai sukurto vartotojo vartotojo vardą ir slaptažodį.

Ar anksčiau bandėte sukurti el. pašto serverį? Kaip sekėsi? Ar anksčiau naudojote Roundcube ar bet kurį kitą pašto serverį? Ką jūs manote apie tai?