Compilation
Once you have unzipped the source files into the directory where you plan
to keep tmda-cgi and selected your mode, you will need to compile tmda-cgi.
Compiling creates a binary executable which gives the program the rights to
access the files it will need. This also saves certain pieces of information
which it will need accessible before authentication.
You will need to recompile if:
- you move your configuration files
- you move your supplimental display files (icons, images, and style
sheet)
- you move your tmda-cgi or TMDA source trees
- you change the tmda-cgi mode
- you upgrade tmda-cgi to a more recent version (see UPGRADE file)
Compiling is done with the typical:
# ./configure
# make
# make install
Running configure
display Directory
Auto-installation
International Character Sets
Additional no-su Setup
Running configure
Although configure may be run with a large variety of command line
switches (see ./configure -h | more), I think you'll
find it far easier to run in interactive mode (by not specifying any
options). Interactive mode will ask you a series of questions and provide
"best guess" answers as the defaults. Once you have answered all the
questions, you'll be all ready to compile and install.
If you do not know the answer to one of the interactive questions, don't
panic. Simply hit control-C and the program will save the responses you have
given. These will be used as the defaults when you re-run configure.
Depending on the mode you have chosen, you may need to be logged in as a
specific user when you compile tmda-cgi. Consult the following chart:
|
Mode |
|
compile as user |
|
system-wide |
|
root |
|
single-user |
|
the user who will be able to log in |
|
no-su |
|
any user |
Information requested in the interactive mode:
- The location of your Python interpreter
- Where to save the CGI
- The path to TMDA's root directory
- The path to tmda-cgi's root directory
- An optional path or "formula" to find the user config
files
- The authentication mechanism (file / program /
remote)
- The web path from the CGI to the display
directory
- Mode
- Virtual user stub and parameters
- Real user to use when someone logs in with a virtual e-mail account
- Path and prefix to use for temporary, session files
- How old session files may get before they can be cleaned
- The odds of cleaning up session files
The configure program will provide additional information and
its best-guess anwers as defaults. Most of these defaults will probably be
just fine for your system, but check them all carefully before hitting
return.
display Directory
Finally, tmda-cgi requires a variety of visual elements saved in a
display directory (see #7, above). This directory comes with the
tmda-cgi source and will need to be manually copied or symbolically linked
(make sure your web server is configured to follow links!) into the
appropriate web directory.
Please note that #7 specifies the relative web path from the CGI to
the display directory, which may be different than the actual path.
For example:
|
Web path |
|
Actual path |
|
http://your.domain/cgi-bin/tmda.cgi |
|
/www/tmda/cgi-bin/tmda.cgi |
|
http://your.domain/display/ |
|
/www/tmda/htdocs/display |
In the above example, the actual path from the CGI to the display directory
is ../htdocs/display/ but the web path is ../display/. The
web path (../display/) is the one that should be entered in question
#7.
Auto-installation
tmda-cgi can set up e-mail accounts to use TMDA. If you wish to allow this,
you will need to read over the auto-install
page, as various files may need to be customized to support this.
International Character Sets
tmda-cgi supports various international character sets. Some of which,
however, require an additional download. Please refer to the following
list:
Chinese
Japanese
Korean
If tmda-cgi does not correctly support a character set you need, please
contact the program authors about adding this
support. As we do not speak any foreign languages, we will need your
assistance in both supplying sample e-mails that use alternate character sets
and checking over new versions of the code to verify that these e-mails are
correctly displayed. Please be prepared to spend some time discussing the
situation with us by e-mail.
Additional no-su Setup
If you compile in no-su mode, you will need to change permissions on any
existing pending mail and configuration files so that they can be read by the
CGI. You can either make these files world accessible or group accessible.
Group accessible is a little more secure than world accessible. World
accessible files are easily read by accident. Users actually have to take
intentional steps to mess with files in another group.
We recommend you assign permissions of 660 to files and 2660 to directories
to make them group accessible. Don't forget to chgrp then into the
appropriate group! Look in your Apache (or other web server) configuration
file to find out which group you should use. For Apache, this directive will
look like:
Group nobody
You will also need to add in code to make sure new e-mails are group
accessible. We recommend adding the following to your /etc/tmdarc:
os.umask(027)
If you have many users who use tmda-cgi in no-su mode, you may find it
advantageous to put all of the TMDA files in one central location, such as
/var/tmda. If this sounds appealing, check out the centralized no-su example.
|