FileRun is a free, open-source, and self-hosted file share and sync application written in PHP. It allows you to upload and access your file through secure cloud storage. It comes with a web-based interface to manage all your photos, movies, collections, and share files with your friends. It is compatible with NextCloud and provides automatic file versioning. It can be installed and run on any VPS, Dedicated Server, or even on the Raspberry PI device.

In this post, we will show you how to install FileRun on Alma Linux 8.

Prerequisites

  • A server running Alma Linux 8.
  • A valid domain name pointed with your server IP.
  • A root password is configured on the server.

Install LAMP Server

First, install the Apache web server, and MariaDB database server on your system. You can install them by running the following command:

dnf install httpd mariadb-server -y

Once both packages are installed, reset the default PHP module and enable the PHP 7.4 module with the following command:

dnf module reset php

dnf module enable php:7.4

Next, install PHP with all required extensions using the following command:

dnf install php php-fpm php-mbstring php-opcache php-pdo php-mysqlnd php-gd php-xml php-zip php-json -y

Once all the packages are installed, you will need to install the Ioncube PHP loader on your system. First, you can download it with the following command:

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

Once the download is completed, extract the downloaded file with the following command:

tar xzf ioncube_loaders_lin_x86-64.tar.gz
Next, move the Isoncube loader to the PHP modules directory:
mv ioncube/ioncube_loader_lin_7.4.so /usr/lib64/php/modules/

Next, edit the PHP configuration file and define the Ioncube module path:

nano /etc/php.ini

Change the following lines:

zend.assertions = -1
zend_extension = "https://www.howtoforge.com/usr/lib64/php/modules/ioncube_loader_lin_7.4.so"

Save and close the file then start Apache, MariaDB, and PHP-FPM services and enable them to start at system reboot:

systemctl start httpd mariadb php-fpm

systemctl enable httpd mariadb php-fpm

You can now check the Ioncube loader installation with the following command:

php -v

You will get the following output:

PHP 7.4.19 (cli) (built: May  4 2021 11:06:37) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with the ionCube PHP Loader   ionCube24 v11.0.1, Copyright (c) 2002-2022, by ionCube Ltd.
    with Zend OPcache v7.4.19, Copyright (c), by Zend Technologies

Once you are finished, you can proceed to the next step.

Configure MariaDB Database

Next, you will need to secure the MariaDB installation and set the root password. You can do it with the following command:

mysql_secure_installation

Answer all the questions as shown below:

Set root password? [Y/n] y
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

Once the MariaDB is secured, log in to the MariaDB shell with the following command:

mysql -u root -p

Once you are log in, create a database and user with the following command:

MariaDB [(none)]> CREATE DATABASE filerun;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON filerun.* TO 'filerun'@'localhost' IDENTIFIED BY 'password';

Next, flush the privileges and exit from the MariaDB shell with the following command:

MariaDB [(none)]> FLUSH PRIVILEGES;

MariaDB [(none)]> EXIT;

Once you are finished, you can proceed to the next step.

Download FileRun

First, download the latest version of FileRun with the following command:

wget -O FileRun.zip http://www.filerun.com/download-latest

Once the download is completed, unzip the downloaded file with the following command:

unzip FileRun.zip -d /var/www/html/filerun

Next, change the ownership of the FileRun directory:

chown -R apache:apache /var/www/html/filerun

Once you are finished, you can proceed to the next step.

Configure Apache for FileRun

Next, you will need to create an Apache virtual host configuration file for FileRun. You can create it with the following command:

nano /etc/httpd/conf.d/filerun.conf

Add the following lines:Advertisement

        ServerName filerun.example.com

        DocumentRoot /var/www/html/filerun

        
                Options Indexes FollowSymLinks
                AllowOverride All
                Require all granted
        

        ErrorLog /var/log/httpd/filerun.error.log
        CustomLog /var/log/httpd/filerun.access.log combined

Save and close the file then restart the Apache service to apply the changes:

systemctl restart httpd

You can also check the Apache status with the following command:

systemctl status httpd

You will get the following output:

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           ??php-fpm.conf
   Active: active (running) since Thu 2022-04-07 09:36:41 UTC; 3s ago
     Docs: man:httpd.service(8)
 Main PID: 5820 (httpd)
   Status: "Started, listening on: port 80"
    Tasks: 213 (limit: 11412)
   Memory: 24.4M
   CGroup: /system.slice/httpd.service
           ??5820 /usr/sbin/httpd -DFOREGROUND
           ??5823 /usr/sbin/httpd -DFOREGROUND
           ??5824 /usr/sbin/httpd -DFOREGROUND
           ??5825 /usr/sbin/httpd -DFOREGROUND
           ??5826 /usr/sbin/httpd -DFOREGROUND

Apr 07 09:36:41 linux systemd[1]: httpd.service: Succeeded.
Apr 07 09:36:41 linux systemd[1]: Stopped The Apache HTTP Server.
Apr 07 09:36:41 linux systemd[1]: Starting The Apache HTTP Server...

Once you are finished, you can proceed to the next step.

Access FileRun Web Interface

Now, open your web browser and access the FileRun web interface using the URL http://filerun.example.com. You should see the following screen:

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2022/04/echo/p1.png6256ab390b6ac.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="367" loading="lazy" src="data:image/svg xml,” width=”750″>

Click on the Next button. You should see the Server Requirements check screen:

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2022/04/echo/p2.png6256ab3939c63.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="428" loading="lazy" src="data:image/svg xml,” width=”750″>

Make sure all requirements are installed then click on the Next button. You should see the database setup screen:

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2022/04/echo/p3.png6256ab39750d5.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="428" loading="lazy" src="data:image/svg xml,” width=”750″>

Provide your database credentials and click on the Next button. Once the FileRun is installed, successfully, you should see the following screen:

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2022/04/echo/p4.png6256ab39a6353.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="424" loading="lazy" src="data:image/svg xml,” width=”750″>

Note down your username, password and click on the Next button. You should see the FileRun login screen:

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2022/04/echo/p5.png6256ab39d6f45.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="388" loading="lazy" src="data:image/svg xml,” width=”750″>

Provide your admin username, password, and click on the Sign in button. You should see the FileRun dashboard on the following screen:

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2022/04/echo/p6.png6256ab3a241c0.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="370" loading="lazy" src="data:image/svg xml,” width=”750″>

Click on the Control Panel. You should see the FileRun control panel page:

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2022/04/echo/p7.png6256ab3a5c8ef.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="368" loading="lazy" src="data:image/svg xml,” width=”750″>

Conclusion

Congratulations! you have successfully installed FileRun on Alma Linux 8. You can now upload your files, photos, and movies on the FileRun and access it from anywhere from the web browser. Feel free to ask me if you have any questions.