]> git.donarmstrong.com Git - debbugs.git/blob - debian/README.mail
[project @ 2000-10-08 15:33:32 by joy]
[debbugs.git] / debian / README.mail
1 Setting up MTAs for Debbugs
2 ===========================
3
4 Config
5 ------
6 Be sure to set the $gMailer variable correctly in /etc/debbugs/config.
7 The options are (all lower case) exim, qmail and sendmail.
8
9 Exim
10 ----
11 I've seen two types of setting up Exim used.
12
13  1) If the machine is dedicated and all e-mail goes to the debbugs script,
14     add this in the transport section:
15
16 debbugs_pipe:
17   driver = pipe
18   user = <some non-root user>
19   group = <some non-root group>
20   command = /usr/lib/debbugs/receive
21   return_output
22
23     Do not use root user/group, it is very unsafe. You could even add a new
24     (locked) account "debbugs", and use that. Either user or group needs
25     write access.
26
27     And AT THE TOP of the directors section, add this:
28
29 debbugs:
30   driver = smartuser
31   transport = debbugs_pipe
32   local_parts = submit:bugs:maintonly:quiet:forwarded:done:close:request:submitter:control:^\\d+
33
34  2) If the domain is a virtual host on a machine that needs it, there are
35     many ways of handling it.  I think the neatest was:
36
37 debbugs:
38   driver = aliasfile
39   domains = <domain name>
40   file = /usr/lib/debbugs/receive
41   user = <some user>
42   group = <some group>
43   current_directory = /var/lib/debbugs/spool
44   home_directory = /var/lib/debbugs/spool
45
46 Qmail
47 -----
48 From Tommi Virtanen (tv@debian.org):
49
50 Here's my suggestion for safe & secure installation under qmail:
51         
52 Create a separate user for the debbugs system.
53         # adduser --system --group --home /home/misc/debbugs debbugs
54 Give control of a virtual domain to that user
55         # echo bugs.example.com:debbugs >>/etc/qmail/virtualdomains
56 Give the user access to the bug databases
57         # chown -R debbugs:debbugs /var/lib/debbugs/*
58 Set the BTS owner address
59         # echo 'me@my.example.com' >~debbugs/.qmail-owner
60 Make the BTS handle it's mail
61         # echo '|/usr/lib/debbugs/receive' >~debbugs/.qmail-default
62 Reload the virtualdomains config file
63         # /etc/init.d/qmail reload
64 That's it!
65         
66 Sendmail
67 --------
68 From Wichert Akkerman (wakkerma@debian.org):
69
70 First of all make sure that debbugs is configured for sendmail: look
71 at /etc/debbugs/config for the $gMailer variable and make sure it is
72 set to 'sendmail'.
73
74 Next make sure that your DNS is configured properly. For sendmail
75 this means you cannot use a CNAME for the debbugs-domain, since that
76 gets remapped to the canonical name and thus bypasses the mailertable
77 we need. This is an example of a working DNS entry:
78
79         bugs            IN      192.168.2.100
80                                 0 MX mailgate.mors.net
81                                 HINFO "PC Pentium" "Debbugs 2.0"
82
83 Now that that is finished it is time to configure sendmail itself. First
84 make sure that sendmail does not consider the debbugs-domain as local by
85 making sure it is not listed in /etc/mail/sendmail.cw . Now start your
86 favourite editor and load /etc/mail/sendmail.mc . We need to make two
87 changes
88 there: add a mailertable and define the debbugs delivery agent.  The
89 mailertable is needed to tell sendmail to use the debbugs to deliver mail
90 destined for your debbugs server.
91
92 To enable the mailertable put the following line in your sendmail.mc file:
93
94         FEATURE(mailertable, `text -o /etc/mail/mailertable')dnl
95
96 This tells sendmail to use the textfile /etc/mail/mailertable as the
97 database containing the table. You can also use a db database if you
98 want to add a lot of entries in there since that is faster. If you
99 want to do that use the following line instead:
100
101         FEATURE(mailertable, `hash -o /etc/mail/mailertable.db')dnl
102
103 You can create the database using the following command:
104
105         makemap hash mailertable.db < mailertable
106
107 Where mailertable is the textfile containing the data.
108
109 The next thing we need to do is tell sendmail about the debbugs delivery
110 agent. To do this add the following two lines to your sendmail.mc file,
111 preferably just after the MAILER commands:
112
113 Mdebbugs,       P=/usr/lib/debbugs/receive, F=SDFMlhudb80, U=<uid>:<gid>,
114                 S=10/30, R=20/30, D=/tmp, T=DNS/RFC822/X-Unix, A=receive $u
115
116 Where <uid> and <gid> should be replaced with the user and group you
117 use for debbugs.
118
119 Okay, we are now done with sendmail.mc and are ready to add the entry
120 in your mailertable. Save sendmail.mc and load /etc/mail/mailertable in
121 your editor. Put a single line in there just like this one:
122
123         bugs.your.net           debbugs:yournet
124
125 (please note there are tabs between those words). This tells sendmail that
126 mail destined for the host bugs.your.net should be handled by the debbugs
127 delivery agent using yournet as the hostname. If you decided to use a db
128 database instead of the plain textfile don't forget to run makemap now!
129
130 Now the final step: run sendmailconfig to regenerate sendmail.cf and
131 restart sendmail with the new configuration. Your system should now
132 be up and running. Congratulations!
133
134 Postfix
135 -------
136 It seems Bdale isn't around currently, so I'll just mail this
137 here directly. This is a short description of how to get debbugs
138 working with postfix. If someone can verify this and give me some
139 feedback if would be appreciated.
140
141 Lets assume that you are going to install bugs.domain.net, and you
142 are going to run it on the machine master.domain.net.
143
144 DNS setup: point the MX to the machine running debbugs:
145
146         bugs.domain.net         MX      50      master.domain.net.
147
148 In /etc/postfix/master.cf enable the transport maps by inserting the
149 following line:
150
151         transport_maps = hash:/etc/postfix/transport
152
153 Now create /etc/postfix/transport and insert:
154
155         bugs.domain.net        debbugs:
156
157 This tells postfix to use the debbugs transport agent to deliver any
158 mail send to bugs.domain.net. Now we need to make a database from that
159 that postfix can use:
160
161         # makemap hash transport
162
163 Now we need to teach postfix what the debbugs transport agent is. Edit
164 /etc/postfix/master.cf and add:
165
166         debbugs   unix  -       n       n       -       -       pipe
167                 flags=F user=debbugs argv=/usr/lib/debbugs/receive $recipient
168
169 This assumes that you are running debbugs with uid debbugs (the package
170 doesn't do that by default, but I generally chown /var/lib/debbugs/*
171 to a new debbugs account just to be safe).
172
173 Now that all this is done, restart postfix and it should be working..
174
175 Wichert.