How to Install Elgg on Arch Linux

Elgg is an open-source social networking engine, designed to provide individuals and organizations with the tools to create flexible and scalable social networking platforms. In this tutorial, we will show you how to install Elgg on Arch Linux.

Prerequisites

Before we get started with the installation process, you will need to ensure that you have the following prerequisites in place:

  1. A running Arch Linux machine
  2. A non-root user account with sudo privileges
  3. Apache webserver installed and configured
  4. PHP version 7.2 or higher installed
  5. MariaDB or MySQL database server installed and configured

Step 1: Install Elgg Dependencies

Elgg requires several PHP extensions to run correctly. Execute the following command to install the required PHP extensions:

sudo pacman -S php-imap php-gd php-intl php-xml php-mbstring php-curl

Step 2: Download Elgg

Now, we need to download the Elgg source code from its official website. You can use the following command to download the latest version of Elgg:

wget https://elgg.org/getelgg.php?forward=elgg-3.3.11.zip -O elgg.zip

Step 3: Extract Elgg

Once the download is complete, extract the Elgg archive using the following command:

unzip elgg.zip -d /var/www/html/

This will extract the Elgg files to the /var/www/html directory.

Step 4: Configure the Database

Next, we need to create a new database for Elgg and a new MySQL user account for accessing that database. Execute the following commands to log in to the MySQL shell and create the database and user:

mysql -u root -p

MariaDB [none]> CREATE DATABASE elgg_db;
MariaDB [none]> CREATE USER 'elgg_user'@'localhost' IDENTIFIED BY 'password';
MariaDB [none]> GRANT ALL PRIVILEGES ON elgg_db.* TO 'elgg_user'@'localhost';
MariaDB [none]> FLUSH PRIVILEGES;
MariaDB [none]> EXIT;

Ensure to replace 'password' with a secure and strong password.

Step 5: Update Elgg Configuration

Copy the sample configuration file to create a new configuration file.

cd /var/www/html/elgg/
cp engine/settings.example.php engine/settings.php

Open the settings.php file in a text editor and update the following information:

$CONFIG->dbuser = 'elgg_user';
$CONFIG->dbpass = 'password';
$CONFIG->dbname = 'elgg_db';
$CONFIG->dbhost = 'localhost';

Step 6: Configure Apache for Elgg

Create a new Apache virtual host configuration file for Elgg.

sudo nano /etc/httpd/conf/extra/elgg.conf

Add the following configuration to the file:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    DocumentRoot "/var/www/html/elgg"
    ServerName example.com
    ErrorLog "/var/log/httpd/elgg_error_log"
    CustomLog "/var/log/httpd/elgg_access_log" combined
 
    <Directory "/var/www/html/elgg">
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>

Save and Close the file.

Restart the Apache service to apply the changes.

sudo systemctl restart httpd

Step 7: Access Elgg

Open the browser and visit the Elgg installation page using the URL http://your_server_ip. Follow the installation wizard steps to complete the installation.

Conclusion

In this tutorial, we have shown you how to install Elgg on Arch Linux. You can now quickly deploy an Elgg social networking website and start engaging with your community. Feel free to explore Elgg's features and personalize it to meet your needs.

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!