~futatuki/mailman/2.1-forbid-subscription

« back to all changes in this revision

Viewing changes to INSTALL

  • Committer:
  • Date: 2003-01-02 05:25:50 UTC
  • Revision ID: vcs-imports@canonical.com-20030102052550-qqbl1i96tzg3bach
This commit was manufactured by cvs2svn to create branch
'Release_2_1-maint'.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Mailman - The GNU Mailing List Management System
 
2
Copyright (C) 1998,1999,2000,2001,2002 Free Software Foundation, Inc.
 
3
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 
4
 
 
5
This file contains installation instructions for GNU Mailman, which is
 
6
configured using the standard GNU autoconf software.  You first need
 
7
to prepare your system as outlined in the sections below, and then
 
8
configure and install the Mailman software.
 
9
 
 
10
UPGRADING: Upgrading is usually as easy as just installing the new
 
11
version over the existing installation.  However, you should read the
 
12
notes in the file UPGRADING for important information before you
 
13
upgrade.
 
14
 
 
15
 
 
16
0. Installation requirements
 
17
 
 
18
    You must have a mail server (MTA) that you can send messages to,
 
19
    and a web server that supports the CGI/1.1 API.  Apache makes a
 
20
    fine choice for web server, and MTAs such as Postfix, Exim,
 
21
    Sendmail, and qmail should work just fine.
 
22
 
 
23
    You will need an ANSI C compiler to build Mailman's security
 
24
    wrappers.  The GNU C compiler gcc 2.8.1 or later is known to work
 
25
    well.  For more information about obtaining gcc, see
 
26
 
 
27
        http://www.gnu.org
 
28
 
 
29
    You must have the Python interpreter installed somewhere on your
 
30
    system.  Currently Python 2.1.3 or Python 2.2.1 is recommended.
 
31
    For information about obtaining Python source code, RPM packages,
 
32
    or pre-compiled binaries please see:
 
33
 
 
34
        http://www.python.org
 
35
 
 
36
    If you are building Python from source, you should be fine with
 
37
    the standard "./configure ; make install" for most Unix-like
 
38
    OSes.  If you run "make test", you'll see a bunch of tests skipped
 
39
    -- don't worry, you probably won't need them.  Mailman tries to
 
40
    stick to the basics that compile on most systems.
 
41
 
 
42
    If there is a README.<yourMTA> file that describes your mail
 
43
    server (MTA), read it now.  Some MTAs can be integrated more
 
44
    seamlessly with Mailman for support of some advanced features
 
45
    (like creation and removal of lists through-the-web).  Examples
 
46
    are Exim and Postfix.  Setup instructions for specific MTAs are
 
47
    contained in these README files.
 
48
 
 
49
 
 
50
1. System setup
 
51
 
 
52
    You will need to be root to perform the steps in this section.
 
53
 
 
54
    Before installing the Mailman software, you need to prepare your
 
55
    system by adding certain users and groups.
 
56
 
 
57
    - Add a new user called `mailman'.  Typically this is added to
 
58
      your /etc/passwd file.  If username `mailman' is already in use,
 
59
      choose something else unique and see the --with-username flag
 
60
      below.
 
61
 
 
62
    - Add a new group called `mailman'.  Typically this is added to
 
63
      your /etc/group file.  The Mailman files will be installed under
 
64
      the `mailman' group, with the set-group-id bit.  Mailman's
 
65
      security is based on group-ownership permissions, so it is
 
66
      important to get this step right.  If groupname `mailman' is
 
67
      already in use, choose something else unique and see the
 
68
      --with-groupname below.
 
69
 
 
70
    - Create an installation directory (called $prefix in the
 
71
      documentation that follows).  All of the Mailman files will be
 
72
      installed under $prefix.  Run "configure --help" for ways to
 
73
      split the installation based on read-only vs. read/write files.
 
74
 
 
75
      The default installation directory for Mailman 2.1 is
 
76
      /usr/local/mailman.  It used to be /home/mailman for all
 
77
      versions prior to Mailman 2.1alpha2.  You can override the
 
78
      default by using the --prefix option to configure (see below).
 
79
      If you're upgrading from a version previous to Mailman 2.1, you
 
80
      will need to use --prefix unless you move your mailing lists
 
81
      (this can be a wise upgrade strategy).
 
82
 
 
83
      Watch out if your site does something like mount /usr/local with
 
84
      the nosuid option.  This will break Mailman, which relies on
 
85
      set-gid programs for its security.  If this describes your
 
86
      environment, simply install Mailman in a location that allows
 
87
      setgid programs.
 
88
 
 
89
      Make sure the install directory is set to group `mailman' (or
 
90
      whatever you're going to specify as --with-groupname) and has
 
91
      the setgid bit set (but see README.BSD if you're on a BSD
 
92
      system).  You probably also want to guarantee that this
 
93
      directory is readable and executable by everyone.  For example,
 
94
      these shell commands will accomplish this:
 
95
 
 
96
          % cd $prefix
 
97
          % chgrp mailman .
 
98
          % chmod a+rx,g+ws .
 
99
 
 
100
      You are now ready to configure and install the Mailman software.
 
101
 
 
102
 
 
103
2. Running configure
 
104
 
 
105
    TAKE SPECIAL NOTE OF THE --with-mail-gid AND --with-cgi-gid
 
106
    OPTIONS BELOW.  YOU WILL PROBABLY NEED TO USE THESE!
 
107
 
 
108
    You should not be root while performing the steps in this section.
 
109
    Do them under your own login, or whatever account you typically
 
110
    use to install software.  You do not need to do these steps as
 
111
    user mailman, but you could.  However, make sure that the login
 
112
    used is a member of the mailman group as that that group has write
 
113
    permissions to the $prefix directory made in the previous step.
 
114
 
 
115
    Make sure that you have write permissions to the target
 
116
    installation directory, and permission to create a setgid file in
 
117
    the file system where it resides (NFS and other mounts can be
 
118
    configured to inhibit setgid settings).
 
119
 
 
120
    If you've installed other GNU software, you should be familiar
 
121
    with the configure script.  Usually you can just cd to the
 
122
    directory you unpacked the Mailman source tarball into, and run
 
123
    configure with no arguments:
 
124
 
 
125
        % cd mailman-<version>
 
126
        % ./configure
 
127
        % make install
 
128
 
 
129
    The following options allow you to customize your Mailman
 
130
    installation.
 
131
 
 
132
      --prefix=<dir>
 
133
            Standard GNU configure option which changes the base
 
134
            directory that Mailman is installed into.  By default
 
135
            $prefix is /usr/local/mailman.  This directory must
 
136
            already exist, and be set up as described in section 1
 
137
            above.
 
138
 
 
139
      --exec-prefix=<dir>
 
140
            Standard GNU configure option which lets you specify a
 
141
            different installation directory for architecture
 
142
            dependent binaries.
 
143
 
 
144
      --with-var-prefix=<dir>
 
145
            Store mutable data under <dir> instead of under the prefix
 
146
            or exec_prefix.
 
147
 
 
148
      --with-python=</path/to/python>
 
149
            Specify an alternative Python interpreter to use for the
 
150
            wrapper programs.  The default is to use the interpreter
 
151
            found first on your shell's $PATH.  Note that when running
 
152
            the scripts from the command line, the first Python
 
153
            interpreter found on $PATH is always used.
 
154
 
 
155
      --with-username=<username-or-uid>
 
156
            Specify a different username than `mailman' to use as a
 
157
            default.  Use this only if the username `mailman' is
 
158
            already in use by somebody (e.g. Mark Ailman's login
 
159
            name).  This switch can take an integer user id or a user
 
160
            name.  Be sure your $prefix directory is owned by this
 
161
            user.
 
162
 
 
163
      --with-groupname=<groupname-or-gid>
 
164
            Specify a different groupname than `mailman' to use as a
 
165
            default.  Use this only if the groupname `mailman' is
 
166
            already in use.  This switch can take an integer group id
 
167
            or a group name.  Be sure your $prefix directory is
 
168
            group-owned by this group.
 
169
 
 
170
      --with-mail-gid=<group-or-groups>
 
171
            Specify an alternative group for running scripts via the
 
172
            mail wrapper.  <group-or-groups> can be a list of one or
 
173
            more integer group ids or symbolic group names.  The first
 
174
            value in the list that resolves to an existing group is
 
175
            used.  By default, the value is the list
 
176
            `mailman other mail daemon'.
 
177
 
 
178
            This is highly system dependent and you must get this
 
179
            right, because the group id is compiled into the mail
 
180
            wrapper program for added security.  On systems using
 
181
            sendmail, the sendmail.cf configuration file designates
 
182
            the group id of sendmail processes using the "DefaultUser"
 
183
            option.  (If commented out, it still may be indicating the
 
184
            default...)
 
185
 
 
186
            Check your MTA's documentation and configuration files to
 
187
            find the right value for this switch.
 
188
 
 
189
      --with-cgi-gid=<group-or-groups>
 
190
            Specify an alternative group for running scripts via the
 
191
            CGI wrapper.  <group-or-groups> can be a list of one or
 
192
            more integer group ids or symbolic group names.  The first
 
193
            value in the list that resolves to an existing group is
 
194
            used.  By default, the value is the the list
 
195
            `www www-data nobody'.
 
196
 
 
197
            The proper value for this is dependent on your web server
 
198
            configuration.  You must get this right, because the group
 
199
            id is compiled into the CGI wrapper program for added
 
200
            security, and no Mailman CGI scripts will run if this is
 
201
            incorrect.
 
202
 
 
203
            If you're using Apache, check the values for the `Group'
 
204
            option in your httpd.conf file.
 
205
 
 
206
      --with-cgi-ext=<extension>
 
207
            Specify an extension for cgi-bin programs.  The CGI
 
208
            wrappers placed in $PREFIX/cgi-bin will have this
 
209
            extension (some web servers require an extension).
 
210
            <extension> must include the dot.
 
211
 
 
212
      --with-gcc=no
 
213
            Don't use gcc, even if it is found.  In this case, `cc'
 
214
            must be found on your $PATH.
 
215
 
 
216
 
 
217
3. Check your installation
 
218
 
 
219
    After you've run "make install", you can check that your
 
220
    installation has all the correct permissions and group ownerships
 
221
    by running the check_perms script:
 
222
 
 
223
    - cd to $prefix
 
224
 
 
225
    - Run bin/check_perms
 
226
 
 
227
    Don't try to run bin/check_perms from the source directory; it
 
228
    will only run from the install (i.e. $prefix) directory.
 
229
 
 
230
    If this reports no problems, then it's very likely <wink> that
 
231
    your installation is set up correctly.  If it reports problems,
 
232
    then you can either fix them manually, re-run the installation, or
 
233
    use check_perms to fix the problems (probably the easiest
 
234
    solution):
 
235
 
 
236
    - You need to become the user that did the installation (and that
 
237
      owns all the files in $prefix), or root.
 
238
 
 
239
    - Run bin/check_perms -f
 
240
 
 
241
    - Repeat previous step until no more errors are reported!
 
242
 
 
243
 
 
244
4. Final system set-up
 
245
 
 
246
    Congratulations!  You've installed the Mailman software.  To get
 
247
    everything running you need to hook Mailman up to both your web
 
248
    server and your mail system.
 
249
 
 
250
    - If you plan on running your MTA and web server on different
 
251
      machines, sharing Mailman installations via NFS, be sure that
 
252
      the clocks on those two machines are synchronized closely.  You
 
253
      might take a look at the file Mailman/LockFile.py; the constant
 
254
      CLOCK_SLOP helps the locking mechanism compensate for clock skew
 
255
      in this type of environment.
 
256
 
 
257
    - Configure your web server to give $prefix/cgi-bin permission to
 
258
      run CGI scripts.  You probably need to be root to do this.
 
259
 
 
260
      The line you should add might look something like the following
 
261
      (with the real absolute directory substituted for $prefix, of
 
262
      course):
 
263
 
 
264
          Exec          /mailman/*      $prefix/cgi-bin/*
 
265
      or:
 
266
          ScriptAlias   /mailman/       $prefix/cgi-bin/
 
267
 
 
268
      Consult your web server's documentation for details.
 
269
 
 
270
    - You want to be very sure that the user id under which your CGI
 
271
      scripts run is *not* in the `mailman' group you created above,
 
272
      otherwise private archives will be accessible to anyone.
 
273
 
 
274
    - Copy the Mailman, Python, and GNU logos to a location accessible
 
275
      to your web server.  E.g. with Apache, you've usually got an
 
276
      `icons' directory that you can drop the images into.  For
 
277
      example:
 
278
 
 
279
        % cp $prefix/icons/*.{jpg,png} /path/to/apache/icons
 
280
 
 
281
      You then want to add a line to your $prefix/Mailman/mm_cfg.py
 
282
      file which sets the base URL for the logos.  For example:
 
283
 
 
284
      IMAGE_LOGOS = '/images/'
 
285
 
 
286
      The default value for IMAGE_LOGOS is '/icons/'.  Read the
 
287
      comment in Defaults.py.in for details.
 
288
 
 
289
    - Configure your web server to point to the Pipermail public
 
290
      mailing list archives:
 
291
 
 
292
      For example, in Apache:
 
293
 
 
294
         Alias /pipermail/ $varprefix/archives/public/
 
295
 
 
296
      where $varprefix is usually $prefix unless you've used the
 
297
      --with-var-prefix option to configure.
 
298
 
 
299
      Consult your web server's documentation for details.  Also be
 
300
      sure to configure your web server to follow symbolic links in
 
301
      this directory, otherwise public Pipermail archives won't be
 
302
      accessible.  For Apache users, consult the FollowSymLinks
 
303
      option.
 
304
 
 
305
      Also, if you're going to be supporting internationalized public
 
306
      archives, you will probably want to turn off any default charset
 
307
      directive for the Pipermail directory, otherwise your
 
308
      multilingual archive pages won't show up correctly.  Here's an
 
309
      example for Apache, based on the standard installation
 
310
      directories:
 
311
 
 
312
      <Directory "/usr/local/mailman/archives/public/">
 
313
          AddDefaultCharset Off
 
314
      </Directory>
 
315
 
 
316
      Now restart your web server.
 
317
 
 
318
    - Set up the crontab entries.  Mailman runs a number of cron jobs
 
319
      for its basic functionality.  Note that if you're upgrading from
 
320
      a previous version of Mailman, you'll want to install the new
 
321
      crontab, but be careful if you're running multiple Mailman
 
322
      installations on your site!  Changing the crontab could mess
 
323
      with other parallel Mailman installations.
 
324
 
 
325
      If your version of crontab supports the -u option, you must be
 
326
      root to do this next step.  Add $prefix/cron/crontab.in as a
 
327
      crontab entry by executing these commands:
 
328
 
 
329
          % cd $prefix/cron
 
330
          % crontab -u mailman crontab.in
 
331
 
 
332
      If you used the --with-username option, use that user name
 
333
      instead of mailman for the -u argument value.  If your crontab
 
334
      does not support the -u option, try these commands:
 
335
 
 
336
          % cd $prefix/cron
 
337
          % su - mailman
 
338
          % crontab crontab.in
 
339
 
 
340
    - Start the Mailman qrunner daemon, by executing the following
 
341
      from the $prefix directory:
 
342
 
 
343
          % bin/mailmanctl start
 
344
 
 
345
      If you want to start Mailman every time you reboot your system,
 
346
      and your OS supports the chkconfig command (e.g. RedHat and
 
347
      Mandrake Linuxes) you can simply do the following (as root, from
 
348
      the Mailman install directory):
 
349
 
 
350
          % cp scripts/mailman /etc/init.d/mailman
 
351
          % chkconfig --add mailman
 
352
 
 
353
      (Note that /etc/init.d may be /etc/rc.d/init.d on some systems.)
 
354
 
 
355
      On Debian, you probably want to use
 
356
 
 
357
          % update-rc.d mailman defaults
 
358
 
 
359
      instead of chkconfig.
 
360
 
 
361
      For Unixes that don't support chkconfig, simply copy
 
362
      scripts/mailman as above:
 
363
 
 
364
          % cp scripts/mailman /etc/init.d/mailman
 
365
 
 
366
      then set up the following symbolic links, again as root:
 
367
 
 
368
          % cp misc/mailman /etc/init.d
 
369
          % cd /etc/rc.d/rc0.d
 
370
          % ln -s ../init.d/mailman K12mailman
 
371
          % cd ../rc1.d
 
372
          % ln -s ../init.d/mailman K12mailman
 
373
          % cd ../rc2.d
 
374
          % ln -s ../init.d/mailman S98mailman
 
375
          % cd ../rc3.d
 
376
          % ln -s ../init.d/mailman S98mailman
 
377
          % cd ../rc4.d
 
378
          % ln -s ../init.d/mailman S98mailman
 
379
          % cd ../rc5.d
 
380
          % ln -s ../init.d/mailman S98mailman
 
381
          % cd ../rc6.d
 
382
          % ln -s ../init.d/mailman K12mailman
 
383
 
 
384
    - Check the values for DEFAULT_EMAIL_HOST and DEFAULT_URL_HOST in
 
385
      Defaults.py.  Make any necessary changes in the mm_cfg.py file.
 
386
      Note that if you change either of these two values, you'll want
 
387
      to add the following afterwards in the mm_cfg.py file:
 
388
 
 
389
          add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
 
390
 
 
391
    - Create a "site-wide" mailing list.  This is the one that
 
392
      password reminders will appear to come from.  Usually this
 
393
      should be the "mailman" mailing list, but if you need to change
 
394
      this, be sure to change the MAILMAN_SITE_LIST variable in
 
395
      mm_cfg.py (see below).
 
396
 
 
397
          % bin/newlist mailman
 
398
 
 
399
      Follow the prompts, and see the README file for more
 
400
      information.
 
401
 
 
402
    - You should then subscribe yourself to the mailman list.
 
403
 
 
404
 
 
405
5. Customize Mailman
 
406
 
 
407
    You should do these steps using the account you installed Mailman
 
408
    under in section 2 above.
 
409
 
 
410
    - The file $prefix/Mailman/Defaults.py contains a number of
 
411
      defaults for your installation.  If any of these are incorrect,
 
412
      override them in $prefix/Mailman/mm_cfg.py, NOT IN Defaults.py!
 
413
      See the comments in Defaults.py for details.  Once a list is
 
414
      created, editing many of these variables will have no effect.
 
415
      At that point, you'll need to configure your lists through the
 
416
      web admin interface or through the command line script
 
417
      bin/withlist or bin/config_list.
 
418
 
 
419
      The install process will not overwrite an existing mm_cfg.py
 
420
      file so you can freely make changes to this file.
 
421
 
 
422
      Note: Do *not* change HOME_DIR or MAILMAN_DIR.  These are set
 
423
      automatically by the configure script.
 
424
 
 
425
    - Create the site password using:
 
426
 
 
427
        % $prefix/bin/mmsitepass <your-site-password>
 
428
 
 
429
      This password can be used anywhere that individual user or
 
430
      mailing list administrator passwords are required, giving the
 
431
      mailman site administrator the ability to adjust these things
 
432
      when necessary.
 
433
 
 
434
      You may also want to create a password for the site-wide "list
 
435
      creator" role (someone other than the site administrator who as
 
436
      privileges to create and remove lists through the web).  Use the
 
437
      -c option to mmsitepass to set this.
 
438
 
 
439
 
 
440
6. Getting started
 
441
 
 
442
    See the README file under the section "CREATE YOUR FIRST LIST" for
 
443
    a quick introduction to creating an initial test list.
 
444
 
 
445
 
 
446
7. Troubleshooting
 
447
 
 
448
    If you encounter problems with running Mailman, first check the
 
449
    "Common Problems" section, below.  If your problem is not covered
 
450
    there, check both the FAQ file and the online FAQ Wizard.  Also
 
451
    check for errors your syslog files and in the $prefix/logs/error
 
452
    file.
 
453
 
 
454
    Where syslog lives on your particular machine may vary.  It may be
 
455
    in /var/log/maillog.  It may also be in /var/log/syslog.  On many
 
456
    machines, syslog files live in /adm/log/ instead of /var/log.
 
457
 
 
458
    If you encounter an error, send an error report to
 
459
    mailman-users@python.org.  Include a description of what you're
 
460
    doing to cause the problem, and the relevant lines from your
 
461
    syslog.  Also include information on your operating system, which
 
462
    version of Python you're using, and which version of Mailman
 
463
    you're installing.
 
464
 
 
465
 
 
466
8. Common Problems
 
467
 
 
468
    Problem:  All Mailman web pages give a 404 File not found error.
 
469
 
 
470
    Solution: Your web server has not been set up properly for handling
 
471
              Mailman's cgi commands.  Make sure you've:
 
472
 
 
473
              1) Configured the web server to give permissions to
 
474
                 $prefix/cgi-bin
 
475
              2) Restarted the web server properly.
 
476
 
 
477
              Consult your web server's documentation for instructions
 
478
              on how to do these things.
 
479
 
 
480
 
 
481
    Problem:  All Mailman web pages give an "Internal Server Error".
 
482
 
 
483
    Solution: The likely problem is that you are using the wrong GID or
 
484
              UID for CGI scripts.  Check your syslog.  If you see, for
 
485
              example, a line like:
 
486
 
 
487
                  Attempt to exec script with invalid gid 51, expected 99
 
488
 
 
489
              You need to reinstall Mailman, and specify $CGI_GID to be 51,
 
490
              as described in the installation instructions.
 
491
 
 
492
 
 
493
    Problem:  I send mail to the list, and get back mail saying the
 
494
              list is not found!
 
495
 
 
496
    Solution: You probably didn't add the necessary aliases to the system
 
497
              alias database, given to you when you ran the newlist
 
498
              command.  If you did add them, you likely did not update
 
499
              the alias database, or your system requires you to run
 
500
              newaliases explicitly.  Refer to section 5 above for
 
501
              more information.
 
502
 
 
503
 
 
504
    Problem:  I send mail to the list, and get back mail saying,
 
505
              "unknown mailer error".
 
506
 
 
507
    Solution: The likely problem is that you are using the wrong GID or
 
508
              UID for mail.  Check your syslog.  If you see, for
 
509
              example, a line like:
 
510
 
 
511
                  Attempt to exec script with invalid gid 51, expected 99
 
512
 
 
513
              You need to reinstall Mailman, and specify $MAIL_GID to
 
514
              be 51, as described in the installation
 
515
              instructions. see notes on Postfix below, as by default
 
516
              it will create these problems on installation.
 
517
 
 
518
 
 
519
    Problem:  I use Postfix for my MTA and the mail wrapper programs
 
520
              are logging complaints about the wrong GID.
 
521
 
 
522
    Solution: Create a separate aliases file for Postfix in its
 
523
              main.cf config file under the variable "alias_maps". Put
 
524
              the file somewhere in Mailman's home directory, or
 
525
              somewhere else where the user mailman has write access
 
526
              to it; *as user mailman* call Postfix's "postalias" on the
 
527
              alias file.
 
528
 
 
529
              % postalias <the alias file>
 
530
 
 
531
              Also as user mailman, run
 
532
 
 
533
              % python -c'import os; print os.getgid()'
 
534
 
 
535
              This should print out the group id that Mailman should
 
536
              be configured to expect when the mail wrapper programs
 
537
              are run.  Call it "thegid".  Rebuild Mailman with
 
538
 
 
539
              % ./configure --with-mail-gid=thegid
 
540
 
 
541
              See also the README.POSTFIX file for more information on
 
542
              connecting Postfix and Mailman.
 
543
 
 
544
 
 
545
    Problem:  I send mail to the list, and get back mail saying,
 
546
              "sh: mailman not available for sendmail programs"
 
547
 
 
548
    Solution: Your system uses sendmail restricted shell (smrsh).  You
 
549
              need to configure smrsh by creating a symbolic link from
 
550
              the mail wrapper ($prefix/mail/mailman) to the directory
 
551
              identifying executables allowed to run under smrsh.
 
552
 
 
553
              Some common names for this directory are
 
554
              /var/admin/sm.bin, /usr/admin/sm.bin or /etc/smrsh.
 
555
 
 
556
              Note that on Debian Linux, the system makes
 
557
              /usr/lib/sm.bin, which is wrong, you will need to create
 
558
              the directory /usr/admin/sm.bin and add the link there.
 
559
              Note further any aliases newaliases spits out will need
 
560
              to be adjusted to point to the secure link to the
 
561
              wrapper.
 
562
 
 
563
 
 
564
    Problem:  I messed up when I called configure.  How do I clean
 
565
              things up and re-install?
 
566
 
 
567
    Solution: % make clean
 
568
              % ./configure --with-the-right-options
 
569
              % make install
 
570
 
 
571
 
 
572
 
 
573
Local Variables:
 
574
mode: indented-text
 
575
indent-tabs-mode: nil
 
576
End: