Устанавливаем необходимые пакеты с зависимостями: postgresql, python-psycopg2. В ALSE 1.5 основная версия PostgreSQL 9.4.5.

Редактируем конфигурационный файл базы данных

$ sudo vim /etc/postgresql/9.4/main/pg_hba.conf

Комментируем или удаляем все строки и дописываем новые, разделяя поля табуляцией

local               all                    postgres                    trust
local               all                    all                   trust
host                all                    all                   127.0.0.1/32  trust
host                all                    all                   192.168.15.129/24  trust
host                all                    all                   192.168.15.132/24  trust

Последние строки - адреса сервера и клиента, которым будем подключаться. Меняйте на свои или укажите всю сеть, например 192.168.15.0/24.

Перезапускаем СУБД

$ sudo pg_ctlcluster 9.4 main restart

Создаем базу, которую будем использовать в Django

$ sudo su
# su postgres -c psql postgres

> ALTER USER postgres WITH PASSWORD 'postres';
> CREATE DATABASE dbname;
> \q

Редактируем раздел settings.py для настройки подключения к базе postgresql

...
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER': 'postgres',
        'PASSWORD': 'postgres',
        'HOST': '',
        'PORT': '',
    }
}
...

Создаем таблицы в базе командой python manage.py syncdb

Для проверки раскомментируем приложение админки в settings.py и маршрут к ней в urls.py. Админка должна заработать.

Теперь можно настроить django-приложение на работу с переменной окружения REMOTE_USER, через которую Apache передает в веб-приложение идентификатор аутентифицированного пользователя.

Редактируем settings.py

...
MIDDLEWARE_CLASSES = (
    '...',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.RemoteUserMiddleware',
    '...',
)

AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.RemoteUserBackend',
)
...

Создаем django-приложение app командой manage.py startapp app и добавляем его в settings.py

...
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
    'app',
)
...

В app/views.py создаем функцию, которое будет возвращать текущее время и имя авторизованного пользователя

from django.http import HttpResponse
import datetime

def current_datetime(request):
    now = datetime.datetime.now()
    html = "<html><body>It is now %s. User: %s </body></html>" % (now, request.user.username)
    return HttpResponse(html)

В django_site/urls.py создаем маршрут к нашему view

from django.conf.urls import patterns, url
from django.contrib import admin

urlpatterns = patterns('',
    url(r'^$', 'app.views.current_datetime'),
    url(r'^admin/', include(admin.site.urls)),
)

Теперь при посещении главной страницы авторизированным в ALD-домене пользователем мы увидим его имя. Можно приступать к написанию многопользовательских django-приложений.

PS К сожаланию, после включения авторизации по REMOTE_USER, не получается зайти в админку. Пока еще не разобрался почему.