Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
email:hosting [2025/03/02 18:09] – willy | email:hosting [2025/03/03 06:57] (current) – removed willy | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== E-Mail server hosting ====== | ||
- | |||
- | Everything in the following page is directly taken (and adjusted to my liking) from [[https:// | ||
- | |||
- | |||
- | ===== Architecture ===== | ||
- | |||
- | I will show you how to install and interconnect: | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * NGINX + PHP-FPM for web access (admin console + webmail) | ||
- | * [[https:// | ||
- | * Roundcube | ||
- | * OpenDKIM | ||
- | * OpenDMARC | ||
- | * Spamassassin | ||
- | |||
- | |||
- | ===== Installation: | ||
- | |||
- | Install Postfix and Dovecot | ||
- | |||
- | USE flags: | ||
- | <code bash> | ||
- | echo "*/* maildir dovecot sasl" >> / | ||
- | echo " | ||
- | echo " | ||
- | </ | ||
- | |||
- | Emerge the servers: | ||
- | <code bash> | ||
- | emerge -vp postfix dovecot | ||
- | </ | ||
- | |||
- | |||
- | ===== Installation: | ||
- | |||
- | Since different pieces of the email infrastructure will need to interoperate, | ||
- | |||
- | <code bash> | ||
- | groupadd -g 5000 vmail | ||
- | useradd -m -d /home/vmail -s /bin/false -u 5000 -g vmail vmail | ||
- | chmod 2770 / | ||
- | </ | ||
- | |||
- | The resulting permissions should look like: | ||
- | <code bash> | ||
- | ls -ld /home/vmail | ||
- | drwxrws--- 3 vmail vmail 4096 Aug 2 07:24 /home/vmail | ||
- | </ | ||
- | |||
- | Now create the database: | ||
- | <code bash> | ||
- | su - vmail | ||
- | mkdir db | ||
- | sqlite3 db/ | ||
- | sqlite> .databases | ||
- | main: / | ||
- | sqlite> .tables | ||
- | sqlite> .exit | ||
- | </ | ||
- | |||
- | |||
- | ===== Installation: | ||
- | |||
- | This step is **mandatory** and critical for proper email delivery. | ||
- | |||
- | |||
- | ===== Installation: | ||
- | |||
- | Install spamassassin & amavisd-new | ||
- | |||
- | |||
- | ===== Installation: | ||
- | |||
- | postfixadmin and roundcube will be installed manually and not via Gentoo portage, to avoid upgrade issues. | ||
- | |||
- | Download latest release of **postfixadmin** from [[https:// | ||
- | <code bash> | ||
- | su - web | ||
- | mkdir postfixadmin | ||
- | wget https:// | ||
- | tar xvf postfixadmin-3.3.15.tar.gz | ||
- | mv postfixadmin-postfixadmin-3.3.15 postfixadmin | ||
- | </ | ||
- | |||
- | Now, configure it by creating a file called **postfixadmin/ | ||
- | <file - config.local.php> | ||
- | <?php | ||
- | $CONF[' | ||
- | $CONF[' | ||
- | $CONF[' | ||
- | $CONF[' | ||
- | $CONF[' | ||
- | $CONF[' | ||
- | ' | ||
- | ' | ||
- | ' | ||
- | ' | ||
- | ); | ||
- | $CONF[' | ||
- | $CONF[' | ||
- | /* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: | ||
- | </ | ||
- | |||
- | |||
- | |||
- | |||
- | ===== Configuration: | ||
- | |||
- | |||
- | ===== Configuration: | ||
- | |||
- | |||
- | FILE / | ||
- | < | ||
- | # Link the mailbox uid and gid to postfix. | ||
- | virtual_uid_maps = static:5000 | ||
- | virtual_gid_maps = static:5000 | ||
- | |||
- | # Set the base address for all virtual mailboxes | ||
- | virtual_mailbox_base = /var/vmail | ||
- | </ | ||