Настройка SSO (Single Sign On) авторизации на Apache в Active Directory (Debian 8 Jessie/Ubuntu Server 14.04)

SSO (Single Sing-on) – позволяет пользователям вошедшим в систему не вводить пароль при авторизации на доменных сетевых ресурсах. Этот же механизм можно запросто прикрепить к Apache, что бы позволить доменным пользователям проходить аутентификацию, например на внутреннем сайте компании, не вводя имя пользователя и пароль.

 

Исходные данные:

  • Контроллер домена (DC1) на Windows Server 2012 R2, домен JAKONDA.LOCAL
  • Веб-сервер (webserver) (Apache 2.4.10) на Debian 8 Jessie

 

Настройка системы (Debian 8 Jessie)

Указываем FQDN (Fully Qualified Domain Name) имя системы, в файле (/etc/hostname):

webserver.jakonda.local

 

Настраиваем синхронизацию времени с контроллером домена, выполняем установку NTP, выполняем синхронизацию времени с контроллером домена:

apt-get install ntp ntpdate

ntpdate dc1.jakonda.local
Более подробно о синхронизации времени на Debian 8 Jessie/Ubuntu Server 14.04 можно почитать в этой статье

 

Настройка Active Directory (Windows Server 2012 R2)

В DNS зону (JAKONDA.LOCAL), добавляем A-запись веб-сервера:

 

Создаем служебного пользователя (прим. apache), с бесконечным срок действия пароля.

 

Создаем KEYTAB-файл (необходим для аутентификации пользователей в Active Directory). В командной строке с правами администраторы выполняем команду (соблюдая регистр):

ktpass -princ HTTP/webserver.jakonda.local@JAKONDA.LOCAL -mapuser apache@JAKONDA.LOCAL -pass Aa1234567 -crypto RC4-HMAC-NT -ptype KRB5_NT_PRINCIPAL -out C:\webserver.keytab

 

Полученный KEYTAB-файл, передаем любым удобным способом на Веб-сервер (расположение KEYTAB-файла на моем веб-сервере — /etc/webserver.keytab). Как передать файл посредством утилиты PuTTY можно прочитать тут

 

Настройка Kerberos (Debian 8 Jessie)

Установка пакетов для поддержки аутентификации Kerberos:

apt-get install krb5-user libapache2-mod-auth-kerb
В ходе установки может появится запрос указать область по-умолчанию для Kerberos, область необходимо его указать в заглавном виде (прим. JAKONDA.LOCAL)

 

Файл конфигурации Kerberos (/etc/krb5.conf), приводим к виду:

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = JAKONDA.LOCAL
 default_keytab_name = /etc/webserver.keytab
 dns_lookup_kdc = false
 dns_lookup_realm = false
 forwardable = true
 ticket_lifetime = 24h

[realms]
 JAKONDA.LOCAL = {
 kdc = dc1.jakonda.local
 default_domain = JAKONDA.LOCAL
 admin_server = dc1.jakonda.local
 }

[domain_realm]
 .jakonda.local = JAKONDA.LOCAL
 jakonda.local = JAKONDA.LOCAL

 

Проверка работы Kerberos, выполним авторизацию в Active Directory:

kinit -kV -p HTTP/webserver.jakonda.local

Using default cache: /tmp/krb5cc_0
Using principal: HTTP/webserver.jakonda.local@JAKONDA.LOCAL
Authenticated to Kerberos v5

Удаляем полученный билет:

kdestroy

 

Настройка Apache (Debian 8 Jessie)

Выставляем права на KEYTAB-файл для веб-сервера:

chown root:www-data /etc/webserver.keytab
chmod 640 /etc/webserver.keytab

 

В качестве примера Kerberos аутентификации в Apache, в конфигурацию веб-сервера по-умолчанию (000-default.conf), добавляем:

<VirtualHost *:80>
 # ... ServerName webserver.jakonda.local

  <Location /> 
    AuthType Kerberos 
    AuthName "Kerberos authenticated intranet" 
    KrbAuthRealms JAKONDA.LOCAL 
    KrbServiceName HTTP/webserver.jakonda.local 
    Krb5Keytab /etc/webserver.keytab 
    KrbMethodNegotiate On 
    KrbMethodK5Passwd On 
    require valid-user 
  </Location> 
</VirtualHost>

 

Чтобы SSO аутентификации проходила корректно, необходимо добавить веб-сервер в зону местной интрасети:

 

Хочу обратить внимание, что при попытке доступа на сайт по IP-адресу SSO аутентификация работать не будет. Необходимо обязательно использовать доменное имя (прим. http://webserver)

Интеграция OTRS 6.0.5 (Open-source Ticket Request System) с Active Directory. Настройка прозрачной аутентификации SSO (Single Sign On).

Разберем как интегрировать OTRS с Active Directory. Рассмотрим два варианта аутентификации, обычная и прозрачная (SSO).

 

Исходные данные:

  • Развернутая система OTRS 6.0.5 (по этой статье)
  • Домен контроллер Windows Server 2012 R2 (JAKONDA.LOCAL)

 

Для интеграции OTRS с Active Directory, необходимо создать пользователя который будет выступать администратором OTRS и с помощью которого будет осуществляться чтение LDAP, для авторизации всех остальных пользователей системы OTRS.

 

Создание пользователя в Active Directory

Создаем пользователя (прим. admin.otrs), снимаем галочку «Требовать смены пароля при следующем входе в систему», выставляем галочки «Запретить смену пароля пользователем», «Срок действия пароля не ограничен». После создания пользователя, в свойствах его, указываем адрес электронной почты.

ВАЖНО: у всех пользователей должен существовать адрес электронной почты. Это обязательное условие для всех пользователей OTRS.

 

Создаем группу (прим. OTRSagents) и добавляем в нее ранее созданную учетную запись администратора OTRS (admin.otrs).

Данная группа будет служить фильтром доступа, на агентурный портал OTRS. Все входящие пользователи в состав этой группы будет иметь доступ, все остальные нет.

 

Интеграция OTRS с Active Directory

Заходим на агентурный портал OTRS (http://OTRS_Server_IP/otrs/index.pl), авторизовываемся под учетной записью root@localhost.

 

Переходим в Администрирование — Агенты:

 

Редактируем пользователя root@localhost:

 

Изменяем Логин, Пароль, Email на аналогичные данные от ранее созданного пользователя в Active Directory (admin.otrs).

 

Редактируем конфигурационный файл /opt/otrs/Kernel/Config.pm. После строки (# insert your own config settings «here» #) вставляем:

# ----------------LDAP-Authenticated-------------- #

$Self->{'DefaultCharset'} = 'utf-8';

# Аутентификация LDAP в Агентурный портал
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';

# Можно задать страницу редиректа в случае авторизации и деавторизации
#$Self->{LoginURL} = 'http://helpdesk/index.pl';
#$Self->{LogoutURL} = 'http://helpdesk/otrs/index.pl?Action=Logout';

$Self->{'AuthModule::LDAP::Host'} = '192.168.1.2';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=jakonda,dc=local';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';

# Проверка наличия пользователя в группе OTRS_Agents, для доступа к Агентурному порталу
$Self->{'AuthModule::LDAP::GroupDN'} = 'cn=OTRS_Agents,ou=Users,dc=jakonda,dc=local';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'admin.otrs@jakonda.local';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'Aa1234567';
$Self->{'AuthModule::LDAP::Params'} = {
 port => 389,
 timeout => 120,
 async => 0,
 version => 3,
 },

# Синхронизация пользователей из каталога LDAP
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = '192.168.1.2';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=jakonda,dc=local';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'admin.otrs@jakonda.local';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'Aa1234567';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
 UserFirstname => 'givenName',
 UserLastname => 'sn',
 UserEmail => 'mail',
 };
# Синхронизировать пользователей из указанного каталога
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
 'ActiveUsers',
 ];

# Авторизация LDAP в клиентский портал
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';

# Можно задать страницу редиректа в случае авторизации и деавторизации
$Self->{CustomerPanelLoginURL1} = 'http://helpdesk/otrs/customer.pl';
$Self->{CustomerPanelLogoutURL1} = 'http://helpdesk/otrs/customer.pl';

$Self->{'Customer::AuthModule::LDAP::Host'} ='192.168.1.2';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=jakonda,dc=local';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'admin.otrs@jakonda.local';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'Aa1234567';
$Self->{CustomerUser} = {
 Module => 'Kernel::System::CustomerUser::LDAP',
 Params => {
 Host => '192.168.1.2',
 BaseDN => 'dc=jakonda,dc=local',
 SSCOPE => 'sub',
 UserDN => 'admin.otrs@jakonda.local',
 UserPw => 'Aa1234567',
 AlwaysFilter => '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))',
 SourceCharset => 'utf-8',
 DestCharset => 'utf-8',
 },

CustomerKey => 'sAMAccountName',
 CustomerID => 'mail',
 CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
 CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
 CustomerUserSearchPrefix => '',
 CustomerUserSearchSuffix => '*',
 CustomerUserSearchListLimit => 10000,
 CustomerUserPostMasterSearchFields => ['mail'],
 CustomerUserNameFields => ['givenname', 'sn'],
 Map => [
 #[ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
 [ 'UserFirstname', 'Firstname', 'displayname', 1, 1, 'var' ],
 [ 'UserLastname', 'Lastname', '', 1, 1, 'var' ],
 [ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ],
 [ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
 [ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
 ],
 };
 # ---------------------------------------------------- #

 

Перезапускаем веб-сервер apache:

service apache2 restart

 

Проверяем аутентификацию доменных пользователей в агентурном портале (http://OTRS_Server_IP/otrs/index.pl) и пользовательском (http://OTRS_Server_IP/otrs/customer.pl). Для доступа в агентурный портал, пользователь должен состоять в группе OTRSagents.

 

Агенты создаются в базе OTRS, после первого входа. У созданного агента будут отсутствовать права администратора, для их выдачи нужно авторизоваться под начальным администратором (admin.otrs) и выдать права новому агенту.

 

Проверим подтянулись ли учетные записи пользователей из Active Directory. Переходим в Администрирование — Учетная запись клиента.

 

 

Прозрачная аутентификация SSO (Single Sign On)

Реализацию прозрачной/сквозной (SSO) аутентификации в OTRS, будем осуществлять посредством авторизации Apache в Active Directory.

 

Выполняем настройку авторизации SSO на Apache в Active Directory по этой статье. При создании KEYTAB-файла, используем созданную ранее учетную запись администратора (admin.otrs).

 

Редактируем конфигурационный файл /opt/otrs/Kernel/Config.pm. После строки (# insert your own config settings «here» #) вставляем:

# ----------------SSO-LDAP-Authenticated-------------- #

$Self->{'DefaultCharset'} = 'utf-8';
 
# Аутентификация SSO в Агентурный портал
$Self->{'AuthModule'} = 'Kernel::System::Auth::HTTPBasicAuth';
$Self->{'AuthModule::HTTPBasicAuth::ReplaceRegExp'} = '@JAKONDA.LOCAL';

# Можно задать страницу редиректа в случае авторизации и деавторизации
#$Self->{LoginURL} = 'http://helpdesk/index.pl';
#$Self->{LogoutURL} = 'http://helpdesk/otrs/index.pl?Action=Logout';

$Self->{'AuthModule::LDAP::Host'} = '192.168.1.2';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=jakonda,dc=local';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';

# Проверка наличия пользователя в группе OTRS_Agents, для доступа к Агентурному порталу
$Self->{'AuthModule::LDAP::GroupDN'} = 'cn=OTRS_Agents,ou=Users,dc=jakonda,dc=local';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'admin.otrs@jakonda.local';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'Aa1234567';
$Self->{'AuthModule::LDAP::Params'} = {
 port => 389,
 timeout => 120,
 async => 0,
 version => 3,
 sscope => 'sub'
 },

# Синхронизация пользователей из каталога LDAP
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = '192.168.1.2';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=jakonda,dc=local';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'admin.otrs@jakonda.local';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'Aa1234567';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
 UserFirstname => 'givenName',
 UserLastname => 'sn',
 UserEmail => 'mail',
 };
 # Синхронизировать пользователей из указанного каталога
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
 'ActiveUsers',
 ];

# Авторизация SSO в клиентский портал
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
$Self->{'Customer::AuthModule::HTTPBasicAuth::ReplaceRegExp'} = '@JAKONDA.LOCAL';

# Можно задать страницу редиректа в случае авторизации и деавторизации
$Self->{CustomerPanelLoginURL1} = 'http://helpdesk/otrs/customer.pl';
$Self->{CustomerPanelLogoutURL1} = 'http://helpdesk/otrs/customer.pl';

$Self->{'Customer::AuthModule::LDAP::Host'} ='192.168.1.2';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=jakonda,dc=local';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'admin.otrs@jakonda.local';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'Aa1234567';
$Self->{CustomerUser} = {
 Module => 'Kernel::System::CustomerUser::LDAP',
 Params => {
 Host => '192.168.1.2',
 BaseDN => 'dc=jakonda,dc=local',
 SSCOPE => 'sub',
 UserDN => 'admin.otrs@jakonda.local',
 UserPw => 'Aa1234567',
 AlwaysFilter => '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))',
 SourceCharset => 'utf-8',
 DestCharset => 'utf-8',
 },

CustomerKey => 'sAMAccountName',
 CustomerID => 'mail',
 CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
 CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
 CustomerUserSearchPrefix => '',
 CustomerUserSearchSuffix => '*',
 CustomerUserSearchListLimit => 10000,
 CustomerUserPostMasterSearchFields => ['mail'],
 CustomerUserNameFields => ['givenname', 'sn'],
 Map => [
 #[ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
 [ 'UserFirstname', 'Firstname', 'displayname', 1, 1, 'var' ],
 [ 'UserLastname', 'Lastname', '', 1, 1, 'var' ],
 [ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ],
 [ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
 [ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
 ],
 };
 # ---------------------------------------------------- #

 

Перезапускаем веб-сервер apache:

service apache2 restart

 

Проверяем аутентификацию доменных пользователей в агентурном портале (http://OTRS_Server_IP/otrs/index.pl) и пользовательском (http://OTRS_Server_IP/otrs/customer.pl). При входе на тот или иной портал, авторизация должна пройти автоматически


Установка OTRS на Ubuntu Server

Установка OTRS на Ubuntu Server

Данное руководство предназначено для тех, у кого есть желание самостоятельно установить OTRS на Ubuntu Server.

OTRS (Open-source Ticket Request System) – система для обработки заявок, которая позволяет ИТ-специалистам, занимающимся технической поддержкой, совместно работать над решением проблем, возникших у пользователей.

OTRS используют многие известные организации, в том числе:
Фонд Викимедиа,
Mail.ru,
Яндекс,
Объединенная компания Афиша и Рамблер,
Альт Линукс,
Регистратор доменных имён Рег.ру.

В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 15.10.

Подробно о том, как установить Ubuntu Server 15.10, вы можете прочитать в моем руководстве «Установка Ubuntu Server 15.10». Узнать о том, как настроить OTRS, вы можете прочитав мое руководство «Настройка OTRS». Также в моем руководстве «Интеграция OTRS с Active Directory», вы можете узнать о том, как настроить интеграцию OTRS с Active Directory.

Обратите внимание, все команды необходимо выполнять без кавычек.

Для начала вам потребуются полноценные права.

Выполняем команду «sudo su» и вводим пароль.

ustanovka-otrs-na-ubuntu-server-1

Теперь обновим локальный индекс пакетов до последних изменений в репозиториях.

Выполняем команду «apt-get update».

ustanovka-otrs-na-ubuntu-server-2

Далее установим доступные обновления для пакетов.

Выполняем команду «apt-get upgrade».

ustanovka-otrs-na-ubuntu-server-3

Система уведомляет о том, что для установки потребуется свободное место на диске.

Нажимаем на кнопку “y”, затем “Enter”.

ustanovka-otrs-na-ubuntu-server-4

Теперь установим openssh-server, чтобы получить доступ к серверу по протоколу SSH. Это существенно упростит установку, так как вы получите возможность копировать нужные команды из данного руководства, а затем подключившись к серверу по SSH при помощи программы PuTTY, сможете выполнять скопированные команды.

Выполняем команду «apt-get install openssh-server».

ustanovka-otrs-na-ubuntu-server-5

Система уведомляет о том, что для установки потребуется свободное место на диске.

Нажимаем на кнопку “y”, затем “Enter”.

ustanovka-otrs-na-ubuntu-server-6

Чтобы получить доступ к серверу по SSH, нужно знать его IP-адрес.

Чтобы узнать IP-адрес сервера, выполняем команду «ifconfig».

ustanovka-otrs-na-ubuntu-server-7

Теперь к серверу можно подключиться по протоколу SSH.

В данном руководстве для подключения к серверу по SSH будет использоваться программа PuTTY.

Подробнее о том, как установить PuTTY, вы можете прочитать в моем руководстве «Подключение к серверу по SSH при помощи PuTTY».

Запускаем PuTTY и в поле “Host Name (or IP address)” указываем IP-адрес сервера, затем нажимаем на кнопку “Open”.

ustanovka-otrs-na-ubuntu-server-8

Далее необходимо подтвердить, что мы доверяем серверу, к которому подключаемся.

Нажимаем на кнопку “Yes”.

ustanovka-otrs-na-ubuntu-server-9

Далее необходимо авторизоваться на сервере.

ustanovka-otrs-na-ubuntu-server-10

Получим полноценные права.

Выполняем команду «sudo su» и вводим пароль.

ustanovka-otrs-na-ubuntu-server-11

Теперь необходимо загрузить дистрибутив OTRS. Обратите внимание, на момент установки актуальная версия OTRS 5.0.6.

Выполняем команду «wget ftp://ftp.otrs.org/pub/otrs/otrs-5.0.6.tar.gz».

ustanovka-otrs-na-ubuntu-server-12

Распаковываем загруженный архив командой «tar -xvzf otrs-5.0.6.tar.gz».

ustanovka-otrs-na-ubuntu-server-13

Теперь перемещаем распакованные файлы OTRS в папку “/opt/otrs” командой «mv otrs-5.0.6 /opt/otrs».

ustanovka-otrs-na-ubuntu-server-14

Далее устанавливаем компоненты необходимые для работы OTRS.

Выполняем команду «apt-get install apache2 fetchmail libapache2-mod-perl2 libdbd-mysql-perl libnet-dns-perl libnet-ldap-perl libio-socket-ssl-perl libpdf-api2-perl libsoap-lite-perl libgd-text-perl libgd-graph-perl libapache-dbi-perl libyaml-libyaml-perl libtemplate-perl libarchive-zip-perl liblwp-useragent-determined-perl libapache2-reload-perl libnet-smtp-ssl-perl libnet-smtp-tls-butmaintained-perl libgd-gd2-perl libjson-xs-perl libpdf-api2-simple-perl libtext-csv-xs-perl libxml-parser-perl libmail-imapclient-perl mysql-server».

ustanovka-otrs-na-ubuntu-server-15

Система уведомляет о том, что для установки потребуется свободное место на диске.

Нажимаем на кнопку “y”, затем “Enter”.

ustanovka-otrs-na-ubuntu-server-16

На данном этапе предлагается указать пароль администратора для MySQL. Настоятельно рекомендую указать надежный пароль.

Нажимаем на кнопку “Ok”.

ustanovka-otrs-na-ubuntu-server-17

Необходимо указать пароль еще раз.

Нажимаем на кнопку “Ok”.

ustanovka-otrs-na-ubuntu-server-18

Теперь необходимо создать пользователя для OTRS. Новому пользователю нужно указать “домашнюю” папку “/opt/otrs”, а также добавить в группу пользователей веб-сервера.

Обратите внимание, в данной команде используется символ «’» (на русской клавиатуре находится на той же кнопке, что и буква “э”).

Выполняем команду «useradd -d /opt/otrs/ -c 'OTRS user' otrs».

ustanovka-otrs-na-ubuntu-server-19

Выполняем команду «usermod -G www-data otrs».

ustanovka-otrs-na-ubuntu-server-20

Теперь необходимо подготовить файл конфигурации OTRS.

Выполняем команду «cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm».

ustanovka-otrs-na-ubuntu-server-21

На данном этапе необходимо назначить соответствующие права доступа.

Выполняем команду «/opt/otrs/bin/otrs.SetPermissions.pl --web-group=www-data».

ustanovka-otrs-na-ubuntu-server-22

Выполняем команду «/opt/otrs/bin/otrs.CheckModules.pl», чтобы просмотреть установленные модули.

Обратите внимание: обязательными к установке являются только модули, отмеченные значением “required”. Модули, отмеченные значением “optional” не являются обязательными.

ustanovka-otrs-na-ubuntu-server-23

Далее необходимо выполнить три команды, чтобы проверить правильно ли установлен Perl.

Выполняем команду «perl -cw /opt/otrs/bin/cgi-bin/index.pl».

ustanovka-otrs-na-ubuntu-server-24

Выполняем команду «perl -cw /opt/otrs/bin/cgi-bin/customer.pl».

ustanovka-otrs-na-ubuntu-server-25

Выполняем команду «perl -cw /opt/otrs/bin/otrs.PostMaster.pl».

ustanovka-otrs-na-ubuntu-server-26

После выполнения команд, вы должны увидеть “syntax OK” – это означает, что Perl установлен правильно.

Теперь необходимо подготовить Apache.

Выполняем команду «ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-available/otrs.conf».

ustanovka-otrs-na-ubuntu-server-27

Выполняем команду «a2ensite otrs.conf».

ustanovka-otrs-na-ubuntu-server-28

Перезапускаем Apache командой «service apache2 reload».

ustanovka-otrs-na-ubuntu-server-29

Apache подготовлен.

Теперь необходимо изменить конфигурацию MySQL.

Выполняем команду «nano /etc/mysql/my.cnf».

ustanovka-otrs-na-ubuntu-server-30

В конце указываем параметры:

[mysqld]
max_allowed_packet = 20M
query_cache_size = 32M
innodb_log_file_size = 256M

ustanovka-otrs-na-ubuntu-server-31

Для того чтобы сохранить изменения в файле “my.cnf”, нажимаем “Ctrl+X”.

Теперь необходимо подтвердить сохранение изменений.

Нажимаем на кнопку “y”.

ustanovka-otrs-na-ubuntu-server-32

Нажимаем на кнопку “Enter”.

ustanovka-otrs-na-ubuntu-server-33

Конфигурация MySQL изменена.

Перезапустим MySQL при помощи следующих комманд

Выполняем команду «service mysql stop».

ustanovka-otrs-na-ubuntu-server-34

Выполняем команду «rm /var/lib/mysql/ib_logfile0».

ustanovka-otrs-na-ubuntu-server-35

Выполняем команду «rm /var/lib/mysql/ib_logfile1».

ustanovka-otrs-na-ubuntu-server-36

Выполняем команду «service mysql start».

ustanovka-otrs-na-ubuntu-server-37

MySQL перезапущен.

Для продолжения установки необходимо с рабочей станции перейти по ссылке http://10.77.2.31/otrs/installer.pl, где 10.77.2.31 – IP-адрес моего сервера. Соответственно вам необходимо указать IP-адрес вашего сервера OTRS. Для того чтобы узнать IP-адрес вашего сервера, вы можете выполнить на нем команду “ifconfig”.

Начинается заключительный этап установки OTRS.

Нажимаем на кнопку “Next”.

ustanovka-otrs-na-ubuntu-server-38

На шаге № 1 система предлагает прочитать сведения о лицензии.

Нажимаем на кнопку “Accept licence and continue”.

ustanovka-otrs-na-ubuntu-server-39

На шаге № 2 необходимо указать тип базы данных, с которым будет работать OTRS.

В поле “Type” выбираем “MySQL”, затем выбираем “Create a new database for OTRS” и нажимаем на кнопку “Next”.

ustanovka-otrs-na-ubuntu-server-40

Теперь необходимо ввести пароль администратора базы данных, который вы указали на этапе установки MySQL.

Нажимаем на кнопку “Check database settings”.

ustanovka-otrs-na-ubuntu-server-41

Затем предлагается создать нового пользователя с ограниченными правами в базе данных MySQL.

На данном шаге вам требуется указать надежный пароль для нового пользователя otrs.

Нажимаем на кнопку “Next”.

ustanovka-otrs-na-ubuntu-server-42

Система уведомляет, что база данных настроена.

Нажимаем на кнопку “Next”.

ustanovka-otrs-na-ubuntu-server-43

На шаге № 3 необходимо указать полное доменное имя системы, электронную почту администратора OTRS, организацию, как будут храниться логи системы, а также желаемые языковые параметры.

В пункте “SystemID” выбираем “10”.

В пункте “CheckMXRecord” выбираем “No”.

После того как свободные поля будут заполнены, нажимаем на кнопку “Next”.

ustanovka-otrs-na-ubuntu-server-44

Далее на шаге № 3 предлагается указать сервер для исходящих и входящих сообщений электронной почты. Более подробно эти настройки будут рассматриваться в руководстве «Настройка OTRS».

Нажимаем на кнопку “Skip this step”.

ustanovka-otrs-na-ubuntu-server-45

На шаге № 4 указана ссылка и учетные данные для входа в OTRS.

Рекомендую добавить в избранное ссылку для входа в систему.

ustanovka-otrs-na-ubuntu-server-46

Теперь для правильной работы OTRS, необходимо запустить специальный демон для OTRS и настроить планировщик задач

Переходим в папку “/opt/otrs/var/cron” командой «cd /opt/otrs/var/cron».

ustanovka-otrs-na-ubuntu-server-47

Обратите внимание, в следующей команде используется символ “`” (на русской клавиатуре находится на той же кнопке, что и буква “ё”).

Выполняем команду «for foo in *.dist; do cp $foo `basename $foo .dist`; done».

ustanovka-otrs-na-ubuntu-server-48

Заходим под ранее созданным пользователем.

Выполняем команду «su otrs».

ustanovka-otrs-na-ubuntu-server-49

Запускаем специальный демон для OTRS.

Выполняем команду «/opt/otrs/bin/otrs.Daemon.pl start».

ustanovka-otrs-na-ubuntu-server-50

Теперь запустим планировщик задач.

Выполняем команду «/opt/otrs/bin/Cron.sh start».

ustanovka-otrs-na-ubuntu-server-51

Проверим планировщик задач.

Выполняем команду «crontab -l».

ustanovka-otrs-na-ubuntu-server-52

Планировщик работает.

ustanovka-otrs-na-ubuntu-server-53

Для входа в систему необходимо перейти по ссылке http://10.77.2.31/otrs/index.pl, где 10.77.2.31 – IP-адрес моего сервера. Соответственно вам необходимо указать IP-адрес вашего сервера OTRS.

Далее, вам нужно воспользоваться данными для входа в OTRS, которые были выданы системой во время установки. Настоятельно рекомендую, сразу после входа в OTRS изменить пароль для учетной записи root@localhost.

ustanovka-otrs-na-ubuntu-server-54

После успешного входа в OTRS, вы увидите главную страницу, на которой в дальнейшем будут видны заявки с разными статусами.

Настройка системы под конкретные задачи, будут подробно рассматриваться в руководстве «Настройка OTRS».

ustanovka-otrs-na-ubuntu-server-55

Установка OTRS на Ubuntu Server успешно завершена.


Исправление ошибки «user is not in the sudoers file. This incident will be reported» в Ubuntu сброс пароля

По умолчанию в Ubuntu, первая учетная запись которую вы создали в процессе установки, имеет права администратора системы. С помощью этой учетной записью, вы можете выполнять административные задачи с использованием  команды «sudo». Команда «sudo» относится к  группе Super User (Супер пользователей), все пользователи в этой группе имеют права администратора для управления системой. Однако, если вы случайно удалили себя из  «sudo» группы, вы не сможете ничего сделать. Вместо этого, единственное, что вы увидите, это сообщение: «user is not in the sudoers file. This incident will be reported»

Как исправить эту ошибку:

1. Перезагрузите компьютер. Если Ubuntu является вашей основной и единственной операционной системой, то при загрузке системы нажмите кнопку «Shift». На вашем мониторе должен появиться загрузчик Grub. Выберите режим восстановления и нажмите Enter.

2. В следующем диалоговом сообщении выберите  «Check all file system (will exit read only mode)» («Проверить все файловые системы ( режим только для чтения)»).

Когда увидите сообщение «Finished, press Enter», нажмите Enter.

3. Затем выберите «Drop to root shell prompt».

4. Запуститься командная строка. Введите:

usermod -a -G admin username

Замените имя пользователя «username» на ваше имя пользователя.

5. Вот и все. Теперь введите «exit»  и перезагрузите систему.

В случае если вы испортили файл /etc/sudoers, выполните следующие действия:

Выше описанные шаги предполагают, что ваш etc/sudoers файл не изменялся и не поврежден. Если у вас неправильный файл /etc/sudoers. Вот что вам нужно сделать:

1. Выполните вышеупомянутые первые 3-и шага.

2. В командной строке введите:

sudo cp /etc/sudoers /etc/sudoers.backup
sudo nano /etc/sudoers

Введите следующие строки в файл

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

#includedir /etc/sudoers.d

Нажмите «Ctrl + O», чтобы сохранить файл и «Ctrl + X», чтобы выйти.

3. Далее, установите права для файла sudoers:

chmod 440 /etc/sudoers

4. Наконец, добавьте себя в Sudo группу:

usermod -a -G admin username

5. Перезагрузите систему.

Теперь вы сможете выполнять задачи в режиме «sudo».


Обновить Kali и установить ssh

Обновить Kali и установить ssh

# apt-get update

# apt-get install ssh

Включить и добавить в автозагрузку

# systemctl enable ssh

# service ssh start

Отредактировать если хотите заходить с root правами

— nano /etc/ssh/sshd_config

#PermitRootLogin prohibit-password

на PermitRootLogin yes

Рестарт ssh — # service ssh restart


FAQ

часть пользователей были перенесены на сервер стандартным импортом из панели но сейчас сайты пишут что нет доступа к БД
CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘externe.t’ doesn’t exist
и на панель не могу зайти чтобы посмотреть или перезагрузить изза чего это

 

У вас переполнились дисковые айноды из-за большого количества хранимых сессий php.
Для удаления этих файлов у php есть встроенный механизм сборщика мусора, который так и называется garbage collector. И для сессий он отрабатывает по довольно простой схеме, работа которой задается переменными в настройках PHP:
Для всех файлов сессий, которые были созданы больше, чем «session.gc_maxlifetime» секунд назад (у вас — 1440 секунд, 24 минуты) есть вероятность, что файл будет удален. Вероятность равна «session.gc_probability» разделенная на»session.gc_divisor».
Делитель обычно задается стандартный, равный 1000, а вот параметр session.gc_probability — и есть ключевая переменная в вероятности срабатывания. И у вас она была выставлена в 0. Что означало, что PHP никогда не очищал старые сессии. Из-за чего у вас и было их создано несколько миллионов.
Сейчас поcтавил параметр на 1 и почистил сессии.
Проверьте, пожалуйста, работу сайтов. Панель управления открывается.
————————-


Pritunl — VPN-сервер для себя и друзей за 10 минут

После простой установки, без особого труда и углубленных знаний вы сможете создавать пользователей, генерировать VPN-профили и смотреть графики использования сети.

 

А обеспечив VPN-подключением себя и ваших близких, вы можете попробовать разделить траты за виртуальный сервер с вашими друзьями и знакомыми.