Que tal, en este articulo veremos como instalar el LMS Moodle sobre un server Ubuntu 18 recién instalado.
Empezamos actualizando el servidor
sudo apt update -y && sudo apt upgrade -y
Diez mil años después…
Después de haber terminado de actualizar toca instalar apache
sudo apt install apache2
Arrancamos apache
sudo systemctl start apache2
Verificamos que el servidor esta corriendo
sudo systemctl status apache2
Instalaremos Mysql
Sudo apt install mysql-client mysql-server php libapache2-mod-php
Después de decirle que sí, iniciará la instalación
Hay que levantar el servicio de Mysql
sudo systemctl start mysql
sudo systemctl enable mysql
Vamos a configurar los datos de acceso de mysql
Sudo mysql_secure_installation
Nos preguntara si queremos iniciar la configuración de acceso de mysql, presionen Y
Luego tienen que elegir la fortaleza del password para el usuario root
Después de eso les pedirá el nuevo password, coloquen el que deseen y presionen Y
Seleccionen las siguientes respuestas
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
Reiniciemos mysql
systemctl restart mysql
Vamos a crear la base de datos que moodle usará
Creamos la base que Moodle usuará
Ingresemos a Mysql
sudo mysql -u root -p
Crearemos la base de datos llamada moodledb
CREATE DATABASE moodledb;
Creamos un usuario para la base
CREATE USER 'moodle@localhost' IDENTIFIED BY 'tu_password;
tu_password es el password que ustedes eligirán para el usuario moodle de mysq
Le damos todos los privilegios a ese usuario
GRANT ALL ON moodledb.* TO 'moodle@localhost' IDENTIFIED BY 'tu_password' WITH GRANT OPTION;
Aplicamos la configuración
FLUSH PRIVILEGES;
EXIT;
Habiendo terminado la parte de mysql, vamos a instalar todas las dependencias que Moodle necesita.
sudo apt install graphviz aspell ghostscript clamav php7.2-pspell php7.2-curl php7.2-gd php7.2-intl php7.2-mysql php7.2-xml php7.2-xmlrpc php7.2-ldap php7.2-zip php7.2-soap php7.2-mbstring
En mi caso me marcaron errores de dependencias al instalar algunas librerías. Después de batallar literalmente durante horas, conseguí resolverlo con el siguiente comando :
sudo add-apt-repository ppa:ondrej/php
Instalando Moodle
Descarguen la versión más reciente de Moodle. (Asegúrense de buscar la más reciente).
sudo wget https://download.moodle.org/download.php/direct/stable38/moodle-latest-38.tgz
Descomprimamos el archivo
sudo tar -zxvf moodle-latest-38.tgz
Ahora existe una carpeta llamada Moodle, vamos a mover esa carpeta al directorio donde apache gestiona los sitios
sudo mv moodle /var/www/html/moodle
Vamos a crear el directorio moodledata y dejarlo fuera de las carpetas públicas de apache.
sudo mkdir /var/www/moodledata
Resistan, ya vamos por la mitad ….. 🙂
Configuremos los permisos
sudo chown -R www-data:www-data /var/www/html/moodle/
sudo chmod -R 755 /var/www/html/moodle/
sudo chown www-data /var/www/moodledata
Configuración de apache
Ahora vamos a moverle las tripas a apache para que pueda saber a dónde dirigirse cuando tipeemos la url de nuestra instancia de Moodle.
Creamos el host virtual para Moodle
sudo vim /etc/apache2/sites-available/moodle.conf
Pegue el siguiente texto en el archivo
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/moodle/
ServerName localhost/elearning
ServerAlias elearning
<Directory /var/www/html/moodle/>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Si están haciendo la instalación en un hosting con dominio, deben colocar ese dominio en las líneas ServerName y ServerAlias. Por ejemplo:
ServerName example.com
ServerAlias www.example.com
Cierren el editor Vim, lo hacen escribiendo :q y enter.
Como yo lo estoy haciendo en un server local lo dejaré como en el primer ejemplo. Le decimos a apache que tome en cuenta ese host virtual
sudo a2enmod rewrite
sudo a2ensite moodle.conf
Para que los cambios surtan efecto reiniciamos apache
sudo systemctl restart apache2
Terminando de instalar Moodle
Desde un explorador accederemos a la dirección de nuestro server en la ruta de Moodle (ustedes cámbienla por su propia ip)
10.1.10.182/moodle
Aparecerá el acuerdo y deben aceptarlo.
Listo, ya tiene instalado Moodle.