Как разделить index.pl и customer.pl

Запросы на решение проблем

Модератор: ykolesnikov

Ответить
firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Как разделить index.pl и customer.pl

Сообщение firebolt » 08 авг 2017, 07:19

Всех приветствую!
Обновил тему.
Столкнулся с дурацкой проблемой, нужен совет. Настроил сквозную аутентификацию в OTRS с использованием keytab-файла, но теперь сам не могу войти в OTRS. Мой компьютер не входит в домен, я работаю в openSuSE и это создало мне проблемы :D В окне браузера выходит форма ввода пароля, куда я вводил и sAMAccountName, и userPrincipalName, и mail... В общем, не пускает.

Теперь есть идея разделить конфиг Apache и сделать два отдельных сайта для index.pl и customer.pl. Помогите пожалуйста, грамотно их разделить. Я не могу понять, какая часть файла отвечает за вход в агентскую, а какая - в клиентскую части сайта.

Вот он родной конфиг Apache:

Код: Выделить всё


ScriptAlias /otrs/ "/opt/otrs/bin/cgi-bin/"
Alias /otrs-web/ "/opt/otrs/var/httpd/htdocs/"

<IfModule mod_perl.c>

    # Setup environment and preload modules
    Perlrequire /opt/otrs/scripts/apache2-perl-startup.pl

    # Reload Perl modules when changed on disk
    PerlModule Apache2::Reload
    PerlInitHandler Apache2::Reload

    # general mod_perl2 options
    <Location /otrs>
#        ErrorDocument 403 /otrs/customer.pl
        ErrorDocument 403 /otrs/index.pl
        SetHandler  perl-script
        PerlResponseHandler ModPerl::Registry
        Options +ExecCGI
        PerlOptions +ParseHeaders
        PerlOptions +SetupEnv

        <IfModule mod_version.c>
            <IfVersion < 2.4>
                Order allow,deny
                Allow from all
            </IfVersion>
            <IfVersion >= 2.4>
                Require all granted
            </IfVersion>
        </IfModule>
        <IfModule !mod_version.c>
            Order allow,deny
            Allow from all
        </IfModule>
    </Location>

    # mod_perl2 options for GenericInterface
    <Location /otrs/nph-genericinterface.pl>
        PerlOptions -ParseHeaders
    </Location>

</IfModule>

<Directory "/opt/otrs/bin/cgi-bin/">
    AllowOverride None
    Options +ExecCGI -Includes

    <IfModule mod_version.c>
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </IfModule>
    <IfModule !mod_version.c>
        Order allow,deny
        Allow from all
    </IfModule>

    <IfModule mod_filter.c>
        <IfModule mod_deflate.c>
            AddOutputFilterByType DEFLATE text/html text/javascript application/javascript text/css text/xml application/json text/json
         </IfModule>
    </IfModule>

</Directory>

<Directory "/opt/otrs/var/httpd/htdocs/">
    AllowOverride None

    <IfModule mod_version.c>
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </IfModule>
    <IfModule !mod_version.c>
        Order allow,deny
        Allow from all
    </IfModule>

    <IfModule mod_filter.c>
        <IfModule mod_deflate.c>
            AddOutputFilterByType DEFLATE text/html text/javascript application/javascript text/css text/xml application/json text/json
         </IfModule>
    </IfModule>

    # Make sure CSS and JS files are read as UTF8 by the browsers.
    AddCharset UTF-8 .css
    AddCharset UTF-8 .js

    # Set explicit mime type for woff fonts since it is relatively new and apache may not know about it.
    AddType application/font-woff .woff

</Directory>

# Allow access to public interface for unauthenticated requests on systems with set-up authentication.
# Will work only for RegistrationUpdate, since page resources are still not be loaded.
# <Location /otrs/public.pl>
#     <IfModule mod_version.c>
#         <IfVersion < 2.4>
#             Order allow,deny
#             Allow from all
#         </IfVersion>
#         <IfVersion >= 2.4>
#             Require all granted
#         </IfVersion>
#     </IfModule>
#     <IfModule !mod_version.c>
#         Order allow,deny
#         Allow from all
#     </IfModule>
# </Location>

<IfModule mod_headers.c>
    # Cache css-cache for 30 days
    <Directory "/opt/otrs/var/httpd/htdocs/skins/*/*/css-cache">
        <FilesMatch "\.(css|CSS)$">
            Header set Cache-Control "max-age=2592000 must-revalidate"
        </FilesMatch>
    </Directory>

    # Cache css thirdparty for 4 hours, including icon fonts
    <Directory "/opt/otrs/var/httpd/htdocs/skins/*/*/css/thirdparty">
        <FilesMatch "\.(css|CSS|woff|svg)$">
            Header set Cache-Control "max-age=14400 must-revalidate"
        </FilesMatch>
    </Directory>

    # Cache js-cache for 30 days
    <Directory "/opt/otrs/var/httpd/htdocs/js/js-cache">
        <FilesMatch "\.(js|JS)$">
            Header set Cache-Control "max-age=2592000 must-revalidate"
        </FilesMatch>
    </Directory>

    # Cache js thirdparty for 4 hours
    <Directory "/opt/otrs/var/httpd/htdocs/js/thirdparty/">
        <FilesMatch "\.(js|JS)$">
            Header set Cache-Control "max-age=14400 must-revalidate"
        </FilesMatch>
    </Directory>
</IfModule>

# Limit the number of requests per child to avoid excessive memory usage
MaxRequestsPerChild 4000



Кусок Config.pm:

Код: Выделить всё

    # Синхронизация БД OTRS с БД LDAP	

    $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
    $Self->{'AuthSyncModule::LDAP::Host'} = 'maindc.domain.local';
    $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=domain,dc=local';
    $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
    $Self->{'AuthSyncModule::LDAP::AccessAttr'} = 'member';
    $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=adreader,OU=Administrators,DC=domain,DC=local';
    $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'password';
    
    # Enable Agent Mapping from LDAP to DB #
    $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
    UserFirstname => 'givenName',
    UserLastname => 'sn',
    UserEmail => 'mail',
    };

    $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
        'users',
    ];

        # Авторизация агентов через SSO   
#    $Self->{'AuthModule'} = 'Kernel::System::Auth::HTTPBasicAuth';
#    $Self->{LoginURL} = 'http://svrotrs/otrs/index.pl';
#    $Self->{LogoutURL} = 'http://svrotrs/otrs/thanks-for-using-otrs.html';

#     # Авторизация агентов через LDAP    
    $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
    $Self->{'AuthModule::LDAP::Host'} = 'maindc.domain.local';
    $Self->{'AuthModule::LDAP::BaseDN'} = 'OU=Users,DC=domain,DC=local';
    $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
    $Self->{'AuthModule::LDAP::GroupDN'} = 'CN=otrsAgentsGroup,OU=Groups,DC=domain,DC=local';
    $Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
    $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
    $Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=adreader,OU=Administrators,DC=domain,DC=local';
    $Self->{'AuthModule::LDAP::SearchUserPw'} = 'password';

    # Авторизация клиентов через Single-Sign-On (сквозная)
    $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
    $Self->{'Customer::AuthModule::HTTPBasicAuth::ReplaceRegExp'} ='@DOMAIN.LOCAL';
    $Self->{CustomerPanelLoginURL1} = 'http://svrotrs/customer.pl'; 
    $Self->{CustomerPanelLogoutURL1} = 'http://svrotrs/customer.pl'; 
Последний раз редактировалось firebolt 18 авг 2017, 07:17, всего редактировалось 1 раз.
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: Проблемы сквозной аутентификации

Сообщение alexus » 08 авг 2017, 09:31

Надо смотреть настройки авторизации Apache для index.pl и customer.pl. Скорее всего, надо в них настройки SSO разделить.
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Re: Проблемы сквозной аутентификации

Сообщение firebolt » 08 авг 2017, 09:48

alexus писал(а):Надо смотреть настройки авторизации Apache для index.pl и customer.pl. Скорее всего, надо в них настройки SSO разделить.
Спасибо. Попробую разобраться в них.
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Re: Проблемы сквозной аутентификации

Сообщение firebolt » 09 авг 2017, 07:13

alexus писал(а):Надо смотреть настройки авторизации Apache для index.pl и customer.pl. Скорее всего, надо в них настройки SSO разделить.
В самом файле конфига сайта otrs.conf я не вижу разделений на index.pl и customer.pl. Действуя согласно мануалу, я сделал следующие шаги, чтобы научить апач авторизовывать пользователей.
Вот эту часть конфига:

Код: Выделить всё

    # general mod_perl2 options
    <Location /otrs>
#        ErrorDocument 403 /otrs/customer.pl
        ErrorDocument 403 /otrs/index.pl
        SetHandler  perl-script
        PerlResponseHandler ModPerl::Registry
        Options +ExecCGI
        PerlOptions +ParseHeaders
        PerlOptions +SetupEnv

        <IfModule mod_version.c>
            <IfVersion < 2.4>
                Order allow,deny
                Allow from all
            </IfVersion>
            <IfVersion >= 2.4>
                Require all granted
            </IfVersion>
        </IfModule>
        <IfModule !mod_version.c>
            Order allow,deny
            Allow from all
        </IfModule>
    </Location>
заменил на это:

Код: Выделить всё

    # general mod_perl2 options
    <Location /otrs>
#        ErrorDocument 403 /otrs/customer.pl
        ErrorDocument 403 /otrs/index.pl
        SetHandler  perl-script
        PerlResponseHandler ModPerl::Registry
        Options +ExecCGI
        PerlOptions +ParseHeaders
        PerlOptions +SetupEnv

        AuthType Kerberos
        AuthName "Kerberos Authntication"
        KrbAuthRealms RUS.LOCAL
        Krb5Keytab /etc/apache2/svrotrs.keytab
        KrbMethodNegotiate On
        KrbSaveCredentials Off
        KrbVerifyKDC Off
        Require valid-user
    </Location>
И вот эту часть конфига:

Код: Выделить всё

<Directory "/opt/otrs/bin/cgi-bin/">
    AllowOverride None
    Options +ExecCGI -Includes

    ErrorDocument 403 /index.pl
    DirectoryIndex customer.pl
    AddHandler  perl-script .pl .cgi
    PerlResponseHandler ModPerl::Registry
    PerlOptions +ParseHeaders
    PerlOptions +SetupEnv

    <IfModule mod_version.c>
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </IfModule>
    <IfModule !mod_version.c>
        Order allow,deny
        Allow from all
    </IfModule>

    <IfModule mod_filter.c>
        <IfModule mod_deflate.c>
            AddOutputFilterByType DEFLATE text/html text/javascript application/javascript text/css text/xml application/json text/json
         </IfModule>
    </IfModule>

</Directory>
заменил на это:

Код: Выделить всё

<Directory "/opt/otrs/bin/cgi-bin/">
    AllowOverride None
    Options +ExecCGI -Includes

    ErrorDocument 403 /index.pl
    DirectoryIndex customer.pl
    AddHandler  perl-script .pl .cgi
    PerlResponseHandler ModPerl::Registry
    PerlOptions +ParseHeaders
    PerlOptions +SetupEnv

    AuthType Kerberos
    AuthName "Kerberos Authntication"
    KrbAuthRealms RUS.LOCAL
    Krb5Keytab /etc/apache2/svrotrs.keytab
    KrbMethodNegotiate On
    KrbSaveCredentials Off
    KrbVerifyKDC Off
    Require valid-user

</Directory>
Что бы мне теперь тут открутить, чтобы он не спрашивал пароль с агентов?
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Re: Проблемы сквозной аутентификации

Сообщение firebolt » 09 авг 2017, 07:15

Ввод openSuSE в домен не решил проблему, кстати говоря.
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

A.P.Gost
OTRS Новобранец
Сообщения: 5
Зарегистрирован: 31 июл 2017, 23:07

Re: Проблемы сквозной аутентификации

Сообщение A.P.Gost » 16 авг 2017, 20:29

а кусок конфига из первого сообщения правда так выглядит или вы там удалили данные чтобы не светить их на форуме?
OTRS 5.0.18
Centose 7
Что не по плечу то пох*й.

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Re: Проблемы сквозной аутентификации

Сообщение firebolt » 17 авг 2017, 06:09

A.P.Gost писал(а):а кусок конфига из первого сообщения правда так выглядит или вы там удалили данные чтобы не светить их на форуме?
Нет, данные я не удалял. Я их заменил. Подозрительный вопрос :D Почему вы хотите это знать?
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

Ответить