Documentación en Español/Instalación de Mahara

From Mahara Wiki
Jump to: navigation, search

La instalación de Mahara requiere un conocimiento básico de cómo funcionan las aplicaciones web. Las siguientes instrucciones asumen que se tiene un conocimiento previo de servidores web, bases de datos, etc

Si se utiliza Debian/Ubuntu, la mayor parte del software requerido puede instalarse mediante el comando apt-get. Para otras distribuciones de Linux, se recomienda consultar el comando de instalación específico.

1. Plataforma (Dependencias)

Entorno Operativo Básico

  • Linux
  • PHP 5.1.3+
  • PostgreSQL 8.1+ (recomendado), o MySQL 5.0.25+

NOTA IMPORTANTE: Se recomienda emplear la versión de MySQL  5.0.25 o superior - consultar  http://bugs.mysql.com/bug.php?id=20519 sobre la existencia de un bug en versiones anteriores que puede afectar algunas de las consultas en Mahara.

Extensiones PHP

  • gd
  • json
  • libxml
  • SimpleXML
  • session
  • pgsql O mysqli
  • exif (era necesario desde la versión 1.1.0 a la 1.1.4, en las versiones posteriores es opcional)
  • Para soporte de conexiones de red: openssl, curl y xmlrpc
  • Opcional: imagick

¿Es posible instalar Mahara en Windows?

Cualquier usuario puede acceder a Mahara mediante un navegador web. Para soluciones de hosting, Mahara ha sido diseñado para Linux, Apache, PHP y una base de datos SQL (de las indicadas en los apartados anteriores), y por el momento se han realizado muy pocas pruebas en entornos de hosting Windows.

Mahara 1.1 debería poderse instalar en Windows, pero Mahara 1.0 necesita algunas cosas que no vienen de serie con Windows. Para aquellos que se sientan tan aventureros como para intentarlo, parece ser que se necesita instalar el equivalente del programa 'file (ver el Bug #700), entre otras cosas, para hacerlo funcionar.

También hay instrucciones para la Instalación de Mahara en WAMP Server, lo que también puede serle de ayuda.

¿Será Windows una plataforma soportada en el futuro?

Hemos escuchado rumores de que Mahara se ha instalado en Windows. Cuando llegue el soporte de Windows es probable que se canalice a través de nuestro programa de Partners, o a través de solicitudes específicas financiadas por el cliente. Mahara 1.1, cuando se publique, será más fácilmente instalable en Windows, puesto que hemos eliminado la dependencia del programa 'file'.

¿Es posible alojar Mahara en Solaris/Mac/BSD/Otros SO?

Probablemente tenga más suerte que con la instalación en Windows, aunque pueda que aún haya algunos problemas. El principal problema es el con el programa 'file', que funciona de forma diferente en Mac OS Leopard y Solaris. El Bug #1891 tiene más información sobre el problema, incluyendo información de cómo rodearlo. Esperamos arreglar este bug en Mahara 1.1, y añadir instrucciones para Mac y Solaris a las instrucciones de instalación.

¿Qué hay de usar Otro Servidor Web/Otra Base de Datos/Otro PHP?

No se han testeado otros servidores web, así que estará sólo ante el peligro. Por favor, póngase en contacto con el grupo de desarrollo en #mahara/en los foros si está interesado en implementar el soporte para otras bases de datos. Hace falta PHP 5.1+, y cualquier versión superior a ésta debería funcionar sin problemas.

¿Puedo usar hosting compartido?

Quizás. Depende de su hosting. Algunos servicios de hosting deshabilitan ciertas funciones (p.ej. exec) o usan 'safe mode', y estas cosas pueden impactar de forma negativa en la funcionalidad de Mahara. Mahara no está explícitamente diseñado para ejecutarse en un hosting compartido - aunque sea un objetivo que tenemos en mente y aceptamos parches para ello, el hosting compartido por su propia naturaleza limita lo que usted puede hacer, y por tanto debería intentar obtener un servidor VPS o dedicado siempre que sea posible.

Si su servicio de hosting ha deshabilitado 'exec', Mahara no será capaz de detectar los ficheros de imagen adecuadamente, y la generación de las imágenes en miniatura será incorrecta y usted no será capaz de incrustar imágenes en las vistas. Vea este informe de bug para más información.

Los servicios de hosting a menudo (de forma estúpida) ponen 'AllowOverride None', lo que significa que no se permiten los ficheros .htaccess (o más bien se ignoran completamente). Si obtiene errores 500 mientras intenta instalar su sitio, puede que sea necesario comentar las líneas php_flag o eliminar el fichero .htaccess. Esto no causará una reducción crítica de funcionalidad, pero si se ve obligado a eliminar el fichero entero esto hará que su sitio tenga menor rendimiento del que podría tener. [Nota importante: El fichero .htaccess puede ser invisible en Mac OS X y su servidor; es preferible hacer los cambios a este fichero desde un PC con Windows y subirlo desde ahí, lo cual es perfectamente posible a pesar del hecho de que pueda aparecer como un fichero sin nombre]

2. Obtenga el código

Puede descargar una instantánea (snapshot) desde http://git.mahara.org/?p=mahara.git;a=summary o puede clonar el proyecto desde el repositorio git:

git clone git://git.mahara.org/git/mahara.git

3. Cree la base de datos

Necesita crear una base de datos para Mahara y asegurarse de que el servidor web es capaz de conectarse a ella.

Si usa PostgreSQL:

[Si el servidor de postgres es remoto, en lugar de localhost ponga la IP del servidor]
 psql -h localhost -U postgres
 [introducir la contraseña]
 CREATE DATABASE nombre-base-datos WITH OWNER = postgres ENCODING = 'UTF8';
 [\q para salir]

Si usa MySQL:

mysql -u root
 [introducir el contraseña si se le solicita]
 create database nombre-base-datos;
 grant all on nombre-base-datos.* to 'nombre-usuario-para-conexion'@'localhost' identified by 'contraseña';

¿Qué base datos debería usar?

Los desarrolladores recomiendan PostgreSQL para conseguir la mayor estabilidad e integridad de los datos. Si se ajusta de forma adecuada, PostgreSQL rendirá mejor que MySQL de todos modos, ya que estamos usando tablas InnoDB para soportar transacciones.

Además, PostgreSQL puede usar transacciones para el DDL; esto significa que BEGIN; CREATE TABLE foo(bar int); ROLLBACK; realmente funciona como uno esperaría. Esto hace que el proceso de actualización sea mucho más seguro. Si la actualización falla usted sabe que no habrá dejado el esquema de su base de datos hecho un lío que no pueda ser automáticamente actualizado cuando se arregle el problema original.

4. Configuración

Ajustes de PHP

Debería asegurarse de que 'magic_quotes_gpc' está puesto a 'off', y de que 'register_globals' está puesto a 'off'. Mahara le avisará de cualquier otro ajuste no seguro o subóptimo cuando se ejecute. Mahara también incluye de serie un fichero .htaccess que se encargará de asegurar de que los ajustes no deseados estén deshabilitados (siempre que su servidor no ignore los ficheros .htaccess, como se ha mencionado más arriba).

Configuración del servidor Web

Deberá copiar los contenidos del directorio  /htdocs en su servidor web. Lo mejor es que:

  • Copie el directorio entero y lo renombre como  'mahara' - de esta forma accederá a su sitio como ejemplo.org/mahara/;

o bien,

  • Copie el contenido del directorio /hdocts en el directorio público de mayor nivel (con frecuencia llamado htdocs o public_html) de su servidor web, de forma que pueda acceder a su sitio simplemente con ejemplo.org.

Configuración de Mahara

Debe crear un nuevo directorio (fuera del documento raíz) y asegurarse de que el usuario del servidor web tiene permisos de escritura en él. Dicho directorio es donde Mahara almacenará los datos, por ejemplo,  ficheros subidos a la red, etc.

En htdocs/ se encuentra el fichero config-dist.php. Deberá realizar un copia del mismo y renombrarla como config.php. Después deberá editar este fichero realizando los cambios que correspondan. El fichero se halla comentado y no hay muchos settings que cambiar. No obstante, tome nota de los siguientes settings:

  • Detalles de conexión de la base de datos (database connection details)' — asegúrese de que incluye los detalles de conexión de la base de datos insertando los valores apropiados para:  $cfg->dbname, $cfg->dbuser, $cfg->dbpass, $cfg->dbprefix. Nota': Si utiliza un hosting compartido, será mejor dejar dbprefix vacío y añadir el prefijo directamente a  $cfg->dbname, $cfg->dbuser values.
  • Directorio de datos (dataroot) - configure el "filesystem path" al directorio de datos que creó anteriormente y en el que el usuario del servidor web tiene permisos de escritura.
  • Permisos del directorio (directorypermissions) - Si utiliza un hosting compartido, podría necesitar cambiar este setting de 0700 a 0777, o similar, de forma que pueda descargar su directorio de datos posteriormente para realizar un backup. Este cambio es menos seguro, pero teniendo en cuenta que en un host compartido apache se ejecuta con el mismo usuario para el código de cualquiera, no se gana demasiado dejando los permisos a 0700.

Tareas del Cron

Necesitará definir las tareas del cron para acceder a htdocs/lib/cron.php cada minuto. Mahara implementa su propio cron internamente, por lo que, al acceder al cron cada minuto es suficiente para hacer que todo funcione.

Si no configura correctamente el cron, ciertas tareas no se realizarán automáticamente, como por ejemplo, la actualización de los alimentadores RSS o el envío de notificaciones de correo electrónico para nuevos mensajes en los foros.

Puede fijar el cron utilizando la línea de comando 'php' para ejecutar el script del cron, o utilizando un navegador web de texto como lynx or w3m.

Con escribir algo como lo siguiente en un fichero crontab, será suficiente:

* * * * * curl http://your-mahara-site.org/lib/cron.php
  

De este modo, si lanza el comando cron empleando curl, la salida del cron se almacenará en el fichero error log del servidor apache. Si desea almacenar dicha salida de modo separado, en la Guía del Administrador se describe cómo invocar al con desde la línea de comandos.

5. Ejecute el instalador web

Una vez que haya configurado el fichero config.php, debería poder navegar a la instalación de Mahara mediante su navegador web. Éste abrirá una página indicando las condiciones de uso de Mahara, y preguntará por la confirmación. Si está de acuerdo con las condiciones, seleccione "acepto" y Mahara se instalará por sí mismo en su base de datos. Seleccione "continúe", y debería acceder a la pantalla de "login".

Entre en el sistema con el usuario "admin" y la password "mahara". ¡Bien hecho!...

Ahora sólo queda instalar el paquete de lenguaje en español.

6. Instalación del paquete de lenguaje en español

El paquete de lenguaje en español puede descargarse directamente del repositorio, siguiendo las instrucciones que aparecen al inicio (deberá instalar GIT primero), o bien de la página de paquetes de lenguaje.

Se recomienda instalar el paquete de lenguaje para la versión 1.1 de Mahara, ya que podría dar problemas en versiones anteriores.

La forma de instalar el paquete de lenguaje es la siguiente:

  1. Una vez completada la instalación estándar de Mahara, en el directorio dataroot se debería haber creado la carpeta "langpacks". Si no es así, deberá crear dicha carpeta manualmente.
  2. Descomprima el paquete de lenguaje -es.utf8- en la carpeta langpacks.
  3. Compruebe que en el fichero config.php creado en los apartados anteriores, existe la siguiente línea:
$cfg->langpacksearchpaths = array($cfg->dataroot.'/langpacks/xx.utf8');

para indicarle a Mahara dónde encontrar el paquete de lenguaje.

4.Una vez instalados los ficheros de lenguaje, vaya al menú  "Site Administation"  de su sitio Mahara y escoja el lenguaje apropiado por defecto. El lenguaje que acaba de instalar debería aparecer en el menú desplegable de lenguaje.

Cada usuario de Mahara puede, a su vez, escoger el idioma que desea, de los disponibles en el sitio, dentro del menú "Preferencias". Existen paquetes de lenguaje en català y euskera que pueden instalarse junto con el de español, siguiendo el mismo procedimiento.

Importante, Sólo para la versión 1.1: El paquete de lenguaje en español incluye también el subdirectorio  /js con los ficheros de lenguaje para el editor html TinyMCE que utiliza Mahara traducidos al español. La forma de instalar estos últimos ficheros es la siguiente:

  • En el directorio /htdocs de Mahara, busque el subdirectorio "tinymce"  y dentro de él diferentes subdirectorios.
  • Para cada uno de dichos subdirectorios deberá añadirse el fichero correspondiente  es.js contenido en este paquete junto a los ficheros js para otros idiomas.


Por ejemplo, el fichero:

/js/tinymce/langs/es.js

contenido en el paquete de español deberá añadirse al subdirectorio:

htdocs\js\tinymce\langs de Mahara

y así sucesivamente para los ficheros es.js en los subdirectorios themes y plugins.

Desde Linux se puede hacer directamente con la instrucción cp:

Por ejemplo:

cp -r /home/usuario/temporal/htdocs/js/ /home/web/mahara_1_1_2/mahara

A partir de la versión 1.1.5 de Mahara, la traducción del editor html TinyMCE, ya está incluida.

Resolución de Problemas

Pregunta: Sólo leo "500 Internal Server Error" cuando intento cargar las páginas.

Respuesta: Esto es probablemente porque usted utiliza un hosting compartido y su proveedor de host ha deshabilitado algunas directivas dentro del fichero .htaccess, o posiblemente ha deshabilitado el uso del mismo .htaccess.

El fichero .htaccess se encuentra en el directorio /htdocs. Se trata de un fichero "oculto" (debido al . al inicio de su nombre), que le dice a Apache cómo debería comportarse. Mahara lo utiliza para desactivar peligrosos settings PHP y para configurar la memoria caché, de forma que su sitio Mahara trabaje de modo rápida. Lamentablemente, si su proveedor de host ha deshabilitado .htacces, usted perderá algunos de estos beneficios, o todos ellos.

Para resolver este problema, primero comente cualquier linea que empiece por php_flag o php_value en el fichero, e intente cargar la página de nuevo. Si el problema persiste, elimine completamente el fichero .htaccess.

Si todavía experimenta problemas, necesitará examinar el log de errores de apache. El log debería contener un mensaje de error indicando exactamente por qué obtiene "500 Internal Server Error". La mayoría de los servidos de hospedaje proporcionan al menos un rudimentario acceso a los logs. Si el suyo no lo hiciera, considere la posibilidad de cambiar de proveedor, porque un servicio de hospedaje que no le permite averiguar qué fue mal, no le está proporcionando un mínimo de servicio aceptable.

Pregunta: Una vez que he completado la instalación, obtengo mensajes como "You have dangerous PHP settings, magic_quotes_gpc is on. Mahara is trying to work around this, but you should really fix it"

Respuesta: Estos mensajes advierten que tiene settings PHP que deberían haberse desactivado. Mahara intenta desactivarlos a través del .htaccess. Si esto no ha funcionado, entonces usted utiliza probablemente un hosting compartido, y necesita indicarle a Mahara cómo desactivar estos mensajes. En el config.php encuentre la línea:

$cfg->log_environ_targets = LOG_TARGET_SCREEN | LOG_TARGET_ERRORLOG;

y cámbiela a:

$cfg->log_environ_targets = 0;

Pregunta: Obtengo el siguiente mensaje:

Parse error: syntax error, unexpected '{' in .../htdocs/init.php on line 79

Respuesta: Probablemente está ejecutando Mahara sobre PHP4. Mahara necesita PHP 5.1 o superior.

Pregunta: '¡'Por cada página que voy,  Mahara me pide el login de nuevo!

Respuesta: Es muy probable que haya especificado la variable "dataroot" de modo incorrecto. Dataroot debe indicar la dirección absoluta relativa al sistema de ficheros. NO ES UN URL, o parte de uno. Tampoco funcionará si indica la dirección relativa. Tampoco funcionará si en esta variable indica un enlace simbólico del sistema de ficheros, ya que debe indicarse la ruta absoluta.

Para averiguar dónde está instalado Mahara en el sistema de ficheros, si no lo puede encontrar de otra forma (como FTP), añada una línea en index.php tipo echo getcwd();.

La dirección del dataroot necesita definirse de acuerdo a las reglas habituales, como se explica en el fichero config-dist.php

Pregunta: Todavía experimento problemas, '¿dónde puedo conseguir más ayuda?'

Respuesta: Las opciones disponibles son:

  • Los foros, acá en Mahara.org, lo que incluye la Comunidad en Español.
  • El canal  #mahara IRC o irc.freenode.org

Subpages