Mahara is an open-source e-portfolio system that is free to use and is designed to help you create a personalized online portfolio. In this tutorial, we will guide you through the process of installing Mahara on NetBSD.
Before proceeding with the installation, you need to have the following prerequisites:
First, you need to download the latest version of Mahara from the official website. You can do this by running the following command on your NetBSD machine:
$ curl -O https://launchpad.net/mahara/20.04/20.04.1/+download/mahara-20.04.1.tar.gz
Next, you need to install the required PHP modules to run Mahara. Run the following command:
# pkgin update && pkgin -y install php74-mysql php74-curl php74-gd php74-opcache php74-mbstring php74-zlib php74-sockets php74-xmlrpc php74-session php74-json
Extract the downloaded Mahara archive into your web server’s root directory (/var/www/htdocs/ on NetBSD by default).
# tar zxvf mahara-20.04.1.tar.gz -C /var/www/htdocs/
Create a database for Mahara and configure the database settings in the file ‘config.php’ which resides in the ‘htdocs/config’ directory.
$ mysql -u root -p
> CREATE DATABASE mahara;
> CREATE USER 'mahara'@'localhost' IDENTIFIED BY '<mahara_password>';
> GRANT ALL PRIVILEGES ON mahara.* TO 'mahara'@'localhost' IDENTIFIED BY '<mahara_password>';
> FLUSH PRIVILEGES;
> exit
Now, navigate to the Mahara directory and rename the ‘config-dist.php’ file to ‘config.php’
# cd /var/www/htdocs/mahara/
# cp config-dist.php config.php
Open the ‘config.php’ file using any text editor and modify the following settings:
$cfg->dbtype = 'mysqli';
$cfg->dbhost = 'localhost';
$cfg->dbname = 'mahara';
$cfg->dbuser = 'mahara';
$cfg->dbpass = '<mahara_password>';
First, we will create a new Apache configuration file for Mahara.
Run the following command:
# vi /usr/pkg/etc/httpd/conf/mahara.conf
Add the following configuration settings:
# Mahara configuration
Alias /mahara "/var/www/htdocs/mahara"
<Directory "/var/www/htdocs/mahara">
AllowOverride All
Require all granted
</Directory>
# PHP configuration for Mahara
<Directory "/var/www/htdocs/mahara">
php_admin_value open_basedir "/var/www/htdocs/mahara:/tmp:/var/tmp/:/usr/pkg/share/certs/:/var/pkg/etc/httpd/"
php_admin_value session.save_path "/tmp"
</Directory>
DirectoryIndex index.php
Save and Exit the file.
For Nginx add following configuration settings:
server {
listen 80;
server_name mahara.example.net;
root /var/www/htdocs/mahara;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PHP_VALUE "open_basedir=/var/www/htdocs/mahara:/tmp:/var/tmp/:/usr/pkg/share/certs/:/var/pkg/etc/httpd/
session.save_path=/tmp";
}
}
Save and Exit the file.
Once you have configured Apache (or Nginx), save and exit the configuration file, and restart the web server to apply the changes.
# service apache24 restart
or
# service nginx restart
Open a web browser and go to the following URL:
http://localhost/mahara
Or
http://mahara.example.net
You should be able to see the Mahara website, and you can now create a new account or log in to your existing account to start using the e-portfolio system.
Congratulations! You have successfully installed Mahara on NetBSD.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!