Actions

Difference between revisions of "Documentación en Español/Instalación de Mahara"

From Mahara Wiki

< Documentación en Español
 
(2 intermediate revisions by the same user not shown)
Line 17: Line 17:
 
* PHP 7.2+
 
* PHP 7.2+
 
* PostgreSQL 9.4+ '''(recomendado)''', o MySQL 5.6+, o MariaDB 10.1+
 
* PostgreSQL 9.4+ '''(recomendado)''', o MySQL 5.6+, o MariaDB 10.1+
 
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.
 
  
 
</div><div id="section_3">
 
</div><div id="section_3">
Line 24: Line 22:
 
=== Extensiones PHP ===
 
=== Extensiones PHP ===
  
* curl
+
* curl
* gd (incluido el soporte para Freetype)
+
* gd (incluido el soporte para Freetype)
* json
+
* json
* ldap
+
* ldap
* libxml
+
* libxml
* mbstring
+
* mbstring
* mcrypt
+
* mcrypt
* mime_magic; o fileinfo
+
* mime_magic; o fileinfo
* pgsql; o mysqli; o mysql
+
* pgsql; o mysqli; o mysql
* session
+
* session
* SimpleXML
+
* SimpleXML
* bz2 (opcional)
+
* bz2 (opcional)
* imagick (opcional)
+
* imagick (opcional)
* openssl y xmlrpc (opcional; para soporte de conexiones)
+
* openssl y xmlrpc (opcional; para soporte de conexiones)
* memcache (opcional; para el plugin SAML auth)
+
* memcache (opcional; para el plugin SAML auth)
* zlib (opcional)
+
* zlib (opcional)
* adodb (opcional; mejora el rendimiento)
+
* adodb (opcional; mejora el rendimiento)
* enchant or pspell (opcional; para el botón corrector de ortografía TinyMCE)
+
* enchant or pspell (opcional;
 +
para el botón corrector de ortografía TinyMCE)
  
 
</div><div id="section_4">
 
</div><div id="section_4">

Latest revision as of 16:24, 4 September 2020


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.

Plataforma (Dependencias)

Entorno Operativo Básico

  • Linux
  • PHP 7.2+
  • PostgreSQL 9.4+ (recomendado), o MySQL 5.6+, o MariaDB 10.1+

Extensiones PHP

  • curl
  • gd (incluido el soporte para Freetype)
  • json
  • ldap
  • libxml
  • mbstring
  • mcrypt
  • mime_magic; o fileinfo
  • pgsql; o mysqli; o mysql
  • session
  • SimpleXML
  • bz2 (opcional)
  • imagick (opcional)
  • openssl y xmlrpc (opcional; para soporte de conexiones)
  • memcache (opcional; para el plugin SAML auth)
  • zlib (opcional)
  • adodb (opcional; mejora el rendimiento)
  • enchant or pspell (opcional;

para el botón corrector de ortografía TinyMCE)

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

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

¿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 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/Base de Datos/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 7.2, 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 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]

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 https://git.mahara.org/mahara/mahara.git

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.

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.

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.

Instalación del paquete de lenguaje en español

El paquete de lenguaje en español puede descargarse directamente de la página de paquetes de lenguaje.

Se recomienda instalar el paquete de lenguaje para la versión de Mahara que tenga instalada, 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. 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, en la barra de menú. Existen paquetes de lenguaje en català y euskera que pueden instalarse junto con el de español, siguiendo el mismo procedimiento.

También se puede instalar un paquete de lenguaje usando el script htdocs/admin/cli/sync_langpacks.php

  1. desde la linea de comandos, para descargar e instalar el paquete de lenguaje Español y Francés por ejemplo, se debe ejecutar

sudo -u www-data php admin/cli/sync_langpacks.php -l=es,fr

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: '¡'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