© 1996-2001 Jan Wolter, Steve Weiss
Prev: Introduction
Next: Part II: Compilation
./configure <options> |
NOTE:
Most options have default values appropriate for a simple installation
using Backtalk accounts, but most installers will want to change at least
some of them. It is possible that running configure without
options will work for you, but you should scan the option list below to
make sure there is nothing there you need. A summary of options can be
printed by doing "./configure --help".
For example, if you are installing Backtalk under the system's document root, you might specify:
--htmldir=/usr/local/apache/htdocs/backtalkor if you are installing Backtalk under a user account on the system, you might specify:
--htmlurl=http://my.system.com/backtalk
--htmldir=/home/mylogin/public_html/backtalk
--htmlurl=http://my.system.com/~mylogin/backtalk
Note that --htmldir must always begin with a slash, and --htmlurl must always begin with "http://".
For example, if you are installing Backtalk into the system's cgi-bin directory, you might specify:
--cgidir=/usr/local/apache/cgi-bin/backtalk
--cgiurl=http://my.system.com/cgi-bin/backtalk
Some systems are set up so that CGI programs can be installed in the same directories as HTML documents, with the CGI programs being identified by a file-name suffix like .cgi. In such cases your --cgidir and --cgiurl values may be the same as your --htmldir and --htmlurl values, but you should also set the --cgi-suffix=.cgi option, as described below.
Note that --cgidir must always begin with a slash, and --cgiurl must always begin with "http://".
On many systems, the HTTP server runs as "nobody" (though we think it is better to set up a separate account called "www" or "http" for the HTTP server to run as). If you are running Apache, you can find out what user it is running as by looking at the User option in the Apache configuration files. Alternately you could do a ps and note what login most httpd processes are running as (there may be one running as 'root' - ignore it).
Note that if your CGI's will be running under 'suexec' or some other wrapper that causes them to be run by the owner of the file, then this should be the owner of the files, exactly the same value as the owner-id below.
You can specify the id number either by UID number, or by login name, like:
--httpd-id=65534or
--httpd-id=nobodyNote that if you give the login name rather than the uid number, then the configure script needs to convert the name to a number. It is fairly clever about figuring out how to do this on most Unix systems, but if you are building a binary to be run on some other system, a conversion based on your build system's password database may not be correct. Use uid numbers in such cases.
It would be unwise to use root for this.
It can be set to the same value as --httpd-id. If you are running under suexec it has to be the same. However, doing this may weaken Backtalk's security since this would allow all cgi programs on your system to access the conference and user databases.
You can specify the id number either by UID number, or by login name, like:
--owner-id=406or
--owner-id=backtalkNote that if you give the login name rather than the uid number, then the configure script needs to convert the name to a number. It is fairly clever about figuring out how to do this on most Unix systems, but if you are building a binary to be run on some other system, a conversion based on your build system's password database may not be correct. Use uid numbers in such cases.
You can enter either the group name or group id number. Names will be converted to numbers by looking them out in the system's group database.
Command-line admin tools can be used only from the account defined by the 'owner_id' flag.
The disadvantages of this are lack of control over the appearance of the login window, lack of a logout button, and somewhat promiscuous sending of the user's password, leading to increased vulnerability to sniffers.
This may be insecure on some servers! Cookies are passed to CGI programs in environment variables. On most Unix systems, it is possible to see the values of environment variables in other user's processes. Thus if any untrusted users can login to or install CGI programs on the server you are using, then they could potentially steal a session ID and impersonate a user.
The first four options are for Backtalk accounts, maintained by Backtalk's user administration tools.
The last two options are for real Unix accounts. You'll need to use the standard Unix account administration tools to create and manage these accounts.
If you don't want to do anything much with groups, you can select this option and not create the Backtalk group file. Backtalk will assume the existance of three hardcoded groups: cfadm, gradm, and user, with group ID numbers 0, 1, and 2 respectively. This will give you a tiny performance gain.
Obviously these are all disabled if you use Unix logins - Backtalk should not have access to edit the Unix /etc/passwd or /etc/shadow file. In such installations account maintainance is done through the usual Unix tools.
If you are using a pre-existing authentication database, and already have a suite of tools to maintain it, then you may not want to enable Backtalk to edit that database as well. In such cases, you should configure with the --disable-edituser option.
If you have and want to use ispell include the --with-ispell path. If it is installed in a directory not in your current path, do --with-ispell=/absolute/path/to/ispell.
Choosing this option weakens Backtalk's security. The file containing encrypted passwords must be readable to anyone who can log into any Unix account on the server. This is because the authentication database must be created and edited by programs running as you, but they must be readable to the httpd server, which does not run as you. Making it readable to the httpd server also makes it readable to all other users. In some cases, you may be able to improve on this, but mostly doing so requires an accommodating administrator, and if you had one, you wouldn't be running under suExec, would you?
If you are using real Unix accounts, then ignore this - the user's normal home directory is used instead.
Don't enable these unless you really mean to use Backtalk with Yapp or Picospan - the native file format is better.
These options only really make sense with the --auth=passwd or --auth=shadow options and real Unix accounts.
Options are being added to Backtalk to enable to keep some of it's databases, especially user database, in an SQL database. At this time, only the PostgreSQL option has been tested. The other options are not even completely written and will not work. We hope to add Sybase and Oracle options in the future.
Msql is often installed with its libraries and header files in the /usr/local/Hughes directory. If that's the case, you may need to explicitly tell the configure script which directories to look in. This is done by setting the CPPFLAGS and LDFLAGS environment variables. If you have a borne-type shell, you would do:
CPPFLAGS=-I/usr/local/Hughes/include LDFLAGS=-L/usr/local/Hughes/lib \ ./configure --with-msql ...or if your system has the 'env' program, you could do:
env CPPFLAGS=-I/usr/local/Hughes/include LDFLAGS=-L/usr/local/Hughes/lib \ ./configure --with-msql ...
Everytime you click a link or button while using Backtalk, the Backtalk program must be loaded and run from scratch (this is a problem common to almost all CGI programs). This means that loading fast is more important for Backtalk than for many other programs. If Backtalk is configured with the --enable-dynaload directive, then some of the less commonly used parts of the program will be built as shared libraries, and only linked in on-demand only if they are needed. This makes the program a bit smaller and a bit faster to load.
Note: Unlike all other Backtalk configure options, this one is not sticky. It always defaults off, even if you had it turned on the last time you ran configure.
The rest of the directory options designate specific directories where Backtalk files are installed, as outlined in the following table:
option | default | what's installed |
---|---|---|
--cgidir | No default | CGI programs: backtalk |
--bindir | <exec-prefix>/bin | Command-line administrative commands: makeconf, decomp, btpasswd*, btvalid*, btrmuser*, btmkuser* |
--libexecdir | <exec-prefix>/libexec | Programs usually run by other programs: btc, partutil**, |
--bbsdir | <prefix>/bbs | Conference data files. |
--userdir | <prefix>/user | Users settings and participation files*. |
--scriptdir | <prefix>/script | Backtalk scripts. |
--etcdir | <prefix>/etc | Read-mostly data files owned by --owner-id. |
--passwddir | <prefix>/passwd | Read-mostly data files owned by --httpd-id, mainly the auth database*. |
--logdir | <prefix>/log | Backtalk log files. |
--htmldir | No default | HTML pages. |
--mandir | <prefix>/man | Man pages (actually, there aren't any yet). |
* These files are only installed for systems with Backtalk accounts.
** These files are only installed for systems with Unix accounts.