In this guide we will install FileRun on Synology DiskStation Manager (DSM 7), a Linux based software package that is the operating system for the DiskStation and RackStation NAS (Network Attached Storage) products.
Important: This guide is tested against the latest DSM version as of October 2021: DSM 7.0-41890
Benefits of using FileRun over Synology's own apps:
Note that this tutorial has been tested for now only with the Synology DS2415+ device, but should work fine with all DiskStation devices. If you are having troubles, drop us a message and we'll help you fast and free.
This step is straightforward:
Web Station and install the found package.Open the just installed Web Station package and click on the Management icon for the PHP 7.4 Back-end Package:
Web Station
This will open the Package Center and will offer you to install PHP 7.4. Complete the installation and close the Package Center.
Back on the Web Station you should now see PHP 7.4 marked as
Installed.
Switch to the PHP Settings tab and click the Create button to add
a new PHP profile.
Type a Profile Name, Description and choose PHP 7.4 for the
PHP version:
Under Extensions, enable the following:
curlexifgdimagickopensslpdo_mysqlzipzlibMake sure the option
Enable PHP cacheis NOT checked.
It should look like this:
And click Ok.
Switch to the General Settings tab.
Using the PHP version drop down menu, select the just added PHP 7.4
profile, and click Apply:
ionCube is a PHP extension which is needed by FileRun to function.
For this step we will be using SSH.
See: How to login to DSM with root permission via SSH/Telnet
You might need to follow this guide to enable SSH access.
Once connected:
Change the current folder to /usr/local/lib/php74/modules:
1cd /usr/local/lib/php74/modules
Download the right version of ionCube, appropriate for the CPU type of your Synology device. You can find the CPU model in the Synology Control panel, under Info Center. Google the model name and you will find more information about it and it's architecture.
For 64 bit Intel CPU's:
1sudo wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
For 32 bit Intel CPU's:
1sudo wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
For 32 bit ARM CPU's:
1sudo wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_armv7l.tar.gz
For 64 bit ARM CPU's:
1sudo wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_aarch64.tar.gz
Note that you might be asked to provide the admin password again for running these commands.
Extract the downloaded archive:
1sudo tar xvfz ioncube_loaders_lin_*.tar.gz
Now create an additional custom PHP configuration file:
1sudo vim /run/php-fpm/conf.d/filerun.ini
Press i to enter edit mode then right-click to paste the following
inside:
1zend_extension = /usr/local/lib/php74/modules/ioncube/ioncube_loader_lin_7.4.so
To save the changes, press Esc, :wq! and Enter.
There has been a reported problem, with the above change being lost after restarting the server. You might want to try to put the above configuration inside the file
/volume1/@appstore/PHP7.4/misc/php-fpm.iniinstead.
For the changes to take effect, restart PHP 7.4 by running the following command:
1sudo synosystemctl restart pkgctl-PHP7.4
For DSM version 6, the command is:
1sudo synoservicectl -restart pkgctl-PHP7.4
You can also restart it from Package Center, by selecting PHP 7.4 and then
Stop, wait for it to stop, and thenRun.
Back on the SSH console, to very that ionCube is installed and loaded:
Create a file called info.php file in the root directory of your web
server:
1sudo vim /volume1/web/info.php
Paste the following inside the file, then save and close it.
1<?php
2phpinfo();
Press
ikey for opening edit mode,right-clickto paste the text,Escto exit edit mode,:wq!followed byEnterto save and exit.
Then
1sudo chmod 755 info.php
to adjust the file's permission.
Now visit http://<^>nas_ip_address<^>/info.php in your web browser.
The web page you've opened should look something like this:
PHP Info
Note the " == with the ionCube PHP Loader (enabled) == " text at the bottom of the screenshot.
This is an easy step:
MariaDB and install the found package.Open MariaDB and click Change MariDB password to set a password. Make sure you write this password down.
MariaDB
If you don't have the phpMyAdmin package already installed, use this guide.
root with the password you set
previously.User name. In the screenshot bellow the username
filerun has been filled in.Local for the Host name.Password of your choice and Re-type it.Create database with same name and grant all privileges. option is
checked.
Adding MariaDB user
Click the Go button at the bottom of the page to add the user account.
You can now close phpMyAdmin.
Back to the SSH console.
You can install FileRun in the root folder of your webserver
(/var/services/web/) or a subfolder of your choice.
1cd /volume1/web/
If you wish to use the root of your web server (no subfolder) make sure
you delete the default index.html file from its folder.
1rm index.html
Download the FileRun installation zip archive from the FileRun client account: https://my.filerun.com
Unzip the downloaded archive:
1sudo 7z x FileRun.zip
Allow PHP to write temporary data:
1sudo chown http:http -R system/data/
From here you just have to follow the web-based installer, which will help you get FileRun running with just a few clicks.
Open your browser and point it to http://YOUR-NAS-IP/
Note: If you placed FileRun in a subfolder, add the subfolder name to the URL.
FileRun installer welcome screen
If you do not see the installer web page, but perhaps a
500 Internal Server Errorpage, change the PHP configuration so thatdisplay_errorsis set toOn. The same page will then provide an error message with troubleshooting information.
If you are getting an error such as
Fatal error: Uncaught --> Smarty: unable to write file, know that you
can also use Synology File Station to browse to the FileRun folder and
change the permissions of the system/data folder, allowing http use
the Write permission.
For more troubleshooting information, see this page or contact us (with as much detail as possible).
Click Next to proceed. Review the server requirements check and make
sure there is no red error message:
FileRun server requirements check
Click Next to proceed with the database connection setup:
Database name. This is the same as what you used for the
MariaDB username at the step 5 above (filerun in our example).MySQL user: filerun (The same as above).Password you have configured for the MariaDB user
account.Next.
FileRun database connection setup
You will be presented with the following screen, letting you know that FileRun has been successfully installed:
FileRun successfull installation
Imortant: Make sure you made a copy of the username and password displayed on the screen, before proceeding. The password is being randomly generated at this step. Do not use the password from this tutorial screenshot, it won't work on your install.
Click Next to open FileRun. You should see the login page:
FileRun login page
The form should be prefilled so you can just hit Sign in.
On some Synology devices, users have reported getting the error
SQLSTATE[HY000] [2002] No such file or directory. The solution is to
tweak the PHP configuration a bit.
Port (number, typically 3306) and Domain Socket (file
path, something like /run/mysqld/mysqld.sock) information and
write these down somewhere. You can now close the "MariaDB" options
panel.pdo_mysql and locate the field
pdo_mysql.default_socket.Domain Socket path you made a
note of, at step 2.OkAlso, if you notice the MariaDB server running on a different port than
the default 3306, when configuring the MySQL hostname in the FileRun
installer, set localhost:3306, where 3306 is your actual port
number.
Now you can configure your FileRun user accounts to manage your existing photos:
Managing existing photos
One of the first things you would wish to enable inside FileRun's configuration is ImageMagick and FFmpeg. These are server components which gives FileRun the capability of handling a large variety of image and video files, to provide you with quick image previews and thumbnails.
Image Preview from the menu./bin/convert./bin/ffmpegClick Save Changes and you're done!
You might also want to enable the API, so that you can use the mobile and desktop sync apps with your NAS. You do that like this:
API (OAuth2) from the menuEnable OAuth2 option and click Save ChangesYou should now be able to connect to your FileRun using the mobile and desktop apps.
Support for NGINX X-Accel feature can be enabled from FileRun's control panel. To enable that inside Synology, one will need to:
sudo vim /volume/@appstore/WebStation/misc/nginx_default_server.mustache
and add something like this:
location /volume {
internal;
root /;
}
Then restart NGINX like this:
sudo synoservicecfg --restart nginx
Now FileRun will be able to provide file downloads in a more efficient manner.
You have now successfully installed FileRun on a Synology NAS server. It's time to upload your files, photos, music or work documents and start sharing.