In this tutorial, we will learn how to install Mahara, an open-source e-portfolio and social networking web application on Fedora Server Latest.
Before we begin, ensure the system is up to date by running the following command:
sudo dnf update -y
Mahara web application requires a webserver to run. We will use Apache, which is the most commonly used web server. To install Apache, run the following command:
sudo dnf install httpd -y
After installing Apache, start and enable it to run at system boot time with the following command:
sudo systemctl start httpd
sudo systemctl enable httpd
Confirm the Apache web server is working by opening a web browser and navigating to http://localhost/. You should see the Apache test page.
Mahara stores its data in a database. We will use the MariaDB database server. To install MariaDB, run the following command:
sudo dnf install mariadb-server mariadb -y
After installing MariaDB, start and enable it to run at system boot time with the following command:
sudo systemctl start mariadb
sudo systemctl enable mariadb
Then, run the mysql_secure_installation script to set the root password, remove anonymous users, restrict root user access to the local machine, and remove test databases:
sudo mysql_secure_installation
Mahara is written in PHP and requires specific PHP extensions. To install PHP and its required extensions, run the following command:
sudo dnf install php php-mysqlnd php-gd php-curl php-xmlrpc php-xml php-mbstring -y
After installing PHP and its extensions, restart the Apache web server to apply the changes:
sudo systemctl restart httpd
Download the latest version of Mahara from their official website:
cd /tmp
wget https://launchpad.net/mahara/21.04/21.04.2/+download/mahara-21.04.2.tar.gz
After downloading Mahara, extract it to the /var/www/html directory using the following command:
sudo tar -xzf /tmp/mahara-21.04.2.tar.gz -C /var/www/html/
Then, set the appropriate ownership and permissions with the following command:
sudo chown -R apache:apache /var/www/html/mahara
sudo chmod -R 755 /var/www/html/mahara
To configure Apache for Mahara, create a new virtual host configuration file as follows:
sudo nano /etc/httpd/conf.d/mahara.conf
And paste the following configuration:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/mahara
ServerName example.com
ServerAlias www.example.com
<Directory /var/www/html/mahara>
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/httpd/mahara_error.log
CustomLog /var/log/httpd/mahara_access.log combined
</VirtualHost>
Remember to replace "example.com" with your domain name, save and exit the file.
Next, restart the Apache web server to apply the changes:
sudo systemctl restart httpd
Create a new database and user for Mahara using the following commands:
sudo mysql -u root -p
CREATE DATABASE maharadb;
GRANT ALL PRIVILEGES ON maharadb.* TO 'maharauser'@'localhost' IDENTIFIED BY 'yourpassword';
FLUSH PRIVILEGES;
exit;
Remember to replace "maharadb", "maharauser" and "yourpassword" with your desired database name, username, and password respectively.
Open a web browser and navigate to http://your_domain_or_IP/mahara/admin/ and follow the installation wizard to complete the installation.
You will be asked to enter your database details, administrator details, site settings, and email settings.
Once the installation is complete, you can log in to your Mahara application by going to http://your_domain_or_IP/mahara/.
In this tutorial, we have learned how to install Mahara, an e-portfolio and social networking web application on Fedora Server Latest. We have also learned how to configure Apache web server, MariaDB database server, and PHP with the required extensions. Finally, we have installed Mahara using the web interface and created a new database and user for Mahara.
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!