How to Install Jirafeau on NixOS Latest

Jirafeau is an open-source web application that allows you to securely share files with others. It can be installed on different platforms like NixOS. This tutorial will guide you on how to install Jirafeau on the latest version of NixOS.

Prerequisites

Before you start, make sure you have the following:

Step 1: Install Dependencies

Before installing Jirafeau, we need to install the dependencies required to run it. These dependencies include Apache web server, PHP, and MariaDB database server.

To install these dependencies, run the following command as a sudo user:

$ sudo nix-env -i apache httpd php mariadb

Step 2: Set Up Apache

After installing Apache, we need to configure it to serve Jirafeau. For this, create a new Apache configuration file for Jirafeau in the sites-available directory. You can use any text editor of your choice to create this file. Here, we will be using nano.

$ sudo nano /etc/apache/sites-available/jirafeau.conf

Add the following lines to this jirafeau.conf file:

<VirtualHost *:80>
    ServerName yourdomain.com
    DocumentRoot /var/www/jirafeau
    <Directory /var/www/jirafeau>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog /var/log/apache2/jirafeau-error.log
    CustomLog /var/log/apache2/jirafeau-access.log combined
</VirtualHost>

Make sure to replace yourdomain.com with your own domain name. Save and close the file.

Enable the Jirafeau site and restart Apache:

$ sudo a2ensite jirafeau
$ sudo systemctl restart apache2

Step 3: Install Jirafeau

Next, we need to download and install Jirafeau. You can download the latest version of Jirafeau from its official GitLab repository. Here, we will be using the wget command to download the latest release.

First, go to the /var/www directory and create a new directory for Jirafeau:

$ cd /var/www
$ sudo mkdir jirafeau

Download the latest release of Jirafeau using the following command:

$ sudo wget https://gitlab.com/mojo42/Jirafeau/-/archive/master/Jirafeau-master.tar.gz

Extract the downloaded file and move it to the jirafeau directory:

$ sudo tar -zxvf Jirafeau-master.tar.gz
$ sudo mv Jirafeau-master/* jirafeau/

Change the ownership of the jirafeau directory to the Apache user:

$ sudo chown -R apache:apache jirafeau/

Step 4: Configure Database

Jirafeau requires a database to store its data. Here, we will be using MariaDB as the database server.

First, create a new database for Jirafeau:

$ sudo mysql -u root -p

Enter your MySQL root password when prompted.

MariaDB [(none)]> CREATE DATABASE jirafeau_db;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON jirafeau_db.* TO 'jirafeau_user'@'localhost' IDENTIFIED BY 'yourpassword';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Make sure to replace yourpassword with a strong password.

Step 5: Configure Jirafeau

Now, we need to configure Jirafeau to use our new database. For this, go to the jirafeau/data directory and create a new file called config.local.php:

$ cd /var/www/jirafeau/data
$ sudo cp config.local.php.dist config.local.php

Open the config.local.php file in a text editor and configure the database settings:

<?php
# Database configuration
$config["db_type"]        = "mysql";
$config["db_hostname"]    = "localhost";
$config["db_username"]    = "jirafeau_user";
$config["db_password"]    = "yourpassword";
$config["db_name"]        = "jirafeau_db";

Save and close the file.

Step 6: Test Jirafeau

After completing all the steps above, we can test our Jirafeau installation. Open a web browser and visit http://yourdomain.com/install. You should see the Jirafeau installation page. Follow the instructions to complete the installation. After installation, you can log in to the Jirafeau dashboard and start uploading files.

Conclusion

In this tutorial, we learned how to install Jirafeau on the latest version of NixOS. We also installed and configured Apache, PHP, and MariaDB to support Jirafeau. With Jirafeau installed, you can easily share files with others in a secure way.

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!