Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
Installing TAAC:

1. Get the TAAC source code from (You
   already did this!)

2. Get the tmswap directory needed for TAAC to properly operate and
   copy it into the directory in which sits.
   - You may clone from, take
     the airreasoner/ directory, and copy that into the taac source
     code directory under the name tmswap/.  If the airreasoner/
     directory does not exist, then take the contents of the root of
     the repository.

3. Install rdflib ( if you want RDFa support.
   Otherwise (right now) you'll get a mod_python error if you try to
   access with an RDFa-based subjectAltUrl.

You should now have a directory layout which looks something like the

     tmswap/ [copied from the air-reasoner repository]

4. Configure TAAC.  The primary configuration for TAAC is in
  taac/ You most probably don’t need to change any of the
  settings, but you should be aware of their setting, as it impacts
  the remainder of this installation process. POLICY_FILE is the
  relative path from to the file that links your protected
  files to the corresponding policy files governing
  access. POLICY_TYPE is the MIME type of POLICY_FILE (‘text/rdf+n3′
  or ‘application/rdf+xml’ most likely). LOG_FILE is the relative path
  from to the file to log access information to. The other
  settings are not terribly relevant to FOAF+SSL and can be left

5. Setup your policy file. Your policy file (at the path specified by
   POLICY_FILE, defaulting to ‘./policies.n3′) is the key to
   protecting your URIs with FOAF+SSL. The policy file is an RDF file
   that links resources representing the protected URIs to their
   corresponding policy files. This is most easily done with the
   property (subject to change in future TAAC releases). Here’s a very
   simple policies.n3 that protects my_file.html:

   @prefix rein: <> .
   <./my_file.html> rein:access-policy <./my_file.policy.n3> .

6. Create a policy. The policy is the access-policy attached by
   policies.n3. This policy is written in the AIR language, may be
   somewhat daunting for someone trying to write their first policy. A
   couple of sample policies include,
   which permits any valid authentication via FOAF+SSL, and,
   which allows only friends and friends of friends of Juliette

   NOTE: The above policies may use outdated AIR syntax.  You will
   need to use the version of the AIR language supported by the
   version of the air-reasoner you copied.  You should probably take a
   look at the example/ directory in the air-reasoner repository for
   the general format of a rule.

7. Create your log file with mode 0666. This is usually ‘log.n3′.

8. Edit your .htaccess file. In order to actually enable the
   protection, you need to create a .htaccess file that actually adds as a mod_python proxy and explicitly enables SSL client
   certificates to be passed to is a good example
   for Apache 1.3 SSL servers. Apache 2.0′s mod_ssl requires somewhat
   different flags to enable passing SSL client certificates (melvin
   carvalho says that SSLOptions should be set to +StdEnvVars and

   NOTE: Make sure to update the PythonPath directive to include the
   TAAC directory!

9. TAAC should now be set up and running


FOAF+SSL access control module for mod_python using AIR






No releases published


No packages published