Errores comunes al instalar Moodle en Linux

Antes que nada me gustaría aclarar que estos errores me salieron en un ubuntu server 18.04 que ya tenía instalado vesta panel por lo que puede que algunos errores no lo tengan ustedes, pero igual se los dejo por si les sirve.

Error moodle: Extensión PHP Zip debe estar instalado/activado.

La solución a este error es el siguiente: se tiene que usar la consola de linux para instalar la extensión lo hacemos con el siguiente comando:

sudo apt-get install php-zip

Si tenemos versiones anteriores de php, entonces el comando es un poco distinto, se tiene que colocar la versión de php, si no sabes tu versión de php, solo tienes que colocar el comando linux php -v:

sudo apt-get install php5.6-zip

Una vez instalado la extensión, tenemos que reiniciar los servicios de apache y nginx con los siguientes comandos:

sudo service apache2 restart 
sudo service nginx restart

Error moodle: Fatal error: $CFG->dataroot is not configured properly, directory does not exist or is not accessible! Exiting.

Otros errores que también salen y que están relacionados al primero son los siguientes:

Warning: file_exists(): open_basedir restriction in effect. File(/home/admin/web/epgunprg.edu.pe/moodledata) is not within the allowed path(s): (/home/admin/web/epgunprg.edu.pe/public_html:/home/admin/tmp) in /home/admin/web/epgunprg.edu.pe/public_html/campus/install.php on line 333

Warning: is_writable(): open_basedir restriction in effect. File(/home/admin/web/epgunprg.edu.pe) is not within the allowed path(s): (/home/admin/web/epgunprg.edu.pe/public_html:/home/admin/tmp) in /home/admin/web/epgunprg.edu.pe/public_html/campus/install.php on line 337

Lo primero que tenemos que hacer es crear la carpeta moodledata en la siguiente ruta:

/home/admin/web/TU-WEB.com/

La solución de este error consiste en agregar la ruta de la carpeta moodledata al archivo de configuración de apache, este archivo lo vamos a encontrar en la siguiente ruta:

/home/admin/conf/web/

Dentro de esta carpeta deberíamos encontrar el archivo que lleva por nombre la dirección de nuestro sitio web concatenado con apache2.conf, por ejemplo la ruta de mi sitio web sería de la siguiente manera:

/home/admin/conf/web/mochilanegra.com.apache2.conf

Para editar este archivo solo tenemos que abrirlo con el editor de texto de nuestra preferencia, yo por ejemplo uso nano, dentro de nuestro apache2.conf, vamos a buscar el siguiente código:

php_admin_value open_basedir /home/admin/web/TU-WEB.com/public_html:/home/admin/tmp

y le agregaremos la ruta donde se encuentra nuestra carpeta moodledata /home/admin/web/tu-WEB.com/moodledata, quedando de la siguiente manera:

php_admin_value open_basedir /home/admin/web/TU-WEB.com/public_html:/home/admin/web/TU-WEB.com/moodledata:/home/admin/tmp

Podrás darte cuenta que la ruta de la carpeta moodledata fue colocado entre public_html y home.

¿Pero qué pasa si nuestro moodle está instalado en un dominio que tiene certificado de seguridad? o en otras palabras, el dominio es del tipo: https (con el candadito verde).

Cuando tenemos instalado moodle y hayamos instalado un certificado de seguridad el archivo de configuración que tenemos que modificar (además del de apache2.cof) es apache2.ssl.conf

Las configuraciones son las mismas que realizamos en apache2.conf

Una vez instalado la extensión, tenemos que reiniciar los servicios de apache y nginx con los siguientes comandos:

sudo service apache2 restart 
sudo service nginx restart

Error moodle: La extensión opcional xmlrpc será necesaria para la funcionalidad de la Red Moodle, la conexión a un hub o a los Servicios Web (Web Services)

Aquí no hay mucho que hacer, solo instalar la extensión faltante desde nuestra consola con el siguiente comando:

sudo apt-get install php-xmlrpc

Si tenemos versiones anteriores de php, entonces el comando es un poco distinto, se tiene que colocar la versión de php, si no sabes tu versión de php, solo tienes que colocar el comando linux php -v:

sudo apt-get install php5.6-xmlrpc

Y como siempre reiniciamos el servidor apache y nginx

sudo service apache2 restart
sudo service nginx restart

Gracias por llegar hasta aquí, no olvides que si no lo intentas nunca podrás conseguirlo, hasta pronto, no olvides pasarte por mi canal de YouTube

Mochilanegra.com

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.