Calculate Directory Server с WEB-интерфейсом управления. Ввод Ubuntu Linux и MS Windows в домен.
Содержание
- 1 Установка и базовая настройкаCDS
- 2 Управление пользователями в ssh-консоли сервера
- 3 Ввод Windows в домен Calculate
- 4 Ввод Ubuntu Linux в домен
- 5 Управление пользователями через WEB-интерфейс
Установка и базовая настройкаCDS
Установка
- Загружаемся с диска
- Выбираем загрузку в режиме Live-CD. Ждем появления рутовой консоли
- Устанавливаем сервер выполнив команду
cl-install -d /dev/sda1
естественно, раздел /dev/sda1 должен существовать перед выполнением этой команды
- Подтверждаем намерения установить систему введя на вопрос ответ
yes
- Процесс установки должен быть похож на это:
Run process? (yes/no): yes * Formatting the partitions [=========================================================>]100% Time: 00:01:03 * Unpacking the system image to the target [=========================================================>]100% Time: 00:03:28 * Copying clt templates to the new system * Copying configuration files to the new system * Creating a new initrd file * Updating the configuration [================================================================>]100% Time: 00:00:17 * Post-install configuration * Migrating users * Preparing the system for reboot * Unmounting the target system volume * System successfully installed!
- Выполняем команду
poweroff
- Вытаскиваем загрузочный диск, меняем в биосе порядок загрузки, загружаем сервер
Настройка сети
Для IP адреса в одной сети
- Настраиваем сеть выполнив команду
cl-setup-network --ip eth0:off:192.168.10.222:24 --route default:192.168.10.1:eth0:192.168.10.222 --dns 192.168.10.1
Для нескольких IP адресов в нескольких сетях
- Выполняем предыдущий пункт
- Открываем файл /etc/conf.d/net
- Вписываем настройки по вкусу основываясь на содержимом:
#------------------------------------------------------------------------------ # Modified Calculate-install 3.0.2 # Processed template files: # /var/lib/layman/calculate/profiles/templates/install-3.0/1live/openrc/conf.d/net # For modify this file, create /etc/conf.d/net.clt template. #------------------------------------------------------------------------------ modules="!plug" config_eth0="192.168.10.222/24 192.168.155.222/24 192.168.156.222/24 192.168.158.222/24 192.168.159.222/24" routes_eth0="default via 192.168.10.1" dns_servers="192.168.10.1" ifplugd="--no-beep"
- Перезапускаем настройки сети командой:
/etc/init.d/net.eth0 restart
- Подключаемся любимым способом по ssh
- Установка завершена
Настройка VLAN командами
Подгружаем модуль ядра
modprobe 8021q
Добавляем Vlan с id 155 на интерфейс eth0
vconfig add eth0 155
при успешном выполнении команды получаем ответ
Added VLAN with VID == 155 to IF -:eth0:-
для удаления Vlan с id 155 с интерфейса eth0 выполняем
vconfig rem eth0.155
Монтирование раздела с пользовательскими данными с использованием квот для пользователей
- Выполнить обновление сразу дерева портежей и оверлея Calculate, а также базы данных программы eix можно одной командой:
eix-sync
Для успешной работы этой команды необходимо наличие подключения к сети интернет. Команда отрабатывает достаточно долго.
- Выполнить обновление portage
emerge portage
- Выполнить обновление системы
emerge -uDNa world
- Установить программу quota командой:
emerge sys-fs/quota
CDS-сервер хранит данные пользователей в директории
/var/calculate/server-data/
Предположим, что наш раздел на жестком диске, на котором будут храниться пользовательские данные, будет называться
/dev/sdb1
и будет отформатирован в файловую систему
xfs
предполагается, что читатель знает как отформатировать раздел в эту файловую систему. Необходимо /dev/sdb1 смонтировать в директорию /var/calculate/server-data/ с поддержкой дисковых квот для пользователей.
- Чтобы монтирование происходило всегда при запуске сервера необходимо в
/etc/fstab
добавить следующую строчку:
/dev/sdb1 /var/calculate/server-data xfs defaults,usrquota 0 1
например, после строчки, в которой указаны параметры монтирования корневой файловой системы.
Настройка LDAP UNIX SAMBA
- Настраиваем LDAP командой:
calculate ~ # cl-setup ldap * WARNING: Executing of the program will change the configuration files and database of LDAP service. If you are ready to continue executing the program, input 'yes', if not 'no': yes * Erased LDAP Database ... [ ok ] * Added ldif file ... [ ok ] * LDAP service configured ... [ ok ]
- Настраиваем UNIX командой:
calculate ~ # cl-setup unix * WARNING: Executing of the program will change the configuration files and database of LDAP service. If you are ready to continue executing the program, input 'yes', if not 'no': yes * Added ldif file ... [ ok ] * Unix service configured ... [ ok ]
- Настраиваем SABMA командой:
calculate ~ # cl-setup -n orgname -w orgname-cds samba * WARNING: Executing of the program will change the configuration files of Samba service. If you are ready to continue executing the program, input 'yes', if not 'no': yes * Added ldif file ... [ ok ] * Starting Samba ... [ ok ] * Added user client in Unix service * Added user client in Samba service * Added user admin in Unix service * Added user admin in Samba service * Samba service configured ... [ ok ]
, где -n orgname - это NET-BIOS имя CD-сервера, а orgname-cds - это имя рабочей группы.
ВНИМАНИЕ:В СЛУЧАЕ С ВВОДОМ WINDOWS В ДОМЕН ИМЯ РАБОЧЕЙ ГРУППЫ БУДЕТ ИСПОЛЬЗОВАТЬСЯ В КАЧЕСТВЕ ИМЕНИ ДОМЕНА!
- Для подключения unix клиентов, укажите пароль для служебного пользователя client.
calculate ~ # cl-passwd --smb client samba New password: Retype new password: * Samba password of user client is changed
- Если Samba сервер будет выступать в качестве PDC (первичного контроллера Windows домена), вам следует задать пароль администратора сервера - пользователя с логином admin.
calculate ~ # cl-passwd --smb admin samba New password: Retype new password: * Samba password of user admin is changed
Особенности настройки SAMBA при работе PDC сразу в нескольких подсетях
Если на сетевом интерфейсе PDC настроено несколько сетей, то находим в /etc/samba/smb.conf строчку:
hosts allow = 192.168.10.0/24 127.
и меняем её на:
hosts allow = 192.168.10.0/24 192.168.156.0.24 127.
словом, указываем здесь разрешенные сети через пробел, затем перезагружаем сервис командой
/etc/init.d/samba restart
http://www.calculate-linux.ru/main/ru/configuration_of_samba_server
Управление пользователями в ssh-консоли сервера
Информация: по данным из общения в IRC канале #calculate-ru на сервере FreeNode, интерфейсов управления пользователями, да еще и с поддержкой квот, пока нет. Это не вполне подходит для задач колледжа, т.к. здесь большая текучесть пользователей постоянно забывающих пароли, превышающих квоты, и т. д. Т.е. нам нужен вебинтерфейс, похожий на существующий LDAPER, только другой (с) лучше ;-)
Добавление пользователя user с квотой в 500 мегабайт и паролем password
cl-useradd user samba <<< 'yes'; cl-usermod -P user samba <<< 'password'; setquota -u user 512000 512000 0 0 /var/calculate/server-data/
Удаление пользователя user
cl-userdel user samba cl-userdel user unix
Изменение проля пользователю user
cl-passwd user samba
Ввод Windows в домен Calculate
Ввод Windows XP
Настройка домашней директории и рабочего стола
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Desktop /t REG_SZ /d "H:\ђ Ў®зЁ© бв®«" /f REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Personal /t REG_SZ /d "H:\„®Єг¬Ґвл" /f REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop /t REG_SZ /d "H:\ђ Ў®зЁ© бв®«" /f REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Personal /t REG_SZ /d "H:\„®Єг¬Ґвл" /f
Отключить использование автономных файлов в проводнике
- Создаём чистого локального пользователя
- Кладем это в файл .reg под чистым пользователем
;Отключить использование автономных файлов в проводнике [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\NetCache] "GoOfflineAction"=dword:00000001 "SyncAtLogoff"=dword:00000000 "NoReminders"=dword:00000001
- Запускаем файл на слияние от чистого пользователя
- Отлогиниваемся, заходим под админом
- Кладем это в файл .reg под админом
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\NetCache] "Enabled"=dword:00000000
- Запускаем файл на слияние
- Копируем файл NTUSER.DAT из чистого пользователя в C:\Documents and settings\Default User
- Вводим машину в домен стандартными средствами Windows.
При выходе CDS пользователя из Windows синхронизация не должна включаться
Ввод Windows 7
Поставить заплатку
Добавить параметры в реестр
Для этого:
- создайте файл с расширением reg
- поместите туда следующее содержимое
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters] "DomainCompatibilityMode"=dword:00000001 "DNSNameResolutionRequired"=dword:00000000 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System] "LocalProfile"=dword:00000001 "ReadOnlyProfile"=dword:00000001
Проблему с потерей атрибута hidden файлами desktop.ini профиля решил добавлением в раздел [profiles] samba.conf строки hide files = /desktop.ini/ntuser.ini/NTUSER.*/
Ввод Ubuntu Linux в домен
Настройка локальных пользователей student и administrator
После ввода компьютера в домен CDS все домашние директории будут браться с сервера CDS. Это нехорошо, если планируется оставить нескольких локальных пользователей. В нашем случае - administrator и student. Поэтому нужно этим двум пользователям поменять расположение домашней папки. Дла этого:
- меняем пароль руту тем самым включая его
passwd root
- перезагружаем машину, входим по Alt+Ctrl+F1, авторизуемся под рутом
- перемещаем домашние директории пользователей student и administrator в /var
mv /home/administrator /var mv /home/student /var
- меняем пользователям расположение домашней папки
usermod -d /var/administrator administrator usermod -d /var/student student
- перезагружаемся
Отключение вывода списка пользователей в окне авторизации
gksudo -u gdm dbus-launch gnome-apperance-properties sudo -u gdm gconftool-2 --set /apps/gdm/simple-greeter/disable_user_list --type bool true
Настройка LDAP авторизации
- устанавливаем пакеты
aptitude install libpam-ldap libnss-ldap
- делаем резервные копии файлов
cp /etc/ldap.conf /etc/ldap.conf.backup cp /etc/nsswitch.conf /etc/nsswitch.conf.backup
- редактируем файл /etc/ldap.conf. Его содержимое должно быть следующим:
host ip_адрес_ldap_сервера_или_его_dns_имя base ou=Services,dc=calculate rootbinddn ou=Unix,ou=Services,dc=calculate binddn cn=proxyuser,dc=calculate bindpw calculate port 389 ldap_version 3 bind_policy soft nss_base_passwd ou=Users,ou=Unix,ou=Services,dc=calculate?one?shadowFlag=1 nss_base_shadow ou=Users,ou=Unix,ou=Services,dc=calculate?one?shadowFlag=1 nss_base_group ou=Groups,ou=Unix,ou=Services,dc=calculate?one nss_base_group ou=Groups,ou=Samba,ou=Services,dc=calculate?one pam_password md5
Если на вашем CDS не настроен Samba сервис, то необходимо удалить строку:
nss_base_group ou=Groups,ou=Samba,ou=Services,dc=calculate?one
- редактируем файл /etc/nsswitch.conf, приведя его к следующему виду:
passwd: files ldap shadow: files ldap group: files ldap hosts: files dns networks: files dns services: files ldap protocols: files ldap rpc: db files ethers: db files netmasks: files netgroup: files ldap bootparams: files automount: files ldap aliases: files
- редактируем файл /etc/pam.d/common-session. Приводим к следующему виду:
session required pam_unix.so session required pam_mkhomedir.so skel=/etc/skel/ session optional pam_ldap.so
- проверяем правильность настройки, выполнив команду
id имя_ldap_пользователя_на_сервере
например:
id vasya_pupkin
Оригинал: http://www.calculate-linux.ru/blogs/ru/172/show
Настройка монтирования домашних директорий
На сервере
- устанавливаем nfs-сервер
emerge net-fs/nfs-utils
- экспортируем nfs-директорию. для этого открываем файл
/etc/exports
и дописываем туда следующие строчки:
# cds users for linux clients /var/calculate/server-data/samba/home 192.168.0.0/255.255.0.0(rw,sync,no_subtree_check) # cds share folder for linux clients /var/calculate/server-data/samba/share 192.168.0.0/255.255.0.0(rw,sync,no_subtree_check)
- перезапускаем сервис
/etc/init.d/nfs restart
- настраиваем загрузку nfs-сервера при запуске системы
rc-update add nfs default
На клиенте
- устанавливаем nfs-клиент
aptitude install nfs-common
- создаём точку монтирования для share
mkdir /media/share
- конфигурируем файл /etc/fstab добавляя в конец следующие строчки:
# mount homes for cds users 192.168.10.222:/var/calculate/server-data/samba/home /home nfs rw,soft,bg,nolock 0 0 # mount shares for cds users 192.168.10.222:/var/calculate/server-data/samba/share /media/share nfs rw,soft,bg,nolock 0 0
Перезагружаемся
Управление пользователями через WEB-интерфейс
Установка Apache+PHP
- Установка apache:
emerge -av apache
- После завершения компиляции выполняем:
dispatch-conf
- Открываем в вашем редакторе /etc/hosts
nano -w /etc/hosts
меняем
127.0.0.1 localhost
на
127.0.0.1 localhost.localdomain localhost your_hostname
где "your_hostname" имя хоста из /etc/conf.d/hostname
- Устанавливаем PHP
emerge -av php
Проверяем настройки
nano -w /etc/conf.d/apache2
cтрока:
APACHE2_OPTS=
должна содержать:
-D PHP5
Для тестирования PHP устанавливаем утилиту phpsysinfo
emerge -av phpsysinfo
- Отключаем http и оставляем только https доступ на сервер
rm /etc/apache2/vhosts.d/00_default_vhost.conf
Проверка работы Apache+PHP. Каталог Apache
- Проверяем работу Apache
идем по адресу http://server_ip_address и видим "It Works" в браузере
- Проверяем работу PHP
устанавливаем утилиту phpsysinfo
emerge -av phpsysinfo
проверяем:
идем по адресу http://server_ip_address/phpsysinfo и видим информацию о PHP
Включение поддержки pdo_sqlite
emerge -av dev-php/PEAR-MDB2_Driver_sqlite
если попросят, то
emerge -av --autounmask-write dev-php/PEAR-MDB2_Driver_sqlite
а потом опять
emerge -av dev-php/PEAR-MDB2_Driver_sqlite
затем перезапускаем апач
/etc/init.d/apache2 restart
далее включаем в апаче поддержку pdo
echo ' dev-lang/php sqlite sqlite3 pdo' >> /etc/portage/package.use/custom emerge dev-lang/php /etc/init.d/apache2 restart
- Где находится корневой каталог apache?
вот тут:
/var/www/localhost/htdocs
- Как сделать чтобы apache запускался при старте системы?
вот так:
rc-update add apache2 default
Установка WEB-интерфейса
Настройка sudoers для запуска root-команд пользователем apache
- Для установки sudo выполните команду:
emerge -avt app-admin/sudo
- Далее для того, чтобы разрешить пользователю apache выполнять команды из-под sudo в директории /etc/sudoers.d создайте файл director
# for director root-login apache ALL = NOPASSWD: /bin/cat apache ALL = NOPASSWD: /bin/cp apache ALL = NOPASSWD: /bin/mkdir apache ALL = NOPASSWD: /bin/chown apache ALL = NOPASSWD: /usr/bin/cl-useradd apache ALL = NOPASSWD: /usr/bin/cl-usermod apache ALL = NOPASSWD: /usr/sbin/setquota apache ALL = NOPASSWD: /usr/sbin/repquota apache ALL = NOPASSWD: /usr/bin/cl-userdel apache ALL = NOPASSWD: /usr/bin/cl-passwd apache ALL = NOPASSWD: /usr/bin/cl-info apache ALL = NOPASSWD: /usr/bin/cl-groupadd apache ALL = NOPASSWD: /usr/bin/cl-groupmod apache ALL = NOPASSWD: /usr/bin/cl-groupdel apache ALL = NOPASSWD: /bin/ ... продолжение следует.
После данных манипуляций PHP должен корректно выполнять команды вида.
<?php exec("sudo /bin/cat /path/to/file");?>
Установка ZendFramework
emerge -av dev-php/ZendFramework
Распаковка WEB-интерфейса
- Загрузите архив по ссылке (тут будет ссылка, когда будет что загружать)
- Распакуйте архив в директорию
/var/www/localhost/htdocs
- Зайдите браузером по адресу
http://<server_ip_address>/director
Введите root-пароль от сервера в появившемся WEB-интерфейсе.
Если все прошло успешно, то WEB-интерфейс установлен.