Считаем, что Apache уже установлен и настроена аутентификация и авторизация через PAM (см. Настройка web-сервера на Astra Linux SE 1.5)

Устанавливаем необходимые пакеты:

# apt-get install libapache2-mod-python python-django

Включаем модуль:

# a2enmod python

Создаем проект Django и каталог для log-файлов:

# cd /var/www
# django-admin startproject django_site
# mkdir django_site/log

В /etc/apache2/sites-available/ создаем файл django_site. Это файл конфигурации виртуального хоста для нашего Django-проекта, лежащего в каталоге /var/www/django_site/.

<VirtualHost *:80>
    ServerAdmin webmaster@domain.name
    ServerName server.domain.name

    DocumentRoot /var/www/django_site
    <Directory "/var/www/django_site/">
        AuthPAM_Enabled on
        AuthType Basic
        AuthName "PAM authentication"
        require valid-user

        Options -Indexes FollowSymLinks -MultiViews
        AllowOverride None

        Order deny,allow
        Allow from all
    </Directory>

    <Location "/">
        SetHandler    python-program
        PythonHandler django.core.handlers.modpython
        SetEnv        DJANGO_SETTINGS_MODULE django_site.settings
        PythonOption  diango.root /var/www/django_site
        PythonPath    "['/var/www/django_site/',] + sys.path"
        PythonAutoReload On
    </Location>

    <Location "/media/”>
        SetHandler None
    </Location>

    <Location "/static/">
        SetHandler None
    </Location>

    <LocationMatch "\.(jpg|gif|png)$">
        SetHandler None
    </LocationMatch>

    ErrorLog /var/www/django_site/log/error.log
    LogLevel warn
    CustomLog /var/www/django_site/log/access.log combined
</VirtualHost>

Включаем наш сайт в список разрешенных и перезапускаем web-сервер

# a2ensite astra-django-project
# service apache2 reload

После ввода имени пользователя и пароля в браузере должна показаться стандартная начальная страница Django: