## 3.1 Run configure

Before you can install Mailman, you must run configure to set various installation options your system might need.

Note: Take special note of the --with-mail-gid and --with-cgi-gid options below. You will probably need to use these.

You should not be root while performing the steps in this section. Do them under your own login, or whatever account you typically use to install software. You do not need to do these steps as user `mailman`, but you could. However, make sure that the login used is a member of the `mailman` group as that that group has write permissions to the $prefix directory made in the previous step. You must also have permission to create a setgid file in the file system where it resides (NFS and other mounts can be configured to inhibit setgid settings).

If you've installed other GNU software, you should be familiar with the configure script. Usually you can just cd to the directory you unpacked the Mailman source tarball into, and run configure with no arguments:

      % cd mailman-<version>
      % ./configure
      % make install

The following options allow you to customize your Mailman installation.

--prefix=dir
  Standard GNU configure option which changes the base directory that Mailman is installed into. By default $prefix is /usr/local/mailman. This directory must already exist, and be set up as described in 2.2.

--exec-prefix=dir
  Standard GNU configure option which lets you specify a different installation directory for architecture dependent binaries.

--with-var-prefix=dir
  Store mutable data under dir instead of under the $prefix or $exec_prefix. Examples of such data include the list archives and list settings database.

--with-python=/path/to/python
  Specify an alternative Python interpreter to use for the wrapper programs. The default is to use the interpreter found first on your shell's $PATH.

--with-username=username-or-uid
  Specify a different username than `mailman`. The value of this option can be an integer user id or a user name. Be sure your $prefix directory is owned by this user.

--with-groupname=groupname-or-gid
  Specify a different groupname than `mailman`. The value of this option can be an integer group id or a group name. Be sure your $prefix directory is group-owned by this group.

--with-mail-gid=group-or-groups
  Specify an alternative group for running scripts via the mail wrapper. group-or-groups can be a list of one or more integer group ids or symbolic group names. The first value in the list that resolves to an existing group is used. By default, the value is the list `mailman`, `other`, `mail`, and `daemon`.

  Note: This is highly system dependent and you must get this right, because the group id is compiled into the mail wrapper program for added security. On systems using sendmail, the sendmail.cf configuration file designates the group id of sendmail processes using the DefaultUser option. (If commented out, it still may be indicating the default...)

  Check your mail server's documentation and configuration files to find the right value for this switch.

--with-cgi-gid=group-or-groups
  Specify an alternative group for running scripts via the CGI wrapper. group-or-groups can be a list of one or more integer group ids or symbolic group names. The first value in the list that resolves to an existing group is used. By default, the value is the the list `www`, `www-data`, and `nobody`.

  Note: The proper value for this is dependent on your web server configuration. You must get this right, because the group id is compiled into the CGI wrapper program for added security, and no Mailman CGI scripts will run if this is incorrect.

  If you're using Apache, check the values for the Group option in your httpd.conf file.

--with-cgi-ext=extension
  Specify an extension for cgi-bin programs. The CGI wrappers placed in $prefix/cgi-bin will have this extension (some web servers require an extension). extension must include the leading dot.

--with-mailhost=hostname
  Specify the fully qualified host name part for outgoing email. After the installation is complete, this value can be overriden in $prefix/Mailman/mm_cfg.py.

--with-urlhost=hostname
  Specify the fully qualified host name part of urls. After the installation is complete, this value can be overriden in $prefix/Mailman/mm_cfg.py.

--with-gcc=no
  Don't use gcc, even if it is found. In this case, cc must be found on your $PATH.