Skip to main content

Other Configuration Options

HTTP Server and XMLPRPC

Atheme includes an optional HTTP server and XMLRPC interface which can be used with portal software or other useful things. To enable it, you can load the following modules and configure the httpd{} configuration block.

Modules

ModuleFeaturesNotes
modules/misc/httpdHTTP server
modules/transport/xmlrpcXMLRPC API InterfaceRequires the misc/httpd module above.

HTTPd Block

The httpd{} block contains settings specific to the HTTP server module.

An example httpd{} block could be:

httpd {
host = "0.0.0.0";
host = "::";
www_root = "/var/www";
port = 8080;
};

host

The host that the HTTP server will listen on. You can have multiple hosts if you wish to have Atheme listen on multiple interfaces (e.g., for both IPv4 and IPv6).

Example:

host = "0.0.0.0";
host = "::";

www_root

The www_root lists a directory which contains files that should be served by the httpd.

Example: www_root = "/var/www";

port

The port that the HTTP server will listen on.

Example: port = 8080;

Extended Targets

Atheme can set up special target mapping entities which match multiple users in channel access entries. These targets are defined through the exttarget modules listed below.

| Module | Features | | modules/exttarget/main | Exttarget handling core | | modules/exttarget/oper | $oper match type | | modules/exttarget/registered | $registered match type | | modules/exttarget/channel | $channel match type | | modules/exttarget/chanacs | $chanacs match type | | modules/exttarget/server | $server match type |

LDAP

Services is able to validate users through LDAP. To do this, load the modules/auth/ldap module. This module requires OpenLDAP client libraries. It uses them in a synchronous manner, which means that an unresponsive LDAP server can freeze services.

LDAP Block

The ldap{} block contains settings specific to LDAP authentication.

Example:

ldap {
url = "ldap://127.0.0.1";
dnformat = "cn=%s,dc=test,dc=com";
};

url

The LDAP URL of the server to use.

Example: url = "ldap://127.0.0.1";

dnformat

The format string to convert an account name to an LDAP DN.

This must contain exactly one %s which will be replaced by the account name.

Services will attempt a simple bind with this DN and the given password; the password is considered correct if this is successful.

Example: dnformat = "cn=%s,dc=test,dc=com";

Other Modules

If you have any custom modules built for Atheme, you can include them; for example, if you compiled using --enable-contrib and wanted to load a module from the atheme-contrib-modules repo.