| 1 | <?xml version='1.0' encoding='UTF-8'?> |
1 | <?xml version='1.0' encoding='UTF-8'?> |
| 2 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/virt-mail-howto.xml,v 1.58 2007/08/24 18:59:45 swift Exp $ --> |
|
|
| 3 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
2 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
|
|
3 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/virt-mail-howto.xml,v 1.61 2010/10/14 06:11:38 nightmorph Exp $ --> |
| 4 | |
4 | |
| 5 | <guide link="/doc/en/virt-mail-howto.xml"> |
5 | <guide> |
| 6 | <title>Virtual Mailhosting System with Postfix Guide</title> |
6 | <title>Virtual Mailhosting System with Postfix Guide</title> |
| 7 | |
7 | |
| 8 | <author title="Author"> |
8 | <author title="Author"> |
| 9 | <mail link="antifa@gentoo.org">Ken Nowack</mail> |
9 | <mail link="antifa@gentoo.org">Ken Nowack</mail> |
| 10 | </author> |
10 | </author> |
| … | |
… | |
| 24 | <abstract> |
24 | <abstract> |
| 25 | This document details how to create a virtual mailhosting system based upon |
25 | This document details how to create a virtual mailhosting system based upon |
| 26 | postfix, mysql, courier-imap, and cyrus-sasl. |
26 | postfix, mysql, courier-imap, and cyrus-sasl. |
| 27 | </abstract> |
27 | </abstract> |
| 28 | |
28 | |
| 29 | <version>1.6</version> |
29 | <version>2</version> |
| 30 | <date>2007-08-24</date> |
30 | <date>2010-10-13</date> |
| 31 | |
31 | |
| 32 | <chapter> |
32 | <chapter> |
| 33 | <title>Introduction</title> |
33 | <title>Introduction</title> |
| 34 | <section> |
34 | <section> |
| 35 | <body> |
35 | <body> |
| … | |
… | |
| 68 | needs. Consider investigating <uri>http://www.qmail.org/</uri> and |
68 | needs. Consider investigating <uri>http://www.qmail.org/</uri> and |
| 69 | <uri>http://www.exim.org/</uri> to explore your options. |
69 | <uri>http://www.exim.org/</uri> to explore your options. |
| 70 | </p> |
70 | </p> |
| 71 | |
71 | |
| 72 | <p> |
72 | <p> |
| 73 | The following packages are used in this setup: apache, courier-imap, courier-authlib |
73 | The following packages are used in this setup: apache, courier-imap, |
| 74 | postfix, mod_php, phpmyadmin, squirrelmail, cyrus-sasl, mysql, php, and |
74 | courier-authlib postfix, mod_php, phpmyadmin, squirrelmail, cyrus-sasl, mysql, |
| 75 | mailman. |
75 | php, and mailman. |
| 76 | </p> |
76 | </p> |
| 77 | |
77 | |
| 78 | <p> |
78 | <p> |
| 79 | Make sure to turn on the following USE variables in <path>/etc/make.conf</path> |
79 | Make sure to turn on the following USE variables in <path>/etc/make.conf</path> |
| 80 | before compiling the packages: <c>USE="mysql imap libwww maildir |
80 | before compiling the packages: <c>USE="mysql imap libwww maildir |
| … | |
… | |
| 162 | |
162 | |
| 163 | <pre caption="Starting postfix for the first time"> |
163 | <pre caption="Starting postfix for the first time"> |
| 164 | # <i>/usr/bin/newaliases</i> |
164 | # <i>/usr/bin/newaliases</i> |
| 165 | <comment>(This will install the new aliases. You only need to do this |
165 | <comment>(This will install the new aliases. You only need to do this |
| 166 | when you update or install aliases.)</comment> |
166 | when you update or install aliases.)</comment> |
| 167 | |
167 | |
| 168 | # <i>/etc/init.d/postfix start</i> |
168 | # <i>/etc/init.d/postfix start</i> |
| 169 | </pre> |
169 | </pre> |
| 170 | |
170 | |
| 171 | <p> |
171 | <p> |
| 172 | Now that postfix is running, fire up your favorite console mail client and send |
172 | Now that postfix is running, fire up your favorite console mail client and send |
| … | |
… | |
| 236 | <section> |
236 | <section> |
| 237 | <body> |
237 | <body> |
| 238 | |
238 | |
| 239 | <p> |
239 | <p> |
| 240 | Next we're going to install cyrus-sasl. Sasl is going to play the role of |
240 | Next we're going to install cyrus-sasl. Sasl is going to play the role of |
| 241 | actually passing your auth variables to courier-auth, which will in turn pass that |
241 | actually passing your auth variables to courier-auth, which will in turn pass |
| 242 | information to mysql for authentication of smtp users. For this howto, we'll |
242 | that information to mysql for authentication of smtp users. For this howto, |
| 243 | not even try to verify that sasl is working until mysql is set up and contains |
243 | we'll not even try to verify that sasl is working until mysql is set up and |
| 244 | a test user. Which is fine since we'll be authenticating against mysql in the |
244 | contains a test user. Which is fine since we'll be authenticating against |
| 245 | end anyway. |
245 | mysql in the end anyway. |
| 246 | </p> |
246 | </p> |
| 247 | |
247 | |
| 248 | <pre caption="Configuring and installing the cyrus-sasl ebuild"> |
248 | <pre caption="Configuring and installing the cyrus-sasl ebuild"> |
| 249 | # <i>emerge cyrus-sasl</i> |
249 | # <i>emerge cyrus-sasl</i> |
| 250 | </pre> |
250 | </pre> |
| … | |
… | |
| 336 | smtpd_sasl_local_domain appends a domain name to clients using |
336 | smtpd_sasl_local_domain appends a domain name to clients using |
| 337 | smtp-auth. Make sure it's blank or your user names will get |
337 | smtp-auth. Make sure it's blank or your user names will get |
| 338 | mangled by postfix and be unable to auth.)</comment> |
338 | mangled by postfix and be unable to auth.)</comment> |
| 339 | |
339 | |
| 340 | smtpd_recipient_restrictions = |
340 | smtpd_recipient_restrictions = |
| 341 | permit_sasl_authenticated, |
341 | permit_sasl_authenticated, |
| 342 | permit_mynetworks, |
342 | permit_mynetworks, |
| 343 | reject_unauth_destination |
343 | reject_unauth_destination |
| 344 | |
|
|
| 345 | |
344 | |
| 346 | <comment>(The next two options enable outgoing encryption.)</comment> |
345 | <comment>(The next two options enable outgoing encryption.)</comment> |
| 347 | smtp_use_tls = yes |
346 | smtp_use_tls = yes |
| 348 | smtp_tls_note_starttls_offer = yes |
347 | smtp_tls_note_starttls_offer = yes |
| 349 | smtpd_use_tls = yes |
348 | smtpd_use_tls = yes |
| … | |
… | |
| 413 | user under which the virtual mailboxes will be hosted. For clarity's sake we |
412 | user under which the virtual mailboxes will be hosted. For clarity's sake we |
| 414 | will call this <e>vmail</e>: |
413 | will call this <e>vmail</e>: |
| 415 | </p> |
414 | </p> |
| 416 | |
415 | |
| 417 | <pre caption="Adding the vmail user"> |
416 | <pre caption="Adding the vmail user"> |
| 418 | # <i>adduser -d /home/vmail -s /bin/false -m vmail</i> |
417 | # <i>useradd -d /home/vmail -s /bin/false -m vmail</i> |
| 419 | </pre> |
418 | </pre> |
| 420 | |
419 | |
| 421 | <p> |
420 | <p> |
| 422 | So now you've set up the vmail account. You can create multiple accounts if you |
421 | So now you've set up the vmail account. You can create multiple accounts if you |
| 423 | want (to keep some structure in your set of virtual mail accounts). The user id, |
422 | want (to keep some structure in your set of virtual mail accounts). The user id, |
| … | |
… | |
| 453 | <pre caption="Installing and configuring MySQL"> |
452 | <pre caption="Installing and configuring MySQL"> |
| 454 | # <i>emerge mysql</i> |
453 | # <i>emerge mysql</i> |
| 455 | |
454 | |
| 456 | # <i>/usr/bin/mysql_install_db</i> |
455 | # <i>/usr/bin/mysql_install_db</i> |
| 457 | <comment>(After this command runs follow the onscreen directions |
456 | <comment>(After this command runs follow the onscreen directions |
| 458 | for adding a root password with mysql, otherwise your db will |
457 | for adding a root password with mysql, otherwise your db will |
| 459 | be wide open.)</comment> |
458 | be wide open.)</comment> |
| 460 | |
459 | |
| 461 | # <i>/etc/init.d/mysql start</i> |
460 | # <i>/etc/init.d/mysql start</i> |
| 462 | # <i>mysqladmin -u root -p create mailsql</i> |
461 | # <i>mysqladmin -u root -p create mailsql</i> |
| 463 | # <i>mysql -u root -p mailsql < genericmailsql.sql</i> |
462 | # <i>mysql -u root -p mailsql < genericmailsql.sql</i> |
| 464 | |
|
|
| 465 | # <i>mysql -u root -p mysql</i> |
463 | # <i>mysql -u root -p mysql</i> |
| 466 | mysql> <i>GRANT SELECT,INSERT,UPDATE,DELETE</i> |
464 | mysql> <i>GRANT SELECT,INSERT,UPDATE,DELETE</i> |
| 467 | -> <i>ON mailsql.*</i> |
465 | -> <i>ON mailsql.*</i> |
| 468 | -> <i>TO mailsql@localhost</i> |
466 | -> <i>TO mailsql@localhost</i> |
| 469 | -> <i>IDENTIFIED BY '$password';</i> |
467 | -> <i>IDENTIFIED BY '$password';</i> |
| 470 | Query OK, 0 rows affected (0.02 sec) |
468 | Query OK, 0 rows affected (0.02 sec) |
| 471 | |
469 | |
| 472 | mysql> <i>FLUSH PRIVILEGES;</i> |
470 | mysql> <i>FLUSH PRIVILEGES;</i> |
| 473 | Query OK, 0 rows affected (0.00 sec) |
471 | Query OK, 0 rows affected (0.00 sec) |
| 474 | |
472 | |
| … | |
… | |
| 493 | <li>users - all user account information</li> |
491 | <li>users - all user account information</li> |
| 494 | <li>virtual - virtual domain email alias maps</li> |
492 | <li>virtual - virtual domain email alias maps</li> |
| 495 | </ul> |
493 | </ul> |
| 496 | |
494 | |
| 497 | <pre caption="alias table sample"> |
495 | <pre caption="alias table sample"> |
| 498 | id alias destination |
496 | id alias destination |
| 499 | 1 root foo@bar.com |
497 | 1 root foo@bar.com |
| 500 | 2 postmaster foo@bar.com |
498 | 2 postmaster foo@bar.com |
| 501 | </pre> |
499 | </pre> |
| 502 | |
500 | |
| 503 | <pre caption="user table sample"> |
501 | <pre caption="user table sample"> |
| 504 | <comment>(Line wrapped for clarity.)</comment> |
502 | <comment>(Line wrapped for clarity.)</comment> |
| 505 | id email clear name uid gid homedir \ |
503 | id email clear name uid gid homedir \ |
| 506 | maildir quota postfix |
504 | maildir quota postfix |
| 507 | 10 foo@virt-domain.com $password realname virtid virtid /home/vmail \ |
505 | 10 foo@virt-domain.com $password realname virtid virtid /home/vmail \ |
| 508 | /home/vmail/virt-domain.com/foo/.maildir/ y |
506 | /home/vmail/virt-domain.com/foo/.maildir/ y |
| 509 | 13 foo@bar.com $password realname localid localid /home/foo \ |
507 | 13 foo@bar.com $password realname localid localid /home/foo \ |
| 510 | /home/foo/.maildir/ y |
508 | /home/foo/.maildir/ y |
| 511 | </pre> |
509 | </pre> |
| 512 | |
510 | |
| 513 | <p> |
511 | <p> |
| 514 | The values of the <c>virtid</c> uid and gid should be those of the <c>vmail</c> |
512 | The values of the <c>virtid</c> uid and gid should be those of the <c>vmail</c> |
| 515 | user and group. |
513 | user and group. |
| … | |
… | |
| 520 | 1 bar.com local: |
518 | 1 bar.com local: |
| 521 | 2 virt-domain.com virtual: |
519 | 2 virt-domain.com virtual: |
| 522 | </pre> |
520 | </pre> |
| 523 | |
521 | |
| 524 | <pre caption="virtual table sample"> |
522 | <pre caption="virtual table sample"> |
| 525 | id email destination |
523 | id email destination |
| 526 | 3 root@virt-domain.com other@email.address |
524 | 3 root@virt-domain.com other@email.address |
| 527 | </pre> |
525 | </pre> |
| 528 | |
526 | |
| 529 | </body> |
527 | </body> |
| 530 | </section> |
528 | </section> |
| 531 | </chapter> |
529 | </chapter> |
| … | |
… | |
| 571 | |
569 | |
| 572 | <pre caption="Install Apache SSL certificates"> |
570 | <pre caption="Install Apache SSL certificates"> |
| 573 | # <i>cp /etc/ssl/misc/new.cert.cert /etc/apache2/ssl/</i> |
571 | # <i>cp /etc/ssl/misc/new.cert.cert /etc/apache2/ssl/</i> |
| 574 | # <i>cp /etc/ssl/misc/new.cert.key /etc/apache2/ssl/</i> |
572 | # <i>cp /etc/ssl/misc/new.cert.key /etc/apache2/ssl/</i> |
| 575 | # <i>cd /etc/apache2/vhosts.d</i> |
573 | # <i>cd /etc/apache2/vhosts.d</i> |
| 576 | <comment>(Check if you have an ssl-vhost template already. |
574 | <comment>(Check if you have an ssl-vhost template already. |
| 577 | Copy that one instead of the default_vhost if that is the case)</comment> |
575 | Copy that one instead of the default_vhost if that is the case)</comment> |
| 578 | # <i>cp 00_default_vhost.conf ssl-vhost.conf</i> |
576 | # <i>cp 00_default_vhost.conf ssl-vhost.conf</i> |
| 579 | # <i>nano -w ssl-vhost.conf</i> |
577 | # <i>nano -w ssl-vhost.conf</i> |
| 580 | |
578 | |
| 581 | <comment>(Change the following parameters)</comment> |
579 | <comment>(Change the following parameters)</comment> |
| … | |
… | |
| 683 | |
681 | |
| 684 | <pre caption="/etc/postfix/mysql-aliases.cf"> |
682 | <pre caption="/etc/postfix/mysql-aliases.cf"> |
| 685 | # <i>nano -w /etc/postfix/mysql-aliases.cf</i> |
683 | # <i>nano -w /etc/postfix/mysql-aliases.cf</i> |
| 686 | # mysql-aliases.cf |
684 | # mysql-aliases.cf |
| 687 | |
685 | |
| 688 | user = mailsql |
686 | user = mailsql |
| 689 | password = $password |
687 | password = $password |
| 690 | dbname = mailsql |
688 | dbname = mailsql |
| 691 | table = alias |
689 | table = alias |
| 692 | select_field = destination |
690 | select_field = destination |
| 693 | where_field = alias |
691 | where_field = alias |
| 694 | hosts = unix:/var/run/mysqld/mysqld.sock |
692 | hosts = unix:/var/run/mysqld/mysqld.sock |
| 695 | </pre> |
693 | </pre> |
| 696 | |
694 | |
| 697 | <pre caption="/etc/postfix/mysql-relocated.cf"> |
695 | <pre caption="/etc/postfix/mysql-relocated.cf"> |
| 698 | # <i>nano -w /etc/postfix/mysql-relocated.cf</i> |
696 | # <i>nano -w /etc/postfix/mysql-relocated.cf</i> |
| 699 | # mysql-relocated.cf |
697 | # mysql-relocated.cf |
| 700 | |
698 | |
| 701 | user = mailsql |
699 | user = mailsql |
| 702 | password = $password |
700 | password = $password |
| 703 | dbname = mailsql |
701 | dbname = mailsql |
| 704 | table = relocated |
702 | table = relocated |
| 705 | select_field = destination |
703 | select_field = destination |
| 706 | where_field = email |
704 | where_field = email |
| 707 | hosts = unix:/var/run/mysqld/mysqld.sock |
705 | hosts = unix:/var/run/mysqld/mysqld.sock |
| 708 | </pre> |
706 | </pre> |
| 709 | |
707 | |
| 710 | <pre caption="/etc/postfix/mysql-transport.cf (optional)"> |
708 | <pre caption="/etc/postfix/mysql-transport.cf (optional)"> |
| 711 | # <i>nano -w /etc/postfix/mysql-transport.cf</i> |
709 | # <i>nano -w /etc/postfix/mysql-transport.cf</i> |
| 712 | # mysql-transport.cf |
710 | # mysql-transport.cf |
| 713 | |
711 | |
| 714 | user = mailsql |
712 | user = mailsql |
| 715 | password = $password |
713 | password = $password |
| 716 | dbname = mailsql |
714 | dbname = mailsql |
| 717 | table = transport |
715 | table = transport |
| 718 | select_field = destination |
716 | select_field = destination |
| 719 | where_field = domain |
717 | where_field = domain |
| 720 | hosts = unix:/var/run/mysqld/mysqld.sock |
718 | hosts = unix:/var/run/mysqld/mysqld.sock |
| 721 | </pre> |
719 | </pre> |
| 722 | |
720 | |
| 723 | <pre caption="/etc/postfix/mysql-virtual-gid.cf (optional)"> |
721 | <pre caption="/etc/postfix/mysql-virtual-gid.cf (optional)"> |
| 724 | # <i>nano -w /etc/postfix/mysql-virtual-gid.cf</i> |
722 | # <i>nano -w /etc/postfix/mysql-virtual-gid.cf</i> |
| 725 | # mysql-virtual-gid.cf |
723 | # mysql-virtual-gid.cf |
| 726 | |
724 | |
| 727 | user = mailsql |
725 | user = mailsql |
| 728 | password = $password |
726 | password = $password |
| 729 | dbname = mailsql |
727 | dbname = mailsql |
| 730 | table = users |
728 | table = users |
| 731 | select_field = gid |
729 | select_field = gid |
| 732 | where_field = email |
730 | where_field = email |
| 733 | additional_conditions = and postfix = 'y' |
731 | additional_conditions = and postfix = 'y' |
| 734 | hosts = unix:/var/run/mysqld/mysqld.sock |
732 | hosts = unix:/var/run/mysqld/mysqld.sock |
| 735 | </pre> |
733 | </pre> |
| 736 | |
734 | |
| 737 | <pre caption="/etc/postfix/mysql-virtual-maps.cf"> |
735 | <pre caption="/etc/postfix/mysql-virtual-maps.cf"> |
| 738 | # <i>nano -w /etc/postfix/mysql-virtual-maps.cf</i> |
736 | # <i>nano -w /etc/postfix/mysql-virtual-maps.cf</i> |
| 739 | # mysql-virtual-maps.cf |
737 | # mysql-virtual-maps.cf |
| 740 | |
738 | |
| 741 | user = mailsql |
739 | user = mailsql |
| 742 | password = $password |
740 | password = $password |
| 743 | dbname = mailsql |
741 | dbname = mailsql |
| 744 | table = users |
742 | table = users |
| 745 | select_field = maildir |
743 | select_field = maildir |
| 746 | where_field = email |
744 | where_field = email |
| 747 | additional_conditions = and postfix = 'y' |
745 | additional_conditions = and postfix = 'y' |
| 748 | hosts = unix:/var/run/mysqld/mysqld.sock |
746 | hosts = unix:/var/run/mysqld/mysqld.sock |
| 749 | </pre> |
747 | </pre> |
| 750 | |
748 | |
| 751 | <pre caption="/etc/postfix/mysql-virtual-uid.cf (optional)"> |
749 | <pre caption="/etc/postfix/mysql-virtual-uid.cf (optional)"> |
| … | |
… | |
| 755 | user = mailsql |
753 | user = mailsql |
| 756 | password = $password |
754 | password = $password |
| 757 | dbname = mailsql |
755 | dbname = mailsql |
| 758 | table = users |
756 | table = users |
| 759 | select_field = uid |
757 | select_field = uid |
| 760 | where_field = email |
758 | where_field = email |
| 761 | additional_conditions = and postfix = 'y' |
759 | additional_conditions = and postfix = 'y' |
| 762 | hosts = unix:/var/run/mysqld/mysqld.sock |
760 | hosts = unix:/var/run/mysqld/mysqld.sock |
| 763 | </pre> |
761 | </pre> |
| 764 | |
762 | |
| 765 | <pre caption="/etc/postfix/mysql-virtual.cf"> |
763 | <pre caption="/etc/postfix/mysql-virtual.cf"> |
| 766 | # <i>nano -w /etc/postfix/mysql-virtual.cf</i> |
764 | # <i>nano -w /etc/postfix/mysql-virtual.cf</i> |
| 767 | # mysql-virtual.cf |
765 | # mysql-virtual.cf |
| 768 | |
766 | |
| 769 | user = mailsql |
767 | user = mailsql |
| 770 | password = $password |
768 | password = $password |
| 771 | dbname = mailsql |
769 | dbname = mailsql |
| 772 | table = virtual |
770 | table = virtual |
| 773 | select_field = destination |
771 | select_field = destination |
| 774 | where_field = email |
772 | where_field = email |
| 775 | hosts = unix:/var/run/mysqld/mysqld.sock |
773 | hosts = unix:/var/run/mysqld/mysqld.sock |
| 776 | </pre> |
774 | </pre> |
| 777 | |
775 | |
| 778 | <p> |
776 | <p> |
| 779 | Lastly, edit <path>/etc/postfix/main.cf</path> one more time. |
777 | Lastly, edit <path>/etc/postfix/main.cf</path> one more time. |
| 780 | </p> |
778 | </p> |
| … | |
… | |
| 787 | |
785 | |
| 788 | local_transport = local |
786 | local_transport = local |
| 789 | local_recipient_maps = $alias_maps $virtual_mailbox_maps unix:passwd.byname |
787 | local_recipient_maps = $alias_maps $virtual_mailbox_maps unix:passwd.byname |
| 790 | |
788 | |
| 791 | virtual_transport = virtual |
789 | virtual_transport = virtual |
| 792 | <comment>(The domains listed by the mydestination should not be listed in |
790 | <comment>(The domains listed by the mydestination should not be listed in |
| 793 | the virtual_mailbox_domains parameter)</comment> |
791 | the virtual_mailbox_domains parameter)</comment> |
| 794 | virtual_mailbox_domains = virt-domain.com, $other-virtual-domain.com |
792 | virtual_mailbox_domains = virt-domain.com, $other-virtual-domain.com |
| 795 | |
793 | |
| 796 | virtual_minimum_uid = 1000 |
794 | virtual_minimum_uid = 1000 |
| 797 | <comment>(Substitute $vmail-gid with the GID of the vmail group)</comment> |
795 | <comment>(Substitute $vmail-gid with the GID of the vmail group)</comment> |
| … | |
… | |
| 890 | </pre> |
888 | </pre> |
| 891 | |
889 | |
| 892 | <pre caption="mailman config: mm_cfg.py"> |
890 | <pre caption="mailman config: mm_cfg.py"> |
| 893 | # <i>nano -w /usr/local/mailman/Mailman/mm_cfg.py</i> |
891 | # <i>nano -w /usr/local/mailman/Mailman/mm_cfg.py</i> |
| 894 | MTA = "Postfix" |
892 | MTA = "Postfix" |
| 895 | POSTFIX_STYLE_VIRTUAL_DOMAINS = ['virt-domain.com', 'virt.domain2.com'] |
893 | POSTFIX_STYLE_VIRTUAL_DOMAINS = ['virt-domain.com', 'virt.domain2.com'] |
| 896 | add_virtualhost('www.virt.domain.com', 'virt.domain.com') |
894 | add_virtualhost('www.virt.domain.com', 'virt.domain.com') |
| 897 | add_virtualhost('www.virt.domain2.com', 'virt.domain2.com') |
895 | add_virtualhost('www.virt.domain2.com', 'virt.domain2.com') |
| 898 | <comment>(This is required for your virtual domains for mailman to function.)</comment> |
896 | <comment>(This is required for your virtual domains for mailman to function.)</comment> |
| 899 | </pre> |
897 | </pre> |
| 900 | |
898 | |
| … | |
… | |
| 945 | owner_request_special = no |
943 | owner_request_special = no |
| 946 | recipient_delimiter = + |
944 | recipient_delimiter = + |
| 947 | <comment>(Read README.POSTFIX.gz for details on this.)</comment> |
945 | <comment>(Read README.POSTFIX.gz for details on this.)</comment> |
| 948 | |
946 | |
| 949 | alias_maps = |
947 | alias_maps = |
| 950 | hash:/usr/local/mailman/data/aliases, |
948 | hash:/usr/local/mailman/data/aliases, |
| 951 | mysql:/etc/postfix/mysql-aliases.cf |
949 | mysql:/etc/postfix/mysql-aliases.cf |
| 952 | |
950 | |
| 953 | virtual_alias_maps = |
951 | virtual_alias_maps = |
| 954 | hash:/usr/local/mailman/data/virtual-mailman, |
952 | hash:/usr/local/mailman/data/virtual-mailman, |
| 955 | mysql:/etc/postfix/mysql-virtual.cf |
953 | mysql:/etc/postfix/mysql-virtual.cf |
| 956 | <comment>(This adds mailman alias file support to postfix |
954 | <comment>(This adds mailman alias file support to postfix |
| 957 | You may of course use the mysql tables for this, |
955 | You may of course use the mysql tables for this, |
| 958 | but I hate doing that by hand. Also, if you are not |
956 | but I hate doing that by hand. Also, if you are not |
| 959 | using virtual domains, adding the virtual alias maps |
957 | using virtual domains, adding the virtual alias maps |
| 960 | to postfix may cause problems, be warned.)</comment> |
958 | to postfix may cause problems, be warned.)</comment> |
| … | |
… | |
| 1198 | <li> |
1196 | <li> |
| 1199 | <uri>http://www.google.com/</uri> - If all else fails, there's always |
1197 | <uri>http://www.google.com/</uri> - If all else fails, there's always |
| 1200 | google, which has never failed me |
1198 | google, which has never failed me |
| 1201 | </li> |
1199 | </li> |
| 1202 | <li> |
1200 | <li> |
| 1203 | I also spend a lot of time on irc.freenode.net #gentoo. Irc is a great |
1201 | I also spend a lot of time on <uri |
| 1204 | place to go for help. |
1202 | link="irc://irc.gentoo.org/gentoo">#gentoo</uri>. IRC is a great place to go |
|
|
1203 | for help. |
| 1205 | </li> |
1204 | </li> |
| 1206 | </ul> |
1205 | </ul> |
| 1207 | |
1206 | |
| 1208 | </body> |
1207 | </body> |
| 1209 | </section> |
1208 | </section> |