FileCloud 21.1 Installation Guide
FileCloud 21.1 Installation Guide
Version 21.1
Installation Guide
FileCloud Server Version 21.1 Installation Guide
Copyright Notice
© 2021 CodeLathe Technologies, Inc. All rights reserved.
While all reasonable care has been taken in the preparation of this document, no liability is accepted by the authors, CodeLathe Technologies, Inc., for any
errors, omissions or misstatements it may contain, or for any loss or damage, howsoever occasioned, to any person relying on any statement or omission
in this document.
FileCloud Server allows you to run your own private cloud storage and
sync solution for your employees, customers and clients allowing
complete control of your organizational data. FileCloud Server also
allows you to expose your existing organizational folder and file shares
(Windows NTFS File Shares, CIFS, NFS, etc.) outside using a web
portal and mobile apps without using VPN.
4
Web browsers
Mobile apps
Desktop sync clients to keep their desktop folders in sync
FileCloud Storage
FileCloud can manage and make available two types of storage:
Network Shares:
Admins can optionally make available existing organizational folder shares available via FileCloud. Such shares can be access via web browser
or mobile apps for instant remote access where ever you are. This is available in the "Network Shares" section.
See a quick video on the differences between Managed Storage and Network Shares.
Connection HDD, NAS Drive, CIFS, NFS Network Shares, Amazon S3, CIFS, NFS Network Shares, Amazon S3, Azure Blob
Azure Blob Storage Storage
Offline Access Yes via Sync App Yes via Sync App's Offline Access
5
Read NTFS NA Yes
Permissions
Governance - Yes No
Retention
Governance - Yes No
Classification
Path Limits No Limits Subject to 256 max path limits when network shares
are in Windows
Large Deployments
For small deployments, you can use FileCloud with Local Storage configuration.
For larger deployments, you would want to use redundant object storage systems like open stack or Amazon S3.
We also recommend using a HA configuration with a database cluster when running a system with many users.
Additional Resources
FileCloud Tour
Blog
6
Vote for new features!
7
FileCloud Sizing Guide
This document explains the hardware sizing and high availability setup for FileCloud deployments.
A user interacts 60 times per days using one of the FileCloud clients (browser, mobile app, Drive client)
Every user synchronizes data with a sync client on an average of 2.5 computers
Total Calls Per Second Per User (Sync + other Apps) 0.097222
User Counts
Server Performance
8-16 CPU 2.6 GHz Intel Xeon with 32 GB RAM ~125-150 reqs/sec
To calculate how many web server nodes you will need to support based on number of users, you can use the linked spreadsheet.
8
High-Availability Requirements
The following diagram explains the FileCloud High Availability Setup
9
Load Balancer You must have a software (haproxy) or If you choose to go with HAPROXY, you must
hardware load balancer for the web application use one of the specs for the load balancer:
servers.
m4.large
In a virtualized environment, a load balancer is
equivalent to a computer with the following
specs:
1-2 vCPU
4-8 GB RAM
Database Server You will need a 3 node MongoDB replica set for You can probably use 1 TB SSD for each of the
FileCloud HA configuration. node.
Each node must have the specs of m4. It is ideal if the MongoDB node VMs can be
xlarge or equivalent configuration. housed in different physical host.
In a virtualized environment it is equivalent
to 8-16 vCPU and 16-32 GB RAM.
More RAM is better for the Database
because MongoDB keeps the working set
in RAM
SSDs are recommended for database
servers
Network For the front-end network, the following is Each server should have a dedicated
recommended: connection to:
10
Installing FileCloud Server
Use the following outline to understand how the installation process works.
Make sure to read the Requirements and Storage and Client Application Limits first.
WINDOWS: Install FileCloud using the installer on Windows (Windows 64 bit) (or)
LINUX (Debian/Ubuntu, CentOS/RedHat): Install FileCloud using the easy Installation script (Recommended Option)
Other options
Install FileCloud using the provided Virtual Machine (VMWare / VirtualBox etc)
Manual install from scratch on Debian/Ubuntu or CentOS/RedHat/Fedora
Install FileCloud on Amazon AWS
Install FileCloud on Amazon GovCloud AWS
Install FileCloud on Linux offline - right-click here to download the tool.
Ubuntu Package Installation
After installation, if Apache will not start, see FileCloud not starting on Windows.
Open the FileCloud Install page at http://<site>/install (typically http://127.0.0.1/install) and go through the BASIC and EXTENDED checks.
Note that some checks might fail, but you can resolve them later in the Admin Portal Settings.
Your FileCloud license is a document that provides legally binding guidelines on the use and distribution of your newly installed FileCloud software.
Set the storage path where FileCloud stores its all its files. This only applies if you are using Local Storage.
If you are going to use OpenStack or Amazon S3, then you don't need to set this path.
Use the Administrator Guide to get your site ready for users to log onto and use.
11
Windows Defender October 2020
Microsoft has changed some rules for virus detection. As a result, some files are now falsely identified as viruses.
We recommend excluding the following directories from the scan in Windows Defender or other AV programs:
FileCloud temporary folders C:\xampp\tmp and C:\xampp\htdocs\scratch (If you installed FileCloud on a different drive, please use
that instead of C:\)
Managed Storage Location (if you do not use object storage / S3): (FileCloud Admin Portal -> Settings -> Storage -> Storage Path)
You may also refer to the following URL for more information on excluding folders in Windows Defender: https://support.microsoft.com/en-us
/help/4028485/windows-10-add-an-exclusion-to-windows-security
No matter which edition of FileCloud you are using, it is easy to transfer your data after your FileCloud site is setup.
12
Requirements
The ability to support FIPS licenses is available in FileCloud Server version 18.2 and later.
To prepare your environment for FileCloud, make sure that you have the required components.
FileCloud Server now supports FIPS licenses in version 18.2 and later.
Enterprises who are subject to the FIPS regulations must install and run a FIPS-enabled operating system. For example, CentOS in FIPS
mode.
When using a FIPS-enabled license, FileCloud Admins will see in the Admin Portal:
Windows Server 2008 R2 64 bit, Windows 2012 64 bit (& R2), Windows Server 2016
Ubuntu 16.04 LTS (from FileCloud release v15 onwards)
CentOS 7.0 onwards
RHEL 7.0 onwards
Additionally, FileCloud can be run inside a Virtual Machine that can be hosted in almost any operating system including Mac OSX.
This software is only listed to inform you of what is installed by the FileCloud installation wizard.
The components are identified as either Required or Optional so you can plan on which optional components you will want to install.
All components can be managed after running the installation wizard using the FileCloud control panel.
Server Software
The following required software is automatically installed by FileCloud's Windows and Linux installers.
Apache Required 2.2 and above 2.4.16 and above Cross-platform Web Server
PHP Required 7.2 7.2 in Linux and above Server-side scripting language
designed for Web
Anything below or above 7.1 development
is not supported
PHP-MongoDB driver Required 1.2.3 and above 1.2.3 and above Provides a minimal API for
core driver functionality
13
Memcached Optional Version included in the Version included in the Memory object caching
installer installer system that provides pre-
caching of NTFS permissions
and encryption
PHP ionCube Loader Optional Version included in the Version included in the Encodes and secures PHP
Extension installer installer files
Solr Optional Version included in the Version included in the Enables content search with
installer installer the following features:
For FileCloud Sync and FileCloud Drive applications, Windows 10 is required to run properly.
Larger Installations
To support FileCloud, you might need to setup more powerful configurations to include the following:
Ports
The following are the ports necessary for the operation for FileCloud.
14
443 HTTPS Traffic External
Port used for https traffic from all
clients such as browser,
FileCloud sync, FileCloud drive
etc.,
This port should be opened to
WAN if clients needs to access
FileCloud over internet.
If MongoDB is set to run on a different computer from the Webserver , then Port 27017 on the computer running MongoDB must be
accessible from the Webserver computer in order for it to connect.,
Configuration
Component Configuration
IP Address You need a public IP for the server running FileCloud. Typically, this
means you need a static IP for the server as dynamic IPs provided by
most ISPs keep changing.
Network Connection You need a good quality network connection to the FileCloud Server.
Minimum should be 512 Kbps upload and download for good
experience. The faster the connection the better the experience.
Domain Name You will typically need a top level domain name. For example: cloud.
mycompany.com or mycompanycloud.com. You can purchase a domain
name from any domain registrar and then point the DNS for that domain
name to the public IP of the server that is running FileCloud.
SSL Certificate You will also need a valid SSL certificate for your domain name to setup
and use https with your filecloud server for best security.
15
Installation
Use the following links to install a new instance of FileCloud Server.
WINDOWS: Install FileCloud using the installer on Windows (Windows 64 bit) (or)
LINUX: Install FileCloud using the installation script
Installation Options
Direct Installation
Virtual Machine Installation
Microsoft Azure Installation
Amazon Web Services (AWS) Installation
Amazon GovCloud AWS Installation
FileCloud Docker installation
Alibaba Cloud Installation
16
Direct Installation
This section explains the procedure to install FileCloud in your system.
For help on registering your company and downloading the installer, see the Registration page.
Installation on Windows
Ubuntu Package Installation
FileCloud RPM Package Installation
Installation on Linux Distros
LINUX Upgrade Script
17
Installation on Windows
Installation on Windows (64-bit)
The installation process on Windows includes the following steps:
18
Install Webserver as Service for Windows
By default, the Webserver that is shipped part of the FileCloud installation runs as a normal process. If the user running the application logs out the
application will exit. To prevent this, you can run FileCloud Webserver as a service.
Install as a Service
Click on "Make Service" link in the Control Panel. It will be installed as a service. You can then click on "Start" to start the service.
Note, if you are making existing network shares accessible to FileCloud, we suggest you modify the service "Log on" permissions to run as an
user account with full privileges to the network share ( See screenshot below).
19
Alternate way to install as a service, open an administrator command prompt
cd c:\xampp\apache\bin
httpd.exe -k install
cd c:\xampp\apache\bin
httpd.exe -k uninstall
20
Install MongoDB as service in Windows
By default MongoDB in Windows runs as a process. If the user running the application logs out, the database process will exit. To prevent this, you can run
the mongodb database as a service.
Install FileCloud
Before making MongoDB as a service, install FileCloud using the windows installer. By default FileCloud will be installed under C:\xampp. If you have
manually installed FileCloud or installed FileCloud on a different path, update the paths accordingly in the next steps.
21
Alternate Installation Method Step 1: Create MongoDB Config File
Update a file called mongodb.conf under C:\xampp\mongodb\bin, and use absolute paths for the locations of logpath and dbpath to be absolute paths.
It is important when running mongodb as a service that the dbpath and the logpath are provided as full paths instead of relative
paths. ie c:\xampp\mongodb\bin\data
# mongodb.conf
#where to log
logpath=C:\xampp\mongodb\bin\log\mongodb.log
#append log
logappend=true
#ip address
bind_ip = 127.0.0.1
port = 27017
#quiet mode
quiet=true
C:\> cd C:\xampp\mongodb\bin
C:\xampp\mongodb\bin> mongod.exe --config C:\xampp\mongodb\bin\mongodb.conf --install
You can start the MongoDB service using the FileCloud Control Panel.
Now the service will start automatically on machine reboots.
C:\xampp\mongodb\bin>mongod.exe --remove
22
FileCloud Watchdog Service
FileCloud Watchdog Service is an service for Windows that automatically monitors the availability of Apache Webserver and the MongoDB Databases and
can restart them if they become unavailable or unresponsive.
Installation
1. Open a Windows Administrator Command Prompt
2. Navigate to c:\xampp folder (change it to the path XAMPP folder exists)
3. Run the following to register the service
Uninstall
1. Open a Windows Administrator Command Prompt
2. Navigate to c:\xampp folder (change it to the path XAMPP folder exists)
3. Run the following to register the service
cloudwatchdog.exe /unregisterService
Default Configuration
To change parameters related to the watchdog, adjust the values in the cloudwatchdog.ini file in the xampp folder.
frequency (in seconds) controls how fast the watchdog checks the availability of services
serverurl determines the URL to use to check availability
OpenOffice Configuration
To monitor the open office service, add the following entries to the ini file and adjust accordingly:
Make sure the oowatchdogcheck.php and oowatchdogsample.txt files are present in the resources\backup folder.
23
; Settings for FileCloud Watchdog
[settings]
frequency=60
serverurl=http://127.0.0.1
ooservicename=ooservice
ooscriptpath=c:\xampp\htdocs\resources\backup\oowatchdogcheck.php
Troubleshooting
A log for FileCloud Watchdog Service is inside the XAMPP folder under the filename 'cloudwatchdog.log'
24
Windows Setup Wizard
The installation process on Windows includes the following steps:
During installation you will be asked to install the Microsoft Visual C++ Redistributable Package if it does not already exist.
This installs runtime components of Visual C++ Libraries required to run applications developed with Visual C++ on a computer that does not
have Visual C++ installed.
You can only install FileCloud on the root of the hard drive.
25
Configuring Servers with the FileCloud Control Panel
The installation process on Windows includes the following steps:
When the Setup Wizard finishes successfully, the FileCloud Control Panel opens so that you can configure the servers that FileCloud requires to function.
The order you should start and configure these servers is:
If the user running the application logs out, the process will exit.
Classified as a NoSQL database program because instead of storing information in tables, as with traditional relational databases, MongoDB
stores structured information in JSON format with dynamic schemas
This makes integrating information in applications much easier and faster
For more details, visit the MongoDB web site
This software is installed by the FileCloud installation wizard, you only need to configure it and start it.
A PHP-MongoDB driver is also installed with FileCloud Server to provide a minimal API for core driver functionality
By default MongoDB in Windows runs as a process
It is recommended that you run MongoDB as a service instead of a process
If the user running the application logs out, the database process will exit. To prevent this, you should run the MongoDB database as a service.
26
FileCloud requires MongoDB. You must make this service and start it running before moving on to the next step.
1. In the FileCloud Control Panel, in the Server section, for Database, click the Make Service link.
2. On the Service Installed OK window, click OK.
3. In the FileCloud Control Panel, in the Server section, for Database, click the Start button.
4. In the FileCloud Control Panel, in the Server section, for Database, next to Database, verify it says Running.
If the Database service doesn't start, then another process could be using that port.
To check which program is using that port, you can follow the instructions here.
FileCloud requires MongoDB. You must make this service and start it running before moving on to the next step.
1. In the FileCloud Control Panel, in the Server section, for Message Queue, click the Install link.
2.
27
2. In the FileCloud Control Panel, in the Server section, for Message Queue, click the Start button.
3. On the Service Started OK window, click OK.
4. In the FileCloud Control Panel, in the Server section, for Message Queue, next to Database, verify it says Running.
In either case, begin troubleshooting by confirming that the FileCloud control panel indicates that the Message Queue service has been started. If it has
not been started, click Start (see the above image). It may take some time for the alert to disappear since the message queue must delete all previously
processed messages before starting again.
FileCloud requires Apache Webserver. You must make this service and start it running before moving on to the next step.
1.
28
1. In the FileCloud Control Panel, for the Webserver, click the Make Service link.
2. On the Service Installed OK window, click OK.
3. In the FileCloud Control Panel, for the Webserver, click the Start button.
4. In the control panel, next to Webserver, verify it says Running SVC.
If the WebServer service doesn't start, then another process could be using that port.
To check which program is using that port, you can follow the instructions here.
FileCloud requires the Cron Task. You must Install this service and start it running before moving on to the next step.
1. In the FileCloud Control Panel, for Cron Task, click the Install link.
2. On the Confirmation Installation window, click Yes.
3. On the Service Installed OK window, click OK.
4. In the FileCloud Control Panel, for Cron Task, click the Start button.
5. In the control panel, next to Cron Task, verify it says Running SVC.
29
Configuring Optional Components
The installation process on Windows includes the following steps:
Before running post-installation checks on everything that is installed, you can add any of the following optional services to include them in the post-
installation verifications:
FileCloud Helper
Memcache
Document Preview
Content Search
Because these components are optional, they can be added or removed at any time from the FileCloud Control Panel.
Administrators can enable content search to provides users with the following features:
Content search for file types such as txt, pdf, doc, docx, xls, xlsx, ppt, pptx
Regex support for file/folder name searches
Before installing Content Search, you must install the correct Java Development Kit (JDK).
FileCloud Helper, Memcache, and Document preview do not require any pre-installation steps.
1. In the FileCloud Control Panel, for the service you want to use, click the Install or Make Service link.
2. On the Service Installed OK window, click OK.
3. In the FileCloud Control Panel, for the service you just installed, click the Start button.
4. In the control panel, next to the service you installed, verify it says Running or Running SVC.
30
Post-Installation Steps
The installation process on Windows includes the following steps:
1. In the FileCloud Control Panel, next to Webserver, verify it says Running SVC.
2. In the FileCloud Control Panel, next to Database, verify it says Running.
3. In the FileCloud Control Panel, next to Cron Task, verify it says Running SVC.
4. In the FileCloud Control Panel, next to Initial Setup, click Install Check.
5. If successful, you should see the Getting Started screen.
6. Follow the instructions in Post Installation to complete your cloud setup.
31
FileCloud Retention CLI tool for Windows
Requirements
Steps to start the CLI tool
Example - Deleting a policy
Running the retention tool for multi-tenancy
Requirements
FileCloud Server - Windows
Retention folder created under (C:\xampp\htdocs\resources\tools\retention)
retentionclihandler.class.php and retentionmanager.php under (C:\xampp\htdocs\resources\tools\retention)
Access to Windows Command Prompt
5. Do Remove, add, list, show or others follow the instructions provided step 4 Screenshot.
32
To run the retention tool for the non-default site in multitenancy, use the -h (host) parameter:
In the command line, enter the command for running the tool with -h followed by the site name, such as:
If you do not use the -h parameter with multitenancy, the command is run on the default host.
33
Ubuntu Package Installation
Ubuntu Package Installation
New Installation of FileCloud v19.1 with this method is fully compatible with Ubuntu/Centos Servers.
Note
filecloud-liu.sh a473c77a672b76f385366e6f6e993ecc
3) Ensure the checksum output from step 2, matches the latest MD5 checksum value posted in the top note
section.
------DO NOT USE THE SCRIPT, IF THE CHECKSUM VALUES DON'T MATCH.--------------
The above script will automatically fetch the OS disregard of debian or rpm version and will install the FileCloud instance.
34
FileCloud RPM Package Installation
FileCloud Installation with RPM
If the FileCloud Instance doesn't have access to Internet, we recommend that you contact our support team for assistance.
The below steps are designed for a FileCloud instance which is accessible to external network
New Installation of FileCloud v18.1 with this method is fully compatible with Ubuntu/Debian/Centos Servers.
Note
filecloud-liu.sh a473c77a672b76f385366e6f6e993ecc
3) Ensure the checksum output from step 2, matches the latest MD5 checksum value posted in the top note
section.
------DO NOT USE THE SCRIPT, IF THE CHECKSUM VALUES DON'T MATCH.--------------
The above script will automatically fetch the OS disregard of debian or rpm version and will install the FileCloud instance.
35
Installation on Linux Distros
The installation script for new Installations of FileCloud Server is available in version 18.1 and later.
Ubuntu 14.04
CentOS 8.x
CentOS 6.x
RHEL 6.x
For FileCloud to be fully functional, specific versions of packages must be installed on Linux Distros.
In some cases, customers have updated packages using the apt upgrade command, and when older versions of packages were removed and
updated, FileCloud was no longer fully functional.
Therefore we strongly recommend that you make a backup or snapshot of the server before performing a linux package update.
As an administrator, you can use the provided script to automatically install a FileCloud instance regardless of the version (Debian, Fedora, etc).
The script opens a basic interface to step you through the installation or upgrade process.
Key Action
Requirements:
If the FileCloud Instance doesn't have access to Internet, please contact our support team for assistance.
Step 1. To get the installation script and run it, type the command shown
wget http://patch.codelathe.com/tonidocloud/live in the first column.
/installer/filecloud-liu.sh && bash filecloud-liu.sh
36
Step 2. On the Installer and Upgrade screen, to start the process and
select Proceed, press Tab.
Step 3. On the Welcome screen, to click OK, press the Tab key.
Step 4. After the installation is set up, on the Installer screen, to start the
installation and select Proceed, press Tab.
37
Step 5. On the Configure Additional Installations screen, Solr and Preview
are selected by default, as indicated by an asterisk.
Notes
Use filecloudcp
38
FileCloud CLI
A new CLI tool for Linux Distros called filecloudcp is available in FileCloud Server version 18.1 and later.
The filecloudcp tool helps you find the current version running in the server, check for updates, and upgrade your FileCloud instance from command line.
# filecloudcp
usage: filecloudcp
#filecloudcp -v
18.1.0.611
Copyright (C) 2018 CodeLathe Technologies, Inc.
This is Commercial software.
Enterprise File Sharing, Sync and Mobile Access for Business
Report bugs and tickets to FileCloud Support.
#filecloudcp -c
39
Reset FileCloud Admin Password
#filecloudcp -p
40
LINUX Upgrade Script
For systems with MongoDB authentication and custom IP binding the upgrade script will not work. Please contact support for assistance.
Upgrading your Linux operating system causes FileCloud to be uninstalled. Make sure you have backed up FileCloud before upgrade, and re-
install FileCloud afterwards.
The upgrade script for full upgrades of FileCloud Server is available in version 18.1 and later.
Ubuntu 14.04
CentOS 8.x
CentOS 6.x
RHEL 6.x
As an administrator, you can use filecloudcp (FileCloud control panel) to perform a full upgrade of a FileCloud instance regardless of the version (Debian,
Fedora, etc).
The control panel runs a script that opens a basic interface to step you through the installation or upgrade process.
Key Action
Requirements:
If the FileCloud Instance doesn't have access to Internet, please contact our support team for assistance.
41
Step 1. To use filcloudcp to run the upgrade script, type the following
command:
~# filecloudcp -u
~# wget http://patch.codelathe.com/tonidocloud/live
/installer/filecloud-liu.sh && bash filecloud-liu.sh
Step 2. On the Installer and Upgrade screen, to start the process and
select Proceed, press Tab.
Step 3. On the Welcome screen, to click OK, press the Tab key.
Step 4. The Installer and Upgrader with inform you that FileCloud is
already installed.
Step 5. The Installer and Upgrader with inform you that a new version of
FileCloud is available.
a. To click OK, press the Tab key.
Step 6. On the Upgrader screen, to start the upgrade and select Proceed,
press Tab.
42
Step 7. On the Upgrader screen, to click OK, press the Tab key.
Step 8. On the Upgrader screen, to start the database backup and select
Proceed, press Tab.
Step 9. On the Upgrader screen, to start the webroot backup and select Pr
oceed, press Tab.
Notes
What is Solr?
Content search for file types such as txt, pdf, doc, docx, xls, xlsx,
ppt, pptx
Regex support for file/folder name searches
Step 11. You will be advised that FileCloud Server has been upgraded.
This completes the upgrade process.
43
Step 12. For users running multi-tenant FileCloud: Beginning in FileCloud
20.1, to sign into the admin portal for multi-tenancy, enter the username
for the superadmin user and encrypt your password in the multi.php file.
See Password encryption and logging in to a multi-tenant admin portal for
instructions on encrypting your password.
Custom settings in configuration files that are replaced during upgrade are not reset in the new configuration files.
Check If the following files are replaced with newer versions during upgrade, and in the case that they are replaced, reconfigure any custom
settings after upgrade:
C:\xampp\apache\conf\httpd.conf
C:\xampp\apache\conf\extra\httpd-filecloud.conf
44
Virtual Machine Installation
Virtual Machine Installation
FileCloud is provided as a Virtual Machine (in OVF format) so that it is easy to get started without doing any configuration or setup. The virtual machine
also allows customers to quickly evaluate and try FileCloud in other non-Linux environments.
RAM 2 GB
Username cloud
Password cloud
Username admin
Password password
45
46
Shortcuts
Here's the information on each shortcut and it's function.
ICON Details
47
Opens the FileCloud Install Check Page
Click the icons to generate the URLs that can be used to access the
FileCloud from outside the virtual image.
Note: Depending on the network configuration, these links can be used to
access FileCloud from anywhere on the local network (Bridged
configuration) or from within the host (host-only or NAT configuration)
48
VirtualBox
For Virtual Box: Click on File->Import Appliance and then select the "FileCloud - For VirtualBox.ovf" file, then hit "Next" and then "Import". The virtual
machine will be imported and available to start.
49
50
51
VMware ESXi
If you have issues starting up the Virtual Machine in your VMware ESXi 5.1 infrastructure: You might need to do the following.
#vmkload_mod multiextent
Convert the vmdk image, by going to the location of the virtual machine and then run the following command
#vmkfstools -U ./TonidoCloud-disk1.vmdk
#vmkload_mod -u multiextent
52
VMware Player
For VMWare Player: Click on "Open a Virtual Machine" and then select the TonidoCloud.ovf file and hit "Import". The virtual machine will be imported and
be available to start.
53
54
Microsoft Azure Installation
FileCloud Virtual Machine is currently available via Azure Marketplace.
Using FileCloud VM on Azure, one can host their own file share sync and mobile access solution for their organization in less than 10 minutes. The
FileCloud Virtual Machine is built on top of Windows Server 2016 Data Center Edition. FileCloud stores the metadata information in MongoDB which is
already pre-configured in the FileCloud Virtual Machine. The actual files can be stored in the VM Disk or Azure Files depending on your requirement. We
recommend to take periodic snapshots of your running instance for disaster recovery.
55
3. Configure Basic Settings: Choose your Windows VM name, user name, password, subscription, resource group and the azure data center location.
Once you complete the information click OK.
56
4. Choose Virtual Machine Size according to your needs. Here we are selecting D2_v3 (8 GB RAM, 50 GB Local SSD)
57
5. Configure Storage and Network Settings as needed and Click OK.
58
7. Verify your offer details and click Create.
59
Note: FileCloud is offered under Bring your Own License Model. You can get FileCloud trial license by registering in our customer portal.
8. Azure will start provisioning your FileCloud Virtual Machine. Check the Notifications to see whether the deployment is complete.
60
9. Check the deployment is complete and make sure your FileCloud instance is running.
61
10. Connect to your FileCloud VM instance using RDP connection.
62
63
12. Right Click Windows Start Icon --> Launch File Explorer --> Go to C:\xampp and double click cloudcp (FileCloud Control Panel)
13. Start the FileCloud web server and database server via the FileCloud Control Panel.
64
14. Type http://<publicIP_of_FileCloudVM>/ui/admin/index.html to access the admin portal. Use "admin" as user name and the password is "password".
65
15. Upon successful login, set the storage path for your files and install the trial license you have got from FileCloud customer portal.
66
16. You are set now. Follow the steps here (FileCloud Site Setup) to setup and customize FileCloud as per your organization requirements.
67
FileCloud Integration with Azure File Storage
Azure File storage offers file shares in the Azure Cloud using standard SAMBA protocol (SMB 3.0). FileCloud running on Azure VMs can mount the file
shares created on Azure Files storage and use it as a main storage path for FileCloud. You can also use the same fileshare to store the MongoDB data
files. Azure Files storage is built on the same technology as Blob, Table, and Queue storage. When you create the storage account in Azure portal you can
choose what type of redundancy you would like to have (Local or geo-redundancy). By storing both files and the database db files in Azure Files Storage
you will get the same scalability, durability, reliability and geo-redundancy of Azure storage infrastructure. One can also easily scale FileCloud by running
multiple app nodes while pointing to the same Azure Files Storage location for storing files and database data files.
We have tested FileCloud with Azure Files storage backend using few million files and the setup has worked great. This configuration gives the scalability
and data redundancy without any complicated setup. If you have any questions please feel free to contact us at [email protected].
68
2. Create a File Share under Storage Account as shown below. One can also choose the storage quota. Maximum storage for a File Share is 5120 GB.
69
3. Create a local user in FileCloud VM with the same name as the storage account name that you have created in step 1. For password, please use the
access key of Azure Files Storage.
70
4. Make the local user created in step 3 as part of Administrators group.
71
5. Run the Apache and MongoDB service using the local user account created in the previous step.
Note: We do this step for Apache and MongoDB to have the read, write access permissions to the file shares we created on Azure storage. By using the
storage account name as a local user name and access key as the password, this local user will get complete access to the file shares.
72
73
6. Copy the file share path of file share created in step 2 from the Azure Portal ("\\filecloudazurefiles.file.core.windows.net\fileclouddata")
74
7. Set the share path("\\filecloudazurefiles.file.core.windows.net\fileclouddata") as Storage Path in Managed Storage Settings.
75
8. Open the C:\xampp\mongodb\bin\mongodb.conf file. Edit the dbpath to point to the file share path you created in Azure Files storage.
Note: Before editing the mongodb.conf file make sure you have stopped the database and the webserver from the FileCloud Control Panel.
76
9. Restart the Webserver and the Database from the FileCloud Control Panel. Now all your files and the database data files will be stored in Azure Files
Storage.
77
78
Amazon Web Services (AWS) Installation
FileCloud Public AMI (Amazon Machine Image) is currently available in Amazon AWS Marketplace.
FileCloud stores the meta data and file share information in MongoDB database which is already pre-configured in the FileCloud AMI.
The actual files can be stored in EBS or S3.
For scalability and redundancy, we recommend you use Amazon S3 for production.
We also recommend to take periodic snapshots of your running instance for disaster recovery.
Apart from FileCloud AMI on Ubuntu 16.04, we have also pre-built AMIs (BYOL - Bring Your Own License) available on Windows Server 2016 and
Windows Server 2012. Please see the AWS marketplace links below,
FileCloud Enterprise File Sharing and Sync - Windows 2012 R2 -(20 Users)
79
Launching the FileCloud AMI
An Amazon Machine Image (AMI) is a master image for the creation of virtual servers, known as Elastic Cloud (EC2 instances) in the Amazon
Web Services (AWS) environment.
An AWS Account
An AWS account allows you to:
If you've already signed up for Amazon Web Services (AWS), you can start using Amazon EC2 immediately.
If you haven't signed up for AWS yet, use the following link to get set up to use Amazon EC2.
You can read more about Amazon Elastic Compute Cloud on Amazon's site.
You can begin the process of launching a Linux instance by using the AWS Management Console.
To launch an instance:
Figure 1. An example of FileCloud listings in AWS Marketplace. (This image does not necessarily show the latest version.)
80
When you launch an instance, the instance type that you specify determines the hardware of the host computer used for your instance.
compute
memory
storage capabilities
CodeLathe recommends that you should select an instance type based on:
1. On the Choose an Instance Type page, you can select the hardware configuration of your instance.
This step can change depending on the Instance Type you chose:
81
If your AWS account supports EC2-Classic and you do not have a VPC in the selected region, the launch wizard creates a VPC for
you and you can continue to the next step.
Otherwise, the Review and Launch button is disabled and you must choose Next: Configure Instance Details and follow the
directions to select a subnet.
Figure 2. Options for the next step after selecting an instance type.
1. If you selected an Instance Type of t2.medium or t3.medium, then you must enable T2/T3 unlimited. See Figure 3.
2. When you get to the Configure Security Group step, open up the port 80/443 for web access. See Figure 4.
3. You might need to open other ports such as 443 (HTTPS), depending on your business requirements.
82
You can read more about Amazon EC2 Security Groups.
To complete the Final Review and Launch, see the next step: Step 5: Launch the Instance
To launch an instance:
83
To connect to your instance:
http://<public_dns_name>/ui/admin/index.html
After logging in for the first time, you must change the admin password.
4. After logging in, you will see an Admin Attention window. Use this to install the FileCloud License.
To receive a license you must register at the FileCloud license management portal.
After logging in to the Admin Portal, you will see an Admin Attention window. You will also see tags on the right side of the dashboard telling you about
what needs to be done after installation.
Complete the following items after you are able to launch and connect to your instance:
Item
Change the SMTP servers and accounts to use your own servers for
security purposes.
84
The admin email address is used in all the emails that sent out from the
FileCloud System.
FileCloud recommends you use S3 for file storage instead of the EBS.
After you configure the FileCloud storage, follow the site setup
instructions to setup the FileCloud site according to your requirements.
The ability to install an Enterprise license with components (like Salesforce) is available in FileCloud Server version 18.2 and later.
Your AMI image will automatically come with a standard or enterprise license.
When you log in to the Admin Portal, you can automatically see the License type (BASE/ENTERPRISE) and also the total number
of licenses on the dashboard.
85
Seeding FileCloud for Amazon S3
Initially, when FileCloud is made ready for production purposes, it may be required to get it pre-populated with files/folders for FileCloud users. FileCloud is
bundled with a tool to preload such files/folders before it is opened for user access. This article explains how to use this tool for seeding FileCloud.
Prerequisite
Usage
Seed files for multiple users without resetting databases
Seed files for multiple users resetting databases
Seed files for a single user
Seed files into an existing path
Migrate local storage to S3 storage
Export Site Database (optional)
Prerequisite
To use the seeding tool, mongodb should be enabled in PHP CLI mode.
Enable MongoDB:
In Linux enter:
In Windows enter:
C:\Windows\system32>
If you do not get the above results, please Contact FileCloud Support.
Usage
86
Initializing backup tool
rmen@li111-150:~$ cd /var/www/resources/tools/seeding
rmen@li111-150:/var/www/resources/tools/seeding$ sudo php ./seed.php
Please specify site name. Use 'default' for default site.
Usage: php seed.php -h <host> -p <path> [options]
[Required] -h <host> Site host name or use 'default' for default site
[Required] -p source path from where files are to be seeded
[Options]
-i seed files. Need to set this flag for seeding files
-d <storagepath> seed files from source path specified with -p to an existing storage
path <storagepath>.
-m <s3inipath> specify path to migrate.ini. This ini file will be used to migrate
existing local storage to S3 storage
-u user whose files are to be imported. File with the user name should exist in the
source path. Applicable only with -i
-r reset existing database. This will reset the databases, so use it with caution
The following code shows how to export files for user 'jdoe' from site site21.hostedcloud.com to directory 'cloudexport'.
Note
Linux resetting and seeding files/folders for multiple users - Default site
Windows resetting and seeding files/folders for multiple users - Default site
87
Note
All the existing user accounts and its associated data will be deleted before the seeding.
New user accounts will be created before seeding. Default username and password will be used (i.e password password)
Note
Note
In this case, command imports single folder under the source path into FileCloud storage path /jdoe/march
88
6. Executes the AWS CLI commands prepared in the previous step.
aws_storage_bucket = "company.bucket"
aws_storage_folderprefix = "site1"
aws_access_key_id = "AKIAT4YDRDUSRO863KJJ"
aws_secret_access_key = "stPwbS3Y1KrZGUkVbNcYJx+8S/ZZKFROOjUdG9e9"
aws_region = "us-east-1"
89
Amazon GovCloud AWS Installation
Prerequisite: One needs to have Amazon AWS GovCloud account to use the GovCloud infrastructure. If you are a federal, state govt agency or a US
business working with government contracts, you can get AWS GovCloud account from Amazon. You can apply for an Amazon Govcloud account here (htt
ps://aws.amazon.com/govcloud-us/contact/). Once your account is approved, you can start using the AWS GovCloud infrastructure. Note that the Amazon
GovCloud admin console as well as the account is different from your regular AWS account. Not all aws services are available under AWS GovCloud. The
AWS GovCloud (US) Region allows customers to adhere to: US International Traffic in Arms Regulations (ITAR), Federal Risk and Authorization
Management Program (FedRAMP), and Department of Defense (DoD) Cloud Computing Security Requirements Guide (SRG) Impact Levels 2, 4, and 5.
FileCloud Public AMI (Amazon Machine Image) is currently available in Amazon AWS GovCloud. Using FileCloud's AMI, government agencies can host
their own, secure file share sync and mobile access solution for their organization is less than 10 minutes. The FileCloud AMI image is built on top of
Ubuntu 16.04 OS. FileCloud stores the metadata and file share information in MongoDB Database which is already configured in the FileCloud AMI. The
actual files can be stored in EBS or S3. For scalability and redundancy, we recommend to use S3 for production. We also recommend that you take
periodic snapshots of your running instance for disaster recovery.
For a 100 users organization, a t2.medium or m3.medium or m3.large instance is good enough. Using Amazon EBS for FileCloud stack (FileCloud
application, Apache Web Server, MongoDB Database) and Amazon S3 for cloud storage provides a scalable, redundant infrastructure that will satisfy any
stringent business and federal security requirements. Since you only pay for the FileCloud licenses ($40/user/year) and Amazon infrastructure the cost
savings are very significant compared to any other public cloud file sharing app like Dropbox or Box.net.
In a normal usage scenario, we expect FileCloud + AWS Infrastructure will cost $60/user/year compared to $240/user/year for Dropbox or Box.net. In
addition, with FileCloud you have complete control over the app, branding, domain naming and access permissions. Using FileCloud + AWS, one can
approximately save over $18,000 (assumption 100 users) when compared to Dropbox for business or Box.net.
90
3. Click Launch Instance
91
and choose Continue
92
5. Choose the desired Amazon EC2 Instance type. We recommend at least t2.medium. However, m3 series (like m3.medium) would be better. t2
series begin to throttle resources after sustained usage.
7. Select the desired storage. EBS storage is used to store the file meta and application data in the mongodb database. Depending on your
implementation, actual files can be stored either in EBS or amazon S3.
93
8. Configure Security Groups. If you need a external HTTP/HTTPS access you need to open port 80 and 443.
94
10. You can see now your FileCloud is running in your AWS dashboard. Please note the Public DNS name to access your FileCloud.
95
11. Type 'http://<public_dns_name>/ui/admin/index.html' in your browser to access the FileCloud admin portal.
96
12. Once you logged into the admin portal, please install the FileCloud License.
Please register at our license management portal (https://portal.getfilecloud.com/ui/user/index.html?mode=register) to get trial licenses.
97
1. The user name for the underlying Ubuntu OS is 'ubuntu'. Before launching the instance you will be required to create a key pair or you can
use your existing key pair.
2. If you go to 'http://<public_dns_name>/install' , the page will show all the installed packages in this instance. Check the page and
familiarize yourself with FileCloud components. Before going production move the install folder (/var/www/html/install) to somewhere else.
3. We recommend you to use S3 for file storage instead of the EBS. Please check this page (Setting up FileCloud Managed S3 Storage) to
know how to setup S3 for FileCloud file storage.
4. Take Periodic snapshots of your running instance for Disaster recovery and as an additional backup for FileCloud database and app.
FAQ
What is AWS GovCloud (US?
AWS GovCloud (US) is an isolated AWS Region designed to allow US government agencies and customers to move sensitive workloads into the cloud by
addressing their specific regulatory and compliance requirements. The AWS GovCloud (US) framework adheres to U.S. International Traffic in Arms
Regulations (ITAR) regulations as well as the Federal Risk and Authorization Management Program (FedRAMPSM) requirements.
The Federal Risk and Authorization Management Program, or FedRAMP, is a government-wide program that provides a standardized approach to security
assessment, authorization, and continuous monitoring for cloud products and services. For more info check FedRAMP website (http://www.fedramp.gov/).
International Traffic in Arms Regulations (ITAR) The regulations control the export and import of defense-related articles and services on the United
States Munitions List (USML).
More Information:
FileCloud Videos FileCloud Blogs
98
FileCloud Docker installation
On this page:
Installing Docker
Setting up LibreOffice preview
Confguring Solr
Installing Docker
1. Install docker-compose in your Docker server:
wget https://patch.codelathe.com/tonidocloud/live/scripts/fc/docker-compose.yml
docker-compose pull
Now you can access the FileCloud admin portal at http://<hostip>/ui/admin/index.html. The user name is admin and the password is password
. You can access the FileCloud user portal at http://<hostip>/ui/core/index.html.
To use LibreOffice
99
b. Check Enable Document Converter.
Confguring Solr
1. To configure Solr, start the filecloud.solr container.
2. Enter the Solr container shell:
cp -R /var/www/html/thirdparty/solarium/fcskel/* /var/solr/data/fccore/
By default, FileCloud uses host mount volumes for the Database and Filecloud storage folder.
100
Update Docker to 21.1
Before upgrade:
1. Make a backup or take a snapshot of your server..
2. Read the steps below completely. If you have a custom docker-compose file configuration, make sure that you understand the changes, and if
you have any questions, please contact Filecloud support.
Beginning with Filecloud version 21.1, MongoDB version 4.2 is being used. This requires you to:
2. Edit your docker-compose.yml file to point to the new images (or download the new docker-compose.yml file and edit it).
Enter the following:
docker volume ls
The volume var_html will contain old FileCloud codes, so remove it by entering the command below. If you have any custom entries (for example,
in cloudconfig.php or localstorage.php, please make sure to back up those files.
Please note that the environment variable is now mongodb_data_container. In 3.6 it was MONGO_DATA_DIR
Make sure you set the environment variable to mongodb_data_container in 4.0 and 4.2.
The MongoDB service in the compose file should appear similar to:
version: '3'
services:
filecloud.mongodb:
container_name: 'filecloud.mongodb'
101
image: mongo:4.0
environment:
- mongodb_data_container:/data/db
volumes:
- mongo_database:/data/db
ports:
- "27017:27017"
volumes:
mongo_database:
docker-compose up -d
docker exec -it filecloud.mongodb bash -c 'mongo --eval "db.adminCommand( {
setFeatureCompatibilityVersion: \"4.0\" } )"'
102
Alibaba Cloud Installation
Steps to Launch FileCloud AMI on GovCloud
1. Log in to your Alibaba Cloud account.
103
3.
104
5. Scroll down and select Marketplace Image and then click Select from image market (including operating system).
6. In the Image Marketplace ... screen, search for FileCloud and click Use.
7. Select the desired storage configuration (you can use the defaults provided by Alibaba), then click Next: Networking.
105
7.
106
A confirmation box indicates that the instance has been created.
11. Click Console to open the Instances screen.
12. Confirm that FileCloud is running in your Alibaba Instances dashboard. Please note the public IP Address and Instance ID to access your
FileCloud server.
107
14. Install the FileCloud license.
Please register at our license management portal (https://portal.getfilecloud.com/ui/user/index.html?mode=register) to get trial licenses.
The user name for the underlying Ubuntu OS is root. Before launching the instance you must either create a key pair or use your
existing key pair.
The page http://<public_ip_address>/install displays all the installed packages in this instance. Check the page and
familiarize yourself with FileCloud components. Before going to production move the install folder /var/www/html/install to a
different location.
Take periodic snapshots of your running instance for disaster recovery and as an additional backup for the FileCloud database and
app.
108
Post Installation
After the FileCloud installation is completed, the following steps will help you prepare FileCloud for use:
FAQs
To configure storage, SSL, and other post-installation settings, I need the File Cloud Control panel. How do I open it?
1. On the server, from the Windows Start menu, select the FileCloud Control Panel.
109
Verify Your Installation
FileCloud is bundled with a verification tool to help you test your installation. You can run this tool from the server where FileCloud is installed or remotely
from a different system. This tool will perform various configuration checks related to your FileCloud environment.
Verification checks are grouped into two categories: basic and extended. It is strongly recommended that you review the basic checks to ensure that the
required components are available to FileCloud. Once the Basic checks pass, Extended checks should be reviewed to verify that required directories and
configurations are available.
PHP MongoDB (mongodb ext) driver 1.2.3 or higher Mod Rewrite Apache Configuration Setup Check
110
Install in Server WWW root folder
CloudConfig.php Readable
Exif Extension
In FileCloud Server version 19.1 and later, a new entry has been added
for the Exif extension installation.
This tool will also report problems so you can correct them before using FileCloud.
All failures reported by the verification tool must be fixed before attempting to use FileCloud.
1. From the FileCloud server, or the VM instance, open a web browser and enter the following address:
http://<yourdomain>//install
Notes
111
Basic Checks
Clicking on the Basic Checks tab displays:
2. The result of the check. A blue checkmark = PASS, and a red X = FAIL.
3. Additional information for installing, troubleshooting, or correcting an issue for this item.
You should review each item in the list to understand how your system is configured and functioning.
The following table explains how to use the Basic Checks information:
PHP Memcache Extension version 3.0.9-dev For a version entry with a blue
checkmark, the item has passed the
verification test using the specific
version.
112
REQUIRED: To install this component,
click the Install link.
PHP LDAP Library Ignore failure if AD/LDAP is For an Ignore - IF entry with a blue
(optional, for AD/LDAP not needed checkmark, the item has passed the
support) verification test conditionally.
.
Review the Requirements page.
Review the installation
procedures.
Review the Installation
Troubleshooting page.
The Help column provides information and resources for understanding how your system is working.
In the Help column, if you click on (the Notes icon), the FileCloud Help page opens.
113
Resolve Failed Checks
To resolve an issue:
1. Return to the FileCloud control panel and install any missing required components or start any required services.
2. For help resolving an issue, use the following resources:
Here are details about some of the important extended checks performed.
This is the set of basic checks performed on your FileCloud installation environment.
Check Details
Apache Mod Deflate/Filter (optional) Checks if the Apache mod_deflate module is present.
This is optional.
PHP 7.4 or higher Checks if the environment has PHP v7.4 or higher.
PHP MongoDB (mongodb ext) driver 1.6.0 or higher Checks if PHP Mongo DB drivers are installed
properly and are version 1.6.0 or higher.
114
PHP GD Library Checks if GD library is installed properly.
PHP ionCube extension 10.4.0 or higher FileCloud PHP files are protected by ioncube
encoder. So ioncube decoder is essential for
FileCloud to function.
PHP LDAP library (optional) Checks if PHP LDAP extension is installed. This is
optional and only required if your environment will
be using LDAP or Active Directory authentication.
PHP Memcache Extension (optional) Checks if PHP Memcache extension is installed. This
is optional and only required if you will be using
encryption for Local Storage (Managed Storage)
Install in Server WWW root folder Checks if FileCloud installation is in the main
server root and not in the subfolder, ie. http://myd
omain.com and not http://mydomain.com/cloud
115
Extended Checks
Clicking on the Extended Checks tab displays:
2. The result of the check. A blue checkmark = PASS, and a red X = FAIL.
3. Additional information for installing, troubleshooting, or correcting an issue for this item.
To finish verifying your installation using Extended Checks, complete the following steps:
1. Return to the FileCloud control panel and install any missing required components or start any required services.
2. For help resolving an issue, use the following resources:
Here are details about some of the important extended checks performed.
Check Details
CloudConfig.php readable Checks if the cloudconfig.php file is present in the config folder
Localstorageconfig.php readable Checks if the localstorageconfig.php file is present in the config folder
Scratch Directory Writable Checks if WebServer process has write permissions to WEBROOT
/scratch directory.
In Linux, usually chown -R www-data:www-data WEBROOT/scratch
116
followed by chmod -R 700 WEBROOT/scratch would be sufficient.
Config Directory Readable Checks if Apache web server process has read permissions to
WEBROOT/config directory.
Mod Rewrite Apache Configuration Setup Check Checks if Apache website configuration has mod rewrite rules allowed.
FileCloud Message Queue Service Checks to see if Message Queue Service is up and running.
PHP Memcache Server (Optional) Checks if Memcache server is running. This is currently optional.
Then you can move on to step 3, and install any missing updates.
If your connection is not OK, then return to the FileCloud control panel to troubleshoot and resolve the issue.
MODULE ACTION
Build Version After finishing the Post Installation steps, you can upgrade FileCloud
from the Admin portal.
Database Schema Click on the Update link to update your database to the latest schema
version.
Config Files To see the configuration entries that need to be added, in the Action
column, click the link. Whenever you update to a new version, it is
normal to have to add new entries.
117
To set up outside access:
1. To ensure port 80 is accessible from the outside, forward the ports from your Public WAN IP to the internal IP address of the FileCloud server.
2. Ensure port 80 is accessible through any organizational firewalls.
3. For additional security, it is recommended that you use only port 443 for secure access via HTTPS.
4. For additional security, purchase and install and SSL certificate for your domain.
When you log in to the Admin portal for the first time, you may see informational flags for configuration tasks and a Welcome wizard.
You do not have to complete these tasks in step 6, but before users can log in to the User portal, those tasks must be completed.
The first time you log in, the Admin Username is admin, Admin Password is password.
It is recommended that you change this password using the FileCloud control panel.
1. To log in to the Admin portal, click the URL link for the Admin Portal.
2. Make sure your Dashboard loads.
3. If you can log in and see the dashboard, move on to step 7 to delete the installation directory.
This step provides increased security. If someone can guess the location of your installation folder and access it they could potentially
overwrite your site by running the installer again.
118
The installation folder exists in the following location by default:
OS Location
Windows C:\xampp\htdocs\install
Linux /var/www/html/install
or
/var/www/install
1. On the FileCloud server, locate the installation folder for your operating system.
2. On Windows, to delete the folder, right-click its name or icon, and then choose Delete from the pop-up menu.
3. On Linux, to remove all files and directories within that directory, with no prompt for deleting each file, use the following command:
rm -rf install
119
Install the FileCloud License
Your FileCloud license provides legally binding guidelines on the use and distribution of your newly installed FileCloud software.
Standard
Enterprise
For more information, read the license descriptions and Key Features on the FileCloud Pricing page.
For frequently asked questions about licensing, read License Purchase and Renewal
When you register on the FileCloud web site to access the installation software, you should receive your trial license, although it still needs
to be installed.
If you already downloaded your license, proceed to the steps for installing it.
If you did not download your license yet, use the procedures in this section and then proceed to the steps for installing your license.
Download a License
To download a license:
120
The ability to install an ENTERPRISE license and other license components such as SALESFORCE is available in FileCloud Server
version 18.2 and later.
If you do not need to use individual additional components, such as SALESFORCE, and Pattern Search, you can use a Standard license.
However, if you need to use individual additional components, such as SALESFORCE, and Pattern Search, then you must use an Enterprise
license.
There are multiple places where you can install your FileCloud license:
It doesn't matter which one of these places you use; they both perform the same task.
After installation, to update or manage licenses, use the Dashboard's License tab or the Settings tab.
121
Dashboard
If you close the Admin dialog without installing a license, you can always use the FileCloud dashboard to manage your licenses.
The Dashboard opens the same window as if, from the left navigation panel, you click on Settings, and then the License tab.
Also see:
122
Installing FileCloud License On Multiple Sites
Prerequisite
Linux
Windows
If you are an administrator of a multi-site installation and need to update site license of all you sites, you can use the steps described below:
Prerequisite
In Linux, edit the file /etc/php5/cli/php.ini and make sure the module mongo.so is enabled.
To enable mongo.so, add the following line at the end of file /etc/php5/cli/php.ini (if this line doesn't exist in the file)
extension=mongo.so
Linux
In a linux command shell, type the following commands. License installer script takes path to the new license file as input. After the command is executed,
the specified license will be installed on all sites.
NOTE: The license.xml file must be named as license.xml and copied to /resources/backup folder before the script can be run.
user@li111-150:~$ cd /var/www/html/resources/backup
user@li111-150:/var/www/html/resources/backup$ php licenseinstaller.php license.xml
Windows
In a windows command shell, type the following commands. License installer script takes path to the new license file as input. After the command is
executed, the specified license will be installed on all sites.
NOTE: The license.xml file must be named as license.xml and copied to /resources/backup folder before the script can be run.
C:\WINDOWS\system32>cd c:\xampp\htdocs\resources\backup
c:\xampp\htdocs\resources\backup>c:\xampp\php\php.exe licenseinstaller.php license.xml
123
Viewing Your License Details
License Components information is available in FileCloud version 18.2 and later.
It identifies the areas of FileCloud Server that you have purchased access to.
For information on the different license types, read about the Key Features on the Pricing page.
The Admin portal dashboard - Use this to see quick details about your license, such as when it expires.
The License tab in the Settings screen - Use this to update your license or to see the license components that are available.
124
To update your license details:
125
Configure the Managed Storage Path
FileCloud Server is sometimes called on-premises. This is because you are using the storage space you have locally in your infrastructure to store the files
managed by FileCloud Server.
Managed Disk Storage is just a path to the location where the user files are stored locally and can be accessed directly by FileCloud Server
When you specify the path to managed storage, you allow FileCloud complete control over the management of user content
Managed storage can be a path to file systems, a local hard disk, and Storage Area Network (SAN) or Network Area Storage (NAS) disks
When setting up FileCloud, a critical setting is the path where FileCloud stores its files.
Setting up Managed Storage Path for Local Storage is only needed if you are using FileCloud Local Storage.
If you are using Amazon S3 or OpenStack, you don't need to set this path.
1. Use the Admin Attention Required dialog for the initial setup.
Initial Setup
On initial login into the Admin Portal, if the storage path is not set or not writable, an "Admin Attention Required" dialog is shown as below.
126
Type in the path to the storage location in the box. You can click on the "Check Path" button to verify that the path exists and write permissions are
available. Click on "Apply" button to set the storage path correctly.
127
2. Use the Admin portal to manage storage path changes.
To set or change storage path, open the FileCloud Admin Portal and then open the Settings->Storage Tab. Set the path as needed (for example on
Windows c:\filecloud, or on Linux /opt/filecloud) and finally save the settings. Note that making this change after users have started uploading the files
to the system will make many files missing unless the original files are carefully copied over to the new location.
Do not change the storage path to the new location without copying over ALL folders and file that exist in the old path. Not copying the old
data might lead to data loss.
128
3. After setting the path, you can rerun the install checks.
129
Enable MongoDB Authentication
By default, FileCloud installs the Mongo database server on the same machine as the web server without any authentication settings.
However, you may need to enable authentication for the following reasons:
Added security
Hosting the database server on a different machine than the web server.
dbuser passw0rd1
Use a command line mongo client and execute the following commands to create the required DB user.
The following command lists all the databases in the system (depending on the configuration one or more dbs may not exist (or new ones may be present).
So it is important to set authentication for each of the DB in the system. (Ignore the "local" database that shows up when you type "show databases")
use admin
db.createUser( { user:"dbuser", pwd:"passw0rd1", roles:[ "root" ] })
Mongo Client
Upon executing all the above commands, 'dbuser' will be added as valid database user.
130
Override Settings DB URL
define("TONIDOCLOUD_SETTINGS_DBSERVER", "mongodb://dbuser:[email protected]:27017");
In the above example, we assumed the database server is installed on a different machine (i.e., 192.168.1.102) than the webserver. In collocated
scenarios, 127.0.0.1 can be used as well.
Note: If you use special characters in the password, make sure to URI encode them. For example: using 'password@2090' as the password, you will need
to specify it like
mongodb://dbuser:password%402090@localhost:27017
Other database URLs required for FileCloud needs to be changed to reflect the database user as well.
To do this, edit the configuration file WWWROOT/config/cloudconfig.php and update the following lines:
In this case use a mongodb client and update the URLs with the following information.
Database: tonidosettings
Collection: sites
Records: {
"name" : "TONIDOCLOUD_DBSERVER",
"value" : "mongodb://dbuser:[email protected]:27017"
}, {
"name" : "TONIDOCLOUD_AUDIT_DBSERVER",
"value" : "mongodb://dbuser:[email protected]:27017"
}, {
"name" : "TONIDO_LOCALSTORAGE_DBSERVER",
"value" : "mongodb://dbuser:[email protected]:27017"
}
131
Now that FileCloud is updated with the security info, enable security in MongoDB. To do this open the file mongodb.conf that can be typically found in the
following location:
Windows C:\xampp\mongodb\bin\mongodb.conf
Linux /etc/mongodb.conf
Edit this file and add/update with the following line. If the line is already there, ensure it is not commented.
If you are using a version of MongoDB that creates a YAML conf file, you might need to enable authentication using the following format.
security:
authorization: enabled
Restart Services
Finally, it is necessary to restart both MongoDB and Apache to get the security in-place.
Note
In case of any issues, disable security in mongodb and fix the problems.
To disable security, mongodb auth has to be disabled and the database URLs has to be reverted back.
132
Enable FileCloud SSL Mode Connection To MongoDB
Introduction
By default, FileCloud will connect to a MongoDB server in plain text mode. Starting v14.x, FileCloud can be enabled to connect to MongoDB server in SSL
mode.
Mongo Client
<?php
/*
* Copyright(c) 2015 CodeLathe LLC. All rights Reserved.
* This file is part of Tonido FileCloud http://www.tonido.com
*/
namespace core\framework;
defined('TONIDO_CLOUD_ROOT_DIR') or exit('Forbidden');
/**
* Description of slmongoclientcontext
*
* @author madhan
*/
class SLMongoClientContext{
2. Modify the context parameters as necessary to suit your environment and save the file. There is no need to change any other MongoDB
connection URLs.
3. Restart MongoDB and apache servers. Now FileCloud should be able to connect to SSL enabled MongoDB server.
133
SSL Configuration
FileCloud runs on Apache web server.
Apache server can be configured to serve the website securely using HTTPS protocol.
To enable the HTTPS protocol, you will need an SSL certificate.
Add AD users
Change AD passwords
Secure the connection to Active Directory
Then you will need to configure additional settings and also install an SSL certificate on the AD server.
This topic does not relate to securing connections with your AD Server.
SSL (Secure Sockets Layer) is the standard security technology for establishing an encrypted link between a web server and a browser. This link
ensures that all data passed between the web server and browsers remain private and integral. SSL is an industry standard and is used by millions of
websites in the protection of their online transactions with their customers.
To be able to create an SSL connection a web server requires an SSL Certificate. When you choose to activate SSL on your web server you will be
prompted to complete a number of questions about the identity of your website and your company. Your web server then creates two cryptographic
keys - a Private Key and a Public Key.
The complexities of the SSL protocol remain invisible to your customers. Instead their browsers provide them with a key indicator to let them know
they are currently protected by an SSL encrypted session - the lock icon in the lower right-hand corner, clicking on the lock icon displays your SSL
Certificate and the details about it. All SSL Certificates are issued to either companies or legally accountable individuals.
To learn more about SSL, read knowledge base articles on the SSL web site.
To enhance the security of the Root certificate, two intermediate certificates are created from which SSL certificates are signed and issued.
An intermediate certificate is a subordinate certificate issued by the trusted root specifically to issue end-entity server certificates.
The result is a certificate chain that begins at the trusted root CA, through the intermediate and ending with the SSL certificate issued to you. Such
certificates are called chained root certificates.
Creating certificates directly from the CA root certificate increases the risk of root certificate compromise, and if the CA root certificate is compromised,
the entire trust infrastructure built by the SSL provider will fail. The usage of intermediate certificates for issuing SSL certificates to end entities,
therefore, provides an added level of security. You must install the intermediate certificate in your Web server along with your issued SSL certificate to
complete the trust chain and allow the certificate to be effective.
Once you’ve got your certificate files, seeing your file extension will allow you to know what’s in the file, and if you need to convert them.
134
*.crt The *.crt and *.cer file formats are interchangeable and contain the
same information.
*.cer
the *.crt file is a Microsoft convention and can be easily converted to *.
cer.
*.pfx This is an archive file format for storing several cryptographic objects in
a single file.
All this is wrapped up in a single file which is then protected with a pfx
password.
135
Use SSL on Windows
You can use the standard security technology to establish an encrypted link between the FileCloud server and a client browser.
This link ensures that all data passed between the web server and browsers remain private and integral.
SSL is an industry standard and is used by millions of websites in the protection of their online transactions with their customers.
After you install the SSL certificate on your Apache web server, there is no additional configuration you need to do in FileCloud Server. Once a
certificate is installed, all connections between to the FileCloud Server and clients are secured over SSL.
If you encounter issues using the FileCloud control panel, you can:
136
Create a CSR in the FileCloud Control Panel
The ability to create and Install an SSL certificate from the FileCloud Control Panel is available in FileCloud Server version 14.0 and later.
When using SSL on Windows, you must create a Certificate Signing Request (CSR) to receive an SSL certificate.
A CSR is a data file that contains the Public Key and your domain details.
You will submit the CSR to your SSL provider.
Your provider will verify and then issue a SSL certificate in a .crt file.
If you encounter issues using the FileCloud control panel, you can:
137
2. Under Miscellaneous, click Create SSL CSR.
3. On the New CSR dialog box, fill in the following information.
filecloud.yourdomain.com
138
If it is a wildcard certificate for all sub
domains (for example for using multi
tenancy), then be sure to enter *.
yourdomain.com
*.yourdomain.com
139
Install a certificate using the FileCloud Control Panel
The ability to create and install an SSL certificate from FileCloud Control Panel is available in FileCloud Server version 14.0 and later.
The option to add an Intermediate Certificate is available in FileCloud Server version 18.2 and later.
After you receive an SSL certificate, you can use the FileCloud Control Panel to install it.
If you encounter issues using the FileCloud control panel, you can:
1. On the server, from the Windows Start menu, select Open the FileCloud Control Panel.
140
2. Under Miscellaneous, click Install SSL Cert.
3. Your screen should look similar to the following example:
4. On the Install SSL Certificate dialog box, in SSL Certificate File, click Select.
5. Browse to the default location in: c:\xampp\htdocs\config\server.crt or to the place where the file is saved.
6. On the Install SSL Certificate dialog box, in SSL Private Key File, click Select.
7. Browse to the default location in: c:\xampp\htdocs\config\server.key or to the place where the file is saved.
8. Optionally, to install an intermediate certificate, on the Install SSL Certificate dialog box, in SSL Intermediate Certificate File, click Select.
9. Browse to the default location in: c:\xampp\htdocs\config\server-ca.crt or to the place where the file is saved.
10.
141
9.
10. Your screen should look similar to the following example:
11. On the Install SSL Certificate dialog box, click Install Certificates.
12. On the Confirm Installation dialog box, to install the provided certificate and key, click Yes.
13. When you see the Installed OK dialog box, click OK.
14. To allow the changes to take effect, restart the server.
142
Manually Create a CSR in Windows
When using SSL on Windows, you must create a Certificate Signing Request (CSR) to receive an SSL certificate.
A CSR is a data file that contains the Public Key and your domain details.
You will submit the CSR to your SSL provider.
Your provider will verify and then issue a SSL certificate in a .crt file.
You should use the FileCloud control panel to create a CSR. If you encounter issues, you can create the request manually.
To manually create an SSL certificate, you can use the openssl tool included with FileCloud Server.
c:\xampp\apache\bin
3. To create a Private Server Key, type the following code: (If your SSL provider does not accept key lengths of 2048, a higher length of 4096 can be
used in the follwing command.)
Note
Then run the following in the command prompt to set the path.
set OPENSSL_CONF=c:\xampp\apache\conf\openssl.cnf
filecloud.yourdomain.com
143
If it is a wildcard certificate for all sub domains
(for example for using multi tenancy), then be
sure to enter *.yourdomain.com
*.yourdomain.com
6. Apache won't start up properly if the key is secured with passphrase, so to remove it, type the following command:
The provider will sign and give you an SSL certificate usually called as server.crt.
144
Manually Install SSL Certificates for FileCloud on Windows
This section explains how to install the SSL certificate you received from your certificate provider.
You should use the FileCloud control panel to install an SSL certificate. If you encounter issues, you can install the certificate manually.
If your signed certificate needs a certificate chain file containing all the intermediate certificates, then you need to install the certificate chain file as
well. To do this, you need to edit a configuration file and specify the chain file's location.
If your intermediate certificates are not part of the standard ca-bundle, you must:
C:\xampp\apache\conf\extra\httpd-ssl.conf
#SSLCertificateChainFile "conf/ssl.crt/server-ca.crt"
3. Remove the hashtag (#) from the beginning of the line so that it is no longer a comment and looks like the following line:
SSLCertificateChainFile "conf/ssl.crt/server-ca.crt"
server-ca.crt
145
6. Copy the certification chain file into the conf directory using the following command:
(If FileCloud is installed not under the default location c:\xampp, then copy the file to the appropriate location.)
C:\xampp\apache\conf\extra\httpd-ssl.conf
ServerName "www.example.com:443"
In the serverName do not use * . For wild card certificates, use the FQDN excluding the *
The domain name should also match the FQDN/common name field of your CSR. Certificate Signing Request (CSR) is a data file that contains the
Public Key and your domain details.
This will activate the new SSL certificates and allow Apache to operate in HTTPS mode.
146
Use SSL on Linux
You can use the standard security technology to establish an encrypted link between the FileCloud server and a client browser.
This link ensures that all data passed between the web server and browsers remain private and integral.
SSL is an industry standard and is used by millions of websites in the protection of their online transactions with their customers.
After you install the SSL certificate on your Apache web server, there is no additional configuration you need to do in FileCloud Server. Once a
certificate is installed, all connections between to the FileCloud Server and clients are secured over SSL.
147
Create a CSR for FileCloud
When using SSL on Linux, you must create a Certificate Signing Request (CSR) to receive an SSL certificate.
A CSR is a data file that contains the Public Key and your domain details.
You will submit the CSR to your SSL provider.
Your provider will verify and then issue a SSL certificate in a .cer file.
1. To generate a request, use the following command: (The key for the SSL certificate is stored in the server.key file.)
openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
filecloud.yourdomain.com
*.yourdomain.com
Please enter the following extra attributes to be sent with your certificate request:
A challenge password
148
Install an SSL certificate on Ubuntu
It’s important to use SSL any time sensitive data is involved such as personal information, and authentication credentials such as passwords.
Your Linux system should be:
running Ubuntu
accessible over the internet
using a valid DNS entry that points to your Linux system
1. Add SSL support in Apache. (Enable SSL only if it is not enabled already)
2. Copy the SSL certificate provided by your certification provider and SSL private key file to the apache directory. The certificate file is renamed as
server.crt and intermediate chain file renamed to server-ca.crt and private key file is renamed as server.key
3. Modify your webserver configuration (/etc/apache2/sites-enabled/000-default.conf) to use the issued ssl certificate. (NOTE: The ServerName
must match the server name in the SSL certificate)
<VirtualHost *:443>
# Admin email, Server Name (domain name) and any aliases
ServerAdmin [email protected]
ServerName server1.xyz.com
# Index file and Document Root (where the public files are located)
DirectoryIndex index.php
DocumentRoot /var/www
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateChainFile /etc/apache2/ssl/server-ca.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
</VirtualHost>
Ubuntu 16.04
<VirtualHost *:443>
# Admin email, Server Name (domain name) and any aliases
ServerAdmin [email protected]
ServerName server1.xyz.com
149
# Index file and Document Root (where the public files are located)
DirectoryIndex index.php
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateChainFile /etc/apache2/ssl/server-ca.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
</VirtualHost>
150
Converting Existing PFX SSL Certificate to PEM SSL
Certificate
Sometimes you will have an existing PFX file that you want to convert to PEM format. Usually this is due to specific server requirements.
1. To find the password used when the PFX was exported, use the following commands:
5. (optional) In case your file is in p7b format, extract the server certificate and convert to PEM format
Now you can use the server.crt, server-ca.crt and server.key files appropriately.
151
Use Let's Encrypt to Renew SSL Certificates
Starting with Version 19.3, FileCloud supports auto-renewing SSL certificates with Let's Encrypt.
To auto-renew your SSL certificate, you must first contact the Let's Encrypt team.
Linux: /var/www/html/.htaccess
#--------------------------------------------------
# Let's Encrypt Support
# RewriteRule ^.well-known/(.*)$ .well-known/$1 [L]
#--------------------------------------------------
#--------------------------------------------------
# Let's Encrypt Support
RewriteRule ^.well-known/(.*)$ .well-known/$1 [L]
#--------------------------------------------------
152
HTTPS Best Practices for FileCloud
FileCloud Server recommends that you run all servers in a production environment only on:
HTTPS (SSL)
Port 443
This ensures that all communications between clients and FileCloud server are completely encrypted.
https://<SITENAME>
Disable the existing HTTP port. So that FileCloud can be accessed only To Disable HTTP (port 80) for Windows:
securely via HTTPS.
1. Open the webserver config file for editing:
Setting redirects from HTTP to HTTPS is not
recommended because mobile apps and other c:\xampp\apache\conf\httpd.conf
clients do not follow redirects (for security) and
Therefore removing the HTTP port completely is 2. Comment out the line with Listen 80.
the best option. 3. Save and close the file.
4. Restart the server.
If you must use a redirect, Configure HTTP To Disable HTTP (port 80) for Linux:
SSL Redirects.
1. Open the webserver config file for editing:
/etc/apache2/ports.conf
Verify your certificates are valid. If you have an invalid SSL configuration, your You can check the validity of the SSL certificate
users would receive various errors on the by testing your install against a SSL certificate
browser, and iPhone/iPad apps cannot preview checker like https://www.sslshopper.com/ssl-
Office documents. checker.html
Change the default listening port (80). If you have are conflicts with other ports. For Windows:
c:\xampp\apache\conf\httpd.
conf
Listen 80
ServerName localhost:80
Listen your_new_port
ServerName localhost:
your_new_port
For Linux:
153
1.
/etc/apache2/ports.conf
Listen 80
3. Change it to
Listen Your_new_port
/etc/apache2/sites-enabled/000-
default.conf
<VirtualHost *:80>
6. Change it to
<virtualHost _default:
your_new_port>
Change the default HTTPS port (443). If you have are conflicts with other ports. For Windows:
c:
\xampp\apache\conf\extra\httpd-
ssl.conf
Listen 443
3. Change it to
Listen your_new_port
<VirtualHost _default_:443
5. Change it to
<VirtualHost _default_:
your_new_port>
For Linux:
/etc/apache2/ports.conf
3. Change it to
<IfModule mod_ssl.c>Listen
Your_New_Port</IfModule>
/etc/apache2/sites-available
/default-ssl
<VirtualHost _default_:443>
6. Change it to
<VirtualHost _default_:
your_new_port>
154
7. Save and close the file.
Disable server information in headers. To prevent the Web application from disclosing
the server name and server version in the 1. Open the Apache configuration file:
response header. Ubuntu location: /etc/apache2/apache2.conf
CentOS location: /etc/httpd/conf/httpd.conf
Windows location: C:
\xampp\apache\conf\httpd.conf
2. Add the following:
ServerSignature Off
ServerTokens Prod
Setting redirects from HTTP to HTTPS is not recommended because mobile apps and other clients do not follow redirects (for security).
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
In Windows, the above lines should we added to file c:\xampp\apache\conf\extra\httpd-vhosts.conf. Restart the apache server.
Also make sure the following line is uncommented in the file C:\xampp\apache\conf\httpd.conf.
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
In Linux, the above lines should be added to the /etc/apache.d/sites-enabled/000-default.conf file. If you already have a VirtualHost directive, add
only the lines starting with "Rewrite". Restart the apache server.
155
Configure HTTP SSL Redirects
It is recommended that you configure FileCloud Server so that it can be accessed securely only via HTTPS.
Setting redirects from HTTP to HTTPS is not recommended because mobile apps and other clients do not follow redirects (for security).
If you must use a redirect, you will need to edit the webserver config file.
For Windows:
c:\xampp\apache\conf\extra\httpd-vhosts.conf
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
C:\xampp\apache\conf\httpd.conf
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
For Linux:
/etc/apache.d/sites-enabled/000-default.conf
2. Add the following code: ( If you already have a VirtualHost directive, add only the lines starting with "Rewrite". )
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
156
Changing a Default Port or Web Server Setting
The ports and Web servers used by FileCloud are normally set during installation. After installation is completed, if you need to, you can change the default
listening ports and Web servers.
80 (web server)
443 (web server)
27017 (database)
If other programs are using these ports, the FileCloud server will not start up properly.
You might want to change the port numbers or Web servers in some of the following scenarios:
To change the ports, you will need to open the FileCloud Control Panel.
157
To change a port or Web server setting:
1. On the server, from the Windows Start menu, select the FileCloud Control Panel, or double-click the xampp/cloudcp.exe file.
2. In the Servers section, for Webserver, click Stop.
3. Change the Port configuration according to HTTPS Best Practices for FileCloud.
4. To start the Webserver, click Start next to Webserver.
5. In the Servers section, for Database, click Stop, then Config.
6. Make your changes, save them, and next to Database, click Start.
7. If you have changed the default Web server, open localconfig.php at:
Windows Location: XAMPP DIRECTORY/htdocs/config/localconfig.php
Linux Location: /var/www/config/localconfig.php
and add the following, replacing n.n.n.n with the correct IP address.
define("TONIDOCLOUD_APACHE_BIND_IP", "n.n.n.n");
158
159
SELinux Policies For FileCloud Installation
SELinux is a Linux kernel security module that defines the access and transition rights of every user, application, process, and file on the system.
It then governs the interactions of these entities using security policies that specifies how strict or lenient a given Linux installation should be.
It is available as part of distros like Red Hat Enterprise Linux and CentOS.
In order to use Filecloud on a selinux enforcing OS, the following steps need to be followed.
1) If SELinux is disabled, it needs to be enabled. For that, use the below command
setenforce 1
2) To allow writable access to folders used by FileCloud, use the following commands. These commands label the mentioned folder and it's contents with
required context.
Add all additionally required folders (such Network folders) using semanage and restorecon commands
3) To allow FileCloud access to services like MongoDB and Solr, use the following commands
setsebool -P httpd_can_network_connect_db 1
setsebool -P httpd_can_network_connect 1
Optional
Apart from the above steps, you can do SELinux filesystem auto labeling, or if firewall or iptables is running on the system, then the below commands need
to be executed.
Selinux
-for SELinux to do auto labeling of the whole filesystem after a reboot we do this command, this command is used generally with a new system:
Iptables
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT # Use only if HTTPS not enabled : This enables access on unsecure HTTP
port 80
Firewalld
160
firewall-cmd --add-service=http --zone=public --permanent # Use only if HTTPS not enabled : This enables access on unsecure
HTTP port 80
firewall-cmd --reload
Troubleshooting
In Some cases, Selinux may cause problems with services running Filecloud, the proper troubleshooting need to be done in order to identify the missing
policies to make different services work properly.
On Redhat based Linux systems the first place to look for SELinux warnings is /var/log/messages, where you will find different warnings with their
explanation and the command to execute in order to add the related policy.
another place to look for SElinux logging messages and it depends on the Linux distribution is /var/log/audit/audit.log, you will find a detailed audit log file
and its very verbose which will help you investigate your problem.
once you identified the missing policy you can add it with "setsebool -P", knowing that -P will make all pending values written to the policy file on disk. So
they will be persistent across reboots.
some of the SElinux command that can be added to make Filecloud work properly depending on the use case and architecture are :
setsebool -P httpd_can_network_connect_db 1
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_execmem 1
setsebool -P httpd_use_nfs 1
161
Installation Troubleshooting
Unexpected problems can happen when you are installing or configuring your new FileCloud software.
The reasons vary, depending on your computer, your operating system, network speed, license, and other factors.
Most common applications that use these ports are Microsoft IIS, Skype, TeamViewer.
To figure out which application is using this port, open a command prompt and type the following command.
162
You can look at the process using ports 80, 443 or 27017. (for example 0.0.0:80).
The right most column shows the process ID of the process using that port.
GUI Option
Alternative option to see Proccess running on ports 80,443 or 27017 is through GUI. Go to Start>>All Programs>>Accessories>>System
Tools>>Resource Monitor (or Run resmon.exe)
PID (4) - Image (System) running on port 80 implies IIS may be running. Stop the IIS and try to restart Apache.
163
Common Services Interfering with Ports using by FileCloud Server
Microsoft IIS
Microsoft Skype
HTTPD.sys
https://www.devside.net/wamp-server/opening-up-port-80-for-apache-to-use-on-windows
For HTTPS sites if everything else works but mod rewrite check error still is reported you can ignore it.
If you still have questions, send an email to our FileCloud Support Team ([email protected])
164
165
Mount a Share that FileCloud Can Access
You might need to mount a network share in the following situations:
Use these instructions to mount a share that FileCloud can access without encountering any permission issues.
FAQ's
Common Internet File System (CIFS) is a file-sharing protocol that provides an open and cross-platform mechanism for requesting network server files
and services.
CIFS is based on the enhanced version of Microsoft’s Server Message Block (SMB) protocol for Internet and intranet file sharing.
CIFS is typically used in workstation and server OSs and was a native file-sharing protocol in Windows 2000.
Network File System (NFS) is a distributed file system protocol originally developed by Sun Microsystems in 1984.
This file system allows a user on a client computer to access files over a computer network much like local storage is accessed.
NFS, like many other protocols, builds on the Open Network Computing Remote Procedure Call (ONC RPC) system.
The NFS is an open standard defined in Request for Comments (RFC), allowing anyone to implement the protocol.
Mounting Scenarios
Shares are mounted using command line statements.
NFS on Linux
166
Mount a CIFS Share on Linux for FileCloud
You might need to mount a CIFS network share on Linux, so that FileCloud server can use storage from devices over the network for both local storage as
well as external shares.
Use these instructions to mount a CIFS share in a way that prevents that FileCloud from encountering any permission issues.
Assumptions
Parameter Value
Apache user uid 33. Note: check your server for the right uid
Apache user gid 33. Note: check your server for the right gid
Pre-requisites
Ensure the command mount.cifs is present in your distro. Here is the list of packages that provide this utility in different distros.
Required Packages
Ubuntu: cifs-utils
Mounting
Use the following command to mount the CIFS share
Command Line
Auto Mounting
To perform auto mounting of windows share, you need to create a password file and use that in /etc/fstab. Follow the steps here:
Command Line
username=winuser
password=winpass
167
Here winuser and winpass are the username and password for the remote CIFS share.
2. Change the permissions such that only root can read the file.
Command Line
Command Line
Command Line
# sudo mount -a
If you are getting any error while mounting like " host not found ", add version as below at the end
of dir_mode=0777 as shown in the below//192.168.1.120/storage /mnt/storage cifs credentials=/root/.
smbcredentials,uid=33,gid=33,rw,nounix,iocharset=utf8,file_mode=0777,dir_mode=0777,vers=3.0 0 0
168
Mount an NFS share on Linux for FileCloud
FileCloud server might need use storage from devices over network for both local storage as well as external shares. This document explains how to
mount a NFS network share on Linux.
Pre-requisites
Required Packages
Ubuntu: nfs-common
Mounting
Use the following command to mount the NFS share
Commandline
In this command, simpson.example.com is the hostname of the NFS file server, /misc/export is the directory that simpson is exporting, and /misc/local is
the location to mount the file system on the local machine. After the mount command runs (and if the client has proper permissions from the simpson.
example.com NFS server) the client user can execute the command ls /misc/local to display a listing of the files in /misc/export on simpson.example.com.
The mount point directory on local machine (/misc/local in the above example) must exist.
169
Mount CIFS Shares from Windows Command Line
Connect Network Drive
To map a network drive from windows command line:
170
Storage and Client Application Limits
One of FileCloud's most important features is the number of different storage options it offers for the user website and client applications. When choosing
your storage options, consider the limitations of each option. The following table lists the most common limitations to consider when using FileCloud with
Network Folders, including Drive and Sync applications. Where applicable, the table includes ways of working around these limitations:
Network Folders Since Network Folders are stored outside of FileCloud, offline syncing of
files using the FileCloud Sync app may be slower and cause more server
CPU load then offline syncing with Managed Storage.
FileCloud Sync App & FileCloud Drive App Windows Operating Systems only allow file and folder names of 256
characters or less, so if an entire file path and name exceed 256
characters, you cannot access it locally using Windows Explorer.
Shorten the name or move the file or folder to a higher-level folder within
FileCloud.
FileCloud Sync and FileCloud Drive don't sync files with characters that
are incompatible with certain operating systems.
tonido.db
Thumbs.db
desktop.ini
files ending with .tmp
files ending with .lnk
files or folders ending with space
.tonidocache
files starting with Conflict_
sync.ico
.ds_store
hidden files (usually files starting with . in Linux and files with a
hidden attribute in Windows)
file names and file extensions which are restricted by the server
admin
files that are in use (locked by the system or any other application)
FileCloud Drive App The FileCloud Drive App supports Windows 8+. It can be installed on
Windows 7; however, we do not provide support since the components
used are no longer supported in Windows 7.
If a folder in FileCloud (or a Network Folder) has over 1K files and folders
inside it, Drive can take approximately 30 seconds or more to list the files
/folders, depending on folder content, network speed, Internet access
speed, and so on. In some cases, it can fail to list the folder's content.
171
We recommended that you reorganize the content in lower count
subfolders (-1K).
Network Folder and File listings may be slower: Depending on the network
connectivity to the Network Share, it may take more time to access and list
files and folders in Network Folders than in Managed Storage.
172
Mounting CIFS and NFS Shares
How to Mount CIFS Shares from Windows Command Line
How to properly mount a CIFS share on Linux for FileCloud
How To properly mount a NFS share on Linux for FileCloud
173
How to Mount CIFS Shares from Windows Command Line
Connect Network Drive
To map a network drive from windows command line:
174
How to properly mount a CIFS share on Linux for FileCloud
You might need to mount a CIFS network share on Linux, so that FileCloud server can use storage from devices over the network for both local storage as
well as external shares.
Use these instructions to mount a CIFS share in a way that prevents that FileCloud from encountering any permission issues.
Assumptions
Parameter Value
Apache user uid 33. Note: check your server for the right uid
Apache user gid 33. Note: check your server for the right gid
Pre-requisites
Ensure the command mount.cifs is present in your distro. Here is the list of packages that provide this utility in different distros.
Required Packages
Ubuntu: cifs-utils
Mounting
Use the following command to mount the CIFS share
Command Line
Auto Mounting
To perform auto mounting of windows share, you need to create a password file and use that in /etc/fstab. Follow the steps here:
Command Line
username=winuser
password=winpass
175
Here winuser and winpass are the username and password for the remote CIFS share.
2. Change the permissions such that only root can read the file.
Command Line
Command Line
Command Line
# sudo mount -a
176
How To properly mount a NFS share on Linux for FileCloud
Introduction
FileCloud server might need use storage from devices over network for both local storage as well as external shares. This document explains how to
mount a NFS network share on Linux.
Pre-requisites
Required Packages
Ubuntu: nfs-common
Mounting
Use the following command to mount the NFS share
Commandline
In this command, simpson.example.com is the hostname of the NFS file server, /misc/export is the directory that simpson is exporting, and /misc/local is
the location to mount the file system on the local machine. After the mount command runs (and if the client has proper permissions from the simpson.
example.com NFS server) the client user can execute the command ls /misc/local to display a listing of the files in /misc/export on simpson.example.com.
The mount point directory on local machine (/misc/local in the above example) must exist.
177