How to install Elgg on EndeavourOS

Elgg is a free and open-source platform for building social networks, e-commerce sites, and web applications. In this tutorial, we will guide you through the installation of Elgg on EndeavourOS.

Prerequisites

Before we begin, ensure that you have:

  • A working EndeavourOS installation.
  • A user account with sudo privileges.
  • A web server (Apache or Nginx) and a database server (MySQL or MariaDB) installed and configured.

Step 1: Install Elgg Dependencies

  1. Open a terminal and update all packages on your system:
sudo pacman -Syu
  1. Install Apache web server, PHP, and MariaDB:
sudo pacman -S apache php php-apache mariadb
  1. Install additional PHP modules required by Elgg:
sudo pacman -S php-gd php-xmlrpc

Step 2: Download and Extract Elgg

  1. Download the latest stable release of Elgg from the official website at https://elgg.org/download.php.

  2. Extract the downloaded archive to /var/www/html with administrative privileges:

sudo tar xzf elgg-*.zip -C /var/www/html/
  1. Rename the extracted directory to elgg:
sudo mv /var/www/html/elgg-* /var/www/html/elgg
  1. Give Apache ownership of the web directory:
sudo chown -R http:http /var/www/html/elgg

Step 3: Configure the Database

  1. Log in to the MariaDB server with the administrative account:
sudo mysql -u root -p
  1. Create a new database for Elgg:
MariaDB [(none)]> CREATE DATABASE elgg_db;
  1. Create a new user for the new database:
MariaDB [(none)]> CREATE USER 'elgg_user'@'localhost' IDENTIFIED BY 'password';
  1. Grant the user full access to the database:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON elgg_db.* TO 'elgg_user'@'localhost';
  1. Save and exit the MariaDB prompt:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Step 4: Install and Configure Elgg

  1. Open a web browser and navigate to http://localhost/elgg.

  2. Follow the prompts in the installation wizard to configure your Elgg site. When prompted for the database credentials, enter the following:

  • Database name: elgg_db
  • Database username: elgg_user
  • Database password: password
  • Database host: localhost
  1. After completing the installation, delete the install directory:
sudo rm -rf /var/www/html/elgg/install
  1. Modify the .htaccess file to enable URL rewriting:
sudo nano /var/www/html/elgg/.htaccess
  1. Uncomment the following line to enable URL rewriting:
#RewriteBase /elgg/
  1. Save and exit the file.

Step 5: Test Your Elgg Installation

  1. Restart the Apache web server to apply changes:
sudo systemctl restart httpd
  1. Open a web browser and navigate to http://localhost/elgg.

  2. Log in with the admin credentials you created during the installation process.

  3. Explore Elgg and begin building your site!

Congratulations! You have successfully installed Elgg on your EndeavourOS machine.