Instal.lació i configuració Mantisbalmes curs 2011-12 (producció)

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

Introducció

partim del que han fet els alumnes i la seva documentació (CS Mantis i Gestió d'Incidències, maig 2010-11, José G. López, Toni Macías, Nathaly Sánchez).

Recordem el manual del Mantis oficial: http://manual.mantisbt.org/index.php

Recordem la clau de l'administrador: administrador/root

partim de la instal.lació que ha fet el CS Mantis II (maig 2011), i ho posem en producció per al curs 2011-12

Creo l'usuari joan (local). el sistema d'enviament de mails funciona bé. Miro el mail, em redirigeixo al link proposat, i poso la clau de pas. Em logo i funciona.

La primera incidència que em trobo és que no puc donar d'alta una incidència. Solució: entrar com a administrador, entrar a configurar les aules i posar-les com a públiques (estaven com a privades).

Redueixo el logo que està a /usr/share/apache2/mantisbalmes1112/images/mantis_logo.gif

aceptat > acceptat: només cal canviar aquest valor en el fitxer lang/strings_catalan.txt

arreglat > resolt: lang/strings_catalan.txt

Configuració

canvis

Afegeixo nous ordinadors: els de servidors. S'afegeix un ordinador genèric per a les aules.

UPDATE mantis_project_table SET name='Taller' WHERE name='Mant. Servidors';
INSERT INTO mantis_project_table VALUES (32,'Servidors',10,1,10,10,'','',1,1 );

INSERT INTO mantis_category_table VALUES (236, 7, 0, 'SER MOODLE',0);
INSERT INTO mantis_category_table VALUES (237, 7, 0, 'ORD GENERIC',0);

INSERT INTO mantis_category_table VALUES (238, 32, 0, 'SER WEB',0);
INSERT INTO mantis_category_table VALUES (239, 32, 0, 'SER DOMINI',0);
INSERT INTO mantis_category_table VALUES (240, 32, 0, 'S-207',0);
INSERT INTO mantis_category_table VALUES (241, 32, 0, 'SER PORTAL CAPTIU',0);
INSERT INTO mantis_category_table VALUES (242, 32, 0, 'SER GESTOR CONT',0);
INSERT INTO mantis_category_table VALUES (243, 32, 0, 'ORD-1',0);
INSERT INTO mantis_category_table VALUES (244, 32, 0, 'ORD-2',0);
INSERT INTO mantis_category_table VALUES (245, 32, 0, 'ORD-3',0);
INSERT INTO mantis_category_table VALUES (246, 32, 0, 'ORD-4',0);
INSERT INTO mantis_category_table VALUES (247, 32, 0, 'ORD-5',0);
INSERT INTO mantis_category_table VALUES (248, 32, 0, 'ORD-6',0);
INSERT INTO mantis_category_table VALUES (249, 32, 0, 'ORD-7',0);
INSERT INTO mantis_category_table VALUES (250, 32, 0, 'ORD-8',0);
INSERT INTO mantis_category_table VALUES (251, 32, 0, 'ORD-9',0);

INSERT INTO mantis_category_table VALUES (252, 1, 0, 'TOTA L''AULA',0);
INSERT INTO mantis_category_table VALUES (253, 2, 0, 'TOTA L''AULA',0);
INSERT INTO mantis_category_table VALUES (254, 3, 0, 'TOTA L''AULA',0);
INSERT INTO mantis_category_table VALUES (255, 4, 0, 'TOTA L''AULA',0);
INSERT INTO mantis_category_table VALUES (256, 5, 0, 'TOTA L''AULA',0);
INSERT INTO mantis_category_table VALUES (257, 6, 0, 'TOTA L''AULA',0);
INSERT INTO mantis_category_table VALUES (258, 10, 0, 'TOTA L''AULA',0);
INSERT INTO mantis_category_table VALUES (259, 11, 0, 'TOTA L''AULA',0);
INSERT INTO mantis_category_table VALUES (260, 12, 0, 'TOTA L''AULA',0);
INSERT INTO mantis_category_table VALUES (261, 13, 0, 'TOTA L''AULA',0);
INSERT INTO mantis_category_table VALUES (262, 14, 0, 'TOTA L''AULA',0);
INSERT INTO mantis_category_table VALUES (263, 15, 0, 'TOTA L''AULA',0);
INSERT INTO mantis_category_table VALUES (264, 16, 0, 'TOTA L''AULA',0);
INSERT INTO mantis_category_table VALUES (265, 20, 0, 'TOTA L''AULA',0);

Autenticació LDAP

seria bo autenticar-se contra LDAP. S'ha de poder fer:

en el fitxer config_defaults_inc.php s'ha de canviar

$g_login_method = MD5;
per
$g_login_method = LDAP

en el YAST veig que està instal.lat el paquet php5-ldap

php5/conf.d/ldap.ini
/usr/lib/php5/extensions/ldap.so

El Joan Carles s'hi ha estat barallant, i la configuració del fitxer config_defaults_inc.php queda:

        //$g_login_method                               = MD5;
        $g_login_method = LDAP;
       /**************************
         * MantisBT LDAP Settings *
         **************************/

        /**
         * The LDAP server can be provided either as
         * - a simple hostname (in that case, g_ldap_port must be defined)
         * - a complete URI (then g_ldap_port is ignored, and the port number
         *   has to be specified as part of the URI itself, e.g.
         *   ldaps://ldap.example.com:636/)
         *
         * @global string $g_ldap_server
         */
        //$g_ldap_server                        = 'ldap.example.com';
        //$g_ldap_server = 'ldaps://192.168.0.11:389/';
        $g_ldap_server = '192.168.0.11';
        /**
         * LDAP port (default 389).  If this doesn't work, try 636 (ldaps)
         * or for Active Directory Global Catalog forest-wide search,
         * default port 3268 (ldap) or 3269 (ldaps)
         *
         * @global integer $g_ldap_port
         */                                     
       $g_ldap_port                    = 389;

        /**
         *
         * @global string $g_ldap_root_dn
         */
        //$g_ldap_root_dn                       = 'dc=example,dc=com,dc=au';
        //$g_ldap_root_dn                 = 'dc=intracentre';
        //$g_ldap_root_dn = 'cn=users,dc=intracentre,dc=local';
        $g_ldap_root_dn                 = 'dc=intracentre';
        /**
         * e.g. '(organizationname=*Traffic)'
         * @global string $g_ldap_organization
         */
        $g_ldap_organization    = '';
        // $g_ldap_organization = 'objectClass=*';

        /**
         * Use 'sAMAccountName' for Active Directory
         * @global string $g_ldap_uid_field
         */
        // $g_ldap_uid_field = 'sAMAccountName';
        $g_ldap_uid_field               = 'uid';

        /**
         * The LDAP field for real name (i.e. common name).
         * @global string $g_ldap_uid_field
         */
        $g_ldap_realname_field  = 'cn';

        /**
         * The distinguished of the user account to use for binding to the LDAP server.
         * For example, 'CN=ldap,OU=Administrators,DC=example,DC=com'.
         *
         * @global string $g_ldap_bind_dn
         */
        //$g_ldap_bind_dn                       = '';
        $g_ldap_bind_dn                 = 'uid=modmanti,ou=people,dc=intracentre';

        /**
         * The password for the service account to be used for connecting to the LDAP server.
         *                                            
        * @global string $g_ldap_bind_passwd
         */
        //$g_ldap_bind_passwd           = '';
        $g_ldap_bind_passwd             = 'eD5uvie4aunahk4';

        /**
         * Should we send to the LDAP email address or what MySql tells us
         * @global int $g_use_ldap_email
         */
        $g_use_ldap_email               = OFF;

        /**
         * Whether or not to pull the real name from LDAP.
         * ON from LDAP, OFF from database.
         * @global int $g_use_ldap_realname
         */
        $g_use_ldap_realname    = OFF;

        /**
         * The LDAP Protocol Version, if 0, then the protocol version is not set.  For Active Directory use version 3.
         *
         * @global int $g_ldap_protocol_version
         */
        //$g_ldap_protocol_version = 0;
        $g_ldap_protocol_version = 3;

        /**
         * Determines whether the LDAP library automatically follows referrals returned by LDAP servers or not.
         * This maps to LDAP_OPT_REFERRALS ldap library option.  For Active Directory, this should be set to OFF.
         *
         * @global int $g_ldap_follow_referrals
         */
        //$g_ldap_follow_referrals = ON;
        $g_ldap_follow_referrals = OFF;

        /**
         * For development purposes, this is a configuration option that allows replacing
         * the ldap communication with a comma separated text file.  The text file has a line per user.
         * Each line includes: user name, user real name, email, password.  For production
         * systems this option should be set to ''.
         */                                  
        $g_ldap_simulation_file_path = '';

La primera conseqüència és que l'usuari administrador deixa de funcionar (no existeix en el LDAP, no és com el Moodle que l'autenticació després de mirar en el LDAP després mira localment). Per tant, el que faré és promocionar els usuaris jquintan (i els que calgui) com a administradors.

La primera vegada que es valida un usuari ho fa com a informador, per tant haurà de ser l'administrador que promocioni els professors al rol respectiu.

Estudi taules

mantis_bug_table;
select id, project_id, category_id, summary, reporter_id, priority, severity, status, resolution, date_submitted, last_updated from mantis_bug_table;
mysql> select id, project_id, category_id, summary, reporter_id, priority, severity, status, resolution, date_submitted, last_updated from mantis_bug_table;
+----+------------+-------------+-------------------------------------+-------------+----------+----------+--------+------------+----------------+--------------+
| id | project_id | category_id | summary                             | reporter_id | priority | severity | status | resolution | date_submitted | last_updated |
+----+------------+-------------+-------------------------------------+-------------+----------+----------+--------+------------+----------------+--------------+
|  1 |          3 |          42 | no hi ha manera d'instal.lar Ubuntu |           3 |       30 |       60 |     80 |         10 |     1315497194 |   1315931058 | 
|  2 |         31 |         235 | No imprimetix b�                    |           6 |       30 |       60 |     10 |         10 |     1315927926 |   1315928048 | 
|  3 |          6 |           1 | aula desconfigurada                 |           7 |       40 |       60 |     30 |         10 |     1315928437 |   1315928916 | 
+----+------------+-------------+-------------------------------------+-------------+----------+----------+--------+------------+----------------+--------------+
3 rows in set (0.00 sec)


status (srings_catalan.txt):

$s_status_enum_string = '10:nou,20:es necessiten més dades,30:acceptat,40:confirmat,50:assignat,80:resolt,90:tancat';
10:nou
20:es necessiten més dades
30:acceptat
40:confirmat
50:assignat
80:resolt
90:tancat;
mantis_user_table;
id, username, realname

mantis_project_table
id, name

mantis_category_table
id, project_id, name

select * from  mantis_bug_history_table; -> és la taula que et diu l'historial de les avaries

Informes

Resolució d'incidències

1) Incidències reportades des d'inici del curs
select count(*) from mantis_bug_table where from_unixtime(date_submitted)>'2011-09-01';
2) Incidències resoltes des d'inici del curs
select count(*) from mantis_bug_table where (status=80 or status=90) and from_unixtime(date_submitted)>'2011-09-01';
3) Incidències reportades els últims 7 dies
select count(*) from mantis_bug_table where from_unixtime(date_submitted)>=date_sub(curdate(),interval 7 day);
4) Incidències resoltes els últims 7 dies
select count(*) from mantis_bug_table where (status=80 or status=90) and from_unixtime(last_updated)>=date_sub(curdate(),interval 7 day);
5) Incidències encara sense resoldre
select count(*) from mantis_bug_table where (status<>80 and status<>90) and from_unixtime(date_submitted)>'2011-09-01';

1) = 2) + 5)
<?php
$link = mysql_connect('localhost', 'root', 'neptu08');
if (!$link) {
    die('Could not connect: ' . mysql_error());
    }
    //echo 'Connected successfully';

mysql_select_db("mantisbalmes");

echo "<h3>Gestió d'Incidències del Jaume Balmes</h3>";

echo "1) Incidències reportades des d'inici del curs: ";
$result = mysql_query("select count(*) from mantis_bug_table where from_unixtime(date_submitted)>'2011-09-01'");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("%s<br /><br />", $row[0]);
}
mysql_free_result($result);

echo "2) Incidències resoltes des d'inici del curs: ";
$result = mysql_query("select count(*) from mantis_bug_table where (status=80 or status=90) and from_unixtime(date_submi
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("%s<br /><br />", $row[0]);
}
mysql_free_result($result);
    
echo "3) Incidències reportades els últims 7 dies: ";
$result = mysql_query("select count(*) from mantis_bug_table where from_unixtime(date_submitted)>=date_sub(curdate(),int
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("%s<br /><br />", $row[0]);
}
mysql_free_result($result);
        
echo "4) Incidències resoltes els últims 7 dies: ";
$result = mysql_query("select count(*) from mantis_bug_table where (status=80 or status=90) and from_unixtime(last_updat
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("%s<br /><br />", $row[0]);
}
mysql_free_result($result);
            
echo "5) Incidències encara sense resoldre: ";
$result = mysql_query("select count(*) from mantis_bug_table where (status<>80 and status<>90) and from_unixtime(date_su
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
     printf("%s<br /><br />", $row[0]);
}
mysql_free_result($result);

echo "Departament d'Informàtica";
mysql_close($link);
?>  

avaries resoltes per usuari

estadística d'usuaris que han arreglat incidències (1):

select user_id, bug_id, field_name, new_value, from_unixtime(date_modified) from  mantis_bug_history_table where field_name='status' and new_value=80;

estadística d'usuaris que han arreglat incidències (2):

select username, bug_id, field_name, new_value, from_unixtime(date_modified) from  mantis_bug_history_table, mantis_user_table where mantis_user_table.id=mantis_bug_history_table.user_id and field_name='status' and new_value=80;

estadística d'usuaris que han arreglat incidències (3):

select username, bug_id, summary, field_name, new_value, from_unixtime(date_modified) from  mantis_bug_history_table mbht, mantis_bug_table mbt, mantis_user_table mut where mut.id=mbht.user_id and mbt.id=mbht.bug_id and field_name='status' and new_value=80;

estadística d'usuaris que han arreglat incidències (4):

select username, bug_id, mpt.name, summary, field_name, new_value, from_unixtime(date_modified) from mantis_bug_history_table mbht, mantis_bug_table mbt, mantis_user_table mut, mantis_project_table mpt where mut.id=mbht.user_id and mbt.id=mbht.bug_id and mbt.project_id=mpt.id and field_name='status' and new_value=80;

+----------+--------+----------+-------------------------------------+------------+-----------+---------------+
| username | bug_id | name     | summary                             | field_name | new_value | date_modified |
+----------+--------+----------+-------------------------------------+------------+-----------+---------------+
| jquintan |      1 | Mant. 44 | no hi ha manera d'instal.lar Ubuntu | status     | 80        |    1315928992 | 
| jquintan |      1 | Mant. 44 | no hi ha manera d'instal.lar Ubuntu | status     | 80        |    1315929305 | 
| jquintan |      1 | Mant. 44 | no hi ha manera d'instal.lar Ubuntu | status     | 80        |    1315931058 | 
+----------+--------+----------+-------------------------------------+------------+-----------+---------------+

estadística d'usuaris que han arreglat incidències (5):

select username, bug_id, mpt.name, mct.name, summary, field_name, new_value, from_unixtime(date_modified) from  
mantis_bug_history_table mbht, mantis_bug_table mbt, mantis_user_table mut, mantis_project_table mpt, mantis_category_table mct where 
mut.id=mbht.user_id and mbt.id=mbht.bug_id and mbt.project_id=mpt.id and mbt.category_id=mct.id and field_name='status' and new_value=80;

+----------+--------+----------+---------+-------------------------------------+------------+-----------+---------------+
| username | bug_id | name     | name    | summary                             | field_name | new_value | date_modified |
+----------+--------+----------+---------+-------------------------------------+------------+-----------+---------------+
| jquintan |      1 | Mant. 44 | WOR-101 | no hi ha manera d'instal.lar Ubuntu | status     | 80        |    1315928992 | 
| jquintan |      1 | Mant. 44 | WOR-101 | no hi ha manera d'instal.lar Ubuntu | status     | 80        |    1315929305 | 
| jquintan |      1 | Mant. 44 | WOR-101 | no hi ha manera d'instal.lar Ubuntu | status     | 80        |    1315931058 | 
+----------+--------+----------+---------+-------------------------------------+------------+-----------+---------------+

estadística d'usuaris que han arreglat incidències, group by (6):

select user_id, username, count(*) as resoltes from  mantis_bug_history_table mbht, mantis_user_table mut where mut.id=mbht.user_id and field_name='status' and new_value=80 and (from_unixtime(date_modified)>'2011-09-11' and from_unixtime(date_modified)<'2011-09-15') group by user_id, username;

o bé

select user_id, username, count(*) as resoltes from  mantis_bug_history_table mbht, mantis_user_table mut where mut.id=mbht.user_id and field_name='status' and new_value=80 and (from_unixtime(date_modified) between '2011-09-11' and '2011-09-15') group by user_id, username;



creat per Joan Quintana Compte, setembre 2011

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
IES Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines