Cómo instalar Mahara en Ubuntu 20.04 LTS

En este tutorial, le mostraremos cómo instalar Mahara en Ubuntu 20.04 LTS. Para aquellos de ustedes que no lo sabían, Mahara es un sistema de administración de portafolios electrónico de código abierto y gratuito escrito en PHP. Mahara está diseñado para proporcionar a los usuarios las herramientas necesarias para crear un entorno de desarrollo y aprendizaje personal y profesional.

Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que está ejecutando en la cuenta de root, de lo contrario, es posible que deba agregar ‘sudo‘a los comandos para obtener privilegios de root. Le mostraré paso a paso la instalación de Mahara en Ubuntu 20.04 (Focal Fossa). Puede seguir las mismas instrucciones para Ubuntu 18.04, 16.04 y cualquier otra distribución basada en Debian como Linux Mint.

Instale Mahara en Ubuntu 20.04 LTS Focal Fossa

Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando lo siguiente apt comandos en la terminal.

sudo apt update
sudo apt upgrade

Paso 2. Instalación de la pila LAMP.

Se requiere un servidor LAMP de Ubuntu 20.04. Si no tiene LAMP instalado, puede seguir nuestra guía aquí.

Paso 3. Instalación de Mahara en Ubuntu 20.04.

Ahora descargamos la última versión de Mahara desde la página oficial:

wget https://launchpad.net/mahara/21.04/21.04.0/+download/mahara-21.04.0.tar.bz2
bunzip2 mahara-21.04.0.tar.bz2 
tar -xvf mahara-21.04.0.tar

A continuación, mueva el directorio extraído al Apache raíz web:

mv mahara-21.04.0 /var/www/html/mahara

Después de eso, cree un directorio de datos para Mahara con el siguiente comando:

mkdir /var/www/html/mahara/data

Necesitaremos cambiar algunos permisos de carpetas:

chown -R www-data:www-data /var/www/html/mahara
chmod -R 755 /var/www/html/mahara

Próximos pasos, cambie el directorio a Mahara y genere un secreto con el siguiente comando:

cd /var/www/html/mahara/htdocs
openssl rand -base64 32

Producción:

8aU6HjHs6oD3tzFX1bysH6OwmNP/QnDsIM3iX0Yok=

A continuación, cambie el nombre del config.php predeterminado y edite el archivo:

cp config-dist.php config.php
nano config.php

Agregue la siguiente línea:

$cfg->dbtype="mysql";
$cfg->dbhost="localhost";
$cfg->dbport   = null; // Change if you are using a non-standard port number for your database
$cfg->dbname="maharadb";
$cfg->dbuser="mahara";
$cfg->dbpass="password";
$cfg->dataroot="/var/www/html/mahara/data";
$cfg->passwordsaltmain = '8aU6HjHs6oD3tzFX1bysH6OwmNP/QnDsIM3iX0Yok=';
$cfg->urlsecret="my-supersecret";

Paso 4. Configuración de MariaDB para Mahara.

De forma predeterminada, MariaDB no está reforzado. Puede proteger MariaDB usando el mysql_secure_installation texto. debe leer y debajo de cada paso cuidadosamente, lo que establecerá una contraseña de root, eliminará usuarios anónimos, no permitirá el inicio de sesión de root remoto y eliminará la base de datos de prueba y el acceso a MariaDB segura:

mysql_secure_installation

Configúrelo así:

- Set root password? [Y/n] y
- 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

A continuación, necesitaremos iniciar sesión en la consola MariaDB y crear una base de datos para Mahara. Ejecute el siguiente comando:

mysql -u root -p

Esto le pedirá una contraseña, así que ingrese su contraseña de root MariaDB y presione Enter. Una vez que haya iniciado sesión en su servidor de base de datos, debe crear una base de datos para la instalación de Mahara:

MariaDB [(none)]> create database maharadb character set utf8mb4;
MariaDB [(none)]> grant all on maharadb.* to 'mahara'@'localhost' identified by 'your-strong-password';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Paso 5. Configuración Apache para Mahara.

Ahora creamos una nueva directiva de host virtual en Apache. Para example, crear un nuevo Apache archivo de configuración llamado ‘mahara.conf‘en su servidor virtual:

touch /etc/apache2/sites-available/mahara.conf
ln -s /etc/apache2/sites-available/mahara.conf /etc/apache2/sites-enabled/mahara.conf
nano /etc/apache2/sites-available/mahara.conf

Agrega las siguientes líneas:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/mahara/htdocs/
ServerName your-domain.com
ServerAlias www.your-domain.com
<Directory /var/www/html/mahara/htdocs/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/your-domain.com-error_log
CustomLog /var/log/apache2/your-domain.com-access_log common
</VirtualHost>

Ahora, podemos reiniciar el Apache servidor web para que se realicen los cambios:

sudo a2enmod rewrite
sudo a2ensite mahara.conf 
sudo systemctl restart apache2.service

Paso 6. Configure un trabajo cron.

Por último, considere la posibilidad de configurar un cron trabajo para golpear htdocs/lib/cron.php cada minuto. Puede configurarlo con el siguiente comando:

crontab -e

Agregue la siguiente línea:

* * * * * php /var/www/html/mahara/htdocs/lib/cron.php

Paso 7. Acceder a la interfaz web de Mahara.

Mahara estará disponible en el puerto HTTP 80 de forma predeterminada. Abra su navegador favorito y navegue hasta https://your-domain.comy complete los pasos necesarios para finalizar la instalación. Si está utilizando un firewall, abra el puerto 80 para permitir el acceso al panel de control.

¡Felicidades! Ha instalado Mahara correctamente. Gracias por usar este tutorial para instalar Mahara en el sistema Ubuntu 20.04 LTS Focal Fossa. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de Mahara.