1. Инсталляция
1. Копируем файл config.inc.php.sample в config.inc.php2. Создаем пользователя в PHPmyadmin, даем пользователю разрешения на создание баз
3. Прописываем параметры созданного пользователя.
2. Конфигурация
Полный перечень параметров: http://www.mantisbt.org/manual/manual.configuration.php
Меняем:
$g_default_language = 'russian'$g_use_iis = ON
3. Заполнение таблицы юзеров
Тянем из таблиц Astral скриптом (см. ниже).
Откуда берем cookie для БД? Генерим рандомно: http://old.nabble.com/HowTo-automatically-create-create-users--td3508638.html
Откуда берем cookie для БД? Генерим рандомно: http://old.nabble.com/HowTo-automatically-create-create-users--td3508638.html
4. Прозрачная аутентификация AD-пользователей
Нужно подключить дополнительный плагин "adLogin" и модифицировать файл authentication_api.php, как описано в readme.
Плагин и howto можно скачать в http://www.mantisbt.org/bugs/view.php?id=12627
Плагин и howto можно скачать в http://www.mantisbt.org/bugs/view.php?id=12627
Скрипт загрузки, версия от 13.06.12
#!/usr/local/bin/php
<?php
error_reporting(0);
echo "\n\n############### LOAD USERS FROM ASTRAL DB TO MANTIS DB #################\n\n";
################################################################################
# 1. Load users from ASTRAL DB to array "users()"
################################################################################
$server="localhost";
$user="root";
$pass="пароль";
$DB="astral";
mysql_connect($server,$user,$pass) or die("Can't connect to ASTRAL DB!");
mysql_select_db($DB);
$get_astral_users= "SELECT login,name,telephone,location,function,department,company,mail,manager FROM users where active_flag = '0' ORDER BY name";
$astral_users=mysql_query($get_astral_users);
$users = array();
$mails = array();
while($astral_row=mysql_fetch_array($astral_users)){
$i = strtolower($astral_row[login]);
$users[$i] = $astral_row[name];
$mails[$i] = $astral_row[mail];
#echo $users[$i][realname]. $users[$i][mail]."\n";
}
mysql_close();
#################################################################################
# 2. Compare array "users()" and BUGTRACKER DB, load missed users
#################################################################################
$server="localhost";
$user="root";
$pass="пароль";
$DB1="bugtracker";
mysql_connect($server,$user,$pass) or die("Can't connect to BUGTRACKER DB!");
mysql_select_db($DB1);
$updated_count = 0;
$added_count = 0;
echo "\nProcessing...\n";
foreach ($users as $array_username => $array_realname) {
$num_user = mysql_query("SELECT username FROM mantis_user_table WHERE username = '$array_username';");
$num_pair = mysql_num_rows($num_user);
if ($num_pair == 1) {
mysql_query("UPDATE mantis_user_table SET realname = '$array_realname', email = '$mails[$array_username]' WHERE username = '$array_username';");
$updated_count++;
#echo "update user ".$array_username."\n";
}
if ($num_pair == 0) {
mysql_query("INSERT INTO mantis_user_table(username, realname, email, password, access_level, date_created, cookie_string) VALUES ('$array_username','$array_realname','$mails[$array_username]','2c216b1ba5e33a27eb6d3df7de7f8c36','25', UNIX_TIMESTAMP(now()),CONCAT( MD5(RAND()), MD5(NOW())) );");
$added_count++;
echo " ...added user ".$array_username."\n";
}
}
echo "1. Loaded users from ASTRAL: ".count($users)."\n";
echo "2. Added users to MANTIS DB: ".$added_count."\n";
echo "3. Updated users in MANTIS DB: ".$updated_count."\n";
mysql_close();
echo "\n\n";
?>
Комментариев нет:
Отправить комментарий