среда, 6 июня 2012 г.

GLPI - настраиваем прозрачную аутентификацию через Active Directory

Статья еще в стадии разработки



Настраиваем IP адрес
nano /etc/network/interfaces

Удаляем пакет resolvconf
apt-get remove resolvconf

Правим DNS

nano /etc/resolv.conf


Приводим файл к такому виду:
domain company.com
search company.com
nameserver 192.168.175.141

Правим /etc/hostname и вписываем имя нашего сервера

nano /etc/hostname

GLPI

Правим /etc/hosts так, чтобы в нём была запись с полным доменным именем компьютера и обязательно коротким именем хоста, ссылающаяся на один из внутренних IP
127.0.0.1 localhost
127.0.0.1 smbsrv01.domain.com smbsrv01
Обновляем ОС

apt-get update
apt-get upgrade


Ставим LAMP

sudo tasksel install lamp-server



Ставим необходимые компоненты для ввода в домен
sudo aptitude install krb5-user samba winbind
в процессе установки, клиент kerberos спросит имена сервера и домена. На все вопросы отвечаем доменным именем типа company.com

Проверяем ping и DNS
ping company.com
Если пинг идет, мы движемся дальше :)

Сверяем часы с PDC. Для этого ставим демон ntp, который будет регулярно сверять время
sudo aptitude install ntp

Правим /etc/krb5.conf


krb5.conf

Получаем билет
kinit username@DOMAIN.COM
теперь смотрим на полученый TGT
klist

Теперь правим конфиг SAMBA /etc/samba/smb.conf
[global]
   workgroup = DOMAIN
   realm = DOMAIN.COM
   security = ADS
   encrypt passwords = true
   dns proxy = no
   socket options = TCP_NODELAY
   domain master = no
   local master = no
   preferred master = no
   os level = 0
   domain logons = no
   load printers = no
   show add printer wizard = no
   printcap name = /dev/null
   disable spoolss = yes

Проверяем настройки командой
testparm

Ну и наконец-то заводим в домен
net ads join -U administrator -D DOMAIN

Настройка службы winbind в файле /etc/nsswitch.conf:
sed -i".bak" "s/^passwd\: .*/passwd\: compat winbind/" /etc/nsswitch.conf
sed -i".bak" "s/^group\: .*/group\: compat winbind/" /etc/nsswitch.conf

Перезапуск служб:
/etc/init.d/samba restart
/etc/init.d/winbind restart

Проверяем winbindd:
wbinfo -t
wbinfo -u

Собираем mod_auth_ntlm_winbind из исходников:
apt-get install git-core
cd /usr/src
git clone git://git.samba.org/jerry/mod_auth_ntlm_winbind.git
cd mod_auth_ntlm_winbind
aptitude install -y apache2-prefork-dev
apxs2 -DAPACHE2 -c -i mod_auth_ntlm_winbind.c
chmod 644 /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so
chmod 777 /var/run/samba/winbindd_privileged

sudo mv /etc/rc2.d/S20winbind /etc/rc2.d/S99winbind
sudo mv /etc/rc3.d/S20winbind /etc/rc3.d/S99winbind
sudo mv /etc/rc4.d/S20winbind /etc/rc4.d/S99winbind
sudo mv /etc/rc5.d/S20winbind /etc/rc5.d/S99winbind



Устанавливаем модуль:
echo "LoadModule auth_ntlm_winbind_module /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so" > /etc/apache2/mods-available/auth_ntlm_winbind.load

echo "LoadModule auth_ntlm_winbind_module modules/mod_auth_ntlm_winbind.so
   <Directory "/home/bitrix/www">
     AuthName \"NTLM Authentication thingy\"
     NTLMAuth on
     NTLMAuthHelper \"/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp\"
     NTLMBasicAuthoritative on
     AuthType NTLM
     require valid-user
   </Directory>" > /etc/httpd/conf.d/auth_ntlm_winbind.conf

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

Для NTLM авторизации необходимо включить опцию KeepAlive в конфигурационном файле apache:
sed -i".bak" "s/^KeepAlive .*/KeepAlive On/" /etc/apache2/apache2.conf

Перезапускаем apache:
/etc/init.d/apache2 reload

Устанавливаем phpmyadmin
apt-get install phpmyadmin

Создаем виртуальный каталог для glpi
nano /etc/apache2/conf.d/glpi.conf
добавляем содержимое:
Alias /help /usr/share/glpi
<Directory /usr/share/glpi>
        Options FollowSymLinks
        DirectoryIndex index.php
</Directory>
Качаем и распаковываем GLPI с сайта http://www.glpi-project.org/spip.php?article41&lang=en
cd /usr/src
wget https://forge.indepnet.net/attachments/download/1253/glpi-0.83.4.tar.gz
tar -xf glpi-0.83.4.tar.gz
mv glpi /usr/share/
chown -R www-data:www-data /usr/share/glpi
Ставим необходимые модули:
apt-get install php5-ldap php5-imap

Перезапускаем apache:
/etc/init.d/apache2 reload

0 коммент.:

Отправить комментарий