Basic mailserver configuration on RHEL10

From Fvettore-WIKI
Revision as of 06:42, 7 October 2025 by Administrator (talk | contribs)
timedatectl set-timezone Europe/Rome
dnf install mariadb
dnf install mariadb-server
systemctl enable mariadb --now
  semanage port -l | grep ssh
  semanage port -a -t ssh_port_t -p tcp 1997
  semanage port -l | grep ssh
vi /etc/ssh/sshd_config

Edit SSHD port and restart service

systemctl restart sshd
      1. SSL certs###
dnf install epel-release
dnf install certbot

Create cert with your FQN server name

certbot certonly -d server08.vettore.org
      1. POSTFIX###
dnf install postfix postfix-mysql
groupadd -g150 vmail
useradd -r  -u150 -d /var/vmail -s /sbin/nologin -g vmail vmail
mkdir /var/vmail
chown vmail:vmail /var/vmail

Edit /etc/postfix/main.cf and change/add the following line accordingly

inet_protocols = all
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-users.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-aliases.cf
virtual_transport = dovecot
smtpd_tls_cert_file = /etc/letsencrypt/live/server08.vettore.org/cert.pem
smtpd_tls_key_file = /etc/letsencrypt/live/server08.vettore.org/privkey.pem
smtp_tls_CApath = /etc/letsencrypt/live/ 
smtp_tls_CAfile = /etc/letsencrypt/live/server08.vettore.org/fullchain.pem


dovecot:

conf.d/10-mail.conf

mail_location = maildir:/var/vmail/%d/%n/Maildir


verificare e rinominare togliendo .ext conf.d/auth-sql.conf.ext

commentare userdb

decommentare e modificare

userdb {
 driver = static
 args = uid=150 gid=150 home=/var/vmail/%d/%n allow_all_users=yes
}


il percorso /etc/dovecot/dovecot-sql.conf.ext e creare il file /etc/dovecot/dovecot-sql.conf.ext

driver=mysql
default_pass_scheme = PLAIN
connect= host=127.0.0.1 port=3306 dbname=mailserver user=postfix password=quigattacicova
password_query = SELECT password, email as user  FROM users where email='%u' AND enabled=1

in conf.d/10-ssl.conf

mettere certificati (no CA)

in dovecot.conf

decommentare e togliere pop3

protocols = imap lmtp submission


In fondo:

mail_uid=vmail
mail_gid=vmail
first_valid_uid = 150
last_valid_uid = 150

service stats {
 unix_listener stats-reader {
   group = vmail
   mode = 0666
 }
  unix_listener stats-writer {
    group = vmail
    mode = 0666
  }
}